JP4956817B2 - Pairing calculation device and pairing calculation program - Google Patents

Pairing calculation device and pairing calculation program Download PDF

Info

Publication number
JP4956817B2
JP4956817B2 JP2006192217A JP2006192217A JP4956817B2 JP 4956817 B2 JP4956817 B2 JP 4956817B2 JP 2006192217 A JP2006192217 A JP 2006192217A JP 2006192217 A JP2006192217 A JP 2006192217A JP 4956817 B2 JP4956817 B2 JP 4956817B2
Authority
JP
Japan
Prior art keywords
value
calculating
pairing
substituting
substituted
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.)
Expired - Fee Related
Application number
JP2006192217A
Other languages
Japanese (ja)
Other versions
JP2008020653A (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.)
Future University Hakodate
Original Assignee
Future University Hakodate
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 Future University Hakodate filed Critical Future University Hakodate
Priority to JP2006192217A priority Critical patent/JP4956817B2/en
Publication of JP2008020653A publication Critical patent/JP2008020653A/en
Application granted granted Critical
Publication of JP4956817B2 publication Critical patent/JP4956817B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、高速にTateペアリングの計算が可能なペアリング計算装置及びペアリング計算プログラムに関する。   The present invention relates to a pairing calculation apparatus and a pairing calculation program capable of calculating Tate pairing at high speed.

情報通信技術に不可欠な技術の一つとして、暗号化のための鍵を公開する公開鍵暗号の技術が知られている。しかし、公開鍵暗号の技術は、鍵の管理が煩雑であることや特定のグループのみが解読可能となるブロードキャスト暗号が未整備であるといった問題がある。   As one of indispensable technologies for information and communication technologies, public key cryptography technology that discloses a key for encryption is known. However, public key cryptography techniques have problems such as complicated key management and undeveloped broadcast ciphers that can only be decrypted by a specific group.

近年、これらの問題を解決する手法としてTateペアリングを用いる暗号技術が注目されている。Tateペアリングを用いる暗号系では、IDを公開鍵とするIDベース暗号やブロードキャスト暗号を構築でき、さらに署名長が従来の半分であるshort signatureといった署名システムも構築できる。   In recent years, an encryption technique using Tate pairing has attracted attention as a technique for solving these problems. In an encryption system using Tate pairing, it is possible to construct an ID-based cipher or broadcast cipher with an ID as a public key, and it is also possible to construct a signature system such as a short signature whose signature length is half that of the conventional one.

Tateペアリングの計算は、公開鍵暗号技術において暗号化や署名生成において用いる場合と、署名検証等で用いる場合の二通りがある。暗号化や署名生成で用いる場合には、Tateペアリングeの値をそのまま用いる。一方、署名検証等で用いる場合には、二つのTateペアリングの値eとe´が等しいことをチェックする。   There are two types of calculation for Tate pairing: when used for encryption and signature generation in public key cryptography, and when used for signature verification. When used for encryption or signature generation, the value of Tate pairing e is used as it is. On the other hand, when used for signature verification or the like, it is checked that the two eate pairing values e and e ′ are equal.

続いて、楕円曲線上のTateペアリングについて説明する。
まず、(1)式で示される楕円曲線を考える。
Next, Tate pairing on an elliptic curve will be described.
First, consider the elliptic curve represented by equation (1).

Figure 0004956817
(1)式の楕円曲線E上の2点P,Qの和(P+Q)を次のように定義する。2点P,Qを通る直線L(P=Qの時は、直線LはPを通る楕円曲線Eの接線とする。)と楕円曲線Eとの交点Mを求め、その交点MとX軸に関して対称な位置に存在する点Nを求める。この交点Nを2点P,Qの和(P+Q)と定義する。図9は、b=1の場合の楕円曲線を示す図である。
Figure 0004956817
The sum (P + Q) of two points P and Q on the elliptic curve Eb in the equation (1) is defined as follows. An intersection M between the straight line L passing through the two points P and Q (when P = Q, the straight line L is a tangent to the elliptic curve E b passing through P) and the elliptic curve E b is obtained. A point N existing at a symmetrical position with respect to the axis is obtained. This intersection N is defined as the sum of two points P and Q (P + Q). FIG. 9 is a diagram showing an elliptic curve when b = 1.

Tateペアリングは、(1)式の楕円曲線上の2点P,Qに関してある値を返す関数e(P,Q)として(2)式のように定義する。Tateペアリングは(3)式に示すように双線形を満たすという性質があり、この双線形が暗号技術に応用される。   The Tate pairing is defined as a function e (P, Q) that returns a certain value with respect to two points P and Q on the elliptic curve of the expression (1) as in the expression (2). Tate pairing has the property of satisfying bilinearity as shown in equation (3), and this bilinearity is applied to encryption technology.

Figure 0004956817
Figure 0004956817

Figure 0004956817
(2)式に示すTateペアリングを計算する際には、楕円曲線上の計算及び標数3の体での演算(標数3の体でのアルゴリズム)が必要となる。
Figure 0004956817
When calculating the Tate pairing shown in the formula (2), calculation on an elliptic curve and calculation with a characteristic 3 field (algorithm with a characteristic 3 field) are required.

従来、<P、ψ(Q)>を計算するアルゴリズムとしては、図10に示すアルゴリズム1(Modified Duursma-Leeアルゴリズム)が知られている。アルゴリズム1においては、ステップ12〜16までループ処理をn回繰り返す。なお、σはσ=1を満たし、ρはρ=ρ+bを満たし、拡大体Fq(q=36n)は{1,σ,ρ,σρ,ρ,σρ}を基底とする体Fq(q=3)の6次のベクトル空間である。 Conventionally, algorithm 1 (Modified Duursma-Lee algorithm) shown in FIG. 10 is known as an algorithm for calculating <P, ψ (Q)> N. In Algorithm 1, the loop process is repeated n times from Step 12 to Step 16. Σ satisfies σ 2 = 1, ρ satisfies ρ 3 = ρ + b, and the extension field Fq (q = 3 6n ) is a field based on {1, σ, ρ, σρ, ρ 2 , σρ 2 }. This is a sixth-order vector space of Fq (q = 3 n ).

図11に示すアルゴリズム2は、このループ処理の回数を減らす目的で改良されたアルゴリズムであり、ηTペアリングを求めるものである。アルゴリズム2においては、ステップ22〜26までのループ処理の回数が(n+1)/2回に減少しているが、処理に時間のかかる3乗根の計算が発生する。なお、ηTペアリングとTateペアリングは(4)式に示すような関係がある。   An algorithm 2 shown in FIG. 11 is an algorithm improved for the purpose of reducing the number of times of the loop processing, and obtains ηT pairing. In Algorithm 2, the number of loop processes from Step 22 to Step 26 is reduced to (n + 1) / 2, but calculation of the cube root that takes time is generated. Note that ηT pairing and Tate pairing have a relationship as shown in equation (4).

Figure 0004956817
ここで、T、Z、Wの定義は(5)式で表される。
Figure 0004956817
Here, the definitions of T, Z, and W are expressed by equation (5).

Figure 0004956817
よって、(6)式を用いることでηTペアリングからTateペアリングを求めることが出来る。なお、ηT(P,Q)は双線形性を満たす。
Figure 0004956817
Therefore, Tate pairing can be obtained from ηT pairing by using equation (6). Note that ηT (P, Q) W satisfies bilinearity.

Figure 0004956817
図12は、各手法における署名と署名検証にかかる時間(単位はms)を比較した表であり、非特許文献1に記載されたものである。図12において、EC(Elliptic Curve)は楕円曲線であり、BLSはshort signature、すなわちTateペアリングの計算を用いた暗号である。
P. S. L. Barreto, “Efficient Algorithms for Pairing-Based Cryptosystems,” Advances in Cryptology-CRYPTO 2002, LNCS3027, Springer-Verlag, pp.354-368, 2002. P. S. L. M. Barreto, S. Galbraith, C.O. hEigeartaigh and M. Scott, "Efficient Pairing computation on supersingular Abelian Varieties,"Cryptology ePrint Archive, Report 2004/375, 2004. [2006年7月11日検索],インターネット<URL:http://eprint.iacr.org/2004/375>.
Figure 0004956817
FIG. 12 is a table comparing signatures and time required for signature verification (unit: ms) in each method, which is described in Non-Patent Document 1. In FIG. 12, EC (Elliptic Curve) is an elliptic curve, and BLS is a short signature, ie, encryption using calculation of Tate pairing.
PSL Barreto, “Efficient Algorithms for Pairing-Based Cryptosystems,” Advances in Cryptology-CRYPTO 2002, LNCS3027, Springer-Verlag, pp.354-368, 2002. PSLM Barreto, S. Galbraith, CO hEigeartaigh and M. Scott, "Efficient Pairing computation on supersingular Abelian Varieties," Cryptology ePrint Archive, Report 2004/375, 2004. [Search July 11, 2006], Internet <URL: http : //eprint.iacr.org/2004/375>.

図12から明らかなように、従来のアルゴリズムを用いた方法では、特に署名検証においてTateペアリングの計算に時間がかかり、RSA(Rivest Shamir Adleman)方式やDSA(Digital Signature Algorithm)方式、楕円曲線の特性を利用した暗号方式等と比較して処理が遅い。このため、Tateペアリングの計算の高速化が世界的に大きな研究テーマとなっている。   As apparent from FIG. 12, in the method using the conventional algorithm, it takes time to calculate the Tate pairing particularly in signature verification, and the RSA (Rivest Shamir Adleman) method, the DSA (Digital Signature Algorithm) method, the elliptic curve Processing is slow compared to encryption methods using characteristics. For this reason, speeding up the calculation of Tate pairing has become a major research theme worldwide.

本発明は上記事情を考慮してなされたもので、その目的は、Tateペアリングの計算を計算量が少なく高速に行うことが可能なアルゴリズムを提案し、該アルゴリズムを用いて処理を行うペアリング計算装置を提供することにある。   The present invention has been made in consideration of the above circumstances, and its purpose is to propose an algorithm that can perform Tate pairing calculation with a small amount of calculation and can be performed at high speed, and performs pairing using the algorithm. To provide a computing device.

