JP4630117B2 - Multi-pairing calculation method, pairing comparison method, apparatus using the same, and program - Google Patents

Multi-pairing calculation method, pairing comparison method, apparatus using the same, and program Download PDF

Info

Publication number
JP4630117B2
JP4630117B2 JP2005126573A JP2005126573A JP4630117B2 JP 4630117 B2 JP4630117 B2 JP 4630117B2 JP 2005126573 A JP2005126573 A JP 2005126573A JP 2005126573 A JP2005126573 A JP 2005126573A JP 4630117 B2 JP4630117 B2 JP 4630117B2
Authority
JP
Japan
Prior art keywords
pairing
calculation
unit
finite field
rational function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005126573A
Other languages
Japanese (ja)
Other versions
JP2006301513A (en
Inventor
鉄太郎 小林
和麻呂 青木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2005126573A priority Critical patent/JP4630117B2/en
Publication of JP2006301513A publication Critical patent/JP2006301513A/en
Application granted granted Critical
Publication of JP4630117B2 publication Critical patent/JP4630117B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、楕円曲線上の演算、特にセキュリティ技術を実現するための演算を利用した装置、方法、およびプログラムに関する。   The present invention relates to an apparatus, a method, and a program using an operation on an elliptic curve, in particular, an operation for realizing a security technique.

楕円曲線のペアリングを用いたID-base暗号や短署名長デジタル署名を実現する方法が提案されている。楕円曲線のペアリングには、TateペアリングとWeilペアリングなどがある。
有限体GF(p)上で定義される楕円をE/GF(p)とする。楕円E/GF(p)上のGF(p)有理点をP(x、y)、楕円E/GF(p)上のGF(p)有理点をQ(x、y)とする。TateペアリングとWeilペアリングなどでは、(f)=m(P)−m(O)を満たす有理関数fに、(P,Q)を代入した結果を求める有理関数演算が利用される。この有理関数演算をdivisor有理式の評価を行う演算という。また、GF(p)の元のべき乗や乗算に、ほとんどの処理時間を費やしている。以下の説明では、高速演算が実現しやすいTateペアリングを中心に説明する。
Tateペアリングによる暗号や署名の概要を図1に示す。Tateペアリングでは、PとQを入力とし、Millerのアルゴリズムや修正Duursma-Leeのアルゴリズムなどのdivisor有理式の評価を行う演算によって、有限体GF(p)上の元fを出力し、さらにべき乗演算によってfを(p−1)/m乗することで有限体GF(p)上の元eへ写像し、出力する。ここで、pは素数または素数のべき乗、mは素数かつP、Q、eの位数、kはm|(p−1)を満足する最小の整数、mは(p−1)の約数ではない、かつpとmの最大公約数は1である。
Methods have been proposed to realize ID-base encryption using elliptic curve pairing and short signature digital signature. Elliptic curve pairing includes Tate pairing and Weil pairing.
Let the ellipse defined on the finite field GF (p) be E / GF (p). The GF (p) rational point on the ellipse E / GF (p) is P (x P , y P ), and the GF (p k ) rational point on the ellipse E / GF (p) is Q (x Q , y Q ). And In Tate pairing and Weil pairing, a rational function operation is used to obtain a result obtained by substituting (P, Q) into a rational function f p satisfying (f p ) = m (P) −m (O). . This rational function operation is called an operation that evaluates a divisor rational expression. In addition, most of the processing time is spent on the original power and multiplication of GF (p k ). The following description will focus on Tate pairing that facilitates high-speed computation.
An outline of encryption and signature by Tate pairing is shown in FIG. In Tate pairing, P and Q are input, and an element f on a finite field GF (p k ) is output by an operation that evaluates a divisor rational expression such as Miller's algorithm or modified Duursma-Lee algorithm. By multiplying f to the power of (p k −1) / m by a power operation, it is mapped to the element e on the finite field GF (p k ) and output. Here, p is a prime number or a power of a prime number, m is a prime number and the order of P, Q, and e, k is the smallest integer that satisfies m | (p k −1), and m is a factor of (p−1). It is not a number, and the greatest common divisor of p and m is 1.

図2はTateペアリングを用いたペアリング演算装置1000の機能構成例を示している。図1に示した処理を行うため、Millerアルゴリズムや修正Duursma-Leeのアルゴリズムなどを用いて、入力PとQを有限体GF(p)上の元fに変換して出力する有理関数演算装置10と、べき乗演算によって入力fを有限体GF(p)上の元eに写像して出力するべき乗演算装置20から構成されている。
Tateペアリングでの演算量のほとんどを占める有理関数演算装置10の代表的な例として、Millerのアルゴリズムを用いたMiller演算装置30の内部構成例を図3に示す。また、処理フロー例を図4に示す。Miller演算装置30は、制御部100、代入部200、楕円上点生成部400、楕円加算部500、入出力部600、GF(p)乗算部700、GF(p)逆元部850、および記録部190から構成される。制御部100は、以下に示す処理フローに沿った処理を実行するために他の構成部を制御する。また、記録部190はハードディスク等の不揮発性のメモリでもよいし、一連の計算を行う間だけ一時的に記録する揮発性のメモリでもよい。また、組み合わせてもよい。
FIG. 2 shows a functional configuration example of a pairing arithmetic device 1000 using Tate pairing. In order to perform the processing shown in FIG. 1, a rational function arithmetic unit that converts and outputs inputs P and Q to elements f on a finite field GF (p k ) using the Miller algorithm or the modified Duursma-Lee algorithm 10 and a power arithmetic unit 20 that maps and outputs the input f to an element e on a finite field GF (p k ) by a power operation.
FIG. 3 shows an internal configuration example of a Miller arithmetic unit 30 using Miller's algorithm as a representative example of the rational function arithmetic unit 10 that occupies most of the computation amount in Tate pairing. An example of the processing flow is shown in FIG. The Miller arithmetic device 30 includes a control unit 100, an assignment unit 200, an elliptical point generation unit 400, an ellipse addition unit 500, an input / output unit 600, a GF (p k ) multiplication unit 700, a GF (p k ) inverse element unit 850, And a recording unit 190. The control unit 100 controls other components in order to execute processing according to the processing flow shown below. The recording unit 190 may be a non-volatile memory such as a hard disk or a volatile memory that temporarily records only during a series of calculations. Moreover, you may combine.

入出力部600にm、P、Qが入力されると、m、P、Qを記録部190に記録する(S700)。次に代入部200で、TにPを、Fに1を代入し、記録部190に記録する(S710)。楕円上点生成部400で、S≠PかつS≠Qの条件を満足する有限体GF(p)上で定義される楕円上の点S(∈E/GF(p))を生成し、記録部190に記録する(S720)。Sは条件を満足する点であれば、あらかじめ定めてもいいし、ランダムに生成してもよい。楕円加算部500で、記録部190からQとSを読み取り、Q’(=Q+S)を計算し、記録部190に記録する(S730)。代入部200で、log(m)−1の小数点以下を切り上げた整数をnに代入し、記録部190に記録する(S740)。制御部100は、記録部190からnを読み取り、n<0か否かを確認し、Yesの場合にはステップS910に進み、Noの場合にはステップS760に進む(S750)。Yesの場合、入出力部600は、記録部190からFを読み取り、出力し(S910)、Millerアルゴリズムによる演算が終了する。Noの場合、楕円加算部500は、記録部190からTを読み取り、2Tを計算し、記録部190に記録する(S760)。GF(p)乗算部700は、Q’、S、T、2Tを記録部190から読み取り、l(x,y)=0をTと2Tとを結ぶ直線、l(x,y)=0を2TとOとを結ぶ直線として、l(Q’)、l(Q’)、l(S)、l(S)を計算し、記録部190に記録する(S770)。ただし、l(Q’)とは、Q’のx座標とy座標とを、l(x,y)に代入した値である。なお、Sを有限体GF(p)の元から選定すると(この場合、残りのk−1個の有限体GF(p)の元は0である。)、l(S)、l(S)の計算は省略でき、以降のステップでl(S)、l(S)を省略できる。次に、代入部200は、記録部190から2Tを読み取り、Tに2Tの値を代入し、Tを記録部190に記録する(S780)。GF(p)逆元部850で、記録部190からl(Q’)、l(S)を読み取り、l(Q’)−1、l(S)−1を計算し、記録部190に記録する(S790)。GF(p)乗算部700は、記録部190からF、l(Q’)、l(S)、l(Q’)−1、l(S)−1を読み取り、 When m, P, and Q are input to the input / output unit 600, m, P, and Q are recorded in the recording unit 190 (S700). Next, the assigning unit 200 substitutes P for T and 1 for F, and records the result in the recording unit 190 (S710). The point on the ellipse 400 generates a point S (∈E / GF (p k )) on the ellipse defined on the finite field GF (p k ) that satisfies the conditions S ≠ P and S ≠ Q. The data is recorded in the recording unit 190 (S720). S may be determined in advance or may be randomly generated as long as it satisfies the conditions. The ellipse addition unit 500 reads Q and S from the recording unit 190, calculates Q ′ (= Q + S), and records it in the recording unit 190 (S730). In the assigning unit 200, an integer obtained by rounding up the decimal point of log (m) -1 is substituted into n and recorded in the recording unit 190 (S740). The control unit 100 reads n from the recording unit 190 and checks whether n <0. If yes, the process proceeds to step S910, and if no, the process proceeds to step S760 (S750). In the case of Yes, the input / output unit 600 reads and outputs F from the recording unit 190 (S910), and the calculation by the Miller algorithm ends. In the case of No, the ellipse addition unit 500 reads T from the recording unit 190, calculates 2T, and records it in the recording unit 190 (S760). The GF (p k ) multiplication unit 700 reads Q ′, S, T, and 2T from the recording unit 190, and l 1 (x, y) = 0 is a straight line connecting T and 2T, l 2 (x, y) Assuming = 0 as a straight line connecting 2T and O, l 1 (Q ′), l 2 (Q ′), l 1 (S), and l 2 (S) are calculated and recorded in the recording unit 190 (S770). . However, l 1 (Q ′) is a value obtained by substituting the x and y coordinates of Q ′ into l 1 (x, y). If S is selected from elements of a finite field GF (p) (in this case, the elements of the remaining k−1 finite fields GF (p) are 0), l 1 (S), l 2 ( The calculation of S) can be omitted, and l 1 (S) and l 2 (S) can be omitted in the subsequent steps. Next, the assigning unit 200 reads 2T from the recording unit 190, assigns a value of 2T to T, and records T in the recording unit 190 (S780). The GF (p k ) inverse element unit 850 reads l 2 (Q ′) and l 1 (S) from the recording unit 190 and calculates l 2 (Q ′) −1 and l 1 (S) −1 . Recording is performed in the recording unit 190 (S790). The GF (p k ) multiplication unit 700 reads F, l 1 (Q ′), l 2 (S), l 2 (Q ′) −1 , l 1 (S) −1 from the recording unit 190,

Figure 0004630117
を計算し、Fの値として記録部190に記録する(S810)。制御部100は、記録部190からmとnを読み取り、mのn番目のビットが1かを確認し、Yesの場合にはステップS830へ進み、Noの場合にはステップS900へ進む(S820)。Yesの場合、楕円加算部500で、記録部190からT、Pを読み取り、T+Pを計算し、記録部190に記録する(S830)。GF(p)乗算部700は、Q’、S、T、P,T+Pを記録部190から読み取り、l(x,y)=0をTとPとを結ぶ直線、l(x,y)=0をT+PとOとを結ぶ直線とし、l(Q’)、l(Q’)、l(S)、l(S)を計算して、記録部190に記録する(S840)。代入部200は、記録部190からT+Pを読み取り、TにT+Pを代入し、Tを記録部190に記録する(S850)。GF(p)逆元部850は、記録部190からl(Q’)、l(S)を読み取り、l(Q’)−1、l(S)−1を計算し、記録部190に記録する(S860)。GF(p)乗算部700は、記録部190からF、l(Q’)、l(S)、l(Q’)−1、l(S)−1を読み取り、
Figure 0004630117
Is recorded in the recording unit 190 as a value of F (S810). The control unit 100 reads m and n from the recording unit 190 and checks whether the n-th bit of m is 1. If Yes, the process proceeds to step S830, and if No, the process proceeds to step S900 (S820). . In the case of Yes, the ellipse addition unit 500 reads T and P from the recording unit 190, calculates T + P, and records it in the recording unit 190 (S830). The GF (p k ) multiplication unit 700 reads Q ′, S, T, P, T + P from the recording unit 190, and l 1 (x, y) = 0 is a straight line connecting T and P, l 2 (x, y) = 0 is a straight line connecting T + P and O, and l 1 (Q ′), l 2 (Q ′), l 1 (S), and l 2 (S) are calculated and recorded in the recording unit 190. (S840). The assigning unit 200 reads T + P from the recording unit 190, substitutes T + P for T, and records T in the recording unit 190 (S850). The GF (p k ) inverse element unit 850 reads l 2 (Q ′) and l 1 (S) from the recording unit 190 and calculates l 2 (Q ′) −1 and l 1 (S) −1 . Recording is performed in the recording unit 190 (S860). The GF (p k ) multiplication unit 700 reads F, l 1 (Q ′), l 2 (S), l 2 (Q ′) −1 , l 1 (S) −1 from the recording unit 190,

Figure 0004630117
を計算し、Fの値として記録部190に記録する(S890)。ステップS820でNoと判断した場合とステップS890が終了した場合、代入部200は、記録部190からnを読み取り、n−1をnに代入し、nを記録部190に記録する(S900)。次にステップS750に戻り、ステップS750の判断がYesとなるまで処理が繰り返される。
Figure 0004630117
Is recorded in the recording unit 190 as the value of F (S890). When it is determined No in step S820 and when step S890 is completed, the assignment unit 200 reads n from the recording unit 190, substitutes n−1 for n, and records n in the recording unit 190 (S900). Next, the process returns to step S750, and the process is repeated until the determination in step S750 becomes Yes.

なお、Millerのアルゴリズムでは、ステップS810とS880とが、演算量の多い処理である。以下では、ステップS810やS880のように、Fの値を用いて計算した結果をFに代入するステップを、「Fの更新演算」という。
有理関数演算装置10の代表的なもう1つの例として、修正Duursma-Leeのアルゴリズムを用いた修正Duursma-Lee演算装置40の内部構成例を図5に示す。また、その処理フロー例を図6に示す。修正Duursma-Lee演算装置40は、制御部110、代入部210、GF(p)乗算部310、GF(p)乗算部410、GF(p)べき乗演算部510、入出力部610、および記録部710から構成される。制御部110は、以下に示す処理フローに沿った処理を実行するために、他の構成部を制御する。また、記録部710はハードディスク等の不揮発性のメモリでもよいし、一連の計算を行う間だけ一時的に記録する揮発性のメモリでもよい。また、組み合わせてもよい。
In Miller's algorithm, steps S810 and S880 are processes with a large amount of calculation. Hereinafter, the step of substituting the result calculated using the value of F into F as in steps S810 and S880 will be referred to as “F update calculation”.
FIG. 5 shows an internal configuration example of a modified Dursma-Lee arithmetic device 40 using a modified Dursma-Lee algorithm as another typical example of the rational function arithmetic device 10. An example of the processing flow is shown in FIG. The modified Duursma-Lee arithmetic device 40 includes a control unit 110, an assignment unit 210, a GF (p) multiplication unit 310, a GF (p k ) multiplication unit 410, a GF (p k ) power operation unit 510, an input / output unit 610, and The recording unit 710 is configured. The control unit 110 controls other components in order to execute processing according to the processing flow shown below. The recording unit 710 may be a nonvolatile memory such as a hard disk or a volatile memory that temporarily records only during a series of calculations. Moreover, you may combine.

修正Duursma-Leeでは、zは6との最大公約数が1となる正の整数、pは3、楕円曲線Eを表す式をy=x+aX+b、ただしbは±1とする。また、σは有限体GF(p)上の元であり、かつ有限体GF(p)上の2次既約多項式f(x)の根である。ρは有限体GF(p)上の元であり、かつ有限体GF(p)上の3次既約多項式g(x)の根である。σとρとは、前記の条件を満足する値であり、あらかじめ定めて記録部710に記録される。
入出力部610にz、P(x,y)、Q(x,y)が入力されると、z、P、Qを記録部710に記録する(S920)。次に代入部210で、nにz−1を、Fに1を、dにzbを代入し、記録部710に記録する。また、GF(p)べき乗演算部510では、記録部710からxとyを読み出し、x とy を計算し、代入部210でxにx を、yにy を代入し、記録部710に記録する(S930)。GF(p)乗算部310では、記録部710からxとyを読み出し、xP 9とyP 9が計算され、代入部210でxPにxP を、yPにyP を代入し、記録部710に記録する(S940)。次に制御部110では、記録部710からx,y,x,y,d,σを読み出し、μ=xP+x+d、γ=σyP−μを記録部710に記録する(S950)。GF(p)乗算部410では、記録部710からF,γ,μ,ρを読み出し、F(γ−μρ−ρ)を計算し、代入部210でFにF(γ−μρ−ρ)を代入し、記録部710に記録する(S960)。次に代入部210で、yに−yを、dにd−bを代入し、記録部710に記録する(S970)。さらに、代入部210でnにn−1を代入し、記録部710に記録する(S980)。n>0ならばステップS940に戻り、違う場合はステップS1000に進む(S990)。ステップS1000では、記録部710に記録されているFを出力する(S1000)。
In the modified Duursma-Lee, z is a positive integer whose greatest common divisor with 6 is 1, p is 3 z , and an equation representing the elliptic curve E is y 2 = x 3 + aX + b, where b is ± 1. Also, σ is an element on the finite field GF (p 6 ) and the root of the quadratic irreducible polynomial f (x) on the finite field GF (p). ρ is an element on the finite field GF (p 6 ) and the root of the cubic irreducible polynomial g (x) on the finite field GF (p). σ and ρ are values that satisfy the above conditions, and are recorded in the recording unit 710 in advance.
When z, P (x P , y P ), and Q (x Q , y Q ) are input to the input / output unit 610, z, P, and Q are recorded in the recording unit 710 (S920). Next, the assigning unit 210 substitutes z−1 for n, 1 for F, and zb for d, and records the result in the recording unit 710. Further, the GF (p k) power calculation unit 510 reads the x Q and y Q from the recording unit 710, calculates the x Q 3 and y Q 3, the x Q 3 to x Q in cash join the club 210, y Q And y Q 3 is substituted for and recorded in the recording unit 710 (S930). In GF (p) multiplication unit 310, reads out x P and y P from the recording unit 710, x P 9 and y P 9 is calculated, the x P 9 in x P in cash join the club 210, y P 9 to y P And is recorded in the recording unit 710 (S940). Next, the control unit 110 reads x P , y P , x Q , y Q , d, σ from the recording unit 710, and records μ = x P + x Q + d and γ = σ y P y Q −μ 2. (S950). The GF (p k ) multiplication unit 410 reads F, γ, μ, and ρ from the recording unit 710, calculates F 3 (γ−μρ−ρ 2 ), and substitutes F into F 3 (γ−μρ). -Ρ 2 ) is substituted and recorded in the recording unit 710 (S960). Next, the assigning unit 210 substitutes -y Q for y Q and db for d, and records the result in the recording unit 710 (S970). Further, n-1 is substituted for n by the assigning unit 210 and recorded in the recording unit 710 (S980). If n> 0, the process returns to step S940, and if not, the process proceeds to step S1000 (S990). In step S1000, F recorded in the recording unit 710 is output (S1000).

なお、修正Duursma-Leeのアルゴリズムでは、ステップS960が、Fの更新演算であり、演算量が多い。
Millerのアルゴリズムの高速化に関しては特許文献1、修正Duursma-Leeのアルゴリズムに関しては非特許文献1などの提案がある。しかし、これらの提案は、単一のペアリング演算を高速化することを目的としている。したがって、複数のペアリング演算結果を乗じたもの(「マルチペアリング」という。)を求める場合には、それぞれのペアリング演算を行った上で、各ペアリング演算の結果を乗じなければならない。したがって、従来の方法では、次のような構成と手順となる。図7に従来のマルチTateペアリング演算装置2000の機能構成例を示す。また、処理フローを図8に示す。マルチTateペアリング演算装置2000は、Millerのアルゴリズムや修正Duursma-Leeのアルゴリズムなどの演算を行う有理関数演算装置10、べき乗演算装置20、および乗算装置25から構成される。マルチペアリングを行う対象である、複数の有限体GF(p)上の楕円曲線上の点Pと有限体GF(p)上の楕円曲線上の点Qとの組(P,Q)が、マルチTateペアリング演算装置に入力される(S1010)。ただし、i=1,…,I(Iは2以上の整数)とする。まずiに1を代入する(S1020)。有理関数演算装置10では個別の入力の組(P,Q)ごとに演算を行い(S1030)、演算結果をべき乗演算装置20でべき乗演算し、個々のペアリングe(P,Q)を得る(S1040)。この処理をI回行い(S1050、S1060)、乗算装置25でΠe(P,Q)を計算する(S1070)ことで、マルチペアリング結果が得られる。
特開2004-177673号公報 P.Barreto, H.Kim, B.Lynn and M.Scott, “Efficient Algorithm for Pairing-Based Cryptosystems,” Advances in Cryptology - Crypto 2002, LNCS 2442, Springer-Verlag, pp.354-368 (2002).
In the modified Duursma-Lee algorithm, step S960 is an F update calculation, and the amount of calculation is large.
For speeding up the Miller algorithm, there are proposals such as Patent Document 1, and for the modified Duursma-Lee algorithm, Non-Patent Document 1 is proposed. However, these proposals aim to speed up a single pairing operation. Therefore, when a product obtained by multiplying a plurality of pairing computation results (referred to as “multi-pairing”) is obtained, each pairing computation must be performed and then multiplied by the result of each pairing computation. Therefore, the conventional method has the following configuration and procedure. FIG. 7 shows a functional configuration example of a conventional multi-Tate pairing arithmetic device 2000. A processing flow is shown in FIG. The multi-Tate pairing calculation device 2000 includes a rational function calculation device 10, a power calculation device 20, and a multiplication device 25 that perform operations such as Miller's algorithm and modified Duursma-Lee algorithm. To be subjected to a multi-pairing, the set of the point Q i on the elliptic curve over a plurality of finite field GF points on an elliptic curve over (p) P i and finite GF (p k) (P i , Q i ) is input to the multi-Tate pairing arithmetic unit (S1010). Here, i = 1,..., I (I is an integer of 2 or more). First, 1 is substituted for i (S1020). The rational function computing device 10 performs computation for each individual input pair (P i , Q i ) (S 1030), powers the computation result with the power computing device 20, and performs individual pairing e (P i , Q i). ) Is obtained (S1040). This process is performed I times (S1050, S1060), and the multiplication unit 25 calculates Πe (P i , Q i ) (S1070), thereby obtaining a multi-pairing result.
JP 2004-177673 A P. Barreto, H. Kim, B. Lynn and M. Scott, “Efficient Algorithm for Pairing-Based Cryptosystems,” Advances in Cryptology-Crypto 2002, LNCS 2442, Springer-Verlag, pp.354-368 (2002).

楕円曲線のマルチペアリングの演算量を少なくし、マルチペアリング方法およびペアリング比較方法の高速化を図る。   Reduce the amount of computation of elliptic curve multi-pairing, and speed up the multi-pairing method and the pairing comparison method.

本発明は、複数の有限体GF(p)上の楕円曲線上の点Pと有限体GF(p)上の楕円曲線上の点Qとの組(P,Q)を入力とし、有限体GF(p)上の元e(P,Q)の積Πe(P,Q)を出力するマルチペアリング演算方法に関する。ここで、pは素数または素数のべき乗、kは偶数、Iは2以上の整数、iは1からIの整数である。(f)=m(P)−m(O)を満たす有理関数fに前記の入力の組(P,Q)を代入した結果をFとすると、本発明では、個別のFを求めるのではなく、divisor有理式の評価を行う演算で直接ΠFを求める。この際に、i=1,…,Iで共通の演算を1回で行うことができる。また、マルチTateペアリングでは、前記のΠFにべき乗演算を行い、マルチペアリングの結果を得る。 The present invention inputs a set (P i , Q i ) of a point P i on an elliptic curve on a plurality of finite fields GF (p) and a point Q i on an elliptic curve on a finite field GF (p k ). And a multi-pairing calculation method for outputting a product Πe (P i , Q i ) of an element e (P i , Q i ) on a finite field GF (p k ). Here, p is a prime number or a power of a prime number, k is an even number, I is an integer of 2 or more, and i is an integer from 1 to I. Assuming that F i is the result of substituting the set of inputs (P i , Q i ) into the rational function f p satisfying (f p ) = m (P) −m (O), in the present invention, each F i rather than seek to determine the direct? f i in operation to evaluate the divisor rational expressions. At this time, a common calculation for i = 1,..., I can be performed at a time. Further, in multi-Tate pairing, a power operation is performed on ΠF i to obtain a multi-pairing result.

さらに、もう1つの発明は、ペアリングの結果である有限体GF(p)上の2つの元e(P,Q)とe(P,Q)とが等しいかを判定するペアリング比較方法に関する。この発明では、(P,Q)と(P,−Q)を入力とし、積e(P,Q)・e(P,−Q)を出力するマルチペアリング演算を行い、前記マルチペアリング演算の結果と1とを比較することで、e(P,Q)とe(P,Q)とが等しいことを確認する。 Furthermore, another invention determines whether two elements e (P 1 , Q 1 ) and e (P 2 , Q 2 ) on the finite field GF (p k ) as a result of pairing are equal. The present invention relates to a pairing comparison method. In the present invention, a multi-pairing operation that takes (P 1 , Q 1 ) and (P 2 , −Q 2 ) as inputs and outputs a product e (P 1 , Q 1 ) · e (P 2 , −Q 2 ) And compare the result of the multi-pairing operation with 1 to confirm that e (P 1 , Q 1 ) and e (P 2 , Q 2 ) are equal.

本発明によれば、複数の楕円曲線上のペアリング演算結果を乗算する場合に、共通する演算であり、かつ演算量の多い演算を、まとめて行うことができる。また、マルチTateペアリングの場合には、個別にべき乗計算した後に乗算するのではなく、乗算した上でべき乗することができる。したがって、乗算に比べて演算量の多いべき乗計算の回数を少なくすることができ、演算量を大幅に削減することができる。
また、ペアリング結果を比較する場合には、前記のマルチペアリング演算方法を利用し、一方のペアリング結果の逆数とのマルチペアリング演算結果を1と比較することで、2つのペアリングが等しいことを確認できる。したがって、認証などで使用するペアリング結果の比較でも、演算量を大幅に削減することができる。
According to the present invention, when multiplying the pairing calculation results on a plurality of elliptic curves, calculations that are common calculations and have a large calculation amount can be performed collectively. Also, in the case of multi-Tate pairing, it is not possible to multiply after individually calculating a power, but to multiply and multiply the power. Therefore, the number of power calculations that require a large amount of computation compared to multiplication can be reduced, and the amount of computation can be greatly reduced.
When comparing the pairing results, the above-mentioned multi-pairing calculation method is used, and by comparing the multi-pairing calculation result with the reciprocal of one pairing result with 1, two pairing results It can be confirmed that they are equal. Therefore, even when comparing the pairing results used for authentication or the like, the amount of calculation can be greatly reduced.

以下に本発明の実施形態を説明する。なお、説明の重複を避けるため、同一の機能を有する構成部には同じ番号を付して重複説明を省略する。
[第1実施形態]
図9に本発明のマルチTateペアリング演算装置の機能構成例を示す。また、その処理フローを図10に示す。マルチTateペアリング演算装置3000は、有理演算装置50とべき乗演算装置20から構成される。有理演算装置50は、Millerアルゴリズムや修正Duursma-Leeのアルゴリズムなどを用いて、複数の入力の組(P,Q)をΠFに変換する装置である。ただし、i=1,…,I(Iは2以上の整数)、Pは有限体GF(p)上の楕円曲線上の点、Qは有限体GF(p)上の楕円曲線上の点、FはMillerアルゴリズムや修正Duursma-Leeのアルゴリズムなどを用いてPとQとが変換される有限体GF(p)上の元である。従来技術では、有理演算装置10が個別のFを出力し、べき乗演算装置20がべき乗演算を行って個別のペアリング結果e(P,Q)を求め、その後で乗算装置25で乗算を行ってマルチペアリングΠe(P,Q)を求めた(図7,8参照)。一方、本発明では、P,Qが入力されると(S10)、有理演算装置50で個別のFを求めることなく、ΠFを出力し(S20)、べき乗演算装置20でΠFを((p−1)/m)乗して、マルチペアリングΠe(P,Q)を求める。
Embodiments of the present invention will be described below. In addition, in order to avoid duplication of description, the same number is attached | subjected to the component which has the same function, and duplication description is abbreviate | omitted.
[First Embodiment]
FIG. 9 shows a functional configuration example of the multi-Tate pairing arithmetic device of the present invention. The processing flow is shown in FIG. The multi-Tate pairing calculation device 3000 includes a rational calculation device 50 and a power calculation device 20. Rational arithmetic unit 50, by using a Miller algorithm and modifications Duursma-Lee algorithm, a device for converting a plurality of input pairs (P i, Q i) to? F i. However, i = 1, ..., I (I is an integer greater than or equal to 2), P i is a point on the elliptic curve on the finite field GF (p), Q i is on the elliptic curve on the finite field GF (p k ) On the other hand, F i is an element on a finite field GF (p k ) in which P i and Q i are transformed using the Miller algorithm, the modified Duursma-Lee algorithm, or the like. In the prior art, the rational arithmetic unit 10 outputs individual F i , the power arithmetic unit 20 performs a power operation to obtain individual pairing results e (P i , Q i ), and then the multiplication unit 25 performs multiplication. To determine the multi-pairing Πe (P i , Q i ) (see FIGS. 7 and 8). On the other hand, in the present invention, P i, when Q i is input (S10), without requiring a separate F i rational arithmetic unit 50, and outputs the ΠF i (S20), ΠF i in exponentiation device 20 Is multiplied by ((p k −1) / m) to obtain multi-pairing Πe (P i , Q i ).

本発明の第1の特徴は、後述するdivisor有理式の評価を行う演算を行う有理演算装置50である。有理演算装置50では、個別のFを求めることなく、ΠFを求めることで演算量を削減している。この方法は、Tateペアリングに限らず、Weilペアリングなどの他のアルゴリズムでマルチペアリングを行う場合にも用いることができる。第2の特徴はTateペアリング特有の特徴であって、個別にFのべき乗演算するのではなく、ΠFに対してべき乗計算することである。言い換えると、Millerのアルゴリズムの場合には、Fを((p−1)/m)乗した後で乗算するのではなく、各Fを乗算した後で((p−1)/m)乗している。また、修正Duursma-Leeのアルゴリズムの場合には、Fを(p−1)乗した後で乗算するのではなく、各Fを乗算した後で(p−1)乗している。このことによって、演算量の多いべき乗計算を、I回から1回に削減できる。 The first feature of the present invention is a rational arithmetic unit 50 that performs an operation for evaluating a divisor rational expression, which will be described later. In the rational arithmetic unit 50, the calculation amount is reduced by obtaining ΠF i without obtaining individual F i . This method is not limited to Tate pairing, and can be used when multi-pairing is performed using another algorithm such as Weil pairing. The second feature is a Tate pairing unique characteristics, instead of exponentiation of individually F i, is to power calculated for? F i. In other words, in the case of Miller's algorithm, F i is not multiplied after being raised to ((p k −1) / m), but is multiplied after each F i ((p k −1) / m) I am riding. In the case of algorithm modifications Duursma-Lee, instead of multiplying after the F i-th power (p 3 -1), after multiplying each F i is squared (p 3 -1) . As a result, the power calculation with a large amount of calculation can be reduced from I times to once.

以下に第1の特徴である有理関数演算装置50とステップS20の詳細について説明する。
図11に、有理関数演算装置50のアルゴリズムとして、Millerのアルゴリズムを用いたMiller演算装置60の機能構成例を示す。また、その処理フローを図12に示す。Miller演算装置60は、制御部101、代入部200、楕円上点生成部400、楕円加算部500、入出力部601、GF(p)乗算部700、GF(p)逆元部850、および記録部191から構成される。図3に示した従来のMiller演算装置30とは、制御部、入出力部と記録部が異なる。これは、処理フロー、入力データ、記録するデータが異なるためである。
Details of the rational function computing device 50 and step S20 as the first feature will be described below.
FIG. 11 shows a functional configuration example of a Miller arithmetic device 60 using Miller's algorithm as the rational function arithmetic device 50 algorithm. The processing flow is shown in FIG. The Miller arithmetic device 60 includes a control unit 101, an assignment unit 200, an ellipse upper point generation unit 400, an ellipse addition unit 500, an input / output unit 601, a GF (p k ) multiplication unit 700, a GF (p k ) inverse element unit 850, And a recording unit 191. The control unit, the input / output unit, and the recording unit are different from the conventional Miller arithmetic device 30 shown in FIG. This is because the processing flow, input data, and data to be recorded are different.

入出力部601にm、P、Qが入力されると、m、P、Qを記録部191に記録する(S100)。楕円上点生成部400で、S≠PかつS≠Qの条件を満足する有限体GF(p)上で定義される楕円上の点S(∈E/GF(p))を生成し、記録部191に記録する(S110)。Sは条件を満足する点であれば、あらかじめ定めてもよいし、ランダムに生成してもよい。次に代入部200で、iに1を、Fに1を代入し、記録部191に記録する(S120)。また、代入部200で、TにPを代入し、記録部191に記録する(S130)。楕円加算部500では、記録部191からQとSを読み取り、Q’(=Q+S)を計算し、記録部191に記録する(S140)。ステップ130とステップ140の処理をi=1,…,Iに対して繰り返し行う(S150、S160)。代入部200で、log(m)−1の小数点以下を切り上げた整数をnに代入し、記録部191に記録する(S170)。制御部101は、記録部191からnを読み取り、n<0か否かを確認し、Yesの場合にはステップS370に進み、Noの場合にはステップS190に進む(S180)。Yesの場合、入出力部601は、記録部191からFを読み取り、出力し(S370)、Millerアルゴリズムによる演算が終了する。Noの場合、代入部200は、iに1を代入し、記録部191に記録する(S190)。楕円加算部500は、記録部191からTを読み取り、2Tを計算し、記録部191に記録する(S200)。GF(p)乗算部700は、Q’、S、T、2Tを記録部191から読み取り、l1i(x,y)=0をTと2Tとを結ぶ直線、l2i(x,y)=0を2TとOとを結ぶ直線として、l1i(Q’)、l2i(Q’)、l1i(S)、l2i(S)を計算し、記録部191に記録する(S210)。ただし、l1i(Q’)とは、Q’のx座標とy座標とを、l1i(x,y)に代入した値である。なお、Sを有限体GF(p)の元から選定すると(この場合、残りのk−1個の有限体GF(p)の元は0である。)、l1i(S)、l2i(S)の計算は省略でき、以降のステップでもl1i(S)、l2i(S)を省略できる。次に、代入部200は、記録部191から2Tを読み取り、Tに2Tの値を代入し、Tを記録部191に記録する(S220)。GF(p)逆元部850で、記録部191からl2i(Q’)、l1i(S)を読み取り、l2i(Q’)−1、l1i(S)−1を計算し、記録部191に記録する(S230)。ステップS200からS230までの処理をi=1,…,Iまで繰り返す(S240、S250)。なお、図12の処理フローでは、各iの値に対して、ステップS200からS230を行い、次のiの処理を行っている。しかし、ステップS200をI回繰り返した後、ステップS210をI回繰り返すように、各ステップをI回繰り返しながら処理を進めてもよい。GF(p)乗算部700は、記録部191からF、l1i(Q’)、l2i(S)、l2i(Q’)−1、l1i(S)−1を読み取り、 M input and output unit 601, P i, when Q i is input, m, P i, the Q i is recorded in the recording unit 191 (S100). The point on the ellipse 400 generates a point S (∈E / GF (p k )) on the ellipse defined on the finite field GF (p k ) that satisfies the conditions S ≠ P and S ≠ Q. And recording in the recording unit 191 (S110). S may be determined in advance or may be randomly generated as long as it satisfies the conditions. Next, the assigning unit 200 assigns 1 to i and 1 to F, and records the result in the recording unit 191 (S120). Further, in generations join the club 200, substituting P i to T i, is recorded in the recording unit 191 (S130). The ellipse addition unit 500 reads Q i and S from the recording unit 191, calculates Q i ′ (= Q i + S), and records it in the recording unit 191 (S 140). Steps 130 and 140 are repeated for i = 1,..., I (S150, S160). In the assigning unit 200, an integer obtained by rounding up the decimal point of log (m) -1 is substituted into n and recorded in the recording unit 191 (S170). The control unit 101 reads n from the recording unit 191 and checks whether n <0. If yes, the process proceeds to step S370, and if no, the process proceeds to step S190 (S180). In the case of Yes, the input / output unit 601 reads and outputs F from the recording unit 191 (S370), and the calculation by the Miller algorithm ends. In the case of No, the assigning unit 200 assigns 1 to i and records it in the recording unit 191 (S190). Elliptic curve addition unit 500 reads the T i from the recording unit 191, calculates the 2T i, is recorded in the recording unit 191 (S200). The GF (p k ) multiplication unit 700 reads Q i ′, S, T i , and 2T i from the recording unit 191, and sets l 1i (x, y) = 0 to a straight line connecting T i and 2T i , l 2i (X, y) = 0 is calculated as a straight line connecting 2T i and O, l 1i (Q i ′), l 2i (Q i ′), l 1i (S), l 2i (S) is calculated and recorded This is recorded in the part 191 (S210). However, l 1i (Q i ′) is a value obtained by substituting the x and y coordinates of Q i ′ into l 1i (x, y). If S is selected from elements of a finite field GF (p) (in this case, the elements of the remaining k−1 finite fields GF (p) are 0), l 1i (S), l 2i ( The calculation of S) can be omitted, and l 1i (S) and l 2i (S) can be omitted in the subsequent steps. Then, generations join the club 200 reads the 2T i from the recording unit 191 substitutes the value of 2T i to T i, to record T i in the recording unit 191 (S220). In GF (p k) inverse element portion 850, l 2i from the recording unit 191 (Q i '), reads l 1i (S), l 2i (Q i') -1, calculate l 1i (S) -1 Then, it is recorded in the recording unit 191 (S230). The processes from step S200 to S230 are repeated until i = 1,..., I (S240, S250). In the processing flow of FIG. 12, steps S200 to S230 are performed for each i value, and the next i processing is performed. However, after step S200 is repeated I times, the process may proceed while repeating each step I times so that step S210 is repeated I times. The GF (p k ) multiplier 700 reads F, l 1i (Q i ′), l 2i (S), l 2i (Q i ′) −1 , l 1i (S) −1 from the recording unit 191,

Figure 0004630117
を計算し、Fの値として記録部191に記録する(S260)。なお、本ステップがFの更新演算である。制御部101は、記録部191からmとnを読み取り、mのn番目のビットが1かを確認し、Yesの場合にはステップS280へ進み、Noの場合にはステップS360へ進む(S270)。Yesの場合、代入部200は、iに1を代入し、記録部191に記録する(S280)。楕円加算部500で、記録部191からT、Pを読み取り、T+Pを計算し、記録部191に記録する(S290)。GF(p)乗算部700は、Q’、S、T、P,T+Pを記録部191から読み取り、l1i(x,y)=0をTとPとを結ぶ直線、l2i(x,y)=0をT+PとOとを結ぶ直線とし、l1i(Q’)、l2i(Q’)、l1i(S)、l2i(S)を計算して、記録部191に記録する(S300)。代入部200は、記録部191からT+Pを読み取り、TにT+Pを代入し、Tを記録部191に記録する(S310)。GF(p)逆元部850は、記録部191からl2i(Q’)、l1i(S)を読み取り、l2i(Q’)−1、l1i(S)−1を計算し、記録部191に記録する(S320)。ステップS290からS320までの処理をi=1,…,Iまで繰り返す(S330、S340)。なお、図12の処理フローでは、各iの値に対して、ステップS290からS320を行い、次のiの処理を行っている。しかし、ステップS290をI回繰り返した後、ステップS300をI回繰り返すように、各ステップをI回繰り返しながら処理を進めてもよい。GF(p)乗算部700は、記録部191からF、l1i(Q’)、l2i(S)、l2i(Q’)−1、l1i(S)−1を読み取り、
Figure 0004630117
Is recorded in the recording unit 191 as the value of F (S260). This step is an F update calculation. The control unit 101 reads m and n from the recording unit 191 and confirms whether the n-th bit of m is 1. If Yes, the process proceeds to step S280, and if No, the process proceeds to step S360 (S270). . In the case of Yes, the assigning unit 200 assigns 1 to i and records it in the recording unit 191 (S280). The ellipse addition unit 500 reads T i and P i from the recording unit 191 to calculate T i + P i and records it in the recording unit 191 (S290). The GF (p k ) multiplication unit 700 reads Q i ′, S, T i , P i , T i + P i from the recording unit 191, and sets l 1i (x, y) = 0 to T i and P i . A straight line connecting l 2i (x, y) = 0 is a straight line connecting T i + P i and O, and l 1i (Q i ′), l 2i (Q i ′), l 1i (S), l 2i ( S) is calculated and recorded in the recording unit 191 (S300). The cash join the club 200 reads a T i + P i from the recording unit 191 substitutes T i + P i to T i, to record T i in the recording unit 191 (S310). GF (p k) inverse unit 850, l 2i from the recording unit 191 (Q i '), reads l 1i (S), l 2i (Q i') -1, calculate l 1i (S) -1 Then, it is recorded in the recording unit 191 (S320). The processing from step S290 to S320 is repeated until i = 1,..., I (S330, S340). In the processing flow of FIG. 12, steps S290 to S320 are performed for each i value, and the next i processing is performed. However, after step S290 is repeated I times, the process may proceed while repeating each step I times so that step S300 is repeated I times. The GF (p k ) multiplier 700 reads F, l 1i (Q i ′), l 2i (S), l 2i (Q i ′) −1 , l 1i (S) −1 from the recording unit 191,

Figure 0004630117
を計算し、Fの値として記録部191に記録する(S350)。なお、本ステップもFの更新演算である。ステップS270でNoと判断した場合とステップS350が終了した場合、代入部200は、記録部191からnを読み取り、n−1をnに代入し、nを記録部191に記録する(S360)。次にステップS180に戻り、ステップS180の判断がYesとなるまで処理が繰り返される。なお、出力されたFが、ΠFの値となっている。このように、Fの更新演算(ステップS260、S350)で、おのおののFを求めることなく、F(=ΠF)を求めることが特徴である。
Figure 0004630117
Is recorded in the recording unit 191 as the value of F (S350). This step is also an F update calculation. When it is determined No in step S270 and when step S350 is completed, the assignment unit 200 reads n from the recording unit 191, substitutes n−1 for n, and records n in the recording unit 191 (S360). Next, it returns to step S180 and a process is repeated until judgment of step S180 becomes Yes. Incidentally, it outputted F has a value of? F i. As described above, it is characteristic that F (= ΠF i ) is obtained without obtaining each F i in the update calculation of F (steps S260 and S350).

I個の入力の組み(P,Q)を個別にMillerのアルゴリズムで演算した場合、図7、図8に示した従来の構成では、演算量の多いFの更新演算(図4のステップS810、S880)をnI回行うことになる。一方、本発明によれば、演算量の多いFの更新演算(図12のステップS260、S350)をn回行うだけでよい。したがって、演算量を大幅に削減することができる。
[変形例]
第1実施形態では、Millerのアルゴリズムを用いた場合を説明したが、変形例として、有理関数演算装置50に修正Duursma-Leeのアルゴリズムを用いた場合を以下に説明する。
When the set of I inputs (P i , Q i ) is individually calculated by Miller's algorithm, the conventional configuration shown in FIG. 7 and FIG. S810 and S880) are performed nI times. On the other hand, according to the present invention, it is only necessary to perform the F update calculation (steps S260 and S350 in FIG. 12) having a large calculation amount n times. Therefore, the calculation amount can be greatly reduced.
[Modification]
In the first embodiment, the case where the Miller algorithm is used has been described. As a modified example, a case where the modified Dursma-Lee algorithm is used for the rational function arithmetic unit 50 will be described below.

図9の有理関数演算装置50の変わりに、図13の修正Duursma-Lee演算装置70を用いる。図14に修正Duursma-Lee演算装置70の処理フローを示す。修正Duursma-Lee演算装置70は、制御部111、代入部210、GF(p)乗算部310、GF(p)乗算部410、GF(p)べき乗演算部510、入出力部611、および記録部711から構成される。図5に示した修正Duursma-Lee演算装置40との違いは、制御部、入出力部、記録部である。これは、処理手順、入力データ、記録データが異なるためである。
従来技術と同様に、zは6との最大公約数が1となる正の整数、pは3、楕円曲線Eを表す式をy=x+aX+b、ただしbは±1である。また、σは有限体GF(p)上の元であり、かつ有限体GF(p)上の2次既約多項式f(x)の根である。ρは有限体GF(p)上の元であり、かつ有限体GF(p)上の3次既約多項式g(x)の根である。σとρとは、前記の条件を満足する値であり、あらかじめ定めて記録部711に記録される。
A modified Duursma-Lee arithmetic unit 70 shown in FIG. 13 is used instead of the rational function arithmetic unit 50 shown in FIG. FIG. 14 shows a processing flow of the modified Duursma-Lee arithmetic device 70. The modified Duursma-Lee arithmetic device 70 includes a control unit 111, an assignment unit 210, a GF (p) multiplication unit 310, a GF (p k ) multiplication unit 410, a GF (p k ) power operation unit 510, an input / output unit 611, and The recording unit 711 is configured. The difference from the modified Duursma-Lee arithmetic device 40 shown in FIG. 5 is a control unit, an input / output unit, and a recording unit. This is because the processing procedure, input data, and recording data are different.
As in the prior art, z is a positive integer whose greatest common divisor with 6 is 1, p is 3 z , and an equation representing the elliptic curve E is y 2 = x 3 + aX + b, where b is ± 1. Also, σ is an element on the finite field GF (p 6 ) and the root of the quadratic irreducible polynomial f (x) on the finite field GF (p). ρ is an element on the finite field GF (p 6 ) and the root of the cubic irreducible polynomial g (x) on the finite field GF (p). σ and ρ are values that satisfy the above conditions, and are recorded in the recording unit 711 in advance.

入出力部611にz、P(xPi,yPi)、Q(xQi,yQi)が入力されると、z、P、Qを記録部710に記録する(S400)。ただし、i=1,…,I(Iは2以上の整数)である。代入部210で、nにz−1を、Fに1を、dにzbを代入し、記録部711に記録する(S410)。次に代入部210で、iに1を代入し、記録部711に記録する(S420)。GF(p)べき乗演算部510では、記録部711からxQiとyQiを読み出し、xQi とyQi を計算し、代入部210でxQiにxQi を、yQiにyQi を代入し、記録部711に記録する(S430)。ステップS430は、iが1,…,Iまで繰り返す(S440、S450)。代入部210で、iに1を代入し、記録部711に記録する(S460)。GF(p)乗算部310では、記録部710からxPiとyPiを読み出し、xPi 9とyPi 9が計算され、代入部210でxPiにxPi を、yPiにyPi を代入し、記録部711に記録する(S470)。次に制御部111では、記録部711からxPi,yPi,xQi,yQi,d,σを読み出し、μ=xPi+xQi+d、γ=σyPiQi−μ とて記録部711に記録する(S480)。ステップS470とS480とは、i=1,…,Iまで繰り返す(S490、S500)。なお、図14の処理フローでは、各iの値に対して、ステップS470とS480を行い、次のiの処理を行っている。しかし、ステップS470をI回繰り返した後、ステップS480をI回繰り返してもよい。GF(p)乗算部410では、記録部711からF,γ,μ,ρを読み出し、FΠ(γ−μρ−ρ)を計算し、代入部210でFにFΠ(γ−μρ−ρ)を代入し、記録部711に記録する(S510)。なお、ステップS510が、Fの更新演算である。再度、代入部210で、iに1を代入し、記録部711に記録する(S520)。代入部210で、記録部711からyQiを読み出し、yQiに−yQiを代入し、記録部711に記録する(S530)。ステップS530は、i=1,…,Iまで繰り返す(S540、S550)。さらに、代入部210で、記録部711からd,b,nを読み出し、dにd−bを、nにn−1を代入し、記録部711に記録する(S560)。n>0ならばステップS460に戻り、違う場合はステップS580に進む(S570)。ステップS570では、入出力部611が、記録部711に記録されているFを出力する(S580)。なお、出力されたFが、ΠFの値となっている。このように、Fの更新演算(ステップS510)で、おのおののFを求めることなく、F(=ΠF)を求めることが特徴である。 When z, P (x Pi , y Pi ), and Q (x Qi , y Qi ) are input to the input / output unit 611, z, P i , and Q i are recorded in the recording unit 710 (S400). However, i = 1, ..., I (I is an integer greater than or equal to 2). The assigning unit 210 substitutes z-1 for n, 1 for F, and zb for d, and records the result in the recording unit 711 (S410). Next, the assigning unit 210 assigns 1 to i and records it in the recording unit 711 (S420). The GF (p k ) power calculation unit 510 reads x Qi and y Qi from the recording unit 711, calculates x Qi 3 and y Qi 3 , and the substitution unit 210 sets x Qi 3 to x Qi and y Qi to y substituting Qi 3, recorded in the recording unit 711 (S430). Step S430 is repeated until i is 1, ..., I (S440, S450). The assigning unit 210 assigns 1 to i and records it in the recording unit 711 (S460). The GF (p) multiplication unit 310 reads x Pi and y Pi from the recording unit 710 and calculates x Pi 9 and y Pi 9. The substitution unit 210 sets x Pi 9 to x Pi and y Pi 9 to y Pi. And is recorded in the recording unit 711 (S470). The following control unit 111, x Pi, y Pi from the recording unit 711, x Qi, y Qi, d, reads σ, μ i = x Pi + x Qi + d, and γ i = σy Pi y Qi -μ i 2 Is recorded in the recording unit 711 (S480). Steps S470 and S480 are repeated until i = 1,..., I (S490, S500). In the processing flow of FIG. 14, Steps S470 and S480 are performed for each i value, and the next i processing is performed. However, after step S470 is repeated I times, step S480 may be repeated I times. The GF (p k ) multiplication unit 410 reads F, γ i , μ i , and ρ from the recording unit 711, calculates F 3 Π (γ i −μ i ρ−ρ 2 ), and substitutes F into F. F 3 Π (γ i −μ i ρ−ρ 2 ) is substituted and recorded in the recording unit 711 (S510). Step S510 is an F update calculation. Again, the assigning unit 210 assigns 1 to i and records it in the recording unit 711 (S520). In cash join the club 210, reads out the y Qi from the recording unit 711 substitutes -y Qi to y Qi, is recorded in the recording unit 711 (S530). Step S530 is repeated until i = 1,..., I (S540, S550). Further, the assigning unit 210 reads d, b, and n from the recording unit 711, substitutes d−b for d, and n−1 for n, and records the result in the recording unit 711 (S560). If n> 0, the process returns to step S460, and if not, the process proceeds to step S580 (S570). In step S570, the input / output unit 611 outputs F recorded in the recording unit 711 (S580). Incidentally, it outputted F has a value of? F i. Thus, F (= ΠF i ) is obtained without obtaining each F i in the update calculation of F (step S510).

I個の入力の組み(P,Q)を個別にMillerのアルゴリズムで演算した場合、図7、図8に示した従来の構成では、演算量の多いFの更新演算(図6のステップS960)をnI回行うことになる。一方、本発明によれば、演算量の多いFの更新演算(図14のステップS510)をn回行うだけでよい。したがって、演算量を大幅に削減することができる。
[第2実施形態]
第1実施形態では、マルチペアリング方法とその装置について説明したが、本実施形態では、第1実施形態で示したマルチペアリング装置を用いた応用例として、ペアリング比較装置を示す。図15にペアリング比較装置の構成例を、図16にその処理フローを示す。ペアリング比較装置4000は、マルチTateペアリング演算装置3000、入力生成装置3010、GF(p)比較装置3020から構成される。マルチTateペアリング演算装置3000は、図9に示したマルチTateペアリング演算装置3000である。
When a set of I inputs (P i , Q i ) is individually calculated by Miller's algorithm, the conventional configuration shown in FIG. 7 and FIG. S960) is performed nI times. On the other hand, according to the present invention, it is only necessary to perform the F update calculation (step S510 in FIG. 14) having a large calculation amount n times. Therefore, the calculation amount can be greatly reduced.
[Second Embodiment]
In the first embodiment, the multi-pairing method and its device have been described. In this embodiment, a pairing comparison device is shown as an application example using the multi-pairing device shown in the first embodiment. FIG. 15 shows a configuration example of the pairing comparison apparatus, and FIG. 16 shows a processing flow thereof. The pairing comparison device 4000 includes a multi-Tate pairing calculation device 3000, an input generation device 3010, and a GF (p k ) comparison device 3020. The multi-Tate pairing arithmetic device 3000 is the multi-Tate pairing arithmetic device 3000 shown in FIG.

2つのペアリング結果e(P,Q)とe(P,Q)との比較を行う場合の処理フローを以下に示す。P,Q,P,Qをペアリング比較装置4000が受け取ると(S600)、入力生成装置3010が、−Qを求め、P,Q,P,−QをマルチTateペアリング演算装置3000に入力する(S610)。マルチTateペアリング演算装置3000では、e(P,Q)・e(P,−Q)を計算し、出力する(S620)。ここで、ペアリングの特性から、e(P,−Q)は、e(P,Q)の逆数となっている。したがって、e(P,Q)・e(P,−Q)が1に等しければ、e(P,Q)とe(P,Q)とは等しいことになる。そこで、GF(p)比較装置3020では、マルチTateペアリング演算装置3000が出力したe(P,Q)e(P,−Q)と1とを比較する(S630)。ペアリング比較装置4000は、ステップS630の結果が等しければ、e(P,Q)とe(P,Q)とは等しいことを出力し、等しくなければ、等しくないことを出力する。 A processing flow in the case of comparing the two pairing results e (P 1 , Q 1 ) and e (P 2 , Q 2 ) is shown below. P 1, Q 1, P 2 , Q 2 of the pairing comparison device 4000 receives (S600), the input generator 3010 obtains the -Q 2, multi-P 1, Q 1, P 2 , and -Q 2 The data is input to the Tate pairing calculation device 3000 (S610). The multi-Tate pairing arithmetic unit 3000 calculates and outputs e (P 1 , Q 1 ) · e (P 2 , −Q 2 ) (S620). Here, from the characteristics of pairing, e (P 2 , −Q 2 ) is an inverse of e (P 2 , Q 2 ). Therefore, if e (P 1 , Q 1 ) · e (P 2 , −Q 2 ) is equal to 1, e (P 1 , Q 1 ) and e (P 2 , Q 2 ) are equal. Therefore, the GF (p k ) comparison device 3020 compares e (P 1 , Q 1 ) e (P 2 , −Q 2 ) output from the multi-Tate pairing calculation device 3000 with 1 (S630). The pairing comparison device 4000 outputs that e (P 1 , Q 1 ) and e (P 2 , Q 2 ) are equal if the results of step S630 are equal, and outputs that they are not equal if they are not equal. .

このように、2つのペアリング結果が等しいか否かの確認方法としても、本発明のマルチペアリング方法が使用できる。したがって、2つのペアリングを比較するような認証装置内部に、本実施形態のペアリング比較装置を組み込むことで、演算量を削減することができる。
なお、本実施形態ではマルチTateペアリング演算装置を用いたペアリング比較装置を説明したが、マルチペアリング演算装置であれば、Weilペアリングなどの他のアルゴリズムを用いてもよい。
Thus, the multi-pairing method of the present invention can also be used as a method for checking whether two pairing results are equal. Therefore, the amount of calculation can be reduced by incorporating the pairing comparison device of the present embodiment in an authentication device that compares two pairings.
In the present embodiment, the pairing comparison device using the multi-Tate pairing arithmetic device has been described, but other algorithms such as Weil pairing may be used as long as the multi-pairing arithmetic device is used.

また、第1実施形態および第2実施形態で示した各装置は、読み取り可能な記録媒体に記録したプログラムを、コンピュータで読み取り、実行してもよい。   Each device shown in the first embodiment and the second embodiment may read and execute a program recorded on a readable recording medium by a computer.

Tateペアリングによる暗号や署名の概要を示す図。The figure which shows the outline | summary of the encryption and signature by Tate pairing. Tateペアリングを用いたペアリング演算装置の機能構成例を示す図。The figure which shows the function structural example of the pairing calculating device using Tate pairing. 従来のMiller演算装置の内部構成例を示す図。The figure which shows the internal structural example of the conventional Miller arithmetic unit. 従来のMiller演算装置の処理フローを示す図。The figure which shows the processing flow of the conventional Miller arithmetic unit. 従来の修正Duursma-Lee演算装置の内部構成例を示す図。The figure which shows the example of an internal structure of the conventional correction Duursma-Lee arithmetic unit. 従来の修正Duursma-Lee演算装置の処理フローを示す図。The figure which shows the processing flow of the conventional correction Duursma-Lee arithmetic unit. 従来のマルチTateペアリング演算装置の機能構成例を示す図。The figure which shows the function structural example of the conventional multi-Tate pairing calculating apparatus. 従来のマルチTateペアリング演算装置の処理フローを示す図。The figure which shows the processing flow of the conventional multi-Tate pairing calculating apparatus. 本発明のマルチTateペアリング演算装置の機能構成例を示す図。The figure which shows the function structural example of the multi-Tate pairing calculating apparatus of this invention. 本発明のマルチTateペアリング演算装置の処理フローを示す図。The figure which shows the processing flow of the multi-Tate pairing calculating apparatus of this invention. 本発明のMiller演算装置の内部構成例を示す図。The figure which shows the internal structural example of the Miller arithmetic unit of this invention. 本発明のMiller演算装置の処理フローを示す図。The figure which shows the processing flow of the Miller arithmetic unit of this invention. 本発明の修正Duursma-Lee演算装置の内部構成例を示す図。The figure which shows the internal structural example of the correction Duursma-Lee arithmetic unit of this invention. 本発明の修正Duursma-Lee演算装置の処理フローを示す図。The figure which shows the processing flow of the correction Duursma-Lee arithmetic unit of this invention. 本発明のペアリング比較装置の構成例を示す図。The figure which shows the structural example of the pairing comparison apparatus of this invention. 本発明のペアリング比較装置の処理フローを示す図。The figure which shows the processing flow of the pairing comparison apparatus of this invention.

Claims (15)

pは素数または素数のべき乗、kは偶数、Iは2以上の整数、iは1からIの整数、Pは有限体GF(p)上の楕円曲線上の点、Qは有限体GF(p)上の楕円曲線上の点、e(P,Q)はPとQのペアリング結果の有限体GF(p)上の元、Fは(f)=m(P)−m(O)を満たす有理関数fにPとQを代入した結果とするときに、
入力が複数の組(P,Q)、出力がペアリング結果の積Πe(P,Q)であるマルチペアリング演算装置において、
divisor有理式の評価を行う演算でΠFを計算することを特徴とし、繰り返し計算に
よって最終的なΠFを求める有理関数演算部
を備えるマルチペアリング演算装置。
p is a prime number or a power of a prime number, k is an even number, I is an integer of 2 or more, i is an integer from 1 to I, P i is a point on an elliptic curve on a finite field GF (p), and Q i is a finite field GF A point on the elliptic curve on (p k ), e (P i , Q i ) is an element on the finite field GF (p k ) of the pairing result of P i and Q i , and F i is (f p ) = When P i and Q i are substituted into a rational function f p satisfying m (P) −m (O),
In a multi-pairing arithmetic device in which an input is a plurality of pairs (P i , Q i ) and an output is a product of pairing results e (P i , Q i ),
A multi-pairing computing device comprising a rational function computing unit that calculates ΠF i by an operation that evaluates a divisor rational expression and obtains a final ΠF i by iterative calculation.
請求項1記載のマルチペアリング演算装置であって、
前記有理関数演算部からの出力に対して、べき乗有限体演算を行うべき乗演算部
を備えるマルチペアリング演算装置。
The multi-pairing arithmetic device according to claim 1,
A multi-pairing arithmetic device comprising: a power arithmetic unit that performs a power finite field operation on an output from the rational function arithmetic unit.
請求項2記載のマルチペアリング演算装置であって、
Millerのアルゴリズムに従う処理を行うことを特徴とする前記有理関数演算部
を備えるマルチペアリング演算装置。
The multi-pairing arithmetic device according to claim 2,
A multi-pairing arithmetic device comprising the rational function arithmetic unit, characterized in that processing according to Miller's algorithm is performed.
請求項2記載のマルチペアリング演算装置であって、
修正Duursma-Leeのアルゴリズムに従う処理を行うことを特徴とする前記有理関数演算部
を備えるマルチペアリング演算装置。
The multi-pairing arithmetic device according to claim 2,
A multi-pairing arithmetic device comprising the rational function arithmetic unit, characterized in that processing according to a modified Duursma-Lee algorithm is performed.
pは素数または素数のべき乗、kは偶数、iは1または2の整数、Pは有限体GF(p)上の楕円曲線上の点、Qは有限体GF(p)上の楕円曲線上の点、e(P,Q)はPとQのペアリング結果の有限体GF(p)上の元、Fは(f)=m(P)−m(O)を満たす有理関数fにPとQを代入した結果とするときに、
(P1,Q)と(P,Q)を入力とし、ペアリング結果のe(P,Q)とe
(P,Q)とが等しいかの判定結果を出力とするペアリング比較装置において、
(P,Q)と(P,−Q)を入力とし、divisor有理式の評価を行う演算でF
・Fを計算し、繰り返し計算によって最終的なF・Fを求める有理関数演算部を有し、積e(P,Q)・e(P,−Q)を出力するマルチペアリング演算部と、
前記マルチペアリング演算部の出力と1とを比較するGF(p)比較部と
を備えるペアリング比較装置。
p is a prime number or a power of a prime number, k is an even number, i is an integer of 1 or 2, P i is a point on an elliptic curve on a finite field GF (p), Q i is an ellipse on a finite field GF (p k ) A point on the curve, e (P i , Q i ) is an element on the finite field GF (p k ) of the pairing result of P i and Q i , and F i is (f p ) = m (P) −m ( meet O) to rational function f p when the result of substituting P i and Q i,
(P 1 , Q 1 ) and (P 2 , Q 2 ) are input, and pairing result e (P 1 , Q 1 ) and e
In the pairing comparison device that outputs a determination result as to whether (P 2 , Q 2 ) is equal,
(P 1 , Q 1 ) and (P 2 , −Q 2 ) are used as inputs and F is an operation that evaluates a divisor rational expression.
The 1 · F 2 is calculated, has a rational function calculating unit for obtaining the final F 1 · F 2 by repeated calculation, the product e (P 1, Q 1) · e (P 2, -Q 2) the output A multi-pairing calculation unit to
A pairing comparison device comprising a GF (p k ) comparison unit that compares 1 with the output of the multi-pairing calculation unit.
請求項5記載のペアリング比較装置であって、
前記有理関数演算部からの出力に対して、べき乗有限体演算を行うべき乗演算部を有することを特徴とする前記マルチペアリング演算部
を備えるペアリング比較装置。
The pairing comparison device according to claim 5,
A pairing comparison apparatus comprising the multi-pairing calculation unit, characterized in that it has a power calculation unit that performs a power finite field calculation on the output from the rational function calculation unit.
請求項6記載のペアリング比較装置であって、
Millerのアルゴリズムに従う処理を行う前記有理関数演算部を、有することを特徴とする前記マルチペアリング演算部
を備えるペアリング比較装置。
The pairing comparison device according to claim 6, wherein
A pairing comparison device comprising the multi-pairing calculation unit, wherein the rational function calculation unit performs processing according to Miller's algorithm.
請求項6記載のペアリング比較装置であって、
修正Duursma-Leeのアルゴリズムに従う処理を行う前記有理関数演算部を、有することを特徴とする前記マルチペアリング演算部
を備えるペアリング比較装置。
The pairing comparison device according to claim 6, wherein
A pairing comparison device comprising the multi-pairing calculation unit, wherein the rational function calculation unit performs processing according to a modified Duursma-Lee algorithm.
pは素数または素数のべき乗、kは偶数、Iは2以上の整数、iは1からIの整数、Pは有限体GF(p)上の楕円曲線上の点、Qは有限体GF(p)上の楕円曲線上の点、e(P,Q)はPとQのペアリング結果の有限体GF(p)上の元、Fは(f)=m(P)−m(O)を満たす有理関数fにPとQを代入した結果とするときに、
入力が複数の組(P ,Q )、出力がペアリング結果の積Πe(P ,Q )であるマルチペアリング演算装置を用いたマルチペアリング演算方法において、
前記マルチペアリング演算装置の有理関数演算部で、divisor有理式の評価を行う演算でΠFを計算し、繰り返し計算によって最終的なΠFを求める有理関数演算過程
を含むことを特徴とするマルチペアリング演算方法。
p is a prime number or a power of a prime number, k is an even number, I is an integer of 2 or more, i is an integer from 1 to I, P i is a point on an elliptic curve on a finite field GF (p), and Q i is a finite field GF A point on the elliptic curve on (p k ), e (P i , Q i ) is an element on the finite field GF (p k ) of the pairing result of P i and Q i , and F i is (f p ) = When P i and Q i are substituted into a rational function f p satisfying m (P) −m (O),
In a multi-pairing calculation method using a multi-pairing calculation device in which an input is a plurality of sets (P i , Q i ) and an output is a product of pairing results e (P i , Q i ) ,
A rational function calculation unit of the multi-pairing calculation device includes a rational function calculation process of calculating ΠF i by an operation for evaluating a divisor rational expression and obtaining a final ΠF i by repeated calculation. Pairing calculation method.
pは素数または素数のべき乗、kは偶数、Iは2以上の整数、iは1からIの整数、P は有限体GF(p)上の楕円曲線上の点、Q は有限体GF(p )上の楕円曲線上の点、e(P ,Q )はP とQ のペアリング結果の有限体GF(p )上の元、F は(f )=m(P)−m(O)を満たす有理関数f にP とQ を代入した結果とするときに、
複数の(P ,Q )の組を入力とし、e(P ,Q )の積Πe(P ,Q )を出力するマルチペアリング演算方法において、
有理関数演算部で、divisor有理式の評価を行う演算でΠF を計算し、繰り返し計算
によって最終的なΠF を求める有理関数演算過程と、
前記有理関数演算過程からの出力に対して、べき乗演算部で、べき乗有限体演算を行うべき乗有限体演算過程
を含むことを特徴とするマルチペアリング演算方法。
p is a prime number or a power of a prime number, k is an even number, I is an integer of 2 or more, i is an integer from 1 to I, P i is a point on an elliptic curve on a finite field GF (p), and Q i is a finite field GF A point on the elliptic curve on (p k ), e (P i , Q i ) is an element on the finite field GF (p k ) of the pairing result of P i and Q i , and F i is (f p ) = When P i and Q i are substituted into a rational function f p satisfying m (P) −m (O) ,
A plurality of (P i, Q i) as input a set of, e (P i, Q i) product Paii (P i, Q i) of the multi-pairing computation method for outputting,
In rational function calculation unit calculates a? F i in operation to evaluate the divisor rational expression, iteration
A rational function operation process for obtaining the final? F i by,
A multi-pairing calculation method comprising: a power finite field calculation process for performing a power finite field calculation in a power calculation unit with respect to an output from the rational function calculation process.
請求項10記載のマルチペアリング演算方法であって、
Millerのアルゴリズムに従う処理を行う前記有理関数演算過程
を含むことを特徴とするマルチペアリング演算方法。
The multi-pairing calculation method according to claim 10, wherein
A multi-pairing calculation method comprising the rational function calculation process for performing processing according to Miller's algorithm.
請求項10記載のマルチペアリング演算方法であって、
修正Duursma-Leeのアルゴリズムに従う処理を行う前記有理関数演算過程
を含むことを特徴とするマルチペアリング演算方法。
The multi-pairing calculation method according to claim 10, wherein
A multi-pairing calculation method comprising the rational function calculation step of performing processing according to the modified Duursma-Lee algorithm.
pは素数または素数のべき乗、kは偶数、iは1または2の整数、Pは有限体GF(p)上の楕円曲線上の点、Qは有限体GF(p)上の楕円曲線上の点、e(P,Q)はPとQのペアリング結果の有限体GF(p)上の元、Fは(f)=m(P)−m(O)を満たす有理関数fにPとQを代入した結果とするときに、
(P1,Q)と(P,Q)を入力とし、ペアリング結果のe(P,Q)とe
(P,Q)とが等しいかを判定するペアリング比較方法において、
マルチペアリング演算部で、(P,Q)と(P,−Q)を入力とし、divisor
有理式の評価を行う演算でF・Fを計算し、繰り返し計算によって最終的なF・Fを求め、積e(P,Q)・e(P,−Q)を出力するマルチペアリング演算過程と、
GF(p)比較部で、前記マルチペアリング演算過程の出力と1とを比較するGF(p)比較過程と
を含むことを特徴とするペアリング比較方法。
p is a prime number or a power of a prime number, k is an even number, i is an integer of 1 or 2, P i is a point on an elliptic curve on a finite field GF (p), Q i is an ellipse on a finite field GF (p k ) A point on the curve, e (P i , Q i ) is an element on the finite field GF (p k ) of the pairing result of P i and Q i , and F i is (f p ) = m (P) −m ( meet O) to rational function f p when the result of substituting P i and Q i,
(P 1 , Q 1 ) and (P 2 , Q 2 ) are input, and pairing result e (P 1 , Q 1 ) and e
In the pairing comparison method for determining whether (P 2 , Q 2 ) is equal,
In the multi-pairing calculation unit, (P 1 , Q 1 ) and (P 2 , −Q 2 ) are input and divisor
F 1 · F 2 is calculated by an operation that evaluates a rational expression, and final F 1 · F 2 is obtained by repeated calculation, and the product e (P 1 , Q 1 ) · e (P 2 , −Q 2 ) Multi-pairing calculation process to output
A GF (p k ) comparison unit, comprising: a GF (p k ) comparison process for comparing the output of the multi-pairing calculation process with 1;
請求項13記載のペアリング比較方法であって、
前記有理関数演算過程からの出力に対して、べき乗演算部でべき乗有限体演算を行う前記マルチペアリング演算過程
を含むことを特徴とするペアリング比較方法。
The pairing comparison method according to claim 13, wherein
A pairing comparison method comprising: the multi-pairing calculation step of performing a power finite field calculation in a power calculation unit with respect to an output from the rational function calculation step.
請求項1から8のいずれかに記載の装置をコンピュータにより実現するペアリングプログラム。   A pairing program for realizing the apparatus according to claim 1 by a computer.
JP2005126573A 2005-04-25 2005-04-25 Multi-pairing calculation method, pairing comparison method, apparatus using the same, and program Active JP4630117B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005126573A JP4630117B2 (en) 2005-04-25 2005-04-25 Multi-pairing calculation method, pairing comparison method, apparatus using the same, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005126573A JP4630117B2 (en) 2005-04-25 2005-04-25 Multi-pairing calculation method, pairing comparison method, apparatus using the same, and program

Publications (2)

Publication Number Publication Date
JP2006301513A JP2006301513A (en) 2006-11-02
JP4630117B2 true JP4630117B2 (en) 2011-02-09

Family

ID=37469832

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005126573A Active JP4630117B2 (en) 2005-04-25 2005-04-25 Multi-pairing calculation method, pairing comparison method, apparatus using the same, and program

Country Status (1)

Country Link
JP (1) JP4630117B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2360659A4 (en) * 2008-08-29 2013-03-13 Univ Okayama Nat Univ Corp Pairing computation device, pairing computation method, and pairing computation program
KR101301139B1 (en) 2009-04-24 2013-09-03 니뽄 덴신 덴와 가부시키가이샤 Finite field calculation apparatus, finite field calculation method, program, and recording medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05150722A (en) * 1991-11-27 1993-06-18 Matsushita Electric Ind Co Ltd Power product arithmetic unit
JP2004177673A (en) * 2002-11-27 2004-06-24 Fujitsu Ltd Pairing ciphering device, pairing ciphering calculation program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05150722A (en) * 1991-11-27 1993-06-18 Matsushita Electric Ind Co Ltd Power product arithmetic unit
JP2004177673A (en) * 2002-11-27 2004-06-24 Fujitsu Ltd Pairing ciphering device, pairing ciphering calculation program

Also Published As

Publication number Publication date
JP2006301513A (en) 2006-11-02

Similar Documents

Publication Publication Date Title
CN101061526B (en) Encryption computing device
US20010024501A1 (en) Method and apparatus for shuffle with proof, method and apparatus for shuffle verification, method and apparatus for generating input message sequence and program for same
JP4630117B2 (en) Multi-pairing calculation method, pairing comparison method, apparatus using the same, and program
JPWO2006030496A1 (en) Elliptic curve cryptography calculation device, calculation method of calculation device using elliptic curve, and program for causing computer to execute scalar multiplication of points on elliptic curve
CN112434269A (en) Zero knowledge proof method, verification method, computing device and storage medium of file
TWI784406B (en) Modular operation circuit adopting iterative calculations
JP4580274B2 (en) Pairing calculation device, pairing calculation method, and pairing calculation program
JP4585372B2 (en) Pairing calculation device, pairing calculation method, and pairing calculation program
JP7016457B2 (en) Final power unit, pairing arithmetic unit, cryptographic processing unit, final power calculation method and final power calculation program
JP4644039B2 (en) Pairing calculation method, apparatus and program using the method
JP4630132B2 (en) Pairing calculation method, apparatus and program using the method
JP5289571B2 (en) Arithmetic unit
JP5323196B2 (en) Arithmetic apparatus, method and program
KR101707334B1 (en) Apparatus for efficient elliptic curve cryptography processor and method for the same
Rossi Extended security of lattice-based cryptography
Silva et al. FISTA: achieving a rate of convergence proportional to k-3 for small/medium values of k
JP3145368B2 (en) Elliptic curve calculation device, calculation method, and recording medium storing program for executing the method
US7664258B2 (en) Randomized sparse formats for efficient and secure computation on elliptic curves
CN117118637B (en) Data processing method, device, equipment and computer readable storage medium
KR102595938B1 (en) Polynomial inverse generating apparatus and method for an encryption system that encrypts and decrypts data using polynomials
JP4629972B2 (en) Vector computing device, divided value computing device, elliptic curve scalar multiplication device, elliptic cryptography computing device, vector computing method, program, and computer-readable recording medium recording the program
JP3638493B2 (en) Elliptic curve square computing device and program recording medium
JP5596835B2 (en) Discrete logarithm calculation device, prior calculation device, discrete logarithm calculation method, prior calculation method, program
Irokawa Hybrid dynamics of H\'enon mappings
Yadav et al. Design of Modified RNS-PPA Based FIR Filter for High-Speed Application

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20070323

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100824

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101014

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101102

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101112

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131119

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4630117

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350