JP2007286380A - Finite commutative group operation method, device, and program for the same - Google Patents

Finite commutative group operation method, device, and program for the same Download PDF

Info

Publication number
JP2007286380A
JP2007286380A JP2006114046A JP2006114046A JP2007286380A JP 2007286380 A JP2007286380 A JP 2007286380A JP 2006114046 A JP2006114046 A JP 2006114046A JP 2006114046 A JP2006114046 A JP 2006114046A JP 2007286380 A JP2007286380 A JP 2007286380A
Authority
JP
Japan
Prior art keywords
pseudo
finite
calculation
inverse element
coordinate system
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.)
Granted
Application number
JP2006114046A
Other languages
Japanese (ja)
Other versions
JP4621162B2 (en
Inventor
Fumisato Hoshino
文学 星野
Tetsutaro Kobayashi
鉄太郎 小林
Kazumaro Aoki
和麻呂 青木
Satoru Oda
哲 小田
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 JP2006114046A priority Critical patent/JP4621162B2/en
Publication of JP2007286380A publication Critical patent/JP2007286380A/en
Application granted granted Critical
Publication of JP4621162B2 publication Critical patent/JP4621162B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To reduce the cost of arithmetic operation and square, while avoiding inverse element operations, in a group operation of elements of a finite commutative group formed of points on an algebraic curve defined on a finite field. <P>SOLUTION: A finite commutative group operation device includes a pseudo-inverse element operating means for calculating a pseudo-inverse element v(p), satisfying N(p)=v(p)×p [where N(p) is an element of a subfield of GF(q<SP>m</SP>), v(p) is an element of GF(q<SP>m</SP>)] with respect to the element p of a finite field GF(q<SP>m</SP>) [q is a prime number or a power of the prime number, m is an integer of m>1]; and a complement pseudo-inverse element operating means for calculating a complement pseudo-inverse element N(p). In the finite commutative group operation, a group operation of elements of a finite commutative group formed of points on an algebraic curve defined on GF(q<SP>m</SP>) is performed, while avoiding an inverse element operation of a divisor in a group operation, by independently calculating a divisor and a dividend that appear in a division on GF(q<SP>m</SP>) and associating the divisor with an expanded coordinate. The pseudo inverse element operating means calculates a pseudo-inverse element, the complement pseudo inverse element operating means calculates a complement pseudo-inverse element, the pseudo inverse element is included in a dividend, and the complement pseudo-inverse element is set as a divisor. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、有限可換群の元の群演算を行う技術に関する。   The present invention relates to a technique for performing an original group operation of a finite commutative group.

有限体上定義された代数曲線(以下、特に断りが無い限り、単に代数曲線と云えば、有限体上定義された代数曲線を云うものとする。)を用いた公開鍵暗号やデジタル署名などでは、代数曲線上で定義された有限可換群の元の群演算が行われる。例えば、数論的問題を解くことに要する計算量を安全性の根拠とする暗号アルゴリズムを代数曲線上に構築する場合、このような数論的問題として離散対数問題がある。離散対数問題は、Gを有限可換群、α、βをGの元、NをGの位数とした場合、α=nβを満たすn∈Zを求める問題である。この例ではα=nβ=β+β+・・・+β(βをn回加算するスカラー倍演算である。)なる演算が群演算で表現される。そして、この群演算は、代数曲線が定義される有限体の演算で構成される。 In public key cryptography and digital signatures using algebraic curves defined on finite fields (hereinafter, unless otherwise noted, simply algebraic curves are algebraic curves defined on finite fields) The original group operation of the finite commutative group defined on the algebraic curve is performed. For example, when a cryptographic algorithm based on an algebraic curve based on the amount of calculation required to solve a number theoretic problem is constructed on an algebraic curve, there is a discrete logarithm problem as such a number theoretic problem. The discrete logarithm problem is a problem of finding n∈Z N satisfying α = nβ where G is a finite commutative group, α and β are elements of G, and N is the order of G. In this example, α = nβ = β + β +... + Β (a scalar multiplication operation in which β is added n times) is expressed by a group operation. And this group operation is comprised by the operation of the finite field in which an algebraic curve is defined.

理解を容易にするため、具体的な一例を挙げて説明する。
有限体上定義された代数曲線の一例として有限体GF(q)上定義された楕円曲線を選択する〔qは素数あるいは素数の冪、mはm>1の整数とする。〕。この楕円曲線は種数1の超楕円曲線であり、有理点集合E(GF(q))は有限可換群になる〔式(1)参照。但し、Affine座標系のワイエルシュトラス形式で、標数q≠2且つq≠3且つ4a+27b≠0とし、点Oは無限遠点とする。〕。

Figure 2007286380
In order to facilitate understanding, a specific example will be described.
An elliptic curve defined on a finite field GF (q m ) is selected as an example of an algebraic curve defined on a finite field [q is a prime number or a power of a prime number, and m is an integer of m> 1. ]. This elliptic curve is a genus 1 hyperelliptic curve, and the rational point set E (GF (q m )) is a finite commutative group [see Equation (1). However, in the Weierstrass format of the Affine coordinate system, the characteristics q ≠ 2, q ≠ 3, and 4a 3 + 27b 2 ≠ 0, and the point O is a point at infinity. ].
Figure 2007286380

このとき楕円離散対数問題は、P∈E(GF(q))、Q∈E(GF(q))、k∈Z/qZに対して、Q=kP=P+P+・・・+P(Pをk回加算する楕円スカラー倍演算である。)を満たすkを求める問題になる。 At this time, the elliptic discrete logarithm problem is that P∈E (GF (q m )), Q∈E (GF (q m )), k∈Z / q m Z, Q = kP = P + P +. This is a problem of finding k that satisfies (an elliptic scalar multiplication operation in which P is added k times).

楕円スカラー倍演算は、一般に楕円曲線上の点の加算および2倍算から構成される。楕円曲線上の点の加算および2倍算は、それぞれ曲線が定義される有限体の四則演算から構成される。   The elliptic scalar multiplication is generally composed of addition of points on an elliptic curve and doubling. The addition and doubling of points on an elliptic curve are each composed of four arithmetic operations of a finite field in which the curve is defined.

点R(x,y)、点R(x,y)および点R(x,y)を楕円曲線上の点とする。x=x且つy=−yならばR+R=O(無限遠点)とするが、そうでない場合には、R+R=Rとする。このとき式(2)が成立する。P≠Qの場合が楕円加算公式、P=Qの場合が楕円2倍算公式である。

Figure 2007286380
The point R 1 (x 1 , y 1 ), the point R 2 (x 2 , y 2 ), and the point R 3 (x 3 , y 3 ) are points on the elliptic curve. If x 1 = x 2 and y 1 = −y 2 , R 1 + R 2 = O (point at infinity), otherwise R 1 + R 2 = R 3 . At this time, Expression (2) is established. The case where P ≠ Q is an elliptic addition formula, and the case where P = Q is an elliptic doubling formula.
Figure 2007286380

Affine座標系における楕円加算公式のアルゴリズム(演算手順)の一例およびその演算コストを図1に示す。入力:(x,y)∈GF(q,(x2,y2)∈GF(q、出力:(x,y)∈GF(qとして、図左側に実際の演算内容を示している。また、Iを有限体上逆元の演算コスト、Mを有限体上乗算の演算コスト、Sを有限体上自乗の演算コストとして、図右側に演算内容に対応した演算コストの見積もりを示している。なお、有限体上加算または減算または1/2倍算の演算コストは、有限体上逆元の演算コスト、乗算の演算コスト、自乗の演算コストに比して十分に小さいため無視できるので、図に表記していないことに留意すること。また、演算コストの見積もりでは、演算内容に用いる値がそれ以前の演算内容で計算されている場合には、当該値を改めて計算しなおす必要が無いことに留意しなければならない。図1で示した例で説明すると、最初の演算ステップでΛを計算し、2番目および3番目の演算ステップでΛを用いた計算をしているが、最初の演算ステップで計算したΛをメモリなどの記憶手段に格納しておき、2番目および3番目の演算ステップでΛを記憶手段から読み込むことでΛの再計算を避けることができる。 An example of the algorithm (calculation procedure) of the ellipse addition formula in the Affine coordinate system and its calculation cost are shown in FIG. Input: (x 1 , y 1 ) ∈GF (q m ) 2 , (x 2 , y 2 ) ∈GF (q m ) 2 , Output: (x 3 , y 3 ) ∈GF (q m ) 2 The actual calculation content is shown on the left side of the figure. In addition, the calculation cost corresponding to the calculation contents is shown on the right side of the figure, where I is the calculation cost of the inverse element on the finite field, M is the calculation cost of multiplication on the finite field, and S is the calculation cost of square on the finite field. . Note that the calculation cost of addition or subtraction on a finite field or 1/2 multiplication is negligible because it is sufficiently smaller than the calculation cost of the inverse element on the finite field, the calculation cost of multiplication, and the calculation cost of square. Please note that it is not described in. In addition, in the calculation of the calculation cost, it should be noted that when the value used for the calculation content is calculated based on the previous calculation content, it is not necessary to recalculate the value. In the example shown in FIG. 1, Λ is calculated in the first calculation step and Λ is calculated in the second and third calculation steps, but Λ calculated in the first calculation step is stored in the memory. It is possible to avoid recalculation of Λ by storing Λ in the storage means and reading Λ from the storage means in the second and third calculation steps.

同様に、Affine座標系における楕円2倍算公式のアルゴリズム(演算手順)の一例およびその演算コストを図2に示す。但し、入力:(x,y)∈GF(q、出力:(x,y)∈GF(qである。演算コストの記号は既述のとおりである。 Similarly, FIG. 2 shows an example of an algorithm (calculation procedure) of an elliptic doubling formula in the Affine coordinate system and its calculation cost. However, input: (x 1 , y 1 ) εGF (q m ) 2 and output: (x 3 , y 3 ) εGF (q m ) 2 . The calculation cost symbols are as described above.

図1および図2から明らかなように、上記楕円加算を1回実行するのに有限体上の逆元1回、乗算2回、自乗1回の演算が必要であり、上記楕円2倍算を1回実行するのに有限体上の逆元1回、乗算2回、自乗2回の演算が必要である。   As is clear from FIG. 1 and FIG. 2, in order to execute the ellipse addition once, it is necessary to perform an inverse element on the finite field, one multiplication, and one squaring. In order to execute once, it is necessary to perform an inverse element once on the finite field, two multiplications, and two squares.

有限体上の逆元の演算は、一般には有限体上の乗算に比して実装が複雑で、速度も遅いという問題がある。そこで、楕円曲線上の点を(x,y)という2つの有限体の元ではなく3つ以上の有限体の元によって表現する事によって逆元演算を回避する方法が様々に考案されている。つまり、Affine座標系で表現された楕円曲線を射影座標系で表現された楕円曲線に変換するのである。   Inverse element operations on a finite field are generally more complex to implement and slower than multiplications on a finite field. Therefore, various methods have been devised for avoiding the inverse operation by expressing the points on the elliptic curve not by two finite field elements (x, y) but by three or more finite field elements. That is, the elliptic curve expressed in the Affine coordinate system is converted into the elliptic curve expressed in the projective coordinate system.

例えば射影座標系の一つであるJacobian座標系は、有限体の3つの元による表現手法であり、Affine座標(x,y)はZ≠0なる同じ有限体上の任意のZによってJacobian座標(xZ,yZ,Z)に変換できる。逆にZ≠0なるJacobian座標(X,Y,Z)が与えられたとき(X/Z,Y/Z)によっていつでも対応するAffine座標を求めることが出来る(非特許文献1参照。)。 For example, the Jacobian coordinate system, which is one of the projected coordinate systems, is a representation method based on three elements of a finite field, and the Affine coordinates (x, y) are Jacobian coordinates ( xZ 2 , yZ 3 , Z). Conversely, when Jacobian coordinates (X, Y, Z) with Z ≠ 0 are given (X / Z 2 , Y / Z 3 ), the corresponding Affine coordinates can be obtained at any time (see Non-Patent Document 1). .

Jacobian座標系における楕円加算公式のアルゴリズム(演算手順)の一例およびその演算コストを図3に示す。但し、入力:(X,Y,Z)∈GF(q,(X,Y,Z)∈GF(q、出力:(X,Y,Z)∈GF(qである。演算コストの記号は既述のとおりである。
同様に、Jacobian座標系における楕円2倍算公式のアルゴリズム(演算手順)の一例およびその演算コストを図4に示す。但し、入力:(X,Y,Z)∈GF(q、出力:(X,Y,Z)∈GF(qである。演算コストの記号は既述のとおりである。
An example of the algorithm (calculation procedure) of the ellipse addition formula in the Jacobian coordinate system and its calculation cost are shown in FIG. However, input: (X 1 , Y 1 , Z 1 ) ∈GF (q m ) 3 , (X 2 , Y 2 , Z 2 ) ∈GF (q m ) 3 , output: (X 3 , Y 3 , Z 3 ) ∈ GF (q m ) 3 The calculation cost symbols are as described above.
Similarly, FIG. 4 shows an example of an algorithm (calculation procedure) of the elliptic doubling formula in the Jacobian coordinate system and its calculation cost. However, the input is (X 1 , Y 1 , Z 1 ) εGF (q m ) 3 , and the output is (X 3 , Y 3 , Z 3 ) εGF (q m ) 3 . The calculation cost symbols are as described above.

Jacobian座標系では、一般の楕円加算を1回実行するのに有限体上の乗算12回、自乗4回の演算が必要であり、Z=1の場合では楕円加算を1回実行するのに有限体上の乗算8回、自乗3回の演算が必要である。また、一般の楕円2倍算を1回実行するのに有限体上の乗算4回、自乗6回の演算が必要であり、a=−3の場合では楕円2倍算を1回実行するのに有限体上の乗算4回、自乗4回の演算が必要である。 In the Jacobian coordinate system, in order to execute general ellipse addition once, 12 multiplications and 4 square operations on a finite field are required. When Z 2 = 1, ellipse addition is executed once. It is necessary to perform 8 multiplications and 3 squaring operations on a finite field. In addition, in order to execute general elliptic doubling once, four multiplications and six squares on a finite field are required. When a = -3, elliptic doubling is executed once. In addition, 4 multiplications and 4 squaring operations on a finite field are required.

上記の楕円加算の例で説明すれば、Affine座標系ではΛの算出に逆元演算を要していた〔Λ=(y−y)/(x−x)=(y−y)×(x−x−1である。〕。仮に、Affine座標系でのΛの分子を被除数Λ=y−yとし、Affine座標系でのΛの分母を除数Λ=x−xとし、それぞれ独立に演算するとしても、Affine座標系では除数Λの逆元の演算を避けることができない〔Λ=Λ×Λ −1である。〕。 In the case of the above ellipse addition, in the Affine coordinate system, an inverse element operation is required for calculating Λ [Λ = (y 2 −y 1 ) / (x 2 −x 1 ) = (y 2 y 1) × (x 2 -x 1) -1. ]. If the Λ numerator in the Affine coordinate system is the dividend Λ n = y 2 −y 1 and the Λ denominator in the Affine coordinate system is the divisor Λ d = x 2 −x 1 , In the Affine coordinate system, the inverse operation of the divisor Λ d cannot be avoided [Λ = Λ n × Λ d −1 . ].

これに対してJacobian座標系では、Affine座標系でのΛを座標変換したものの分子相当Y′−Y′を被除数Λとし、Affine座標系でのΛを座標変換したものの分母相当X′−X′を除数Λとし、それぞれ独立に演算するとし、除数Λを拡大座標〔射影座標系の座標のうちAffine座標系の座標を除く座標であるとする。Jacobian座標系では第3座標Zに相当する。〕に関連付けることで、除数Λの逆元演算を回避している。なお、Affine座標系でのΛをJacobian座標系へ変換したΛJacobianは、適当な関数fをもってΛJacobian=(Y′−Y′)/(X′−X′)×f(Z,Z)と表されるので、Y′−Y′を「分子相当」、X′−X′を「分母相当」と呼んでいる。
このことは上記の楕円2倍算の例でも同様であり、また、Jacobian座標系だけでなくProjective座標系やChudnovsky座標系などの射影座標系でも同様である〔但し、常にΛ=Y′−Y′、Λ=X′−X′という趣旨ではない。〕。
On the other hand, in the Jacobian coordinate system, Λ in the Affine coordinate system is transformed and the numerator equivalent Y ′ 2 -Y ′ 1 is used as the dividend Λ n, and Λ in the Affine coordinate system is transformed into the denominator equivalent X ′. the 2 -X '1 and divisor lambda d, and calculates independently the the coordinates except the coordinates of Affine coordinate system of the coordinates of the enlarged coordinates [projective coordinate system divisor lambda d. This corresponds to the third coordinate Z in the Jacobian coordinate system. ], The inverse operation of the divisor Λ d is avoided. Note that Λ Jacobian obtained by converting Λ in the Affine coordinate system into the Jacobian coordinate system has Λ Jacobian = (Y ′ 2 −Y ′ 1 ) / (X ′ 2 −X ′ 1 ) × f (Z 1 , Z 2 ), Y ′ 2 -Y ′ 1 is called “corresponding to the numerator” and X ′ 2 -X ′ 1 is called “corresponding to the denominator”.
This is the same in the above-described example of elliptic doubling, and also in the projective coordinate system such as the Projective coordinate system and the Chudnovsky coordinate system as well as the Jacobian coordinate system [however, always Λ n = Y ′ 2 It does not mean that -Y ′ 1 , Λ d = X ′ 2 −X ′ 1 . ].

上記の各例から分かるように、Jacobian座標系では、Affine座標系の場合に比して逆元演算を回避できるものの、乗算や自乗の演算コストが増加する。
H. Cohen, A. Miyaji ,and T. Ono,“Efficient elliptic curve exponentiation using mixed coordinates”, Advances in Cryptology-Proceedings of ASIACRYPT ’98, Lecture Notes in Computer Science,Springer-Verlag,1514(1998),51-65.
As can be seen from the above examples, in the Jacobian coordinate system, although the inverse element calculation can be avoided as compared with the case of the Affine coordinate system, the calculation costs of multiplication and square increase.
H. Cohen, A. Miyaji, and T. Ono, “Efficient elliptic curve exponentiation using mixed coordinates”, Advances in Cryptology-Proceedings of ASIACRYPT '98, Lecture Notes in Computer Science, Springer-Verlag, 1514 (1998), 51- 65.

有限体上定義された楕円曲線の楕円加算および楕円2倍算で例示説明したが、一般的には、有限体上定義された代数曲線上の点が成す有限可換群の元の群演算では、Affine座標系において有限体上の逆元演算が不可避である。これに対して、代数曲線を射影座標系に変換することで群演算に表れる有限体上の逆元演算を回避することができる。
しかし、このような回避方法では、有限体上の逆元演算を回避することはできても乗算や自乗の演算コストが大きくなるという問題があった。
Although illustrated by elliptic addition and elliptic doubling of elliptic curves defined on a finite field, in general, in the original group operation of a finite commutative group formed by points on an algebraic curve defined on a finite field In the Affine coordinate system, an inverse operation on a finite field is inevitable. On the other hand, by converting the algebraic curve into the projective coordinate system, it is possible to avoid the inverse element operation on the finite field that appears in the group operation.
However, such an avoidance method has a problem that even if the inverse element operation on the finite field can be avoided, the operation cost of multiplication and square increases.

そこで本発明は、上記の問題点に鑑み、有限体上定義された代数曲線上の点が成す有限可換群の元の群演算(有限可換群演算)であって、逆元演算を回避しつつ演算や自乗の演算コストを低減した有限可換群演算方法、装置、プログラムを提供することを目的とする。   In view of the above problems, the present invention is an original group operation (finite commutative group operation) of a finite commutative group formed by points on an algebraic curve defined on a finite field, and avoids an inverse element operation. It is another object of the present invention to provide a finite commutative group calculation method, apparatus, and program that reduce the calculation cost of calculation and square.

上記課題を解決するために、本発明は、次のような構成とする。即ち、有限体GF(q)〔但し、qは素数または素数の冪、mはm>1の整数とする。〕の元pに対して、N(p)=v(p)×p〔但し、N(p)は有限体GF(q)の部分体の元とし、v(p)は有限体GF(q)の元とする。〕を満たす擬似逆元v(p)を算出する擬似逆元演算手段と、補擬似逆元N(p)を算出する補擬似逆元演算手段とを備える。そして、有限体GF(q)上定義された代数曲線〔射影座標系で表現されるとする。〕上の点が成す有限可換群の元の群演算を、有限体GF(q)上の除算に表れる除数および被除数を独立に演算するとし、除数を拡大座標〔上記射影座標系の座標のうちAffine座標系の座標を除く座標であるとする。〕に関連付けることで、上記群演算における除数の逆元演算を回避して行う有限可換群演算であって、擬似逆元演算手段が擬似逆元を算出し、補擬似逆元演算手段が補擬似逆元を算出して、擬似逆元を被除数に含め、補擬似逆元を除数する。
このように、有限体GF(q)の元である擬似逆元v(p)および有限体GF(q)の部分体の元である補擬似逆元N(p)を算出して、擬似逆元を被除数に含め、補擬似逆元を除数とするのである。
In order to solve the above problems, the present invention is configured as follows. That is, a finite field GF (q m ) [where q is a prime number or a power of a prime number, and m is an integer of m> 1. ] N (p) = v (p) × p [where N (p) is an element of a finite field GF (q m ) and v (p) is a finite field GF ( q m ). ] Pseudo inverse element calculation means for calculating pseudo inverse element v (p) satisfying the above and complementary pseudo inverse element calculation means for calculating complementary inverse element N (p). An algebraic curve defined on the finite field GF (q m ) [suppose that it is expressed in a projective coordinate system. ] The original group operation of the finite commutative group formed by the above points is calculated by dividing the divisor and the dividend appearing in the division on the finite field GF (q m ) independently, and the divisor is expanded coordinates [coordinates of the above projective coordinate system] Are coordinates excluding the coordinates of the Affine coordinate system. ] Is a finite commutative group operation that avoids the inverse operation of the divisor in the above group operation, the pseudo inverse element calculation means calculates the pseudo inverse element, and the complementary pseudo inverse element calculation means complements it. The pseudo inverse element is calculated, the pseudo inverse element is included in the dividend, and the complementary pseudo inverse element is divided.
Thus, by calculating the finite GF (q m) is the original pseudo inverse element v (p) and finite GF (q m) is a part of the original auxiliary pseudo inverse element N (p), The pseudo inverse element is included in the dividend and the complementary pseudo inverse element is used as the divisor.

また、射影座標系で表現された代数曲線上の点の拡大座標を有限体GF(q)の部分体の元で与えるとしてもよい。
これは補擬似逆元N(p)の属する体によって拡大座標の元を与えることができることを意味し、有限体GF(q)の部分体上での演算を可能とする。つまり、部分体上の演算コストで演算することができる。
Further, the enlarged coordinates of the points on the algebraic curve expressed in the projective coordinate system may be given under the subfield of the finite field GF (q m ).
This means that the element of the enlarged coordinate can be given by the field to which the complementary pseudo-inverse element N (p) belongs, and the calculation on the subfield of the finite field GF (q m ) is possible. That is, it is possible to calculate at a calculation cost on the partial body.

また、補擬似逆元N(p)は、有限体GF(p)上の元pのノルムであるとしてもよい。そして、ノルムとして補擬似逆元N(p)を式(r1)で表し、擬似逆元v(p)を式(r2)で表すとしてもよい。
有限体GF(p)上の元pのノルムは、有限体GF(p)の部分体の元を与えることができる。

Figure 2007286380
The complementary pseudo inverse element N (p) may be the norm of the element p on the finite field GF (p m ). Then, the complementary pseudo inverse element N (p) may be expressed as a norm by the expression (r1), and the pseudo inverse element v (p) may be expressed by the expression (r2).
Norm of the original p over a finite GF (p m) can provide the original portion of the finite field GF (p m).
Figure 2007286380

式(r2)で表される擬似逆元v(p)の各項pθ〔但しθ=qとする。〕をフロベニウス写像によって求めるとしてもよく、式(r2)で表される擬似逆元v(p)を式(r3)と表現し、式(r3)に表れるpを加算連鎖によって求めるとしてもよい。

Figure 2007286380
Each term p θ of the pseudo inverse element v (p) represented by the equation (r2) [where θ = q i . ] May be obtained by the Frobenius map, the pseudo-represented by the formula (r2) inverse element v a (p) is expressed as Equation (r3), may be obtained by adding a chain of p u appearing in equation (r3) .
Figure 2007286380

群演算を加算演算および/または2倍演算とすると、例えばスカラー倍演算は加算演算および/または2倍演算で構成されるから、効率の良いスカラー倍演算の実現に寄与する。   If the group operation is an addition operation and / or a doubling operation, for example, the scalar doubling operation is constituted by an adding operation and / or a doubling operation, which contributes to the realization of an efficient scalar doubling operation.

また、本発明の有限可換群演算装置としてコンピュータを機能させる有限可換群演算プログラムによって、コンピュータを有限可換群演算装置として作動処理させることができる。   Further, the computer can be operated as a finite commutative group computing device by a finite commutative group computing program that causes the computer to function as the finite commutative group computing device of the present invention.

本発明によれば、有限体上定義された代数曲線上の点が成す有限可換群の元の群演算(有限可換群演算)において、有限体GF(q)の元である擬似逆元v(p)および有限体GF(q)の部分体の元である補擬似逆元N(p)を算出して、擬似逆元v(p)を被除数に含め、補擬似逆元N(p)を除数とする。有限体GF(q)の部分体の元である補擬似逆元N(p)の算出は、有限体GF(q)上の乗算や自乗の演算コストよりも小さい。また、擬似逆元v(p)の算出は、有限体GF(q)上の逆元の演算コストよりも小さく、さらに効率の良い演算方法も存在する。従って、逆元演算を回避しつつ演算や自乗の演算コストを低減した有限可換群演算が可能である。 According to the present invention, in an original group operation (finite finite commutative group operation) of a finite commutative group formed by points on an algebraic curve defined on a finite field, a pseudo inverse that is an element of a finite field GF (q m ). A complementary pseudo-inverse element N (p) that is an element of a subfield of the element v (p) and the finite field GF (q m ) is calculated, and the pseudo-inverse element v (p) is included in the dividend to obtain the complementary pseudo-inverse element N Let (p) be a divisor. Calculation of the finite field GF (q m) of the portion of the original in which the auxiliary pseudo inverse element N (p) is a finite field GF (q m) is smaller than the computational cost of multiplication and square on. In addition, the calculation of the pseudo inverse element v (p) is smaller than the calculation cost of the inverse element on the finite field GF (q m ), and there is a more efficient calculation method. Therefore, it is possible to perform a finite commutative group calculation with reduced calculation cost and square calculation cost while avoiding the inverse element calculation.

《理論》
部分体を持つ有限体には擬似逆元演算と呼ばれる演算を定義できる。
<擬似逆元演算>
擬似逆元演算とは、qを素数または素数の冪、mをm>1の整数として、有限体GF(q)上の元xに対してN(x)=x×v(x)なる(v(x),N(x))を出力する演算である。但し、v(x)は有限体GF(q)の元とし、N(x)は有限体GF(q)の部分体GF(ξ)の元とする。
ここでは、v(x)を擬似逆元、N(x)を補擬似逆元と呼ぶことにする。
"theory"
An operation called a pseudo inverse element operation can be defined for a finite field having a subfield.
<Pseudo inverse operation>
The pseudo inverse element operation is N (x) = x × v (x) with respect to an element x on a finite field GF (q m ) where q is a prime number or a prime power and m is an integer of m> 1. This is an operation for outputting (v (x), N (x)). However, v (x) is an element of a finite field GF (q m ), and N (x) is an element of a subfield GF (ξ) of the finite field GF (q m ).
Here, v (x) is referred to as a pseudo inverse element and N (x) is referred to as a complementary pseudo inverse element.

擬似逆元v(x)および補擬似逆元N(x)を用いると、xの逆元x−1は、v(x)×N(x)−1で与えられる。換言すれば、逆元x−1は被除数v(x)を分子とし、除数N(x)を分母とした除算として与えられる。
このことに着眼すると、Jacobian座標系における楕円加算の例で説明すれば、被除数Λをv(X′−X′)×(Y′−Y′)とし、除数λをN(X′−X′)とし、それぞれ独立に演算するとし、除数λ、つまり補擬似逆元N(X′−X′)を拡大座標に関連付けることで、除数λの逆元演算を回避できることになる〔x=X′−X′と考えればよい。〕。このことは、Jacobian座標系における楕円2倍算の場合は勿論、他の射影座標系や代数曲線などでも同様である。但し、常にΛ=v(X′−X′)×(Y′−Y′)、λ=N(X′−X′)という趣旨ではない。例えば、Projective座標系の楕円2倍算の場合、λ=N(2Y)×zで与えられる。ただ、この場合でも、λ=N(2Y)、λ′=λ×zで与える構成としてもよく、このようにしても全体の演算コストは変わらない。要は、被除数Λにv(X′−X′)を含め、除数λをN(X′−X′)として、それぞれ独立に演算を行うとし、さらに、補擬似逆元である除数λを拡大座標に関連付けることで、除数λの逆元演算を回避するのである。
Using the pseudo inverse element v (x) and the complementary pseudo inverse element N (x), the inverse element x −1 of x is given by v (x) × N (x) −1 . In other words, the inverse element x −1 is given as a division with the dividend v (x) as the numerator and the divisor N (x) as the denominator.
Focusing on this, in the example of elliptic addition in the Jacobian coordinate system, the dividend Λ n is v (X ′ 2 −X ′ 1 ) × (Y ′ 2 −Y ′ 1 ), and the divisor λ d is N (X '2 -X' 1) and then, a computed independently, by associating the divisor lambda d, i.e. the complement pseudo inverse N to (X '2 -X' 1) expand coordinates, inverse of the divisor lambda d The original calculation can be avoided [x = X ′ 2 −X ′ 1 may be considered. ]. This is the same not only in the case of elliptic doubling in the Jacobian coordinate system but also in other projective coordinate systems and algebraic curves. However, it does not always mean that Λ n = v (X ′ 2 −X ′ 1 ) × (Y ′ 2 −Y ′ 1 ), λ d = N (X ′ 2 −X ′ 1 ). For example, in the case of elliptic doubling in the Projective coordinate system, λ d = N (2Y 1 ) × z 1 is given. However, even in this case, the configuration may be given by λ d = N (2Y 1 ) and λ ′ d = λ d × z 1 , and even in this case, the overall calculation cost does not change. In short, it is assumed that v (X ′ 2 −X ′ 1 ) is included in the dividend Λ n and that the divisor λ d is N (X ′ 2 −X ′ 1 ), and that each operation is performed independently. By associating the divisor λ d with the enlarged coordinates, the inverse operation of the divisor λ d is avoided.

このような擬似逆元演算を用いた逆元演算回避手法の場合、従来の逆元演算回避手法に比較して、擬似逆元v(x)および補擬似逆元N(x)の演算コストが必要になる。擬似逆元演算には効率良く演算する方法が存在するので、その一例を説明する。   In the case of the inverse element avoidance technique using such a pseudo inverse element operation, the operation cost of the pseudo inverse element v (x) and the complementary pseudo inverse element N (x) is lower than that of the conventional inverse element avoidance technique. I need it. Since there is a method for efficiently performing the pseudo inverse element calculation, an example will be described.

擬似逆元演算を効率良く演算する方法の一つに、例えばq乗写像(フロベニウス写像)を用いる方法がある。ここでは説明の便宜から、有限体GF(q)の部分体GF(ξ)を有限体GF(q)として説明する。 One method for efficiently performing the pseudo inverse element calculation is a method using, for example, a qn- th power map (Frobenius map). Here, for convenience of explanation, a partial field GF (ξ) of a finite field GF (q m ) will be described as a finite field GF (q).

<q乗写像を用いた擬似逆元演算>
x∈GF(q)なるxに対して、式(3)で与えられるzをnormと呼ぶ。norm zは必ずz∈GF(q)となることが知られている。

Figure 2007286380
<Pseudo inverse operation with q n-th power mapping>
For x where x∈GF (q m ), z given by Equation (3) is called norm. It is known that norm z is always z∈GF (q).
Figure 2007286380

式(3)から式(4)を得る。

Figure 2007286380
Equation (4) is obtained from Equation (3).
Figure 2007286380

式(4)をz=xyと看做せば、括弧部分がyに相当する。つまりyは式(5)で表される。このとき、zが補擬似逆元N(x)に相当し、yが擬似逆元v(x)に相当すると考えることができる。

Figure 2007286380
If Equation (4) is regarded as z = xy, the parenthesis part corresponds to y. That is, y is expressed by the formula (5). At this time, it can be considered that z corresponds to the complementary pseudo-inverse element N (x) and y corresponds to the pseudo-inverse element v (x).
Figure 2007286380

<norm>
norm zは一般にz∈GF(q)が保証されているので、z=xyの演算コストはGF(q)上の乗算や自乗の演算コストに比べて十分小さい。
<Norm>
Since norm z is generally guaranteed to be z∈GF (q), the operation cost of z = xy is sufficiently smaller than the operation cost of multiplication or square on GF (q m ).

<q乗写像>
通常、有限体GF(q)上の元xを表現するのに、有限体GF(q)上のm個の元x(0≦i<m)が用いられる。m個のx∈GF(q),(0≦i<m)の組をGF(q)上の元に対応させる代表的な方法は、m個のα∈GF(q),(0≦i<m)の組を使って、式(6)に示す対応を取ることである。

Figure 2007286380
<Q n-th power mapping>
Usually, m elements x i (0 ≦ i <m) on the finite field GF (q) are used to represent the element x on the finite field GF (q m ). A typical method for associating a set of m x i εGF (q), (0 ≦ i <m) with an element on GF (q m ) is m α i εGF (q m ), Using the group (0 ≦ i <m), the correspondence shown in the equation (6) is taken.
Figure 2007286380

このときα(0≦i<m)は、GF(q)とGF(q)とで1対1対応が取れるような組合せでなくてはならない。このα(0≦i<m)を基底と呼ぶ。 At this time, α i (0 ≦ i <m) must be a combination that allows one-to-one correspondence between GF (q) m and GF (q m ). This α i (0 ≦ i <m) is called a base.

ところで二項定理によれば、式(7)が成立する。

Figure 2007286380
By the way, according to the binomial theorem, Equation (7) is established.
Figure 2007286380

式(7)の右辺の各項の係数(q,i)は二項係数と呼ばれる定数で、i≠0かつi≠qの場合必ずqの倍数となる。a,b∈GF(q)のときは、qの整数倍は0と同値であるから(GF(q)の標数はqである。)、式(8)が成立する。

Figure 2007286380
The coefficient (q, i) of each term on the right side of Equation (7) is a constant called a binomial coefficient, and is always a multiple of q when i ≠ 0 and i ≠ q. When a, bεGF (q m ), since the integer multiple of q is equal to 0 (the characteristic of GF (q m ) is q), Equation (8) is established.
Figure 2007286380

更にc∈GF(q)なるcに関してc=cが成立する。一般にa∈GF(q),(0≦i<n)、c∈GF(q),(0≦i<n)とすると、式(9)が成立する。

Figure 2007286380
Furthermore, c q = c holds for c where c∈GF (q). In general, when a i ∈GF (q m ), (0 ≦ i <n), and c i ∈GF (q), (0 ≦ i <n), Expression (9) is established.
Figure 2007286380

従って、α∈GF(q)、x∈GF(q)なるとき、式(6)で表されるxのq乗であるxは、式(10)で与えられる。

Figure 2007286380
Therefore, when α i εGF (q m ) and x i εGF (q), x q which is the qth power of x represented by equation (6) is given by equation (10).
Figure 2007286380

従って事前に式(11)で与えられるcij∈GF(q)が計算してあれば、式(10)は式(12)に書き換えられるから、基底αを使ったxの表現Σj=0 m−1ijを求めることができる。

Figure 2007286380
Therefore, if c ij εGF (q) given in Expression (11) has been calculated in advance, Expression (10) can be rewritten into Expression (12), so that the expression of x q using the basis α i Σ j = 0 m−1 c ij x i can be obtained.
Figure 2007286380

即ち、x∈GF(q)を表現するベクトル(x)に行列(cij)を掛けるだけで、xを表現するベクトルが得られる。この演算コストは、一般にはGF(q)上の乗算1回分の演算コストにほぼ等しい。また、行列(cij,(n=2,3,…)を事前に求めておけば、行列(cijを掛けるだけでx〔但し、w=qとする。〕を表現するベクトルが得られる。あるいは、(cij-1を事前に求めておけば、(cij-1を掛けるだけでx1/qを表現するベクトルが得られる。従って、一般の整数nに対してxの演算コストは、一般にGF(q)上の乗算1回分の演算コストに等しい。 That is, a vector expressing x q can be obtained simply by multiplying the vector (x i ) expressing x∈GF (q m ) by the matrix (c ij ). This calculation cost is generally equal to the calculation cost for one multiplication on GF (q m ). Further, if the matrix (c ij ) n , (n = 2, 3,...) Is obtained in advance, simply multiplying by the matrix (c ij ) n gives x w [where w = q n . ] Is obtained. Alternatively, if (c ij ) −1 is obtained in advance, a vector expressing x 1 / q can be obtained by simply multiplying by (c ij ) −1 . Thus, computational cost of x w for general integer n is equal to general GF (q m) multiplied batch of computational cost on.

また、基底αの代表的な選び方として式(13)に示す2つの方法がある。但しβ、γは各々の方法でGF(q)とGF(q)とで1対1対応が取れるようなGF(q)上の元とする。

Figure 2007286380
Further, there are two methods shown in the equation (13) as typical ways of selecting the basis α i . However, β and γ are elements on GF (q m ) such that a one-to-one correspondence can be obtained between GF (q) m and GF (q m ) in each method.
Figure 2007286380

このような基底を選択する場合に演算コストをさらに低減できることがある。例えば正規基底による方法の場合、基底αのq乗は式(14)に示す関係にあるから、行列(cij)は式(15)で与えられる。

Figure 2007286380
When such a base is selected, the calculation cost may be further reduced. For example, in the case of the method based on the normal basis, the qth power of the basis α i has the relationship shown in the equation (14), and therefore the matrix (c ij ) is given by the equation (15).
Figure 2007286380

即ち、入力のm個のx∈GF(q),(0≦i<m)の順番を並び換えて出力するだけでxの演算が完了する。xの演算の場合も同様の並び換えのみで完了する。この並び換えの演算コストは、GF(q)上の乗算や自乗の演算コストに対して無視できる。 That, m-number of x i ∈GF input (q), the calculation of x q simply outputs rearranged the order of (0 ≦ i <m) is completed. completed only in the same rearrangement is also the case of the operation of x w. The calculation cost of this rearrangement can be ignored with respect to the calculation cost of multiplication or square on GF (q m ).

多項式基底による方法の場合、一般にはxの演算はGF(q)上の乗算の演算コストとほぼ等しいが、γとして特別なGF(q)上の元を選択することによって演算コストを低減できることがある。例えばγがω∈GF(q)に対してγ−ω=0なる関係を持つ場合、基底αのq乗は式(16)に示す関係にある。但し、記号[iq/m]は、iq/m以下の最大整数を表す。

Figure 2007286380
In the case of a method based on a polynomial basis, the operation of x w is generally equal to the operation cost of multiplication on GF (q m ), but the operation cost can be reduced by selecting a special element on GF (q m ) as γ. May be reduced. For example, when γ has a relationship of γ m −ω = 0 with respect to ω∈GF (q), the base α i to the q n power has a relationship shown in the equation (16). However, the symbol [iq n / m] represents a maximum integer equal to or less than iq n / m.
Figure 2007286380

即ち、入力のm個のx∈GF(q),(0≦i<m)の各々にω[T]〔但し、T=iq/mとする。〕を掛けて順番を並び換えて出力するだけでxの演算が完了する。この演算コストも、GF(q)上の乗算や自乗の演算コストに対して無視できる。 That is, ω [T] [where T = iq n / m, for each of the input m x i εGF (q), (0 ≦ i <m). ] The over operation of only in the x w and outputs the rearranged the order is completed. This calculation cost is also negligible for the calculation cost of multiplication or square on GF (q m ).

<加算連鎖>
次に、式(5)で表されるyを効率良く計算する方法の一例を説明する。
yは式(17)に変形できる。

Figure 2007286380
<Addition chain>
Next, an example of a method for efficiently calculating y represented by Expression (5) will be described.
y can be transformed into equation (17).
Figure 2007286380

ここで記号uを式(18)で定義する。

Figure 2007286380
Here, the symbol u is defined by equation (18).
Figure 2007286380

このとき式(17)は式(19)に書き換えられ、xは式(20)のように計算することができる。

Figure 2007286380
At this time, Expression (17) is rewritten to Expression (19), and x u can be calculated as Expression (20).
Figure 2007286380

式(20)のような演算を行う際、既述のとおりq乗演算はGF(q)上の乗算に比べ高速に演算可能であるから、演算の律速段階となるのはm−2回〔式(20)の右辺の×の個数に相当する。〕実行されるGF(q)上の乗算である。 When performing an operation such as equation (20), the q i power operation can be performed at a higher speed than the multiplication on GF (q m ) as described above. Times [corresponds to the number of crosses on the right side of equation (20). ] Multiplication on GF (q m ) to be performed.

ところで、例えばm−1=2だったとすると、uは式(21)のように分解して表すことができる。

Figure 2007286380
By the way, for example, if m-1 = 2n , u can be expressed by being decomposed as shown in Expression (21).
Figure 2007286380

この場合、xを計算する方法として、例えば、式(22)のような演算方法を用いると、n回即ちlog(m−1)回のGF(q)上乗算でxを計算できる。

Figure 2007286380
In this case, as a method for calculating x u , for example, when an arithmetic method such as Expression (22) is used, x u is calculated by multiplying GF (q m ) n times, that is, log 2 (m−1) times. it can.
Figure 2007286380

このような計算方法は、たとえnが2の冪乗数でなかったとしても一般的に構成することが可能であり、一例として次のように構成することができる。
i、j、kを整数として整数(1=)n,・・・,n(=m−1)を式(23)で与える。この整数列n,・・・,nをm−1の(最適)加算連鎖と呼ぶ。

Figure 2007286380
Such a calculation method can be generally configured even if n is not a power of 2, and can be configured as follows as an example.
Integers (1 =) n 0 ,..., n r (= m−1) are given by equation (23) where i, j, and k are integers. This integer sequence n 0 ,..., N r is called an (optimal) addition chain of m−1.
Figure 2007286380

m−1の(最適)加算連鎖を用いてq冪倍を含む(最適)加算連鎖を構成することができる。このq冪倍を含む(最適)加算連鎖は式(24)で与えられる。このとき式(25)が成立している。なお、式(24)のqの冪数nは式(23)のnに対応している。

Figure 2007286380
An (optimal) addition chain containing q times can be constructed using an (optimal) addition chain of m-1. The (optimal) addition chain including this q 冪 multiple is given by equation (24). At this time, Expression (25) is established. Incidentally, a power number n k of q in equation (24) corresponds to n k of the formula (23).
Figure 2007286380

このq冪倍を含む(最適)加算連鎖を用いてxの計算を次のように実行することができる。まずm−1の(最適)加算連鎖n,・・・,nを与える。この(最適)加算連鎖n=n+n(j,k<i)におけるi、j、kの対応に従って、i=0,・・・,rに対して式(26)なる演算によってA,・・・,Aを求める。このとき式(27)が成立する。

Figure 2007286380
Using this (optimal) addition chain including q times, the calculation of x u can be performed as follows. First, an (optimal) addition chain n 0 ,..., N r of m−1 is given. According to the correspondence of i, j, k in this (optimum) addition chain n j = n j + n k (j, k <i), A = 0 is obtained by the operation of Expression (26) for i = 0,. 0 ,..., An are obtained. At this time, Expression (27) is established.
Figure 2007286380

ここで、式(28)が成立するから、Aが求めるxとなる。

Figure 2007286380
Here, since Expression (28) is satisfied, A r is x u to be obtained.
Figure 2007286380

m−1の最短の加算連鎖の長さL(m−1)は最悪でもL(m−1)≦2log(m−1)に抑えることができる。即ち、Aも最悪2log(m−1)回程度のGF(q)上の乗算で求めることができる。一般にxを効率良く求めたいならば、効率の良いm−1の加算連鎖を与えれば良い。下記参考文献1には1以上100以下の整数の加算回数に関する最適加算連鎖のTree図が掲載されている。そのような加算連鎖を用いることによって、xの計算を最適化できる。
(参考文献1) Knuth著, "The Art of Computer Programming", VOLUME 2 Seminumerical Algorithms Third Edition, p.465, Addison Wesley, ISBN:O-201-89684-2
The length L (m−1) of the shortest addition chain of m−1 can be suppressed to L (m−1) ≦ 2 log 2 (m−1) at worst. That, A r can also be determined by the worst 2log 2 (m-1) times of about GF (q m) on the multiplication. In general, if it is desired to obtain xu efficiently, an efficient m-1 addition chain may be provided. Reference Document 1 below shows a tree diagram of the optimum addition chain regarding the number of additions of integers of 1 to 100. By using such an addition chain, the calculation of x u can be optimized.
(Reference 1) Knuth, "The Art of Computer Programming", VOLUME 2 Seminumerical Algorithms Third Edition, p.465, Addison Wesley, ISBN: O-201-89684-2

ここでは擬似逆元演算を効率良く演算する方法の一つとして、例えばq乗写像を用いる方法を示したが、この方法以外にもユークリッドの互除法を用いた方法などもある。
以上の説明から帰納されることとして、有限体GF(q)の部分体の元である補擬似逆元zは、有限体GF(q)上の乗算や自乗の演算コストに比して十分に小さい演算コストで計算可能であることが云える。また、擬似逆元yについても、有限体GF(q)上の逆元の演算コストより小さく効率の良い演算コストで計算可能であることが云える。
Here, as one of the methods for efficiently performing the pseudo inverse element calculation, for example, a method using the qn- th power mapping is shown, but there is a method using the Euclidean mutual division method in addition to this method.
As being induction from the above description, the complement pseudo inverse z subfield is the elements of the finite field GF (q m) is different from the finite GF (q m) computational cost of multiplication and the square of the It can be said that calculation is possible with a sufficiently small calculation cost. Further, it can be said that the pseudo inverse element y can be calculated at an efficient calculation cost that is smaller than the calculation cost of the inverse element on the finite field GF (q m ).

さらに、有限体GF(q)の部分体の元である補擬似逆元を除数λとし、除数λを拡大座標に関連付けることから、拡大座標を有限体GF(q)の部分体の元で与えることができ、拡大座標を用いた計算について、その演算コストを低減することができる。
このことをJacobian座標系における楕円加算の例で説明すれば、Jacobian座標系の第3座標を有限体GF(q)の部分体GF(ξ)の元zで与えることができるということである。例えば従来手法におけるZ←ΛZ′なる演算はz←λz′に変更される。この場合、従来手法の場合において有限体GF(q)上乗算の演算コストであったのが、有限体GF(q)の部分体GF(ξ)上乗算の演算コストに変更される。有限体GF(q)の部分体GF(ξ)上乗算の演算コストは、有限体GF(q)上乗算の演算コストに比較して十分に小さい。従って、従来手法に比して演算コストを低減できる。また、例えば従来手法におけるX"←X′Λ なる演算はX"←X′λ に変更される。この場合、従来手法の場合において有限体GF(q)上の1回の乗算と1回の自乗の演算コストであったのが、有限体GF(q)の部分体GF(ξ)の元と有限体GF(q)の元との乗算1回および有限体GF(q)の部分体GF(ξ)上の自乗1回の演算コストに変更されるので、演算コストを低減できることになる。
このように、拡大座標を有限体GF(q)の部分体の元で与えることができることから拡大座標を用いる計算の演算コストも低減できる。
Furthermore, the former is a complement pseudo inverse subfields of finite GF (q m) and dividing the number lambda d, from associating the divisor lambda d expansion coordinates, the enlarged coordinate portion of the finite field GF (q m) The calculation cost of the calculation using the enlarged coordinates can be reduced.
If this is explained by an example of elliptic addition in the Jacobian coordinate system, the third coordinate of the Jacobian coordinate system can be given by the element z of the subfield GF (ξ) of the finite field GF (q m ). . For example, the operation Z 3 ← Λ d Z ′ 3 in the conventional method is changed to z 3 ← λ d z ′ 3 . In this case, the calculation cost of multiplication on the finite field GF (q m ) in the case of the conventional method is changed to the calculation cost of multiplication on the partial field GF (ξ) of the finite field GF (q m ). Calculating the cost of the subfield GF (xi]) on the multiplication of the finite field GF (q m) is sufficiently small compared to the computational cost of the finite field GF (q m) on the multiplication. Therefore, the calculation cost can be reduced as compared with the conventional method. Further, for example, the calculation of X " 1 <-X ' 1 Λ d 2 in the conventional method is changed to X" 1 <-X' 1 λ d 2 . In this case, the calculation cost of one multiplication and one square on the finite field GF (q m ) in the case of the conventional method is that of the subfield GF (ξ) of the finite field GF (q m ). since the change back and finite GF (q m) based on the multiplication and once subfield GF (xi]) square one operation cost on the finite field GF (q m) of, being able to reduce the computational cost become.
As described above, since the enlarged coordinates can be given under the subfield of the finite field GF (q m ), the calculation cost of the calculation using the enlarged coordinates can be reduced.

<具体例>
次に、具体例として、擬似逆元演算を用いたJacobian座標系における楕円加算のアルゴリズム(演算手順)の一例およびその演算コストを図5に示す。但し、入力:(X,Y,z)∈GF(q×GF(ξ),(X,Y,z)∈GF(q×GF(ξ)、出力:(X,Y,z)∈GF(q×GF(ξ)である。また、既述の演算コストの記号に加え、Vを擬似逆元v(x)の演算コストとする。なお、補擬似逆元N(x)の演算コスト、GF(q)×GF(ξ)乗算の演算コスト、GF(ξ)上乗算の演算コスト、GF(ξ)上自乗の演算コスト、GF(ξ)上加算の演算コストはGF(q)上乗算コストMに比べて十分小さく無視できるため図に表記していないことに留意すること。
<Specific example>
Next, as a specific example, FIG. 5 shows an example of an algorithm (calculation procedure) of ellipse addition in the Jacobian coordinate system using the pseudo inverse element calculation and its calculation cost. However, input: (X 1 , Y 1 , z 1 ) εGF (q m ) 2 × GF (ξ), (X 2 , Y 2 , z 2 ) εGF (q m ) 2 × GF (ξ), Output: (X 3 , Y 3 , z 3 ) εGF (q m ) 2 × GF (ξ). In addition to the above-described calculation cost symbol, V is the calculation cost of the pseudo inverse element v (x). Note that the computation cost of the complementary pseudo inverse element N (x), the computation cost of GF (q m ) × GF (ξ) multiplication, the computation cost of multiplication on GF (ξ), the computation cost of square on GF (ξ), GF Note that the calculation cost of (ξ) upper addition is not shown in the figure because it is sufficiently smaller than GF (q m ) upper multiplication cost M and can be ignored.

同様に、擬似逆元演算を用いたJacobian座標系における楕円2倍算公式のアルゴリズム(演算手順)の一例およびその演算コストを図6に示す。但し、入力:(X,Y,z)∈GF(q×GF(ξ)、出力:(X,Y,z)∈GF(q×GF(ξ)である。演算コストの記号は既述のとおりである。 Similarly, FIG. 6 shows an example of an algorithm (calculation procedure) of the elliptic doubling formula in the Jacobian coordinate system using the pseudo inverse element calculation and its calculation cost. However, input: (X 1 , Y 1 , z 1 ) ∈GF (q m ) 2 × GF (ξ), output: (X 3 , Y 3 , z 3 ) ∈GF (q m ) 2 × GF (ξ ). The calculation cost symbols are as described above.

擬似逆元v(x)は、例えば有限体GF(q)の次数mがm=5の場合、上記の(最適)加算連鎖の方法を用いることで、式(29)のようにして補擬似逆元v(x)および補擬似逆元N(x)を得ることができるから、q乗写像3回とGF(q)上乗算2回で実行することができる。

Figure 2007286380
For example, when the order m of the finite field GF (q m ) is m = 5, the pseudo inverse element v (x) is supplemented as shown in Equation (29) by using the above (optimal) addition chain method. since it is possible to obtain the pseudo-inverse element v (x) and the auxiliary pseudo-inverse n (x), it can be performed by q n-th power mapping 3 times and GF (q m) on the multiplication twice.
Figure 2007286380

既述のとおり、例えば補擬似逆元としてnormを用いた場合には、q乗写像における基底を適切に選択しておくことでq乗写像の演算コストをGF(q)上乗算の演算コストに対して十分小さくすることができるから、m=5の場合、演算コストVは凡そ演算コスト2M相当としてよい。 As mentioned previously, for example in the case of using the norm as complement pseudo inverse is the computational cost of q n-th power mapping in that you appropriately selecting the base in q n-th power mapping GF (q m) of the above multiplication Since the calculation cost can be made sufficiently small, when m = 5, the calculation cost V may be approximately equivalent to the calculation cost 2M.

図5および図6に示す演算コストから、擬似逆元演算を用いたJacobian座標系における楕円加算を1回実行するのにGF(q)上の擬似逆元1回、乗算2回、自乗1回の演算が必要であり、擬似逆元演算を用いたJacobian座標系における楕円2倍算を1回実行するのにGF(q)上の擬似逆元1回、乗算2回、自乗2回が必要であることがわかる。 From the calculation costs shown in FIG. 5 and FIG. 6, in order to execute the elliptic addition in the Jacobian coordinate system using the pseudo inverse element calculation once, the pseudo inverse element on GF (q m ) once, the multiplication twice, the square 1 Operations are required, and in order to execute the elliptic doubling in the Jacobian coordinate system using the pseudo-inverse operation once, the pseudo-inverse on GF (q m ) once, the multiplication twice, and the square twice Is necessary.

次数m=5の場合、擬似逆元1回がおよそ乗算2回相当であったことを考えると、擬似逆元演算を用いたJacobian座標系における楕円加算を1回実行するのにおよそGF(q)上の乗算4回、自乗1回が必要であり、擬似逆元演算を用いたJacobian座標系における楕円2倍算を1回実行するのにおよそGF(q)上の乗算4回、自乗2回が必要であることになる。
これは従来のJacobian座標系おける演算コストに比べて、楕円加算に関してGF(q)上の乗算8回、自乗3回分が節約され、楕円2倍算に関してGF(q)上の自乗4回分が節約されたことを意味する。
In the case of the order m = 5, considering that one pseudo inverse element is equivalent to approximately two multiplications, it is approximately GF (q to execute the elliptic addition in the Jacobian coordinate system using the pseudo inverse element calculation once. m ) 4 multiplications and 1 square are required, and approximately 4 multiplications on GF (q m ) to execute the elliptic doubling in the Jacobian coordinate system using the pseudo-inverse operation once, Two squares are required.
Compared to the computation cost in the conventional Jacobian coordinate system, this saves 8 multiplications and 3 squares on GF (q m ) for elliptic addition, and 4 squares on GF (q m ) for elliptic doubling. Means saving.

以上では、具体例として擬似逆元演算を用いたJacobian座標系の場合を説明したが、その他の具体例として、Projective座標系およびChudnovsky座標系の場合の楕円加算および楕円2倍算のアルゴリズム(演算手順)の一例およびその演算コストを示す。
図7にProjective座標系における楕円加算のアルゴリズム(演算手順)の一例およびその演算コスト、図8に擬似逆元演算を用いたProjective座標系における楕円加算のアルゴリズム(演算手順)の一例およびその演算コスト、図9にProjective座標系における楕円2倍算のアルゴリズム(演算手順)の一例およびその演算コスト、図10に擬似逆元演算を用いたProjective座標系における楕円2倍算のアルゴリズム(演算手順)の一例およびその演算コストを示す。
また、図11にChudnovsky座標系における楕円加算のアルゴリズム(演算手順)の一例およびその演算コスト、図12に擬似逆元演算を用いたChudnovsky座標系における楕円加算のアルゴリズム(演算手順)の一例およびその演算コスト、図13にChudnovsky座標系における楕円2倍算のアルゴリズム(演算手順)の一例およびその演算コスト、図14に擬似逆元演算を用いたChudnovsky座標系における楕円2倍算のアルゴリズム(演算手順)の一例およびその演算コストを示す。
なお、各図で下線付の箇所は、その前に1度計算結果が現れていて改めて計算する必要のない値を表す。例えば(a)Y←XX、(b)Z← なる演算手順ではYを求める時にXを計算しているため、これを記憶手段に保存しておき、Zを求める際にはXを改めて計算せずに保存していた値を使えばよい。
何れの場合においても、例えば次数m=5とした場合で明らかなとおり、従来手法に比較して、擬似逆元演算を用いた場合には乗算や自乗の演算コストが低減することがわかる。
In the above, the case of the Jacobian coordinate system using the pseudo-inverse operation has been described as a specific example. However, as another specific example, the algorithm of the ellipse addition and the elliptic doubling in the Projective coordinate system and the Chudnovsky coordinate system (calculation) An example of the procedure) and its calculation cost are shown.
FIG. 7 shows an example of an algorithm (calculation procedure) for ellipse addition in the Projective coordinate system and its calculation cost, and FIG. 8 shows an example of an algorithm (calculation procedure) for ellipse addition in the Projective coordinate system using a pseudo inverse element calculation and its calculation cost. FIG. 9 shows an example of an algorithm (calculation procedure) for elliptic doubling in the Projective coordinate system and its operation cost, and FIG. 10 shows an algorithm (calculation procedure) for ellipse doubling in the Projective coordinate system using a pseudo-inverse operation. An example and its calculation cost are shown.
FIG. 11 shows an example of an algorithm (calculation procedure) for elliptic addition in the Chudnovsky coordinate system and its operation cost, and FIG. 12 shows an example of an algorithm (calculation procedure) for ellipse addition in the Chudnovsky coordinate system using a pseudo-inverse operation. FIG. 13 shows an example of an algorithm for doubling an ellipse in the Chudnovsky coordinate system (calculation procedure) and its operation cost. FIG. 14 shows an algorithm for doubling an ellipse in the Chudnovsky coordinate system using a pseudo inverse element operation (calculation procedure). ) And its calculation cost.
In each figure, the underlined portion represents a value that does not need to be calculated again because the calculation result appears once before that. For example, in the calculation procedure (a) Y ← X 2 X, (b) Z ← X 2 , X 2 is calculated when Y is obtained. should you use the value that had been stored without re-calculate the X 2.
In any case, as is apparent when the order m = 5, for example, it can be seen that the calculation costs of multiplication and square are reduced when the pseudo inverse element calculation is used as compared with the conventional method.

《実施形態》
続いて、本発明の具体的な実施形態を説明するが、下記の点について留意しておかなくてはならない。即ち、以上の各座標系の例から明らかなように、具体的な実施形態は座標系によって変わりえる。また、楕円加算および楕円2倍算の例から明らかなように、群演算の種類によっても具体的な実施形態は変わりえる。もちろん、代数曲線の種類などによっても具体的な実施形態は変わりえる。さらに、群演算アルゴリズムも適宜に変更可能であるから、これに応じて具体的な実施形態は変わりえる。さらには、本発明をコンピュータで実施する場合、演算処理はCPUで行われるのが通常であるから、CPUに実装されている命令セット(例えばSIMD〔Single Instruction/Multiple Data〕型命令の有無)によっても具体的な実施形態は変わりえる。
<Embodiment>
Subsequently, specific embodiments of the present invention will be described, but the following points should be noted. That is, as is clear from the above examples of each coordinate system, the specific embodiment can vary depending on the coordinate system. Further, as is apparent from the examples of ellipse addition and elliptic doubling, the specific embodiment may vary depending on the type of group operation. Of course, the specific embodiment may vary depending on the type of algebraic curve. Furthermore, since the group operation algorithm can be changed as appropriate, the specific embodiment can be changed accordingly. Furthermore, when the present invention is implemented by a computer, the arithmetic processing is usually performed by a CPU, so that it depends on an instruction set (for example, presence / absence of SIMD [Single Instruction / Multiple Data] type instruction) implemented in the CPU. However, specific embodiments may vary.

従って、ここでは擬似逆元演算を用いた群演算の一例を具体的に示すという観点から、次の条件を設定して具体的な実施形態を説明することにする。
(条件)
1.有限体上定義された代数曲線を、有限体GF(q)〔qは素数あるいは素数の冪、mはm>1の整数とする。〕上定義された楕円曲線とする。
2.有限可換群は、上記楕円曲線の有理点集合E(GF(q))とする。
3.群演算は、楕円2倍算とする。
4.楕円2倍算公式は、Affine座標系のワイエルシュトラス形式において、標数q≠2且つq≠3且つ4a+27b≠0とした場合のもの、つまり式(2)でP=Qとした場合のものとする。
5.射影座標系は、Jacobian座標系とする。
要するに、図6に示したアルゴリズムを実行する実施形態とする。
Therefore, from the viewpoint of specifically showing an example of a group operation using a pseudo inverse element operation, a specific embodiment will be described with the following conditions set.
(conditions)
1. An algebraic curve defined on a finite field is defined as a finite field GF (q m ) [q is a prime number or a power of a prime number, and m is an integer of m> 1. ] The elliptic curve defined above is used.
2. The finite commutative group is a set of rational points E (GF (q m )) of the elliptic curve.
3. The group operation is elliptical doubling.
4). The elliptic doubling formula is the one in the Weierstrass format of the Affine coordinate system when the characteristics q ≠ 2, q ≠ 3, and 4a 3 + 27b 2 ≠ 0, that is, P = Q in equation (2). Shall be the case.
5. The projective coordinate system is the Jacobian coordinate system.
In short, the embodiment executes the algorithm shown in FIG.

実施形態で説明する有限可換群演算装置の細部においては、整数論における数値計算処理が必要となる場合があるが、整数論における数値計算処理自体は、公知技術と同様にして達成されるので、その演算処理方法などの詳細な説明は省略する(この点の技術水準を示す整数論における数値計算処理が可能なソフトウェアとしては、例えばPARI/GP、KANT/KASHなどが挙げられる。PARI/GPについては、例えばインターネット〈URL: http://pari.math.u-bordeaux.fr/〉[平成18年4月12日検索]を参照のこと。KANT/KASHについては、例えばインターネット〈URL: http://www.math.tu-berlin.de/algebra/〉[平成18年4月12日検索]を参照のこと。)。
また、この点に関する文献として、参考文献2を挙げることができる。
(参考文献2) H. Cohen, "A Course in Computational Algebraic Number Theory", GTM 138, Springer-Verlag, 1993.
In the details of the finite commutative group computing device described in the embodiment, numerical calculation processing in number theory may be required, but numerical calculation processing in number theory itself is achieved in the same manner as in the known art. Detailed description of the arithmetic processing method and the like will be omitted (software that can perform numerical calculation processing in number theory indicating the technical level of this point includes, for example, PARI / GP, KANT / KASH, etc. PARI / GP. For example, refer to the Internet <URL: http://pari.math.u-bordeaux.fr/> [searched on April 12, 2006.] For KANT / KASH, for example, the Internet <URL: http (See http://www.math.tu-berlin.de/algebra/> [Search April 12, 2006]).
Reference literature 2 can be cited as a literature relating to this point.
(Reference 2) H. Cohen, "A Course in Computational Algebraic Number Theory", GTM 138, Springer-Verlag, 1993.

実施形態について、図面を参照しながら説明する。
<有限可換群演算装置>
図15に例示するように、有限可換群演算装置(1)は、キーボードなどが接続可能な入力部(11)、液晶ディスプレイなどが接続可能な出力部(12)、CPU(Central Processing Unit;14)〔キャッシュメモリやレジスタ(19)などを備えていてもよい。〕、メモリであるRAM(Random Access Memory)(15)、ROM(Read Only Memory)(16)やハードディスクである外部記憶装置(17)、並びにこれらの入力部(11)、出力部(12)、CPU(14)、RAM(15)、ROM(16)、外部記憶装置(17)間のデータのやり取りが可能なように接続するバス(18)などを備えている。また必要に応じて、有限可換群演算装置(1)に、CD−ROMなどの記憶媒体を読み書きできる装置(ドライブ)などを設けるとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
Embodiments will be described with reference to the drawings.
<Fine commutative group computing device>
As illustrated in FIG. 15, the finite commutative group computing device (1) includes an input unit (11) to which a keyboard or the like can be connected, an output unit (12) to which a liquid crystal display or the like can be connected, a CPU (Central Processing Unit; 14) [A cache memory or a register (19) may be provided. RAM (Random Access Memory) (15), ROM (Read Only Memory) (16) and external storage device (17) which is a hard disk, and these input unit (11), output unit (12), A CPU (14), a RAM (15), a ROM (16), a bus (18) connected so as to exchange data between the external storage devices (17), and the like are provided. If necessary, the finite commutative group computing device (1) may be provided with a device (drive) that can read and write a storage medium such as a CD-ROM. A physical entity having such hardware resources includes a general-purpose computer.

有限可換群演算装置(1)の外部記憶装置(17)には、有限可換群演算のためのプログラムおよびこのプログラムの処理において必要となるデータなどが保存記憶されている。また、これらのプログラムの処理によって得られるデータなどは、RAM(15)やレジスタ(19)などに適宜に保存記憶される。以下、演算結果やその格納領域のアドレスなどを記憶するRAM(15)やレジスタ(19)などの装置を単に「記憶部」と呼ぶことにする。   The external storage device (17) of the finite commutative group computing device (1) stores and stores a program for the finite commutative group computing and data necessary for processing of this program. Further, data obtained by the processing of these programs is appropriately stored and stored in the RAM (15), the register (19) or the like. Hereinafter, devices such as the RAM (15) and the register (19) for storing the calculation result and the address of the storage area will be simply referred to as “storage unit”.

外部記憶装置(17)には、擬似逆元を算出するためのプログラム、補擬似逆元を算出するためのプログラム、有限体上乗算の演算結果を算出するためのプログラム、有限体上自乗の演算結果を算出するためのプログラム、有限体上加算あるいは減算あるいは1/2倍算の演算結果を算出するためのプログラムが保存記憶されている。その他、これらのプログラムに基づく処理を制御するための制御プログラムも適宜に保存しておく。また、外部記憶装置(17)には、有限可換群の元Pの座標値(X,Y,z)および楕円曲線の係数aが保存記憶されているとする。 The external storage device (17) includes a program for calculating a pseudo-inverse element, a program for calculating a complementary pseudo-inverse element, a program for calculating an operation result of multiplication on a finite field, and an operation of square on a finite field. A program for calculating a result and a program for calculating a calculation result of addition, subtraction or ½ multiplication on a finite field are stored and stored. In addition, a control program for controlling processing based on these programs is also stored as appropriate. Further, it is assumed that the external storage device (17) stores and stores the coordinate values (X 1 , Y 1 , z 1 ) of the element P of the finite commutative group and the coefficient a of the elliptic curve.

有限可換群演算装置(1)では、外部記憶装置(17)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じて記憶部(20)に読み込まれて、CPU(14)で解釈実行・処理される。この結果、CPU(14)が所定の機能(擬似逆元演算部、補擬似逆元演算部、乗算演算部、自乗演算部、加算減算半倍算演算部、制御部)を実現することで有限可換群演算が実現される。   In the finite commutative group computing device (1), each program stored in the external storage device (17) and data necessary for processing of each program are read into the storage unit (20) as necessary, and the CPU ( 14) Interpretation is executed and processed. As a result, the CPU (14) is finite by realizing predetermined functions (pseudo inverse element calculation unit, complementary pseudo inverse element calculation unit, multiplication calculation unit, square calculation unit, addition / subtraction half multiplication calculation unit, control unit). A commutative group operation is realized.

<実施形態の有限可換群演算処理>
次に、図16〜図18を参照して、有限可換群演算装置(1)における有限可換群演算処理の流れを叙述的に説明する。なお、外部記憶装置(17)に保存された有限可換群の元Pの座標値(X,Y,z)および係数aは、制御部(190)の制御によって、予め記憶部(20)に読み込まれて保存されているとする。以後、「記憶部から○○を読み込む」旨の説明をした場合は、「記憶部において○○が格納されている所定の格納領域から○○を読み込む」ことを意味するとする。
制御部(190)は、下記のアルゴリズムの処理を実行する制御を行う。
<Fine Commutative Group Arithmetic Processing of Embodiment>
Next, the flow of the finite commutative group computation process in the finite commutative group computation device (1) will be described descriptively with reference to FIGS. The coordinate values (X 1 , Y 1 , z 1 ) and coefficient a of the element P of the finite commutative group stored in the external storage device (17) are stored in advance in the storage unit (190) under the control of the control unit (190). 20) is read and saved. Hereinafter, when it is described that “reads XX from the storage unit”, it means “read XX from a predetermined storage area in which XX is stored in the storage unit”.
A control part (190) performs control which performs the process of the following algorithm.

[図6の1番目の演算ステップ]
Λ←v(2Y)・(3X +az )の演算を行う。この演算は、Λ←v(Y+Y)・{(X +X +X )+a・(z ・z )}なる演算と同じである〔但し、記号・は乗算を表す。以下同様。〕。ここでは、2Yを2・Yなる乗算で求めるのではなくY+Yなる加算で求め、3X を3・X なる乗算で求めるのではなくX +X +X なる加算で求め、z をz・z・z・zなる乗算で求めるのではなくz ・z あるいは(z なる演算で求めるなど、演算コストを低減する工夫が行われていることに留意しなければならない〔図6の2番目以降の演算ステップについても同様である。〕。
[First calculation step in FIG. 6]
Λ n ← v (2Y 1 ) · (3X 1 2 + az 1 4 ) is calculated. This operation is the same as the operation of Λ n ← v (Y 1 + Y 1 ) · {(X 1 2 + X 1 2 + X 1 2 ) + a · (z 1 2 · z 1 2 )}. Represents multiplication. The same applies below. ]. Here, 2Y 1 is not obtained by multiplication of 2 · Y 1 but instead of addition of Y 1 + Y 1 , and 3X 1 2 is not obtained by multiplication of 3 · X 1 2 but X 1 2 + X 1 2 + X 1 2 is calculated by adding 2 and z 1 4 is not calculated by multiplication of z 1 · z 1 · z 1 · z 1 , but by calculation of z 1 2 · z 1 2 or (z 1 2 ) 2. It should be noted that a device for reducing the above is performed [the same applies to the second and subsequent calculation steps in FIG. 6. ].

まず、自乗演算部(141)は、記憶部(20)からXを読み込んでX・Xなる演算を行ない〔1Sの演算コスト〕、この演算結果X を記憶部(20)の所定領域に格納する(ステップS1)。なお、図17右側には、各ステップの段階で記憶部(20)に格納されている値を示すことにする。但し、常に各ステップで得られた値を格納しなければならない趣旨ではなく、後の演算に用いる必要がない値は適宜の段階で記憶部(20)の格納領域から解放することができる。 First, square operation unit (141) reads the X 1 from the storage unit (20) X 1 · X 1 becomes performs computation [calculation cost 1S], the storage unit the result of the calculation X 1 2 (20) Store in a predetermined area (step S1). Note that the values stored in the storage unit (20) at the stage of each step are shown on the right side of FIG. However, this does not mean that the value obtained in each step must be stored at all times, and a value that does not need to be used in the subsequent calculation can be released from the storage area of the storage unit (20) at an appropriate stage.

また、自乗演算部(141)は、記憶部(20)からzを読み込んでz・zなる演算を行ない〔部分体上自乗の演算コスト〕、この演算結果z を記憶部(20)の所定領域に格納する(ステップS2)。 Further, the square calculation unit (141) reads z 1 from the storage unit (20) and performs the calculation z 1 · z 1 [calculation cost of square on partial body], and stores the calculation result z 1 2 in the storage unit ( 20) in the predetermined area (step S2).

次に、加算減算半倍算演算部(142)は、記憶部(20)からYを読み込んでY+Yなる演算を行ない〔加算の演算コスト〕、この演算結果2Yを記憶部(20)の所定領域に格納する(ステップS3)。 Then, the addition subtraction semi doubling calculation unit (142) reads the Y 1 from the storage unit (20) Y 1 + Y 1 becomes performs computation [calculation cost of the addition], the storage unit the result of the calculation 2Y 1 ( 20) (step S3).

また、加算減算半倍算演算部(142)は、記憶部(20)からX を読み込んでX +X なる演算を行ない〔加算の演算コスト〕、この演算結果2X を記憶部(20)の所定領域に格納する(ステップS4)。 The addition subtraction semi doubling calculation unit (142) reads the X 1 2 from the storage unit (20) X 1 2 + X 1 2 becomes performs computation [calculation cost of the addition], the result of the calculation 2X 1 2 It stores in a predetermined area of the storage unit (20) (step S4).

さらに、加算減算半倍算演算部(142)は、記憶部(20)から2X を読み込んで2X +X なる演算を行ない〔加算の演算コスト〕、この演算結果3X を記憶部(20)の所定領域に格納する(ステップS5)。 Furthermore, the addition subtraction semi doubling calculation unit (142), 2X 1 2 + X 1 2 becomes performs computation storage unit from (20) reads 2X 1 2 [computational cost of addition], the result of the calculation 3X 1 2 Store in a predetermined area of the storage unit (20) (step S5).

次いで、自乗演算部(141)は、記憶部(20)からz を読み込んでz ・z なる演算を行ない〔部分体上自乗の演算コスト〕、この演算結果z を記憶部(20)の所定領域に格納する(ステップS6)。 Next, the square calculation unit (141) reads z 1 2 from the storage unit (20) and performs calculation of z 1 2 · z 1 2 [calculation cost of square on partial body], and the calculation result z 1 4 is obtained. The data is stored in a predetermined area of the storage unit (20) (step S6).

さらに、自乗演算部(141)は、記憶部(20)から係数aおよびz を読み込んでa・z なる演算を行ない〔部分体上乗算の演算コスト〕、この演算結果az を記憶部(20)の所定領域に格納する(ステップS7)。 Further, the square calculation unit (141) reads the coefficients a and z 1 4 from the storage unit (20) and performs the calculation of a · z 1 4 [the calculation cost of multiplication on a partial field], and the calculation result az 1 4 Is stored in a predetermined area of the storage unit (20) (step S7).

続いて、加算減算半倍算演算部(142)は、記憶部(20)から3X およびaz を読み込んで3X +az なる演算を行ない〔加算の演算コスト〕、この演算結果3X +az を記憶部(20)の所定領域に格納する(ステップS8)。 Subsequently, the addition subtraction semi doubling calculation unit (142), 3X 1 2 + az 1 4 consisting performs computation storage unit from (20) reads 3X 1 2 and az 1 4 [computational cost of the addition], this operation The result 3X 1 2 + az 1 4 is stored in a predetermined area of the storage unit (20) (step S8).

次に、擬似逆元演算部(143)は、記憶部(20)から2Yを読み込んで擬似逆元v(2Y)を算出し〔1Vの演算コスト〕、この結果v(2Y)を記憶部(20)の所定領域に格納する(ステップS9)。なお、擬似逆元v(2Y)の算出は既述のとおりである。例えば拡大体の次数m=5の場合であれば、式(29)に示したアルゴリズムで演算できる〔但し、式(29)のxを2Yに置換して理解すること。〕。 Next, the pseudo inverse element calculation unit (143) reads 2Y 1 from the storage unit (20), calculates the pseudo inverse element v (2Y 1 ) [calculation cost of 1V], and obtains the result v (2Y 1 ). The data is stored in a predetermined area of the storage unit (20) (step S9). The calculation of the pseudo inverse element v (2Y 1 ) is as described above. For example, in the case of degree m = 5 of the extension field can be calculated by the algorithm shown in equation (29) was prepared in which to understand by replacing the x in the formula (29) to 2Y 1. ].

続いて、乗算演算部(144)は、記憶部(20)からv(2Y)および3X +az を読み込んでv(2Y)・(3X +az )なる演算を行ない〔1Mの演算コスト〕、この演算結果v(2Y)・(3X +az )を記憶部(20)の所定領域に格納する(ステップS10)。ここで得られた演算結果v(2Y)・(3X +az )がΛに相当することとなる。 Subsequently, the multiplication operation unit (144) reads v (2Y 1 ) and 3X 1 2 + az 1 4 from the storage unit (20) and performs an operation of v (2Y 1 ) · (3X 1 2 + az 1 4 ). [1M calculation cost], and this calculation result v (2Y 1 ) · (3X 1 2 + az 1 4 ) is stored in a predetermined area of the storage unit (20) (step S10). The calculation result v (2Y 1 ) · (3X 1 2 + az 1 4 ) obtained here corresponds to Λ n .

[図6の2番目の演算ステップ]
λ←N(2Y)の演算を行う。この演算は、λ←N(Y+Y)なる演算と同じである。ここで留意しなければならないことは、演算Y+Yをする必要がないということである。何故なら、上記ステップS3で演算結果2Yを得ているからである。そこで、図6の2番目の演算ステップでは、次の演算を行えばよいことになる。
[Second calculation step in FIG. 6]
Calculation of λ d ← N (2Y 1 ) is performed. This calculation is the same as the calculation of λ d ← N (Y 1 + Y 1 ). It should be noted here that the operation Y 1 + Y 1 does not have to be performed. Is because to obtain the operation result 2Y 1 in step S3. Therefore, in the second calculation step of FIG. 6, the following calculation is performed.

即ち、補擬似逆元演算部(145)は、記憶部(20)から2Yを読み込んで補擬似逆元N(2Y)を算出し〔補擬似逆元の演算コスト〕、この結果N(2Y)を記憶部(20)の所定領域に格納する(ステップS11)。なお、補擬似逆元N(2Y)の算出は既述のとおりである。例えば拡大体の次数m=5の場合であれば、式(29)に示したアルゴリズムで演算できる〔但し、式(29)のxを2Yに置換して理解すること。〕。ここで得られた演算結果N(2Y)がλに相当することとなる。 That is, the complementary pseudo-inverse operation unit (145) reads 2Y 1 from the storage unit (20), calculates the complementary pseudo-inverse element N (2Y 1 ) [complementary pseudo-inverse operation cost], and the result N ( 2Y 1 ) is stored in a predetermined area of the storage unit (20) (step S11). The calculation of the complementary pseudo inverse element N (2Y 1 ) is as described above. For example, in the case of degree m = 5 of the extension field can be calculated by the algorithm shown in equation (29) was prepared in which to understand by replacing the x in the formula (29) to 2Y 1. ]. The calculation result N (2Y 1 ) obtained here corresponds to λ d .

[図6の3番目以降の演算ステップ]
図6の3番目以降の演算ステップも、上記で説明した演算処理と同様にすればよい。つまり、3番目の演算ステップでは、z←λ・zなる演算を行う。4番目の演算ステップでは、X"←X・λ およびY"←Y・λ =Y・λ ・λなる演算を行う(λ は再計算する必要が無い。)。5番目の演算ステップでは、X←Λ −(X"+X")なる演算を行う。6番目の演算ステップでは、Y←Λ・(X"−X)−Y"なる演算を行う。これらの演算は何れも、自乗演算部(141)、加算減算半倍算演算部(142)、乗算演算部(144)によって実現される。各演算部の処理は、図6の1番目および2番目の演算ステップで説明したのと同様である(図17のステップS11以降は省略している。)。
[The third and subsequent calculation steps in FIG. 6]
The third and subsequent calculation steps in FIG. 6 may be the same as the calculation process described above. That is, in the third calculation step, the calculation z 3 ← λ d · z 1 is performed. In the fourth calculation step, X " 1 ← X 1 · λ d 2 and Y" 1 ← Y 1 · λ d 3 = Y 1 · λ d 2 · λ d are calculated (λ d 2 is recalculated) No need.) In the fifth operation step, an operation of X 3 ← Λ n 2 − (X ″ 1 + X ″ 1 ) is performed. In the sixth operation step, an operation of Y 3 ← Λ n · (X ″ 1 −X 3 ) −Y ″ 1 is performed. All of these operations are realized by a square operation unit (141), an addition / subtraction half-multiplication operation unit (142), and a multiplication operation unit (144). The processing of each calculation unit is the same as that described in the first and second calculation steps in FIG. 6 (step S11 and subsequent steps in FIG. 17 are omitted).

次に、上記(条件)のうち条件3.を「群演算は、楕円加算とする。」に変更した場合の有限可換群演算処理について説明する。つまり、図5に示したアルゴリズムを実行する実施形態である。
図5の各演算ステップも、上記実施形態で説明した演算処理と同様にすればよい。
1番目の演算ステップでは、z′←z・zなる演算を行う。
2番目の演算ステップでは、X′←X・z およびY′←Y・z =Y・z ・zなる演算を行う(z は再計算する必要が無い。)。
3番目の演算ステップでは、X′←X・z およびY′←Y・z =Y・z ・zなる演算を行う(z は再計算する必要が無い。)。
4番目の演算ステップでは、Λ←v(X′−X′)・(Y′−Y′)なる演算を行う。この演算は、v(X′−X′)およびY′−Y′をそれぞれ求めて乗算する。
5番目の演算ステップでは、λ←N(X′−X′)なる演算を行う。
6番目の演算ステップでは、z←λ・z′なる演算を行う。
7番目の演算ステップでは、X"←X′・λ およびY"←Y′・λ =Y′・λ ・λなる演算を行う(λ は再計算する必要が無い。)。
8番目の演算ステップでは、X"←X′・λ なる演算を行う(λ は再計算する必要が無い。)。
9番目の演算ステップでは、X←Λ −(X"+X")なる演算を行う。
10番目の演算ステップでは、Y←Λ・(X"−X)−Y"なる演算を行う。
Next, among the above (conditions), condition 3. The finite commutative group calculation process when “group operation is ellipse addition” will be described. That is, the embodiment executes the algorithm shown in FIG.
Each calculation step in FIG. 5 may be the same as the calculation process described in the above embodiment.
In the first calculation step, the calculation z ′ 3 ← z 1 · z 2 is performed.
In the second operation step, X '1 ← X 1 · z 2 2 and Y' 1 ← Y 1 · z 2 3 = Y 1 · z 2 2 · z 2 comprising performing a calculation (z 2 2 recalculates No need.)
In the third calculation step, X ′ 2 ← X 2 · z 1 2 and Y ′ 2 ← Y 2 · z 1 3 = Y 2 · z 1 2 · z 1 are calculated (z 1 2 is recalculated. No need.)
In the fourth operation step, an operation of Λ n ← v (X ′ 2 −X ′ 1 ) · (Y ′ 2 −Y ′ 1 ) is performed. In this operation, v (X ′ 2 −X ′ 1 ) and Y ′ 2 −Y ′ 1 are respectively obtained and multiplied.
In the fifth calculation step, a calculation of λ d ← N (X ′ 2 −X ′ 1 ) is performed.
In the sixth operation step, an operation of z 3 ← λ d · z ′ 3 is performed.
In the seventh calculation step, X " 1 ← X ' 1 · λ d 2 and Y" 1 ← Y' 1 · λ d 3 = Y ' 1 · λ d 2 · λ d are calculated (λ d 2 is There is no need to recalculate.)
In the eighth calculation step, the calculation X ″ 2 ← X ′ 2 · λ d 2 is performed (λ d 2 does not need to be recalculated).
In the ninth operation step, an operation of X 3 ← Λ n 2 − (X ″ 1 + X ″ 1 ) is performed.
In the tenth calculation step, the calculation Y 3 ← Λ n · (X ″ 1 −X 3 ) −Y ″ is performed.

これらの演算は何れも、楕円2倍算を例とした実施形態で説明したのと同様に、自乗演算部(141)、加算減算半倍算演算部(142)、擬似逆元演算部(143)、乗算演算部(144)、補擬似逆元演算部(145)によって実現される。また、楕円加算を例としたこの実施形態での各演算部の処理も、楕円2倍算を例とした実施形態で説明したのと同様である。
図19に、擬似逆元演算を用いたJacobian座標系における楕円加算の有限可換群演算処理の処理フロー(全体)を示す。
In any of these operations, as described in the embodiment taking elliptic doubling as an example, the square operation unit (141), the addition / subtraction half multiplication operation unit (142), and the pseudo inverse element operation unit (143 ), A multiplication operation unit (144), and a complementary pseudo-inverse operation unit (145). In addition, the processing of each calculation unit in this embodiment taking ellipse addition as an example is the same as that described in the embodiment taking ellipse doubling as an example.
FIG. 19 shows a processing flow (overall) of the elliptic addition finite commutative group calculation process in the Jacobian coordinate system using the pseudo inverse element calculation.

以上の実施形態の他、本発明である有限可換群演算装置・方法は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記有限可換群演算装置・方法において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。   In addition to the above embodiments, the finite commutative group computing device / method according to the present invention is not limited to the above-described embodiments, and can be appropriately changed without departing from the spirit of the present invention. In addition, the processing described in the above finite commutative group computing device / method is not only executed in time series according to the order of description, but also in parallel or individually according to the processing capacity of the device that executes the processing or as necessary. It may be executed.

また、上記有限可換群演算装置における処理機能をコンピュータによって実現する場合、有限可換群演算装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記有限可換群演算装置における処理機能がコンピュータ上で実現される。   When the processing functions in the finite commutative group computing device are realized by a computer, the processing contents of the functions that the finite commutative group computing device should have are described by a program. And the processing function in the said finite commutative group arithmetic unit is implement | achieved on a computer by running this program with a computer.

この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。   The program describing the processing contents can be recorded on a computer-readable recording medium. The computer-readable recording medium may be any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory. Specifically, for example, as a magnetic recording device, a hard disk device, a flexible disk, a magnetic tape or the like, and as an optical disk, a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only). Memory), CD-R (Recordable) / RW (ReWritable), etc., magneto-optical recording medium, MO (Magneto-Optical disc), etc., semiconductor memory, EEP-ROM (Electronically Erasable and Programmable-Read Only Memory), etc. Can be used.

また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。   The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.

このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。   A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, the computer reads a program stored in its own recording medium and executes a process according to the read program. As another execution form of the program, the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good. Note that the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).

また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、有限可換群演算装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。   In this embodiment, the finite commutative group computing device is configured by executing a predetermined program on a computer. However, at least a part of these processing contents may be realized by hardware. Good.

本発明は、有限体上定義された代数曲線暗号の演算などに有用である。   The present invention is useful for operations such as algebraic curve cryptography defined on a finite field.

Affine座標における楕円加算のアルゴリズムの一例と演算コストを示した図。The figure which showed an example of the algorithm of the ellipse addition in Affine coordinate, and calculation cost. Affine座標における楕円2倍算のアルゴリズムの一例と演算コストを示した図。The figure which showed an example of the algorithm of the ellipse doubling in Affine coordinate, and calculation cost. Jacobian座標における楕円加算のアルゴリズムの一例と演算コストを示した図。The figure which showed an example of the algorithm of the ellipse addition in Jacobian coordinates, and operation cost. Jacobian座標における楕円2倍算のアルゴリズムの一例と演算コストを示した図。The figure which showed an example of the algorithm of the ellipse doubling in Jacobian coordinates, and calculation cost. 擬似逆元演算を用いたJacobian座標における楕円加算のアルゴリズムの一例と演算コストを示した図。The figure which showed an example of the algorithm of the ellipse addition in Jacobian coordinates using pseudo-inverse operation, and the operation cost. 擬似逆元演算を用いたJacobian座標における楕円2倍算のアルゴリズムの一例と演算コストを示した図。The figure which showed an example of the algorithm of the ellipse doubling in Jacobian coordinates using pseudo-inverse operation, and the operation cost. Projective座標における楕円加算のアルゴリズムの一例と演算コストを示した図。The figure which showed an example of the algorithm of the ellipse addition in Projective coordinates, and calculation cost. 擬似逆元演算を用いたProjective座標における楕円加算のアルゴリズムの一例と演算コストを示した図。The figure which showed an example of the algorithm of the ellipse addition in the Projective coordinate using pseudo-inverse calculation, and calculation cost. Projective座標における楕円2倍算のアルゴリズムの一例と演算コストを示した図。The figure which showed an example of the algorithm of the ellipse doubling in Projective coordinates, and calculation cost. 擬似逆元演算を用いたProjective座標における楕円2倍算のアルゴリズムの一例と演算コストを示した図。The figure which showed an example of the algorithm of the ellipse doubling in Projective coordinates using pseudo-inverse calculation, and calculation cost. Chudnovsky座標における楕円加算のアルゴリズムの一例と演算コストを示した図。The figure which showed an example of the algorithm of the ellipse addition in Chudnovsky coordinate, and operation cost. 擬似逆元演算を用いたChudnovsky座標における楕円加算のアルゴリズムの一例と演算コストを示した図。The figure which showed an example of the algorithm of the ellipse addition in Chudnovsky coordinate using a pseudo-inverse operation, and calculation cost. Chudnovsky座標における楕円2倍算のアルゴリズムの一例と演算コストを示した図。The figure which showed an example of the algorithm of the ellipse doubling in Chudnovsky coordinate, and operation cost. 擬似逆元演算を用いたChudnovsky座標における楕円2倍算のアルゴリズムの一例と演算コストを示した図。The figure which showed an example of the algorithm of the ellipse doubling in the Chudnovsky coordinate using a pseudo-inverse operation, and calculation cost. 有限可換群演算装置のハードウェア構成例を示す図。The figure which shows the hardware structural example of a finite commutative group arithmetic unit. 有限可換群演算装置の機能構成例を示す図。The figure which shows the function structural example of a finite commutative group calculating apparatus. 有限可換群演算処理(擬似逆元演算を用いたJacobian座標系における楕円2倍算の例)の処理フロー(一部)および保存記憶されている演算結果を示す図。The figure which shows the processing flow (part) of the finite commutative group arithmetic processing (example of the elliptic doubling in the Jacobian coordinate system using the pseudo-inverse arithmetic) and the operation result stored and stored. 有限可換群演算処理(擬似逆元演算を用いたJacobian座標系における楕円2倍算の例)の処理フロー(全体)を示す図。The figure which shows the processing flow (the whole) of finite commutative group arithmetic processing (example of the elliptic doubling in the Jacobian coordinate system using pseudo-inverse arithmetic). 有限可換群演算処理(擬似逆元演算を用いたJacobian座標系における楕円加算の例)の処理フロー(全体)を示す図。The figure which shows the processing flow (the whole) of finite commutative group operation processing (example of the ellipse addition in the Jacobian coordinate system using pseudo-inverse operation).

符号の説明Explanation of symbols

1 有限可換群演算装置
141 自乗演算部
142 加算減算半倍算演算部
143 擬似逆元演算部
144 乗算演算部
145 補擬似逆元演算部
190 制御部
1 finite commutative group computing device 141 square computing unit 142 addition subtraction half multiplication computing unit 143 pseudo inverse element computing unit 144 multiplication computing unit 145 complementary pseudo inverse element computing unit 190 control unit

Claims (9)

有限体GF(q)〔qは素数または素数の冪、mはm>1の整数とする。〕上定義された代数曲線〔射影座標系で表現されるとする。〕上の点が成す有限可換群の元の群演算を、有限体GF(q)上の除算に表れる除数および被除数を独立に演算するとし、除数を拡大座標〔上記射影座標系の座標のうちAffine座標系の座標を除く座標〕に関連付けることで、上記群演算における除数の逆元演算を回避して行う有限可換群演算方法であって、
擬似逆元演算手段が、有限体GF(q)の元pに対して、N(p)=v(p)×p〔但し、N(p)は有限体GF(q)の部分体の元とし、v(p)は有限体GF(q)の元とする。〕を満たす擬似逆元v(p)を算出する擬似逆元演算ステップと、
補擬似逆元演算手段が、上記補擬似逆元N(p)を算出する補擬似逆元演算ステップとを有し、
上記擬似逆元を上記被除数に含め、上記補擬似逆元を上記除数とする
有限可換群演算方法。
Finite field GF (q m ) [q is a prime number or power of prime number, and m is an integer of m> 1. ] Algebraic curve defined above [suppose that it is expressed in a projective coordinate system. ] The original group operation of the finite commutative group formed by the above points is calculated by dividing the divisor and the dividend appearing in the division on the finite field GF (q m ) independently, and the divisor is expanded coordinates [coordinates of the above projective coordinate system] Is a finite commutative group operation method that avoids the inverse operation of the divisor in the above group operation by associating it with the coordinates excluding the coordinates of the Affine coordinate system],
Pseudo inverse operation means, the original p of a finite field GF (q m), N ( p) = v (p) × p [where, N (p) is part of the finite field GF (q m) And v (p) is an element of a finite field GF (q m ). A pseudo inverse element calculation step for calculating a pseudo inverse element v (p) satisfying
A complementary pseudo-inverse operation means for calculating the complementary pseudo-inverse element N (p),
A finite commutative group calculation method in which the pseudo inverse element is included in the dividend and the complementary pseudo inverse element is the divisor.
射影座標系で表現された代数曲線上の点の拡大座標を有限体GF(q)の部分体の元で与える
請求項1に記載の有限可換群演算方法。
The finite commutative group calculation method according to claim 1, wherein the enlarged coordinates of a point on the algebraic curve expressed in a projective coordinate system are given under a subfield of a finite field GF (q m ).
上記補擬似逆元N(p)は、有限体GF(p)上の元pのノルムである
請求項1または請求項2に記載の有限可換群演算方法。
The finite commutative group operation method according to claim 1, wherein the complementary pseudo-inverse element N (p) is a norm of an element p on a finite field GF (p m ).
上記補擬似逆元N(p)は式(c1)で表され、
Figure 2007286380
上記擬似逆元v(p)は式(c2)で表される
Figure 2007286380
請求項3に記載の有限可換群演算方法。
The complementary pseudo-inverse element N (p) is expressed by the equation (c1),
Figure 2007286380
The pseudo inverse element v (p) is expressed by the equation (c2).
Figure 2007286380
The finite commutative group calculation method according to claim 3.
補擬似逆元演算手段が、式(c2)で表される擬似逆元v(p)の各項pθ〔但しθ=qとする。〕をフロベニウス写像によって求める
請求項4に記載の有限可換群演算方法。
The complementary pseudo-inverse element calculating means sets each term p θ [where θ = q i] of the pseudo-inverse element v (p) represented by Expression (c2). ] Is calculated by Frobenius map, The finite commutative group calculation method of Claim 4.
式(c2)で表される擬似逆元v(p)を式(c3)と表現し、
Figure 2007286380
補擬似逆元演算手段が、式(c3)に表れるpを加算連鎖によって求める
請求項5に記載の有限可換群演算方法。
The pseudo inverse element v (p) represented by the expression (c2) is expressed as an expression (c3),
Figure 2007286380
Complement pseudo inverse operation means, finite-friendly換群calculation method according to claim 5 obtained by adding a chain of p u appearing in equation (c3).
上記群演算は、加算演算および/または2倍演算である
請求項1から請求項6のいずれかに記載の有限可換群演算方法。
7. The finite commutative group operation method according to claim 1, wherein the group operation is an addition operation and / or a double operation.
有限体GF(q)〔qは素数または素数の冪、mはm>1の整数とする。〕上定義された代数曲線〔射影座標系で表現されるとする。〕上の点が成す有限可換群の元の群演算を、有限体GF(q)上の除算に表れる除数および被除数を独立に演算するとし、除数を拡大座標〔上記射影座標系の座標のうちAffine座標系の座標を除く座標〕に関連付けることで、上記群演算における除数の逆元演算を回避して行う有限可換群演算装置であって、
有限体GF(q)の元pに対して、N(p)=v(p)×p〔但し、N(p)は有限体GF(q)の部分体の元とし、v(p)は有限体GF(q)の元とする。〕を満たす擬似逆元v(p)を算出する擬似逆元演算手段と、
上記補擬似逆元N(p)を算出する擬似逆元演算手段とを備え、
上記擬似逆元を上記被除数に含め、上記補擬似逆元を上記除数とする
有限可換群演算装置。
Finite field GF (q m ) [q is a prime number or power of prime number, and m is an integer of m> 1. ] Algebraic curve defined above [suppose that it is expressed in a projective coordinate system. ] The original group operation of the finite commutative group formed by the above points is calculated by dividing the divisor and the dividend appearing in the division on the finite field GF (q m ) independently, and the divisor is expanded coordinates [coordinates of the above projective coordinate system] Is a finite commutative group operation device that avoids the inverse operation of the divisor in the group operation by associating it with the coordinates excluding the coordinates of the Affine coordinate system],
For an element p of a finite field GF (q m ), N (p) = v (p) × p [where N (p) is an element of a subfield of the finite field GF (q m ) and v (p ) Is an element of a finite field GF (q m ). Pseudo inverse element calculation means for calculating a pseudo inverse element v (p) satisfying
Pseudo inverse element calculation means for calculating the complementary pseudo inverse element N (p),
A finite commutative group computing device including the pseudo inverse element in the dividend and the complementary pseudo inverse element as the divisor.
コンピュータに請求項1から請求項7のいずれかに記載の有限可換群演算方法を実行させるためのプログラム。       A program for causing a computer to execute the finite commutative group calculation method according to any one of claims 1 to 7.
JP2006114046A 2006-04-18 2006-04-18 Finite commutative group operation method, apparatus and program thereof Active JP4621162B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006114046A JP4621162B2 (en) 2006-04-18 2006-04-18 Finite commutative group operation method, apparatus and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006114046A JP4621162B2 (en) 2006-04-18 2006-04-18 Finite commutative group operation method, apparatus and program thereof

Publications (2)

Publication Number Publication Date
JP2007286380A true JP2007286380A (en) 2007-11-01
JP4621162B2 JP4621162B2 (en) 2011-01-26

Family

ID=38758200

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006114046A Active JP4621162B2 (en) 2006-04-18 2006-04-18 Finite commutative group operation method, apparatus and program thereof

Country Status (1)

Country Link
JP (1) JP4621162B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2887342A3 (en) * 2013-12-23 2015-07-29 Nxp B.V. Optimized hardware architecture and method for ECC point doubling using jacobian coordinates over short weierstrass curves
US9900154B2 (en) 2013-12-23 2018-02-20 Nxp B.V. Optimized hardward architecture and method for ECC point addition using mixed affine-jacobian coordinates over short weierstrass curves
US9979543B2 (en) 2013-12-23 2018-05-22 Nxp B.V. Optimized hardware architecture and method for ECC point doubling using jacobian coordinates over short weierstrass curves
JP2018538620A (en) * 2015-12-07 2018-12-27 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. Computing device and method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000284690A (en) * 1999-01-25 2000-10-13 Matsushita Electric Ind Co Ltd Device and method for calculating elliptic curve, device and method for calculating elliptic curve order, device and method for forming elliptic curve, elliptic curve application device, recording medium where elliptic curve calculating program is recorded, recording medium where elliptic curve order calculating program is recorded, and recording medium where elliptic curve forming program is recorded
US20020062330A1 (en) * 2000-09-19 2002-05-23 Christof Paar Method for efficient computation of odd characteristic extension fields

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000284690A (en) * 1999-01-25 2000-10-13 Matsushita Electric Ind Co Ltd Device and method for calculating elliptic curve, device and method for calculating elliptic curve order, device and method for forming elliptic curve, elliptic curve application device, recording medium where elliptic curve calculating program is recorded, recording medium where elliptic curve order calculating program is recorded, and recording medium where elliptic curve forming program is recorded
US20020062330A1 (en) * 2000-09-19 2002-05-23 Christof Paar Method for efficient computation of odd characteristic extension fields

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN7010002380, 小林 他, "Compressed Jacobian Coordinates", 2007年暗号と情報セキュリティシンポジウム, 200701, p.1−4 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2887342A3 (en) * 2013-12-23 2015-07-29 Nxp B.V. Optimized hardware architecture and method for ECC point doubling using jacobian coordinates over short weierstrass curves
US9900154B2 (en) 2013-12-23 2018-02-20 Nxp B.V. Optimized hardward architecture and method for ECC point addition using mixed affine-jacobian coordinates over short weierstrass curves
US9929862B2 (en) 2013-12-23 2018-03-27 Nxp B.V. Optimized hardware architecture and method for ECC point doubling using Jacobian coordinates over short Weierstrass curves
US9979543B2 (en) 2013-12-23 2018-05-22 Nxp B.V. Optimized hardware architecture and method for ECC point doubling using jacobian coordinates over short weierstrass curves
JP2018538620A (en) * 2015-12-07 2018-12-27 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. Computing device and method

Also Published As

Publication number Publication date
JP4621162B2 (en) 2011-01-26

Similar Documents

Publication Publication Date Title
Bailey et al. Efficient arithmetic in finite field extensions with application in elliptic curve cryptography
US8862651B2 (en) Method and apparatus for modulus reduction
CN104254833B (en) Mould exponentiation based on vector sum scalar
US8498411B1 (en) Using multiples above two with running totals and reference values other than 0 and 2 (window size) in elliptic curve cryptography scalar multiplication acceleration tables
Bos et al. Fast Arithmetic Modulo 2^ xp^ y±1
US20230254145A1 (en) System and method to improve efficiency in multiplicationladder-based cryptographic operations
JP4621162B2 (en) Finite commutative group operation method, apparatus and program thereof
JP4351987B2 (en) Montgomery conversion device, arithmetic device, IC card, encryption device, decryption device, and program
Halbutogullari et al. Parallel multiplication in GF (2 k) using polynomial residue arithmetic
Azarderakhsh et al. EdSIDH: supersingular isogeny Diffie-Hellman key exchange on Edwards curves
US8626811B2 (en) Method and apparatus for providing flexible bit-length moduli on a block Montgomery machine
Arazi et al. On calculating multiplicative inverses modulo $2^{m} $
Bos et al. Efficient modular multiplication
JP4202701B2 (en) Polynomial residue arithmetic unit, method and program
US20080270494A1 (en) Method for the Exponentiation or Scalar Multiplication of Elements
Ajeena The Graphs for Elliptic Curve Cryptography
Verma Efficient implementations of pairing-based cryptography on embedded systems
Chen et al. Quantum circuits for hyperelliptic curve discrete logarithms over the Mersenne prime fields
JP4752176B2 (en) Unidirectional function calculation method, apparatus and program
Zitouni et al. Implementing Cryptography Pairings over Ordinary Pairing-Friendly Curves of Type
JP2007503036A (en) Method for performing modular multiplication and method for performing Euclidean multiplication using 2N-bit numbers
Lou et al. Parallel exponentiation using common-multiplicand-multiplication and signed-digit-folding techniques
Mahboob et al. Faster polynomial basis finite field squaring and inversion for GF (2 m) with cryptographic software application
CN114706557A (en) ASIC chip and implementation method and device of Montgomery modular multiplication
JP3884853B2 (en) Power arithmetic unit

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100803

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100928

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

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

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

Free format text: PAYMENT UNTIL: 20131105

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4621162

Country of ref document: JP

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