本発明は上記の課題を解決するためになされたもので、発明の一態様は、楕円曲線E:y=x−x+b,b∈{−1,1}上の点に対して前記楕円曲線E 上の計算により得られる前記楕円曲線E 上の点3 (n−1)/2 Pおよび前記楕円曲線E 上の点Qの座標データである(x ,y ),(x ,y を入力し、定数bが1である場合は、前記座標値y を−y に置き換える入力手段と、標数3の体Fq(ここで、q=3において、前記定数bの値をdに代入する第1演算手段と、基底σおよびρがσ =1,ρ =ρ+bを満たし、{1,σ,ρ,σρ,ρ ,σρ }を基底とする標数3の拡大体Fq(ここで、q=3 6n )において、−y (x +x +b)+y σ+y ρを計算して得た値をR に代入する第2演算手段と、前記標数3の体Fqにおいて、x +x +dを計算して得た値をr に代入し、前記標数3の拡大体Fqにおいて、−r +y σ−r ρ−ρ を計算して得た値をR に代入し、R を計算して得た値を前記R に代入し、前記標数3の体Fqにおいて、−y を座標値y に代入し、x を計算して得た値を座標値x に代入し、y を計算して得た値を座標値y に代入し、(d−b) mod 3を計算して得た値を前記dに代入し、前記標数3の拡大体Fqにおいて、R を計算して得た値を前記R に代入する処理を(n+1)/2回繰り返して実行し、最終的に得られたR の値を、点3 (n−1)/2 および点Qの座標データに基づくηTペアリングηT( (n−1)/2 P,Q)の3(n+1)/2の値として出力する第演算手段と、前記第演算手段が出力した前記ηTペアリングηT(3 (n−1)/2 P,Q)の3 (n+1)/2 乗の値に基づいて、(5)式、(7)式、および(6)式を計算して得たe(P,Q)を、Tateペアリングの値として出力する第演算手段とを具備することを特徴とするペアリング計算装置である。 The present invention has been made to solve the above problems, one aspect of the present invention, the elliptic curve E b: y 2 = x 3 -x + b, with respect to the point P on B∈ {-1,1} wherein a respective coordinate data of the point Q on the elliptic curve obtained by calculation on E b the elliptic curve E points on b 3 (n-1) / 2 P and the elliptic curve E b Te (x p, y p), (x q, enter the y q), if the constant b is 1, the coordinate value y p and input means Ru replaced -y p, Characteristic 3 body Fq (here, q = 3 n ) , the first computing means for substituting the value of the constant b into d, the bases σ and ρ satisfy σ 2 = 1, ρ 3 = ρ + b, and {1, σ, ρ, σρ, ρ 2 , σρ 2} Characteristic 3 extension field Fq (here, q = 3 6n) of the base of the the -y p (x p + x q + b) + y q σ + y p ρ The value obtained by calculation and the second calculation means substitutes the R 0, wherein the target number 3 of the body Fq, substitutes the value obtained by calculating the x p + x q + d to r 0, the Characteristic 3 in the extension field Fq, -r 0 2 + y p y q σ-r 0 ρ-ρ 2 to a value obtained by calculation by substituting the R 1, R 0 and R 1 calculates the value obtained by the R substituted into 0, in the target number 3 of the body Fq, the -y p is substituted into the coordinate value y p, the value obtained by calculating the x q 9 by substituting the coordinate value x q, calculates the y q 9 The value obtained by substituting for the coordinate value y q , substituting the value obtained by calculating (d−b) mod 3 for d, and calculating R 0 3 for the extension field Fq of characteristic 3 The process of substituting the obtained value into R 0 is repeated (n + 1) / 2 times, and the finally obtained value of R 0 is expressed as point 3 (n−1) / 2 P and point Q. to coordinate data ΗT pairing ηT to brute (3 (n-1) / 2 P, Q) of 3 (n + 1) / 2 the square of the third arithmetic means for outputting a value, the third the ηT pairing ηT the arithmetic unit has outputted Based on the value of 3 (n + 1) / 2 squared of (3 (n-1) / 2 P, Q), e () obtained by calculating Expressions (5), (7), and (6) P, and Q), a pairing calculation apparatus characterized by comprising a fourth arithmetic means you output as the value of the Tate pairing, the.

また、本発明の一態様は、楕円曲線E:y=x−x+b,b∈{−1,1}上の2点P,Qの座標データである(x ,y ),(x ,y を入力し、定数bが1である場合は、座標値y を−y に置き換える入力手段と、標数3の体Fq(ここで、q=3において、前記定数bの値をdに代入する第1演算手段と、基底σおよびρがσ =1,ρ =ρ+bを満たし、{1,σ,ρ,σρ,ρ ,σρ }を基底とする標数3の拡大体Fq(ここで、q=3 6n )において、−y (x +x +b)+y σ+y ρを計算して得た値をR に代入する第2演算手段と、前記標数3の体Fqにおいて、x +x +dを計算して得た値をr に代入し、−r +y σ−r ρ−ρ を計算して得た値をR に代入し、前記標数3の拡大体Fqにおいて、R を計算して得た値を前記R に代入し、前記標数3の体Fqにおいて、x を計算して得た値を座標値x に代入し、y を計算して得た値を座標値y に代入し、x 27 を計算して得た値を座標値x に代入し、y 27 を計算して得た値を座標値y に代入し、(d+b) mod 3を計算して得た値を前記dに代入し、前記標数3の拡大体Fqにおいて、最終回を除きR 、最終回においてR を計算して得た値を前記R に代入する処理を(n+1)/2回繰り返して実行し、最終的に得られたR の値を、前記2点P,Qの座標データに基づくηTペアリングηT(P,Q)の3の値として出力する第演算手段と、前記第演算手段が出力した前記ηTペアリングηT(P,Q)の3 乗の値から3 乗根を計算して得たηT(P,Q)の値に基づいて、(5)式および(6)式を計算して得たe(P,Q)を、Tateペアリングの値として出力する第演算手段とを具備することを特徴とするペアリング計算装置である。 Another embodiment of the present invention, the elliptic curve E b: y 2 = x 3 -x + b, a 2-point P, the coordinate data of Q on b∈ {-1,1} (x p, y p) , (x q, y q) enter a, if the constant b is 1, an input unit that Ru replace coordinate values y p to -y p, Characteristic 3 body Fq (here, q = 3 n ) , The first calculation means for substituting the value of the constant b into d, and the bases σ and ρ satisfy σ 2 = 1, ρ 3 = ρ + b, and {1, σ, ρ, σρ, ρ 2 , σρ 2 } In an extension field Fq of characteristic 3 with the basis of (where q = 3 6n ), a value obtained by calculating −y p (x p + x q + b) + y q σ + y p ρ is substituted into R 0 And the value obtained by calculating x p + x q + d in the field Fq of characteristic 3 is substituted into r 0 , and −r 0 2 + y p y q σ−r 0 ρ−ρ 2 The value obtained by calculating is substituted for R 1, and the value obtained by calculating R 0 R 1 is substituted for R 0 in the extension field Fq of characteristic 3 and the field Fq of characteristic 3 The value obtained by calculating x p 3 is substituted into the coordinate value x p , the value obtained by calculating y p 3 is substituted into the coordinate value y p, and the value obtained by calculating x q 27 Is substituted for the coordinate value x q , the value obtained by calculating y q 27 is substituted for the coordinate value y q , the value obtained by calculating (d + b) mod 3 is substituted for the d, and the characteristic in 3 of the extension field Fq, R 0 9 except the last round, the process of substituting a value obtained by calculating the R 0 3 in the R 0 in the last round (n + 1) / repeatedly executed twice, finally the value of R 0 obtained in the two points P, a third arithmetic means for outputting as 3 n-th power value of ηT pairing ηT based on the coordinate data of the Q (P, Q), prior to Based on the value of the serial third arithmetic means said ItaT pairing has output ηT (P, Q) obtained by computing the 3 n root from 3 n-th power value of ηT (P, Q), ( 5) formula and (6) e obtained by calculating the equation (P, Q) of a pairing calculation apparatus characterized by comprising a fourth arithmetic means you output as the value of the Tate pairing, the.

また、発明の一態様は、コンピュータ、楕円曲線E:y=x−x+b,b∈{−1,1}上の点に対して前記楕円曲線E 上の計算により得られる前記楕円曲線E 上の点3 (n−1)/2 Pおよび前記楕円曲線E 上の点Qの座標データである(x ,y ),(x ,y を入力し、定数bが1である場合は、前記座標値y を−y に置き換える入力手段と、標数3の体Fq(ここで、q=3において、前記定数bの値をdに代入する第1演算手段と、基底σおよびρがσ =1,ρ =ρ+bを満たし、{1,σ,ρ,σρ,ρ ,σρ }を基底とする標数3の拡大体Fq(ここで、q=3 6n )において、−y (x +x +b)+y σ+y ρを計算して得た値をR に代入する第2演算手段と、前記標数3の体Fqにおいて、x +x +dを計算して得た値をr に代入し、前記標数3の拡大体Fqにおいて、−r +y σ−r ρ−ρ を計算して得た値をR に代入し、R を計算して得た値を前記R に代入し、前記標数3の体Fqにおいて、−y を座標値y に代入し、x を計算して得た値を座標値x に代入し、y を計算して得た値を座標値y に代入し、(d−b) mod 3を計算して得た値を前記dに代入し、前記標数3の拡大体Fqにおいて、R を計算して得た値を前記R に代入する処理を(n+1)/2回繰り返して実行し、最終的に得られたR の値を、点3 (n−1)/2 および点Qの座標データに基づくηTペアリングηT( (n−1)/2 P,Q)の3(n+1)/2の値として出力する第演算手段と、前記第演算手段が出力した前記ηTペアリングηT(3 (n−1)/2 P,Q)の3 (n+1)/2 乗の値に基づいて、(5)式、(7)式、および(6)式を計算して得たe(P,Q)を、Tateペアリングの値として出力する第演算手段と、として機能させるためのペアリング計算プログラムである。 In one embodiment of the present invention, a computer is obtained by calculation on the elliptic curve E b with respect to the point P on the elliptic curve E b : y 2 = x 3 −x + b, b∈ {−1, 1}. is the is the coordinate data of the point Q on the elliptic curve E b on the point 3 (n-1) / 2 P and the elliptic curve E b (x p, y p ), the (x q, y q) type, if the constant b is 1, an input unit that Ru replacing the coordinate value y p to -y p, (where, q = 3 n) Characteristic 3 of the body Fq in the value of the constant b A first computing means for substituting d into d, and a characteristic 3 whose bases σ and ρ satisfy σ 2 = 1, ρ 3 = ρ + b, and whose base is {1, σ, ρ, σρ, ρ 2 , σρ 2 } extension field Fq (here, q = 3 6n) of the, to assign -y p a (x p + x q + b ) + y q σ + y p ρ and the obtained calculated value to R 0 A second calculating means, in the target number 3 of the body Fq, substitutes the value obtained by calculating the x p + x q + d to r 0, the extension field Fq of the Characteristic 3, -r 0 2 + y p The value obtained by calculating y q σ−r 0 ρ−ρ 2 is substituted for R 1 , the value obtained by calculating R 0 R 1 is substituted for R 0 , and the field Fq of the characteristic 3 -Y p is substituted for the coordinate value y p , the value obtained by calculating x q 9 is substituted for the coordinate value x q, and the value obtained by calculating y q 9 is substituted for the coordinate value y q Then, (d−b) the value obtained by calculating mod 3 is substituted for d, and in the extension field Fq of characteristic 3, the value obtained by calculating R 0 3 is substituted for R 0 . processing (n + 1) / 2 times repeatedly executed, and the finally obtained value of R 0, the point 3 (n-1) / 2 ηT pairing ηT (3 based on the coordinate data of the P and point Q n-1) / 2 P, Q) of 3 (n + 1) / 2 the square of the third arithmetic means for outputting a value, the third the ηT pairing ηT arithmetic unit has outputted (3 (n-1) / 2 P, based on the value of 3 (n + 1) / 2 square of Q), the equation (5), (7), and (6) were obtained by calculating the equation e (P, Q), Tate pairs a pairing computation program for functioning as a fourth arithmetic means you output as the value of the ring.

また、発明の一態様は、コンピュータ、楕円曲線E:y=x−x+b,b∈{−1,1}上の2点P,Qの座標データである(x ,y ),(x ,y を入力し、定数bが1である場合は、座標値y を−y に置き換える入力手段と、標数3の体Fq(ここで、q=3において、前記定数bの値をdに代入する第1演算手段と、基底σおよびρがσ =1,ρ =ρ+bを満たし、{1,σ,ρ,σρ,ρ ,σρ }を基底とする標数3の拡大体Fq(ここで、q=3 6n )において、−y (x +x +b)+y σ+y ρを計算して得た値をR に代入する第2演算手段と、前記標数3の体Fqにおいて、x +x +dを計算して得た値をr に代入し、−r +y σ−r ρ−ρ を計算して得た値をR に代入し、前記標数3の拡大体Fqにおいて、R を計算して得た値を前記R に代入し、前記標数3の体Fqにおいて、x を計算して得た値を座標値x に代入し、y を計算して得た値を座標値y に代入し、x 27 を計算して得た値を座標値x に代入し、y 27 を計算して得た値を座標値y に代入し、(d+b) mod 3を計算して得た値を前記dに代入し、前記標数3の拡大体Fqにおいて、最終回を除きR 、最終回においてR を計算して得た値を前記R に代入する処理を(n+1)/2回繰り返して実行し、最終的に得られたR の値を、前記2点P,Qの座標データに基づくηTペアリングηT(P,Q)の3の値として出力する第演算手段と、前記第演算手段が出力した前記ηTペアリングηT(P,Q)の3 乗の値から3 乗根を計算して得たηT(P,Q)の値に基づいて、(5)式および(6)式を計算して得たe(P,Q)を、Tateペアリングの値として出力する第演算手段、として機能させるためのペアリング計算プログラムである。 Another embodiment of the present invention, a computer, an elliptic curve E b: y 2 = x 3 -x + b, 2 points P on B∈ {-1,1}, which is the coordinate data of Q (x p, y p), (x q, enter the y q), if the constant b is 1, an input unit that Ru replace coordinate values y p to -y p, Characteristic 3 body Fq (here, q = 3 n ) , the first computing means for substituting the value of the constant b into d, the bases σ and ρ satisfy σ 2 = 1, ρ 3 = ρ + b, and {1, σ, ρ, σρ, ρ 2 , Σρ 2 } based on an extension field Fq of characteristic 3 (where q = 3 6n ), the value obtained by calculating −y p (x p + x q + b) + y q σ + y p ρ is R In the second arithmetic means for substituting for 0 and the field Fq of characteristic 3 , substituting the value obtained by calculating x p + x q + d for r 0 , −r 0 2 + y p y q σ-r 0 ρ-ρ 2 of the calculated and obtained values are substituted into R 1, the in the extension field Fq of Characteristic 3, substitutes the value obtained by calculating the R 0 R 1 to the R 0 In the field Fq of characteristic 3, the value obtained by calculating x p 3 is substituted into the coordinate value x p , the value obtained by calculating y p 3 is substituted into the coordinate value y p , and x q The value obtained by calculating 27 is substituted for the coordinate value x q , the value obtained by calculating y q 27 is substituted for the coordinate value y q , and the value obtained by calculating (d + b) mod 3 is substituted into d, the extension field Fq of the Characteristic 3, R 0 9 except the last round, the value obtained by calculating the R 0 3 in the final times a process of substituting the R 0 (n + 1) / 2 Repeat run times, the finally obtained value of R 0, the outputs Examples 3 n-th power values of the two points P, ItaT pairing ItaT based on the coordinate data of the Q (P, Q) 3 and calculating means, based on the value of the third arithmetic means said ItaT pairing has output ηT (P, Q) obtained by computing the 3 n root from 3 n-th power value of ηT (P, Q) Te, (5) and (6) were obtained by calculating the equation e (P, Q), in the pairing computation program for functioning as a fourth arithmetic means, you output as the value of the Tate pairing is there.

発明によれば、ηTペアリングを求める従来のアルゴリズム(図11のアルゴリズム2)で計算コストが大きくなる要因であった3乗根の計算を行う必要がなくなるため、高速にηTペアリングの計算を行うことができる。ηTペアリングが求まると、(6)式を用いることでTateペアリングを求めることが可能であるため、Tateペアリングの計算も高速に行うことができる。 According to the present invention, it is not necessary to calculate the cube root, which is a factor that increases the calculation cost in the conventional algorithm for calculating ηT pairing (algorithm 2 in FIG. 11). It can be performed. When the ηT pairing is obtained, the Tate pairing can be obtained by using the equation (6), and hence the Tate pairing can be calculated at high speed.

以下、図面を参照して本発明の実施形態について説明する。
まず、図11に示した従来のアルゴリズム2を高速化したアルゴリズムに関して図1を参照して説明する。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
First, an algorithm obtained by speeding up the conventional algorithm 2 shown in FIG. 11 will be described with reference to FIG.

図1のアルゴリズム3は、ηT(P,Q)の3(n+1)/2乗を求めるアルゴリズムであり、アルゴリズム2と異なり、ループの終端(ステップ35−d)でアルゴリズム1の各値(x、y、x、y)が3i+1乗になる。3i+1乗を求める目的で、ステップ31−b、ステップ33、ステップ35−a、ステップ35−cにおいて基底の調整を行っている。 The algorithm 3 in FIG. 1 is an algorithm for obtaining 3 (n + 1) / 2 squares of ηT (P, Q). Unlike the algorithm 2, each value (x q ) of the algorithm 1 at the end of the loop (step 35-d). , Y q , x p , y p ) become 3 i + 1 powers. For the purpose of obtaining the 3 i + 1 power, the base is adjusted in step 31-b, step 33, step 35-a, and step 35-c.

アルゴリズム3の処理に関して詳細に説明する。楕円曲線E上の2点P(x,y)及びQ(x,y)を入力すると、b=1の場合には−yの値をyに代入する(ステップ31−a)。続いて、体Fq(q=3)上でbの値をdに代入する(ステップ31−b)。 The processing of algorithm 3 will be described in detail. Two points on the elliptic curve E b P (x p, y p) and Q (x q, y q) If you enter, in the case of b = 1 substitutes the value of -y p to y p (Step 31 -A). Subsequently, the value of b is substituted for d on the field Fq (q = 3 n ) (step 31-b).

続いて、拡大体Fq(q=36n)上でーy(x+x+b)+yσ+yρの演算を行い、結果をRに代入する(ステップ31−c)。この後、ステップ32〜36のループ演算を(n+1)/2回行う。ループ演算においては、まず体Fq(q=3)上でx+x+dの演算を行い、結果をγに代入する(ステップ33)。 Subsequently, −y p (x p + x q + b) + y q σ + y p ρ is calculated on the extension field Fq (q = 36 n ), and the result is substituted into R 0 (step 31-c). Thereafter, the loop calculation of steps 32 to 36 is performed (n + 1) / 2 times. In the loop calculation, first, the calculation of x p + x q + d is performed on the field Fq (q = 3 n ), and the result is substituted into γ 0 (step 33).

続いて、拡大体Fq(q=36n)上で−γ +yσ−γρ―ρを演算し、Rに代入する(ステップ34−a)。その後、拡大体Fq(q=36n)上でRを演算し、結果をRに代入する(ステップ34−b)。 Then, it calculates the -γ 0 2 + y p y q σ-γ 0 ρ-ρ 2 on an extension field Fq (q = 3 6n), is substituted into R 1 (Step 34-a). Thereafter, R 0 R 1 is calculated on the extension field Fq (q = 36 n ), and the result is substituted into R 0 (step 34-b).

続いて、拡大体Fq(q=3)上で−yの値をyに代入する(ステップ35−a)。その後、拡大体Fq(q=3)上でx を演算し、その結果をxに代入する。さらに、y を演算し、その結果をyに代入する(ステップ35−b)。その後、(d−b)に対してmod3を演算し、結果をdに代入する(ステップ35−c)。その後、拡大体Fq(q=36n)上でR を演算し、結果をRに代入する(ステップ35−d)。 Subsequently, it substitutes the value of -y p to y p on an extension field Fq (q = 3 n) (Step 35-a). Thereafter, x q 9 is calculated on the extension field Fq (q = 3 n ), and the result is substituted into x q . Further, y q 9 is calculated and the result is substituted into y q (step 35-b). Thereafter, mod3 is calculated for (db), and the result is substituted for d (step 35-c). Thereafter, R 0 3 is calculated on the extension field Fq (q = 3 6n ), and the result is substituted into R 0 (step 35-d).

ループ演算が終了すると、Rの値をηT(P,Q)の3(n+1)/2乗として出力する。標数3の体Fq(q=3)における演算の時間的コストは、数学的性質のため、3乗算の時間的コストが乗算や3乗根の時間的コストより小さいという特徴がある。図2は乗算の時間コストを基準(M)として各演算の時間コストを示した図である。 When the loop operation is completed, the value of R 0 is output as 3 (n + 1) / 2 to the power of ηT (P, Q). The time cost of the computation in the field 3 of characteristic number Fq (q = 3 n ) is characterized by the fact that the time cost of 3 multiplication is smaller than the time cost of multiplication and the cube root because of the mathematical nature. FIG. 2 is a diagram showing the time cost of each calculation using the time cost of multiplication as a reference (M).

図2に示した時間コストに基づいて、アルゴリズム3の計算量を見積もると、(10.25n+11.25)Mとなる。一方、従来のアルゴリズム2の計算量は、(12.05n+13.05)Mとなる。一般的にn=97が用いられることが多いが、n=97ではアルゴリズム3はアルゴリズム2より約15%軽量化される。   When the calculation amount of the algorithm 3 is estimated based on the time cost shown in FIG. 2, (10.25n + 11.25) M is obtained. On the other hand, the calculation amount of the conventional algorithm 2 is (12.05n + 13.05) M. In general, n = 97 is often used. However, when n = 97, the algorithm 3 is approximately 15% lighter than the algorithm 2.

なお、アルゴリズム3の出力はηT(P,Q)の3(n+1)/2乗であるため、Tateペアリングe(P,Q)を求める演算が必要であるが、この演算は次の手順により容易に求められる。ηT(P,Q)の双線形より、(7)式が成立する。 Since the output of algorithm 3 is 3 (n + 1) / 2 to the power of ηT (P, Q), an operation for obtaining Tate pairing e (P, Q) is required. This operation is performed according to the following procedure. Easily required. ηT (P, Q) From the bilinearity of W , equation (7) is established.

Figure 0004956817
すなわち、楕円曲線上の演算において予め3(n−1)/2Pを求めた上でアルゴリズム3を実行し、W乗の計算を行うことで(7)式の左辺が求められる。続いて3乗根(計算コストは小さい)を行うことでηT(P,Q)が求まり、(6)式に代入することでTateペアリングe(P,Q)が求まる。
Figure 0004956817
That is, after calculating 3 (n-1) / 2P in advance on the calculation of the elliptic curve, the algorithm 3 is executed and the power of W is calculated to obtain the left side of the equation (7). Then 3 n root (computational cost is small) ItaT by performing (P, Q) W is Motomari, Tate pairing e (P, Q) is obtained by substituting the equation (6).

なお、前述の通りηT(P,Q)も双線形性を満たすため、暗号技術に応用することが可能である。暗号技術にηT(P,Q)を用いる場合には、(6)式の演算を行う必要はない。 Note that ηT (P, Q) W also satisfies bilinearity as described above, and can be applied to encryption technology. When ηT (P, Q) W is used for the cryptographic technique, it is not necessary to perform the calculation of equation (6).

続いて、アルゴリズム3の処理を行うペアリング計算装置について説明する。図3はペアリング計算装置の構成を示す構成図である。図3において、ペアリング計算装置30の有限体演算器301は、アルゴリズム3で行う演算を実行するハードウェアであり、二値の論理で演算を行う汎用のCPU(Central Processing Unit)であってもよいし、標数3の体での演算処理に特化した専用のハードウェアであってもよい。   Next, a pairing calculation apparatus that performs processing of algorithm 3 will be described. FIG. 3 is a block diagram showing the configuration of the pairing calculation apparatus. In FIG. 3, the finite field calculator 301 of the pairing calculation device 30 is hardware that executes an operation performed by the algorithm 3, and may be a general-purpose CPU (Central Processing Unit) that performs an operation by binary logic. Alternatively, dedicated hardware specialized for arithmetic processing with a field of characteristic 3 may be used.

コンソールインタフェース302は、外部の装置(図示せず)からペアリング計算装置30を制御する際に用いるインタフェースである。通信インタフェース303は、入力ポートからデータを入力し、出力ポートへ演算結果を出力するインタフェースである。   The console interface 302 is an interface used when controlling the pairing calculation device 30 from an external device (not shown). The communication interface 303 is an interface that inputs data from an input port and outputs an operation result to an output port.

メモリ304は、データを記憶するメモリである。メモリ304には、アルゴリズム3を実行するプルグラムである演算器制御プログラム305が記憶されており、また、有限体301における演算結果を格納する領域である演算データ記憶部306が確保されている。   The memory 304 is a memory that stores data. The memory 304 stores an operator control program 305 that is a program for executing the algorithm 3, and an operation data storage unit 306 that is an area for storing operation results in the finite field 301 is secured.

入力ポートからP,Qのデータが入力されると、通信インタフェース303は、P,Qのデータを有限体演算器301に出力する。有限体演算器301は、演算器制御プログラム306にしたがってアルゴリズム3の処理を実行し、その結果(ηT(P,Q)の3(n+1)/2乗)を通信インタフェース303へ出力する。通信インタフェース303は、ηT(P,Q)の3(n+1)/2乗の演算結果を出力ポートから出力する。 When P and Q data is input from the input port, the communication interface 303 outputs the P and Q data to the finite field calculator 301. The finite field calculator 301 executes the processing of the algorithm 3 in accordance with the calculator control program 306 and outputs the result (ηT (P, Q) 3 (n + 1) / 2 ) to the communication interface 303. The communication interface 303 outputs the calculation result of 3 (n + 1) / 2 square of ηT (P, Q) from the output port.

次に、図11に示した従来のアルゴリズム2を高速化した別のアルゴリズムに関して図4を参照して説明する。   Next, another algorithm that speeds up the conventional algorithm 2 shown in FIG. 11 will be described with reference to FIG.

図4のアルゴリズム4は、ηT(P,Q)の3乗を求めるアルゴリズムであり、アルゴリズム2と異なり、ループの終端(ステップ45−d)でアルゴリズム1の各値(x、y、x、y)が32i+2乗になる。32i+2乗を求める目的で、ステップ41−b、ステップ43、ステップ45−cにおいて基底の調整を行っている。 Algorithm 4 in FIG. 4 is an algorithm for obtaining the multiplication 3 n of ηT (P, Q), unlike the algorithms 2, the value of the algorithm 1 at the end of the loop (Step 45-d) (x q, y q, x p , y p ) becomes 3 2i + 2 . For the purpose of obtaining 3 2i + 2 , the base is adjusted in step 41-b, step 43, and step 45-c.

アルゴリズム4の処理に関して詳細に説明する。楕円曲線E上の2点P(x,y)及びQ(x,y)を入力すると、b=1の場合には−yの値をyに代入する(ステップ41−a)。続いて、体Fq(q=3)上でbの値をdに代入する(ステップ41−b)。 The processing of algorithm 4 will be described in detail. Two points on the elliptic curve E b P (x p, y p) and Q (x q, y q) If you enter, in the case of b = 1 substitutes the value of -y p to y p (Step 41 -A). Subsequently, the value of b is substituted for d on the field Fq (q = 3 n ) (step 41-b).

続いて、拡大体Fq(q=36n)上でーy(x+x+b)+yσ+yρの演算を行い、結果をRに代入する(ステップ41−c)。この後、ステップ42〜46のループ演算を(n+1)/2回行う。ループ演算においては、まず体Fq(q=3)上でx+x+dの演算を行い、結果をγに代入する(ステップ43)。 Subsequently, −y p (x p + x q + b) + y q σ + y p ρ is calculated on the extension field Fq (q = 36 n ), and the result is substituted into R 0 (step 41-c). Thereafter, the loop calculation of steps 42 to 46 is performed (n + 1) / 2 times. In the loop operation, first, an operation of x p + x q + d is performed on the field Fq (q = 3 n ), and the result is substituted into γ 0 (step 43).

続いて、拡大体Fq(q=36n)上で−γ +yσ−γρ―ρを演算し、Rに代入する(ステップ44−a)。この後、拡大体Fq(q=36n)上でRを演算し、結果をRに代入する(ステップ44−b)。 Then, it calculates the -γ 0 2 + y p y q σ-γ 0 ρ-ρ 2 on an extension field Fq (q = 3 6n), is substituted into R 1 (Step 44-a). Thereafter, R 0 R 1 is calculated on the extension field Fq (q = 36 n ), and the result is substituted into R 0 (step 44-b).

続いて、拡大体Fq(q=3)上でx の演算を行い、結果をxに代入する。さらに、y の演算を行い、結果をyに代入する(ステップ45−a)。この後、拡大体Fq(q=3)上でx 27を演算し、その結果をxに代入する。さらに、y 27を演算し、その結果をyに代入する(ステップ45−b)。この後、(d+b)に対してmod3を演算し、結果をdに代入する(ステップ45−c)。 Subsequently, the calculation of x p 3 is performed on the extension field Fq (q = 3 n ), and the result is substituted into x p . Furthermore, it performs calculation of y p 3, which assigns the result to y p (Step 45-a). Thereafter, x q 27 is calculated on the extension field Fq (q = 3 n ), and the result is substituted into x q . Further, y q 27 is calculated, and the result is substituted into y q (step 45-b). Thereafter, mod3 is calculated for (d + b), and the result is substituted for d (step 45-c).

続いて、i<(n−1)/2の場合は、拡大体Fq(q=36n)上でR を演算し、結果をRに代入する。一方、i=(n−1)/2の場合は、R を演算し、結果をRに代入する(ステップ45−d)。ループ演算が終了すると、Rの値をηT(P,Q)の3乗として出力する。 Subsequently, when i <(n−1) / 2, R 0 9 is calculated on the extension field Fq (q = 3 6n ), and the result is substituted into R 0 . On the other hand, if i = (n−1) / 2, R 0 3 is calculated and the result is substituted into R 0 (step 45-d). When the loop calculation is completed, it outputs the value of R 0 as th power 3 n of ηT (P, Q).

図2に示した時間コストに基づいて、アルゴリズム4の計算量を見積もると、(10.5n+11.2)Mとなる。一方、従来のアルゴリズム2の計算量は、(12.05n+13.05)Mである。一般的にn=97が用いられることが多いが、n=97ではアルゴリズム4はアルゴリズム2より約13%軽量化される。   When the calculation amount of the algorithm 4 is estimated based on the time cost shown in FIG. 2, it is (10.5n + 11.2) M. On the other hand, the calculation amount of the conventional algorithm 2 is (12.05n + 13.05) M. In general, n = 97 is often used. However, when n = 97, the algorithm 4 is approximately 13% lighter than the algorithm 2.

なお、アルゴリズム3の出力はηT(P,Q)の3乗であるため、Tateペアリングe(P,Q)を求める演算が必要であるが、この演算は次の手順により容易に求められる。アルゴリズム3により求めたηT(P,Q)の3乗に対して3乗根(計算コストは小さい)の演算を行い、さらにW乗の計算を行うことでηT(P,Q)が求められる。これを(6)式に代入することでTateペアリングe(P,Q)が求まる。 Since the output of the algorithm 3 which is a power of 3 n of ηT (P, Q), Tate pairing e (P, Q) is a necessary operation for obtaining a easily obtained by this operation the following steps . ItaT determined by the algorithm 3 (P, Q) 3 n 3 n root against th power of (computational cost is small) performs the operation of further W ItaT by performing a multiplication computation (P, Q) W is Desired. By substituting this into equation (6), Tate pairing e (P, Q) is obtained.

なお、前述の通りηT(P,Q)も双線形性を満たすため、暗号技術に応用することが可能である。暗号技術にηT(P,Q)を用いる場合には、(6)式の演算を行う必要はない。アルゴリズム4の処理を行うペアリング計算装置は、図3に示したペアリング計算装置30の演算器制御プログラム305を、アルゴリズム4を実行するプログラムとすることで実現できる。 Note that ηT (P, Q) W also satisfies bilinearity as described above, and can be applied to encryption technology. When ηT (P, Q) W is used for the cryptographic technique, it is not necessary to perform the calculation of equation (6). The pairing calculation device that performs the processing of the algorithm 4 can be realized by making the arithmetic unit control program 305 of the pairing calculation device 30 shown in FIG.

次に、二つのTateペアリングの値e(P,Q)とe(R,S)とが一致するかを検証するDH(Diffie-Hellman)検証を高速化したアルゴリズムについて説明する。従来のDH検証は、e(P,Q)とe(R,S)とをそれぞれ計算してから一致判定を行っていたため、図12で前述したとおり時間がかかっていた。また、e(P,Q)及びe(R,S)を従来のアルゴリズム2で求まるηTペアリングから求めることで高速化したとしても、アルゴリズム2には3乗根の計算が必要であるため、時間がかかる。   Next, an algorithm that speeds up DH (Diffie-Hellman) verification that verifies whether two Tate pairing values e (P, Q) and e (R, S) match will be described. The conventional DH verification takes time as described above with reference to FIG. 12 because the coincidence determination is performed after calculating e (P, Q) and e (R, S). Further, even if e (P, Q) and e (R, S) are speeded up by obtaining from ηT pairing obtained by the conventional algorithm 2, algorithm 2 needs to calculate the cube root, take time.

DH検証においては、e(P,Q)=e(R,S)を検証する必要があるが、Tateペアリングの双線形性よりe(R,S)=e(−R,S)−1であるため、(8)式が成立する。したがって、DH検証では、e(P,Q)・e(−R,S)=1であるか否かを検証すればよい。 In DH verification, it is necessary to verify e (P, Q) = e (R, S), but e (R, S) = e (−R, S) −1 due to the bilinearity of Tate pairing. Therefore, Equation (8) is established. Therefore, in the DH verification, it is only necessary to verify whether e (P, Q) · e (−R, S) = 1.

Figure 0004956817
ここで、Rの座標を(x,y)とおくと、−Rの座標は(x,−y)となり容易に求められる。
Figure 0004956817
Here, if the coordinates of R are (x, y), the coordinates of -R are easily obtained as (x, -y).

e(P,Q)・e(−R,S)=1であるか否かを検証するアルゴリズムを、図5を参照して説明する。図5は図10のアルゴリズム1に基づくDH検証のアルゴリズムである。   An algorithm for verifying whether or not e (P, Q) · e (−R, S) = 1 will be described with reference to FIG. FIG. 5 shows a DH verification algorithm based on the algorithm 1 of FIG.

(0)をアルゴリズム1に(P,Q)を入力した時のR、R(1)をアルゴリズム1に(P,Q)を入力した時のR、R(0)をアルゴリズム1に(P,Q)を入力した時のR、R(1)をアルゴリズム1に(P,Q)を入力した時のRとおくと、アルゴリズム5はR(0)R(1)を求めるアルゴリズムである。 R 0 (0) to algorithm 1 (P 0, Q 0) R 0 when you enter, R 0 (1) to the algorithm 1 (P 1, Q 1) R 0 when you enter, R 1 When (0) is R 1 when (P 0 , Q 0 ) is input to algorithm 1 and R 1 (1) is R 1 when (P 1 , Q 1 ) is input to algorithm 1 , the algorithm Reference numeral 5 denotes an algorithm for obtaining R 0 (0) R 0 (1).

アルゴリズム5の処理に関して詳細に説明する。楕円曲線E上の4点P(xp0,yp0)、Q(xq0,yq0)、P(xp1,yp1)及びQ(xq1,yq1)を入力すると、まず拡大体Fq(q=36n)上でRに1を代入する(ステップ51−a)。 The processing of algorithm 5 will be described in detail. When four points P 0 (x p0 , y p0 ), Q 0 (x q0 , y q0 ), P 1 (x p1 , y p1 ) and Q 1 (x q1 , y q1 ) on the elliptic curve E b are input First, 1 is assigned to R 0 on the extension field Fq (q = 3 6n ) (step 51-a).

続いて、体Fq(q=3)上でxq0 を演算し、結果をxqoに代入する。同様に、ypo の演算結果をyp0に、xq1 の演算結果をxq1に、yq1 の演算結果をyq1にそれぞれ代入する(ステップ51−b)。さらに、bnに対してmod3を演算し、結果をdに代入する(ステップ51−c)。 Subsequently, x q0 3 is calculated on the field Fq (q = 3 n ), and the result is substituted into x qo . Similarly, the calculation result of y po 3 to y p0, the operation result of x q1 3 in x q1, if the values are the calculation results of the y q1 3 to y q1 (step 51-b). Further, mod3 is calculated for bn, and the result is substituted for d (step 51-c).

この後、ステップ52〜56のループ演算をn回行う。ループ演算においては、まず体Fq(q=3)上でxp0 を演算し、結果をxpoに代入する。同様に、yp0 の演算結果をyp0に、xp1 の演算結果をxp1に、yp1 の演算結果をyp1にそれぞれ代入する(ステップ53−a)。 Thereafter, the loop calculation of steps 52 to 56 is performed n times. In the loop calculation, first, x p0 9 is calculated on the field Fq (q = 3 n ), and the result is substituted into x po . Similarly, the calculation result of y p0 9 to y p0, the operation result of x p1 9 in x p1, the operation result of y p1 9 substituting each y p1 (Step 53-a).

続いて、S(xp0,yp0,xq0,yq0,xp1,yp1,xq1,yq1,d
)を演算し、結果を(λ,λ,λ,λ,λ,λ)に代入する(ステップ53−b)。ここで、Sはサブアルゴリズムであり、その詳細な処理は後述する。(λ,λ,λ,λ,λ,λ)をRに代入する(ステップ53−c)。ここで求められるRは、上述したR(0)R(1)に相当する。
Subsequently, S (x p0 , y p0 , x q0 , y q0 , x p1 , y p1 , x q1 , y q1 , d
) And substitute the result into (λ 0 , λ 1 , λ 2 , λ 3 , λ 4 , λ 5 ) (step 53-b). Here, S is a sub-algorithm, and detailed processing thereof will be described later. (Λ 0 , λ 1 , λ 2 , λ 3 , λ 4 , λ 5 ) is substituted for R 1 (step 53-c). R 1 obtained here corresponds to R 1 (0) R 1 (1) described above.

続いて、拡大体Fq(q=36n)上でR の演算を行い、結果をRに代入する(ステップ54−a)。さらに、Rの演算を行い、結果をRに代入する(ステップ54−b)。この後、体Fq(q=3)上で−yq0をyq0に、−yq1をyq1にそれぞれ代入する(ステップ55−a)。その後、(d−b)に対してmod3を演算し、結果をdに代入する(ステップ55−b)。 Subsequently, R 0 3 is calculated on the extension field Fq (q = 3 6n ), and the result is assigned to R 0 (step 54-a). Further, R 0 R 1 is calculated and the result is substituted into R 0 (step 54-b). Thereafter, -y q0 is substituted into y q0 and -y q1 is substituted into y q1 on the field Fq (q = 3 n ) (step 55-a). Thereafter, mod3 is calculated for (d−b), and the result is substituted for d (step 55−b).

ループ演算が終了すると、Rの値を<P,ψ(Q)>・<P,ψ(Q)>(N=33n+1)として出力する。なお、アルゴリズム5においては、(2)式におけるNは33n+1であるが、このとき、(36n−1)/(33n+1)=33n−1であるため、(9)式が成立する。 When the loop calculation is completed, the value of R 0 is output as <P 0 , ψ (Q 0 )> N · <P 1 , ψ (Q 1 )> N (N = 3 3n +1). In Algorithm 5, N in the equation (2) is 3 3n +1. At this time, since (3 6n −1) / (3 3n +1) = 3 3n −1, the equation (9) is To establish.

Figure 0004956817
ところが、数学的性質により、Fq(q=36n)の0でない元xに対して、xの33n−1乗が1であることとxがFq(q=33n)の元であることとは同値である。したがって、P,Q,−R,Sをアルゴリズム5に代入し、その結果がFq(q=33n)の元であるか否かを判定することでDH判定を行うことが可能であり、べき乗の演算を行う必要はない。
Figure 0004956817
However, due to mathematical properties, for a non-zero element x of Fq (q = 3 6n ), x 3 3n −1 is 1 and x is an element of Fq (q = 3 3n ). Is equivalent. Therefore, it is possible to perform DH determination by substituting P, Q, -R, and S into algorithm 5 and determining whether or not the result is an element of Fq (q = 3 3n ). There is no need to perform the operation.

続いて、ステップ53−bで用いたサブアルゴリズムSの処理について図6を参照して説明する。サブアルゴリズムでは、xp0,yp0,xq0,yq0,xp1,yp1,xq1,yq1,dを入力し、体Fq(q=3)上でxp0+xq0+dを演算し、結果をγに代入する。同様に、xp1+xq1+dを演算し、結果をγに代入する(ステップS01)。 Subsequently, the processing of the sub-algorithm S used in step 53-b will be described with reference to FIG. In the sub-algorithm, x p0 , y p0 , x q0 , y q0 , x p1 , y p1 , x q1 , y q1 , d are input, and x p0 + x q0 + d is calculated on the field Fq (q = 3 n ). And assign the result to γ 0 . Similarly, x p1 + x q1 + d is calculated, and the result is substituted into γ 1 (step S01).

続いて、yp0q0の演算結果をγに、yp1q1の演算結果をγにそれぞれ代入する(ステップS02)。この後、γγを演算し、結果をγに代入する(ステップS03)。この後、γγを演算し、結果をγに代入する(ステップS04)。γ+γの演算結果をγに、γ+γの演算結果をγにそれぞれ代入する(ステップS05)。この後、γ+γを演算し、結果をγに代入する(ステップS06)。 Subsequently, the calculation result of y p0 y q0 is assigned to γ 2 and the calculation result of y p1 y q1 is assigned to γ 3 (step S02). Thereafter, γ 0 γ 1 is calculated, and the result is substituted into γ 4 (step S03). Thereafter, γ 2 γ 3 is calculated, and the result is substituted into γ 5 (step S04). The calculation result of γ 2 + γ 0 is assigned to γ 6 and the calculation result of γ 3 + γ 1 is assigned to γ 7 (step S05). Thereafter, γ 0 + γ 1 is calculated, and the result is substituted into γ 8 (step S06).

続いて、体Fq(q=3)上でγγ−γ−γを演算し、結果をλに代入する(ステップS07)。この後、γ+γを演算し、結果をλに代入する(ステップS08)。この後、γ −γ+bγを演算し、λ0に代入するステップS09)。さらに、γλ−γλを演算し、結果をλ1に代入する(ステップS10)。 Subsequently, γ 6 γ 745 is calculated on the field Fq (q = 3 n ), and the result is substituted into λ 3 (step S07). Thereafter, γ 2 + γ 3 is calculated, and the result is substituted into λ 5 (step S08). Thereafter, γ 4 2 −γ 5 + bγ 8 is calculated and substituted for λ0 (step S09). Furthermore, [gamma] 8 [ lambda] 3- [ gamma] 4 [ lambda] 5 is calculated and the result is substituted into [lambda] 1 (step S10).

続いて、体Fq(q=3)上で(γ+1)γ+bを演算し、結果をλに代入する(ステップS11)。その後、γ −γ+1を演算し、結果をλに代入する(ステップS12)。以上の処理が終了すると、(λ,λ,λ,λ,λ,λ)を出力する。 Subsequently, (γ 4 +1) γ 8 + b is calculated on the field Fq (q = 3 n ), and the result is substituted into λ 2 (step S11). Thereafter, γ 8 2 −γ 4 +1 is calculated, and the result is substituted into λ 4 (step S12). When the above processing is completed, (λ 0 , λ 1 , λ 2 , λ 3 , λ 4 , λ 5 ) is output.

図2に示した時間コストに基づいて、アルゴリズム5の計算量を見積もると、(28.3n+0.5)Mとなる。一方、e(P,Q)とe(R,S)のそれぞれに対して従来のアルゴリズム1を用いた後にべき乗計算を行い、DH検証を行う場合の時間コストは、(41n+18.1)M+2Fである。   When the calculation amount of the algorithm 5 is estimated based on the time cost shown in FIG. 2, it is (28.3n + 0.5) M. On the other hand, the time cost when performing exponentiation calculation using the conventional algorithm 1 for each of e (P, Q) and e (R, S) and performing DH verification is (41n + 18.1) M + 2F. is there.

ここで、Fはべき乗の計算コストであり、1M〜1000Mである。一般的にn=97が用いられることが多いが、n=97ではアルゴリズム4はアルゴリズム1より約30%軽量化される。   Here, F is a power calculation cost, which is 1M to 1000M. In general, n = 97 is often used, but when n = 97, the algorithm 4 is approximately 30% lighter than the algorithm 1.

続いて、アルゴリズム5の処理を行うペアリング計算装置について説明する。図7はペアリング装置の構成を示す構成図である。図7において、図3と同様の構成に対しては同じ符号を付与し、詳細な説明は省略する。ペアリング計算装置31の演算器制御プログラム705は、アルゴリズム5を実行するプログラムである。   Next, a pairing calculation apparatus that performs processing of algorithm 5 will be described. FIG. 7 is a configuration diagram showing the configuration of the pairing device. In FIG. 7, the same components as those in FIG. 3 are denoted by the same reference numerals, and detailed description thereof is omitted. The computing unit control program 705 of the pairing calculation device 31 is a program for executing the algorithm 5.

入力ポートからP,Q,R,Sのデータが入力されると、通信インタフェース303は、P,Q,R,Sのデータを有限体演算器301に出力する。有限体演算器301は、Rを−Rに変換した上で演算器制御プログラム705にしたがってアルゴリズム5の処理を実行し、その結果(<P,ψ(Q)>・<P,ψ(Q)>(N=33n+1))がFq(q=33n)の元であるか否かを判定する(判定手段)。 When P, Q, R, and S data is input from the input port, the communication interface 303 outputs the P, Q, R, and S data to the finite field calculator 301. The finite field computing unit 301 converts R into −R and executes the processing of the algorithm 5 according to the computing unit control program 705, and the result (<P 0 , ψ (Q 0 )> N · <P 1 , It is determined whether ψ (Q 1 )> N (N = 3 3n +1)) is an element of Fq (q = 3 3n ) (determination means).

Fq(q=33n)の元である場合には、DH判定の結果は一致したと判定し「Yes」のデータを通信インタフェース303へ出力する。一方、Fq(q=33n)の元でない場合には、DH判定の結果は一致しないと判定し「No」のデータを通信インタフェース303へ出力する。通信インタフェース303は、「Yes」又は「No」のデータを出力ポートから出力する。 If it is an element of Fq (q = 3 3n ), the result of the DH determination is determined to match, and “Yes” data is output to the communication interface 303. On the other hand, if it is not the source of Fq (q = 3 3n ), it is determined that the DH determination results do not match, and “No” data is output to the communication interface 303. The communication interface 303 outputs “Yes” or “No” data from the output port.

次に、二つのTateペアリングの値e(P,Q)とe(R,S)とが一致するかを検証するDH(Diffie-Hellman)検証を高速化した別のアルゴリズムについて説明する。図8はアルゴリズム3に基づくDH検証のアルゴリズムであり、ηTペアリングのDH検証を行うものであるが、(8)式が成立することを利用したアルゴリズムである点はアルゴリズム5と同様である。   Next, another algorithm that speeds up DH (Diffie-Hellman) verification for verifying whether two Tate pairing values e (P, Q) and e (R, S) match will be described. FIG. 8 shows a DH verification algorithm based on the algorithm 3 and performs ηT pairing DH verification. The algorithm is based on the fact that the equation (8) is established, and is similar to the algorithm 5.

アルゴリズム6の処理に関して詳細に説明する。楕円曲線E上の4点P(xp0,yp0)、Q(xq0,yq0)、P(xp1,yp1)及びQ(xq1,yq1)を入力すると、まずb=1の場合には−yp0の値をyp0に、−yp1の値をyp1にそれぞれ代入する(ステップ61−a)。続いて、体Fq(q=3)上でbの値をdに代入する(ステップ61−b)。 The processing of algorithm 6 will be described in detail. When four points P 0 (x p0 , y p0 ), Q 0 (x q0 , y q0 ), P 1 (x p1 , y p1 ) and Q 1 (x q1 , y q1 ) on the elliptic curve E b are input First, when b = 1, the value of -y p0 is substituted for y p0 , and the value of -y p1 is substituted for y p1 (step 61-a). Subsequently, the value of b is substituted for d on the field Fq (q = 3 n ) (step 61-b).

続いて、体Fq(q=36n)上でyp0(xp0+xq0+b)+yq0σ+yp0ρを演算し、結果をRに代入する。さらに、yp1(xp1+xq1+b)+yq1σ+yp1ρを演算し、結果をRに代入する(ステップ61−c)。その後、Rを演算し、結果をRに代入する(ステップ61−d)。 Subsequently, y p0 (x p0 + x q0 + b) + y q0 σ + y p0 ρ is calculated on the field Fq (q = 36 n ), and the result is substituted into R 0 . Further, y p1 (x p1 + x q1 + b) + y q1 σ + y p1 ρ is calculated, and the result is substituted into R 1 (step 61-c). Thereafter, R 0 R 1 is calculated, and the result is substituted into R 0 (step 61-d).

この後、ステップ62〜66のループ演算を(n+1)/2回行う。ループ演算においては、まず、S(xp0,yp0,xq0,yq0,xp1,yp1,xq1,yq1,d)を演算し、結果を(λ,λ,λ,λ,λ,λ)に代入する(ステップ63−a)。その後、(λ,λ,λ,−λ,λ,−λ)の値をRに代入する(ステップ63−b)。 Thereafter, the loop calculation of steps 62 to 66 is performed (n + 1) / 2 times. In the loop calculation, first, S (x p0 , y p0 , x q0 , y q0 , x p1 , y p1 , x q1 , y q1 , d) is calculated, and the result is (λ 0 , λ 1 , λ 2). , Λ 3 , λ 4 , λ 5 ) (step 63-a). Thereafter, the values of (λ 0 , λ 1 , λ 2 , −λ 3 , λ 4 , −λ 5 ) are substituted into R 1 (step 63-b).

続いて、拡大体Fq(q=36n)上でRを演算し、結果をRに代入する(ステップ64)。その後、xq0 を演算し、結果をxq0に代入する。同様に、yq0 の演算結果をyq0に、xq1 の演算結果をxq1に、yq1 の演算結果をyq1にそれぞれ代入する(ステップ65−a)。さらに、(d−b)に対してmod3を演算し、結果をdに代入する(ステップ65−b)。 Subsequently, R 0 R 1 is calculated on the extension field Fq (q = 3 6n ), and the result is substituted into R 0 (step 64). Thereafter, x q0 9 is calculated, and the result is substituted into x q0 . Similarly, y q0 9 operation result of the y q0, the operation result of x q1 9 in x q1, if the values are the calculation results of the y q1 9 to y q1 (step 65-a). Further, mod3 is calculated for (d−b), and the result is substituted for d (step 65−b).

続いて、体Fq(q=36n)上でR を演算し、結果をRに代入する(ステップ65−c)。ループ演算が終了すると、Rの値を(ηT(P,Q)・ηT(P,Q))の3(n+1)/2乗として出力する。アルゴリズム6から出力されるRに対して(10)式のべき乗計算を行った後にDH検証の判定を行う。 Subsequently, R 0 3 is calculated on the field Fq (q = 3 6n ), and the result is assigned to R 0 (step 65-c). When the loop operation is completed, the value of R 0 is output as 3 (n + 1) / 2 square of (ηT (P 0 , Q 0 ) · ηT (P 1 , Q 1 )). The DH verification is determined after the power calculation of Expression (10) is performed on R 0 output from the algorithm 6.

Figure 0004956817
アルゴリズム6の処理を行うペアリング計算装置は、図7に示したペアリング計算装置31の演算器制御プログラム705を、アルゴリズム6を実行するプログラムとすることで実現できる。有限体演算器301は、(10)式によるべき乗計算後のRが1である場合にはDH検証で一致したと判定し、出力ポートへの出力は「Yes」となる。一方、Rが1でない場合にはDH検証で一致しないと判定し、出力ポートへの出力は「No」となる。
Figure 0004956817
The pairing calculation device that performs the processing of the algorithm 6 can be realized by making the arithmetic unit control program 705 of the pairing calculation device 31 shown in FIG. The finite field calculator 301 determines that the DH verification matches when R 0 after the power calculation according to the equation (10) is 1, and the output to the output port is “Yes”. On the other hand, when R 0 is not 1, it is determined that the DH verification does not match, and the output to the output port is “No”.

図2に示した時間コストに基づいて、アルゴリズム6の計算量を見積もると、(14.7n+34.25)M+Fとなる。一方、ηT(P,Q)とηT(R,S)のそれぞれに対してアルゴリズム3を用いた後にべき乗計算を行い、DH検証を行う場合の時間コストは、(24.1n+26.1)M+2Fである。一般的にn=97が用いられることが多いが、n=97ではアルゴリズム6はアルゴリズム2より約40%軽量化される。   If the calculation amount of the algorithm 6 is estimated based on the time cost shown in FIG. 2, it is (14.7n + 34.25) M + F. On the other hand, the time cost for performing power calculation after using algorithm 3 for each of ηT (P, Q) and ηT (R, S) and performing DH verification is (24.1n + 26.1) M + 2F. is there. In general, n = 97 is often used. However, when n = 97, the algorithm 6 is approximately 40% lighter than the algorithm 2.

本発明のアルゴリズム3及び4では、標数3の体における演算で時間コストの小さい3乗算の計算を増やす代わりに、3乗根の演算を行わないようにしたため、Tateペアリング(又はηTペアリング)を高速に計算することが出来る。さらに、本発明のアルゴリズム5及び6では、3乗根の演算を行わないだけでなく、(8)式の性質を利用してDH検証を行うことで計算量を削減し、高速にDH検証を行うことができる。   In the algorithms 3 and 4 of the present invention, instead of increasing the calculation of 3 multiplication with a small time cost in the operation in the characteristic 3 field, the calculation of the cube root is not performed, so that the Tate pairing (or ηT pairing) is performed. ) Can be calculated at high speed. Further, in the algorithms 5 and 6 of the present invention, not only the cube root operation is not performed, but also the DH verification is performed using the property of the equation (8), thereby reducing the amount of calculation and performing the DH verification at high speed. It can be carried out.

以上、本発明の実施形態を詳述してきたが、具体的な構成は本実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。   As mentioned above, although embodiment of this invention was explained in full detail, the concrete structure is not restricted to this embodiment, The design change etc. of the range which does not deviate from the summary of this invention are included.

本発明は、IDを公開鍵とするIDベース暗号やブロードキャスト暗号、さらに署名長が従来の半分であるshort signatureといった署名システムにおいて、署名や署名検証の段階でTateペアリング又はηTペアリングを計算する装置に用いて好適である。   The present invention calculates Tate pairing or ηT pairing at the stage of signature or signature verification in a signature system such as ID-based encryption or broadcast encryption using an ID as a public key, and a short signature whose signature length is half that of the prior art. It is suitable for use in an apparatus.

ηT(P,Q)の3(n+1)/2乗を求める本願の第一のアルゴリズムである。It is the 1st algorithm of this application which calculates | requires 3 (n + 1) / 2 square of ( eta) T (P, Q). 乗算の時間コストを基準(M)として各演算の時間コストを示した図である。It is the figure which showed the time cost of each calculation by making the time cost of multiplication into a reference | standard (M). 図1のアルゴリズムを実行するペアリング計算装置の構成を示す構成図である。It is a block diagram which shows the structure of the pairing calculation apparatus which performs the algorithm of FIG. ηT(P,Q)の3乗を求める本願の第二のアルゴリズムである。ηT (P, Q) is a second algorithm of the present application for obtaining the multiplication 3 n of. 図10のアルゴリズムに基づくDH検証を行う、本願の第三のアルゴリズムである。It is the 3rd algorithm of this application which performs DH verification based on the algorithm of FIG. 図5のサブアルゴリズムSを示す図である。It is a figure which shows the sub algorithm S of FIG. 図5のアルゴリズムを実行するペアリング計算装置の構成を示す構成図である。It is a block diagram which shows the structure of the pairing calculation apparatus which performs the algorithm of FIG. ηTペアリングに基づくDH検証を行う、本願の第四のアルゴリズムである。It is the 4th algorithm of this application which performs DH verification based on (eta) T pairing. =x−x+1の楕円曲線を示す図である。is a diagram showing an elliptic curve y 2 = x 3 -x + 1 . 従来のModified Duursma-Leeアルゴリズムを示す図である。It is a figure which shows the conventional Modified Duursma-Lee algorithm. 図10のアルゴリズムを改良し、ηTペアリングを求めるようにしたアルゴリズムを示す図である。FIG. 11 is a diagram showing an algorithm obtained by improving the algorithm of FIG. 10 and obtaining ηT pairing. 暗号化に用いる各手法における署名と署名検証にかかる時間(単位はms)を比較した表である。It is the table | surface which compared the time (unit is ms) concerning the signature in each method used for encryption, and signature verification.

符号の説明Explanation of symbols

30…ペアリング計算装置、301…有限体演算器、302…コンソールI/O、303…通信インタフェース、304…メモリ、305…演算器制御プログラム、306…演算データ記憶部。   DESCRIPTION OF SYMBOLS 30 ... Pairing calculation apparatus, 301 ... Finite field calculator, 302 ... Console I / O, 303 ... Communication interface, 304 ... Memory, 305 ... Calculator control program, 306 ... Calculation data storage part.

Claims (4)

楕円曲線E:y=x−x+b,b∈{−1,1}上の点に対して前記楕円曲線E 上の計算により得られる前記楕円曲線E 上の点3 (n−1)/2 Pおよび前記楕円曲線E 上の点Qの座標データである(x ,y ),(x ,y を入力し、定数bが1である場合は、前記座標値y を−y に置き換える入力手段と、
標数3の体Fq(ここで、q=3において、前記定数bの値をdに代入する第1演算手段と、
基底σおよびρがσ =1,ρ =ρ+bを満たし、{1,σ,ρ,σρ,ρ ,σρ }を基底とする標数3の拡大体Fq(ここで、q=3 6n )において、−y (x +x +b)+y σ+y ρを計算して得た値をR に代入する第2演算手段と、
前記標数3の体Fqにおいて、x +x +dを計算して得た値をr に代入し、前記標数3の拡大体Fqにおいて、−r +y σ−r ρ−ρ を計算して得た値をR に代入し、R を計算して得た値を前記R に代入し、前記標数3の体Fqにおいて、−y を座標値y に代入し、x を計算して得た値を座標値x に代入し、y を計算して得た値を座標値y に代入し、(d−b) mod 3を計算して得た値を前記dに代入し、前記標数3の拡大体Fqにおいて、R を計算して得た値を前記R に代入する処理を(n+1)/2回繰り返して実行し、最終的に得られたR の値を、点3 (n−1)/2 および点Qの座標データに基づくηTペアリングηT( (n−1)/2 P,Q)の3(n+1)/2の値として出力する第演算手段と、
前記第演算手段が出力した前記ηTペアリングηT(3 (n−1)/2 P,Q)の3 (n+1)/2 乗の値に基づいて
Figure 0004956817
を計算して得たe(P,Q)を、Tateペアリングの値として出力する第演算手段と
を具備することを特徴とするペアリング計算装置。
Elliptic curve E b : y 2 = x 3 −x + b, point 3 on the elliptic curve E b obtained by calculation on the elliptic curve E b with respect to the point P on bε {−1,1} (n -1) is / 2 P and the coordinate data of a point Q on the elliptic curve E b (x p, y p ), type a (x q, y q), if the constant b is 1, input means for Ru replaced -y p the coordinates y p,
First arithmetic means for substituting the value of the constant b for d in a field 3 of characteristic number Fq (where q = 3 n ) ;
Bases σ and ρ satisfy σ 2 = 1, ρ 3 = ρ + b, and an extension field Fq of characteristic 3 with {1, σ, ρ, σρ, ρ 2 , σρ 2 } as a basis, where q = 3 6n ), second calculating means for substituting the value obtained by calculating -y p (x p + x q + b) + y q σ + y p ρ into R 0 ;
In the target number 3 of the body Fq, x p + x q + calculated to give a value of d is substituted into r 0, the extension field Fq of the Characteristic 3, -r 0 2 + y p y q σ-r 0 the value obtained by calculating the [rho-[rho 2 is substituted in R 1, it substitutes the value obtained by calculating the R 0 R 1 to the R 0, in the target number 3 of the body Fq, the -y p Substituting for the coordinate value y p , substituting the value obtained by calculating x q 9 for the coordinate value x q , substituting the value obtained by calculating y q 9 for the coordinate value y q , (d−b ) the mod 3 assigns the calculated and obtained value to the d, wherein the extension field Fq of Characteristic 3, the process of substituting a value obtained by calculating the R 0 3 to the R 0 (n + 1) / The value of R 0 finally obtained is repeated twice, and ηT pairing ηT ( 3 (n−1) / 2 based on the coordinate data of point 3 (n−1) / 2 P and point Q is obtained. P, Q) third computing means for outputting as a value of 3 (n + 1) / 2 square;
Based on the value of 3 (n + 1) / 2 squared of the ηT pairing ηT (3 (n−1) / 2 P, Q) output by the third calculation means ,
Figure 0004956817
The e (P, Q) obtained by calculation and a fourth arithmetic means you output as the value of the Tate pairing,
A pairing calculation apparatus comprising:
楕円曲線E:y=x−x+b,b∈{−1,1}上の2点P,Qの座標データである(x ,y ),(x ,y を入力し、定数bが1である場合は、座標値y を−y に置き換える入力手段と、
標数3の体Fq(ここで、q=3において、前記定数bの値をdに代入する第1演算手段と、
基底σおよびρがσ =1,ρ =ρ+bを満たし、{1,σ,ρ,σρ,ρ ,σρ }を基底とする標数3の拡大体Fq(ここで、q=3 6n )において、−y (x +x +b)+y σ+y ρを計算して得た値をR に代入する第2演算手段と、
前記標数3の体Fqにおいて、x +x +dを計算して得た値をr に代入し、−r +y σ−r ρ−ρ を計算して得た値をR に代入し、前記標数3の拡大体Fqにおいて、R を計算して得た値を前記R に代入し、前記標数3の体Fqにおいて、x を計算して得た値を座標値x に代入し、y を計算して得た値を座標値y に代入し、x 27 を計算して得た値を座標値x に代入し、y 27 を計算して得た値を座標値y に代入し、(d+b) mod 3を計算して得た値を前記dに代入し、前記標数3の拡大体Fqにおいて、最終回を除きR 、最終回においてR を計算して得た値を前記R に代入する処理を(n+1)/2回繰り返して実行し、最終的に得られたR の値を、前記2点P,Qの座標データに基づくηTペアリングηT(P,Q)の3の値として出力する第演算手段と、
前記第演算手段が出力した前記ηTペアリングηT(P,Q)の3 乗の値から3 乗根を計算して得たηT(P,Q)の値に基づいて、
Figure 0004956817
を計算して得たe(P,Q)を、Tateペアリングの値として出力する第演算手段と
を具備することを特徴とするペアリング計算装置。
Elliptic curve E b: y 2 = x 3 -x + b, a 2-point P, the coordinate data of Q on b∈ {-1,1} (x p, y p), the (x q, y q) type, if the constant b is 1, an input means for Ru replace coordinate values y p to -y p,
First arithmetic means for substituting the value of the constant b for d in a field 3 of characteristic number Fq (where q = 3 n ) ;
Bases σ and ρ satisfy σ 2 = 1, ρ 3 = ρ + b, and an extension field Fq of characteristic 3 with {1, σ, ρ, σρ, ρ 2 , σρ 2 } as a basis, where q = 3 6n ), second calculating means for substituting the value obtained by calculating -y p (x p + x q + b) + y q σ + y p ρ into R 0 ;
The value obtained by calculating x p + x q + d in the field Fq of characteristic 3 was substituted into r 0 and obtained by calculating −r 0 2 + y p y q σ−r 0 ρ−ρ 2 . assign values to R 1, the extension field Fq of the Characteristic 3, it substitutes the value obtained by calculating the R 0 R 1 to the R 0, in the target number 3 of the body Fq, the x p 3 The value obtained by calculating is substituted for the coordinate value x p , the value obtained by calculating y p 3 is substituted for the coordinate value y p, and the value obtained by calculating x q 27 is the coordinate value x q . Substituting the value obtained by calculating y q 27 into the coordinate value y q , substituting the value obtained by calculating (d + b) mod 3 into d, and in the extension field Fq of characteristic 3 , R 0 9 except the last round, the process of substituting a value obtained by calculating the R 0 3 in the last round to the R 0 (n + 1) / 2 times repeatedly executed, finally obtained R A value of 0, the two points P, a third arithmetic means for outputting as 3 n-th power value of ηT pairing ηT based on the coordinate data of the Q (P, Q),
Based on the value of the third arithmetic means said ItaT pairing has output ηT (P, Q) obtained by computing the 3 n root from 3 n-th power value of ηT (P, Q),
Figure 0004956817
The e (P, Q) obtained by calculation and a fourth arithmetic means you output as the value of the Tate pairing,
A pairing calculation apparatus comprising:
コンピュータ
楕円曲線E:y=x−x+b,b∈{−1,1}上の点に対して前記楕円曲線E 上の計算により得られる前記楕円曲線E 上の点3 (n−1)/2 Pおよび前記楕円曲線E 上の点Qの座標データである(x ,y ),(x ,y を入力し、定数bが1である場合は、前記座標値y を−y に置き換える入力手段と、
標数3の体Fq(ここで、q=3において、前記定数bの値をdに代入する第1演算手段と、
基底σおよびρがσ =1,ρ =ρ+bを満たし、{1,σ,ρ,σρ,ρ ,σρ }を基底とする標数3の拡大体Fq(ここで、q=3 6n )において、−y (x +x +b)+y σ+y ρを計算して得た値をR に代入する第2演算手段と、
前記標数3の体Fqにおいて、x +x +dを計算して得た値をr に代入し、前記標数3の拡大体Fqにおいて、−r +y σ−r ρ−ρ を計算して得た値をR に代入し、R を計算して得た値を前記R に代入し、前記標数3の体Fqにおいて、−y を座標値y に代入し、x を計算して得た値を座標値x に代入し、y を計算して得た値を座標値y に代入し、(d−b) mod 3を計算して得た値を前記dに代入し、前記標数3の拡大体Fqにおいて、R を計算して得た値を前記R に代入する処理を(n+1)/2回繰り返して実行し、最終的に得られたR の値を、点3 (n−1)/2 および点Qの座標データに基づくηTペアリングηT( (n−1)/2 P,Q)の3(n+1)/2の値として出力する第演算手段と、
前記第演算手段が出力した前記ηTペアリングηT(3 (n−1)/2 P,Q)の3 (n+1)/2 乗の値に基づいて、
Figure 0004956817
を計算して得たe(P,Q)を、Tateペアリングの値として出力する第演算手段と
として機能させるためのペアリング計算プログラム。
The computer,
Elliptic curve E b : y 2 = x 3 −x + b, point 3 on the elliptic curve E b obtained by calculation on the elliptic curve E b with respect to the point P on bε {−1,1} (n -1) is / 2 P and the coordinate data of a point Q on the elliptic curve E b (x p, y p ), type a (x q, y q), if the constant b is 1, input means for Ru replaced -y p the coordinates y p,
First arithmetic means for substituting the value of the constant b for d in a field 3 of characteristic number Fq (where q = 3 n ) ;
Bases σ and ρ satisfy σ 2 = 1, ρ 3 = ρ + b, and an extension field Fq of characteristic 3 with {1, σ, ρ, σρ, ρ 2 , σρ 2 } as a basis, where q = 3 6n ), second calculating means for substituting the value obtained by calculating -y p (x p + x q + b) + y q σ + y p ρ into R 0 ;
In the target number 3 of the body Fq, x p + x q + calculated to give a value of d is substituted into r 0, the extension field Fq of the Characteristic 3, -r 0 2 + y p y q σ-r 0 the value obtained by calculating the [rho-[rho 2 is substituted in R 1, it substitutes the value obtained by calculating the R 0 R 1 to the R 0, in the target number 3 of the body Fq, the -y p Substituting for the coordinate value y p , substituting the value obtained by calculating x q 9 for the coordinate value x q , substituting the value obtained by calculating y q 9 for the coordinate value y q , (d−b ) the mod 3 assigns the calculated and obtained value to the d, wherein the extension field Fq of Characteristic 3, the process of substituting a value obtained by calculating the R 0 3 to the R 0 (n + 1) / The value of R 0 finally obtained is repeated twice, and ηT pairing ηT ( 3 (n−1) / 2 based on the coordinate data of point 3 (n−1) / 2 P and point Q is obtained. P, Q) third computing means for outputting as a value of 3 (n + 1) / 2 square;
Based on the value of 3 (n + 1) / 2 squared of the ηT pairing ηT (3 (n−1) / 2 P, Q) output by the third calculation means ,
Figure 0004956817
The e (P, Q) obtained by calculation and a fourth arithmetic means you output as the value of the Tate pairing,
Pairing calculation program to function as.
コンピュータ
楕円曲線E:y=x−x+b,b∈{−1,1}上の2点P,Qの座標データである(x ,y ),(x ,y を入力し、定数bが1である場合は、座標値y を−y に置き換える入力手段と、
標数3の体Fq(ここで、q=3において、前記定数bの値をdに代入する第1演算手段と、
基底σおよびρがσ =1,ρ =ρ+bを満たし、{1,σ,ρ,σρ,ρ ,σρ }を基底とする標数3の拡大体Fq(ここで、q=3 6n )において、−y (x +x +b)+y σ+y ρを計算して得た値をR に代入する第2演算手段と、
前記標数3の体Fqにおいて、x +x +dを計算して得た値をr に代入し、−r +y σ−r ρ−ρ を計算して得た値をR に代入し、前記標数3の拡大体Fqにおいて、R を計算して得た値を前記R に代入し、前記標数3の体Fqにおいて、x を計算して得た値を座標値x に代入し、y を計算して得た値を座標値y に代入し、x 27 を計算して得た値を座標値x に代入し、y 27 を計算して得た値を座標値y に代入し、(d+b) mod 3を計算して得た値を前記dに代入し、前記標数3の拡大体Fqにおいて、最終回を除きR 、最終回においてR を計算して得た値を前記R に代入する処理を(n+1)/2回繰り返して実行し、最終的に得られたR の値を、前記2点P,Qの座標データに基づくηTペアリングηT(P,Q)の3の値として出力する第演算手段と、
前記第演算手段が出力した前記ηTペアリングηT(P,Q)の3 乗の値から3 乗根を計算して得たηT(P,Q)の値に基づいて、
Figure 0004956817
を計算して得たe(P,Q)を、Tateペアリングの値として出力する第演算手段
として機能させるためのペアリング計算プログラム。
The computer,
Elliptic curve E b: y 2 = x 3 -x + b, a 2-point P, the coordinate data of Q on b∈ {-1,1} (x p, y p), the (x q, y q) type, if the constant b is 1, an input means for Ru replace coordinate values y p to -y p,
First arithmetic means for substituting the value of the constant b for d in a field 3 of characteristic number Fq (where q = 3 n ) ;
Bases σ and ρ satisfy σ 2 = 1, ρ 3 = ρ + b, and an extension field Fq of characteristic 3 with {1, σ, ρ, σρ, ρ 2 , σρ 2 } as a basis, where q = 3 6n ), second calculating means for substituting the value obtained by calculating -y p (x p + x q + b) + y q σ + y p ρ into R 0 ;
The value obtained by calculating x p + x q + d in the field Fq of characteristic 3 was substituted into r 0 and obtained by calculating −r 0 2 + y p y q σ−r 0 ρ−ρ 2 . assign values to R 1, the extension field Fq of the Characteristic 3, it substitutes the value obtained by calculating the R 0 R 1 to the R 0, in the target number 3 of the body Fq, the x p 3 The value obtained by calculating is substituted for the coordinate value x p , the value obtained by calculating y p 3 is substituted for the coordinate value y p, and the value obtained by calculating x q 27 is the coordinate value x q . Substituting the value obtained by calculating y q 27 into the coordinate value y q , substituting the value obtained by calculating (d + b) mod 3 into d, and in the extension field Fq of characteristic 3 , R 0 9 except the last round, the process of substituting a value obtained by calculating the R 0 3 in the last round to the R 0 (n + 1) / 2 times repeatedly executed, finally obtained R A value of 0, the two points P, a third arithmetic means for outputting as 3 n-th power value of ηT pairing ηT based on the coordinate data of the Q (P, Q),
Based on the value of the third arithmetic means said ItaT pairing has output ηT (P, Q) obtained by computing the 3 n root from 3 n-th power value of ηT (P, Q),
Figure 0004956817
The e (P, Q) obtained by calculation and a fourth arithmetic means you output as the value of the Tate pairing,
Pairing calculation program to function as.
JP2006192217A 2006-07-12 2006-07-12 Pairing calculation device and pairing calculation program Expired - Fee Related JP4956817B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006192217A JP4956817B2 (en) 2006-07-12 2006-07-12 Pairing calculation device and pairing calculation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006192217A JP4956817B2 (en) 2006-07-12 2006-07-12 Pairing calculation device and pairing calculation program

Publications (2)

Publication Number Publication Date
JP2008020653A JP2008020653A (en) 2008-01-31
JP4956817B2 true JP4956817B2 (en) 2012-06-20

Family

ID=39076633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006192217A Expired - Fee Related JP4956817B2 (en) 2006-07-12 2006-07-12 Pairing calculation device and pairing calculation program

Country Status (1)

Country Link
JP (1) JP4956817B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4649456B2 (en) * 2007-09-26 2011-03-09 株式会社東芝 Power calculation apparatus, power calculation method and program
JP5471253B2 (en) * 2009-09-30 2014-04-16 富士通株式会社 Pairing calculation device
JP2011150096A (en) * 2010-01-21 2011-08-04 Fujitsu Ltd Pairing arithmetic unit and method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006178125A (en) * 2004-12-22 2006-07-06 Hitachi Ltd Method and apparatus for computing elliptic curve tate pairing

Also Published As

Publication number Publication date
JP2008020653A (en) 2008-01-31

Similar Documents

Publication Publication Date Title
Joux The Weil and Tate Pairings as Building Blocks for Public Key Cryptosystems: Survey
Yi et al. Homomorphic encryption
EP0704124A1 (en) A cryptographic method
JP4956817B2 (en) Pairing calculation device and pairing calculation program
Nitaj et al. A new attack on RSA and Demytko’s elliptic curve cryptosystem
Tahat et al. A new RSA public key encryption scheme with chaotic maps
US8856200B2 (en) Exponentiation calculation apparatus and exponentiation calculation method
JP5553773B2 (en) Apparatus and method for calculating scalar multiple of points on elliptic curve
Awad et al. Rabin public-key cryptosystem in the domain of Gaussian Integers
Vollala et al. Efficient modular multiplication algorithms for public key cryptography
Mrabet et al. An efficient and scalable modular inversion/division for public key cryptosystems
Zahhafi et al. A digitial signature scheme based simultaneously on the DSA and RSA protocols
JP5540933B2 (en) Encryption key analysis method, encryption key analysis device, and encryption key analysis program
US8924448B2 (en) Arithmetic device, method, and program product
Stogbauer Efficient Algorithms for pairing-based cryptosystems
Diarra et al. On indifferentiable deterministic hashing into elliptic curves
Grini et al. A new cryptosystem based on a twisted Hessian curve H a, d 4
Popescu Blind signature schemes based on the elliptic curve discrete logarithm problem
Frey et al. Fast bilinear maps from the Tate-Lichtenbaum pairing on hyperelliptic curves
JP2005084568A (en) Security method, security device and security program
JP2010049216A (en) Apparatus and program for performing data compression processing using algebraic torus
Fotiadis et al. On the efficient generation of generalized MNT elliptic curves
Ye et al. Group signature scheme based on verifiable random number
Khaled A survey on elliptic curves cryptosystems
Babu et al. Efficient ID-based key-insulated multi signature scheme without pairings

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090610

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20090605

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110927

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111128

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20111128

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111219

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: 20120131

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: 20120229

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

Free format text: PAYMENT UNTIL: 20150330

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees