JP2010210844A - Method, device, and program for efficiently generating point on elliptic curve - Google Patents

Method, device, and program for efficiently generating point on elliptic curve Download PDF

Info

Publication number
JP2010210844A
JP2010210844A JP2009055891A JP2009055891A JP2010210844A JP 2010210844 A JP2010210844 A JP 2010210844A JP 2009055891 A JP2009055891 A JP 2009055891A JP 2009055891 A JP2009055891 A JP 2009055891A JP 2010210844 A JP2010210844 A JP 2010210844A
Authority
JP
Japan
Prior art keywords
elliptic curve
point
rational
curve
finite field
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.)
Pending
Application number
JP2009055891A
Other languages
Japanese (ja)
Inventor
Hisanobu Sato
尚宜 佐藤
Keisuke Hakuta
恵輔 伯田
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009055891A priority Critical patent/JP2010210844A/en
Publication of JP2010210844A publication Critical patent/JP2010210844A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To achieve generation of points on an elliptic curve which can be applied to general elliptic curves without causing great variations in processing performance according to the input. <P>SOLUTION: A method for generating points on an elliptic curve is provided wherein a GF(q) rational point of a quadratic curve C defined on a predetermined finite field GF(q) (q: power of an odd prime number p) is generated from the elements of a finite set, a GF(q<SP>2</SP>) rational point of the elliptic curve E is generated from the generated GF(q) rational point of the quadratic curve C, and a GF(q) rational point of the elliptic curve E is generated from the GF(q<SP>2</SP>) rational point of the elliptic curve E and a part of the elements of the finite set. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、セキュリティ技術に係り、特に楕円曲線上の点を生成する処理技術に関する。   The present invention relates to a security technique, and more particularly to a processing technique for generating points on an elliptic curve.

デジタル署名(以下、署名)は電子データに対する印鑑の役割を果たす。署名対象の電子データに対し、署名者は秘密にしている署名鍵を用いて署名データを生成し、もとの電子データと共に検証者に送信する。検証者は上記電子データ、及び、公開されている検証鍵を用い、上記署名データが署名者によって生成されたかどうかを検証する。従って、署名データは署名鍵を保持する者しか生成できず、また有効に生成された署名データは署名検証時に「有効」として受け入れられ、そうでないものは「無効」として拒絶されるような仕組みになっていなければならない。   A digital signature (hereinafter referred to as a signature) serves as a seal for electronic data. For the electronic data to be signed, the signer generates signature data using a secret signature key, and transmits it to the verifier together with the original electronic data. The verifier uses the electronic data and the public verification key to verify whether the signature data is generated by the signer. Therefore, the signature data can be generated only by the person who holds the signature key, and the signature data that is generated effectively is accepted as “valid” at the time of signature verification, and the others are rejected as “invalid”. It must be.

上述の署名方法は1978年にR.Rivest、A.Shamir、L.Adlemanにより公開鍵暗号技術を用いて実現された。その後、署名の安全性を暗号学的に証明する安全性証明理論の構築及び整備、効率性向上の技術のみならず、プライバシ問題を考慮したグループ署名のような特殊機能をもつ署名などが盛んに研究されている。   The above-mentioned signature method was developed in 1978 by R.C. Rivest, A.M. Shamir, L .; Implemented by Adleman using public key cryptography. After that, not only the construction and maintenance of security proof theory that cryptographically proves the security of signatures, but also techniques for improving efficiency, as well as signatures with special functions such as group signatures that take privacy problems into account. It has been studied.

一般に、署名は任意長データを固定長データに圧縮するハッシュ関数と、数学関数を用いた公開鍵暗号プリミティブの組み合わせで構成されている。このような公開鍵暗号プリミティブのうち、有限体上定義された楕円曲線に基づくものは、素因数分解問題の困難性に基づくもの(RSA、Rabinなど)と比較して短い鍵長で同程度の安全性を達成でき、よって高速処理が可能であることから特に注目を集めている。   In general, a signature is composed of a combination of a hash function for compressing arbitrary length data into fixed length data and a public key cryptographic primitive using a mathematical function. Among these public key cryptographic primitives, those based on elliptic curves defined on a finite field have a shorter key length and the same level of security than those based on the difficulty of the prime factorization problem (RSA, Rabin, etc.) In particular, it is attracting attention because it can achieve high speed and thus high speed processing is possible.

楕円曲線を利用した暗号や署名はN.Koblitz、V.S.Millerにより提案された。一般に有限体GF(q)上で定義された楕円曲線のうちWeierstrass型と呼ばれるものは
=F(x)=x+ax+b,(a、bはともに有限体GF(q)の元) (式1)
の形の定義式で与えられる。上記で定義された楕円曲線に対し、(式1)を満たすGF(q)の元の組(x,y)のことをGF(q)有理点と呼ぶ。
Ciphers and signatures using elliptic curves are Koblitz, V.M. S. Proposed by Miller. In general, among elliptic curves defined on a finite field GF (q), a so-called Weierstrass type is y 2 = F (x) = x 3 + ax + b (both a and b are elements of a finite field GF (q)) ( Formula 1)
It is given by a definition formula of the form For the elliptic curve defined above, the original set (x, y) of GF (q) that satisfies (Expression 1) is called a GF (q) rational point.

近年、楕円曲線を用いた署名では長らく未解決であったtight security reductionを持つものも提案されている(例えば、非特許文献1参照。)。ここで、tight security reductionとは、署名を偽造する困難性と、その署名の構成要素である公開鍵暗号プリミティブが安全性の根拠とする数論問題(例えば、素因数分解問題、有限体の乗法群/有限体上定義された楕円曲線の離散対数問題など)を解くための困難性が同程度(等価)であることを意味する。   In recent years, signatures using elliptic curves have been proposed which have a high security reduction that has been unsolved for a long time (see, for example, Non-Patent Document 1). Here, the right security reduction is the difficulty of forging a signature, and the number theory problem (for example, prime factorization problem, multiplicative group of finite fields) based on the security of the public key cryptographic primitive that is a component of the signature. / It means that the difficulty for solving the elliptic curve discrete logarithm problem defined on a finite field is the same (equivalent).

上述の非特許文献1や非特許文献2などに記載されている署名は、楕円曲線上に値を持つハッシュ関数が利用されている。一般の楕円曲線上に値を持つハッシュ関数が非特許文献3に、特殊な楕円曲線上に値を持つハッシュ関数が非特許文献3、4に、それぞれ記載されている。   For signatures described in Non-Patent Document 1 and Non-Patent Document 2 described above, a hash function having a value on an elliptic curve is used. A hash function having a value on a general elliptic curve is described in Non-Patent Document 3, and a hash function having a value on a special elliptic curve is described in Non-Patent Documents 3 and 4, respectively.

B. Chevallier-Mames, “An Efficient CDH-based Signature Scheme With a Tight Security Reduction”, Advances in Cryptology - CRYPTO 2005, LNCS 3621, Springer-Verlag, pp.511−526, 2005.B. Chevallier-Mames, “An Efficient CDH-based Signature Scheme With a Tight Security Reduction”, Advances in Cryptology-CRYPTO 2005, LNCS 3621, Springer-Verlag, pp.511-526, 2005. E. J. Goh, S. Jarecki, “A signature Scheme as secure as the Diffie-Hellman Problem”, Advances in Cryptology - EUROCRYPT 2003, LNCS 2656, Springer-Verlag, pp.401-415, 2003.E. J. Goh, S. Jarecki, “A signature Scheme as secure as the Diffie-Hellman Problem”, Advances in Cryptology-EUROCRYPT 2003, LNCS 2656, Springer-Verlag, pp.401-415, 2003. D. Boneh, H. Shacham, and B. Lynn, “Short Signatures from the Weil Pairing”, Advances in Cryptology - ASIACRYPT 2001, LNCS 2248, Springer-Verlag, pp.514-532, 2001.D. Boneh, H. Shacham, and B. Lynn, “Short Signatures from the Weil Pairing”, Advances in Cryptology-ASIACRYPT 2001, LNCS 2248, Springer-Verlag, pp.514-532, 2001. P. S. L. M. Barreto and H. Y. Kim, “Fast Hashing onto Elliptic Curves over Fields of Characteristic 3”, Cryptology ePrint Archive, Report 2001/098, 2001. available from: http://eprint.iacr.org/2001/098P. S. L. M. Barreto and H. Y. Kim, “Fast Hashing onto Elliptic Curves over Fields of Characteristic 3”, Cryptology ePrint Archive, Report 2001/098, 2001. available from: http://eprint.iacr.org/2001/098

情報化社会の高度化に伴い、電子情報に対する署名や、通信相手や機器を認証する技術は不可欠となってきている。上述のとおり、暗号技術に課せられる要件としては、安全性や効率性などがある。     With the advancement of the information society, signatures for electronic information and technologies for authenticating communication partners and devices have become indispensable. As described above, requirements imposed on cryptographic techniques include security and efficiency.

非特許文献3に記載されている一般の楕円曲線に値を持つハッシュ関数は、予め定められた集合の元rから(式1)のx座標の候補を生成し、対応するy座標が定義体に含まれているかどうかを判定し、含まれていなければ、ある決まった方法にてxを取替え、y座標が含まれるまで繰り返す、という方法(以下、これを試行錯誤法と呼ぶ)である。試行錯誤法の場合、Hasseの定理より繰り返しの平均回数は1.5回程度であることが知られているが、回数の分布にはばらつきがあり、実際にはそれを大幅に上回る計算が必要となることもしばしば起こる。y座標が定義体に含まれるか否かを判定するにはある程度の処理が必要で、2、3回程度なら許容できたとしてもそれを超える回数では全体の処理においてボトルネックになる。   A hash function having a value in a general elliptic curve described in Non-Patent Document 3 generates a candidate for the x coordinate of (Formula 1) from a predetermined set element r, and the corresponding y coordinate is a defining body. If it is not included, x is replaced by a certain method and repeated until the y coordinate is included (hereinafter referred to as trial and error method). In the case of trial and error method, it is known from Hase's theorem that the average number of iterations is about 1.5. It often happens. A certain amount of processing is required to determine whether or not the y coordinate is included in the definition body. Even if the number of times is acceptable if it is about two or three times, it becomes a bottleneck in the whole processing if it is exceeded.

一方、非特許文献3、4に記載されている特殊な楕円曲線に値を持つハッシュ関数は、予め定められた集合の元rから(式1)のx座標の候補を生成し、対応するy座標を上記特殊な楕円曲線の定義方程式の性質を用いて決定する、という方法(以下、これを特殊曲線法と呼ぶ)であり、上述の一般の楕円曲線に値を持つハッシュ関数で実施する繰り返しを避け、効率性を向上させるために提案された方法である。   On the other hand, the hash function having a value in the special elliptic curve described in Non-Patent Documents 3 and 4 generates a candidate for the x coordinate of (Expression 1) from the element r of a predetermined set, and the corresponding y This is a method of determining coordinates using the properties of the above-mentioned special elliptic curve definition equation (hereinafter referred to as the special curve method), and iteratively performing a hash function having a value in the above-mentioned general elliptic curve Is a method proposed to improve efficiency.

一般にハッシュ関数は、署名に用いる場合など、高効率性および入力に非依存な処理時間が求められることが多く、上述の試行錯誤法のように入力に応じて処理性能に大きなばらつきがある(繰り返し回数が変わるため)のは望ましくない。また、上述の特殊曲線法は特殊な楕円曲線のみに適用可能であり、一般の楕円曲線では同様の手法を用いることはできない。   In general, hash functions often require high efficiency and input-independent processing time, such as when used for signatures, and processing performance varies greatly depending on the input as in the trial and error method described above (repetition) This is not desirable because the number of times changes. The above-mentioned special curve method can be applied only to a special elliptic curve, and the same method cannot be used for a general elliptic curve.

本発明は、上記課題に鑑みてなされたもので、一般の楕円曲線に適用可能であり、入力に応じて処理性能が大きくばらつくことのない楕円曲線上の点の生成を実現する楕円曲線上の点生成方法および点生成装置を提供する。   The present invention has been made in view of the above problems, and can be applied to a general elliptic curve. On the elliptic curve that realizes generation of points on an elliptic curve that does not vary greatly in processing performance according to input. A point generation method and a point generation apparatus are provided.

以上の課題を解決するため、本発明は、楕円曲線の拡大体における有理点を使用する。   In order to solve the above problems, the present invention uses a rational point in an extension field of an elliptic curve.

例えば、本発明は、有限集合の元から予め定められた有限体GF(q)(q:奇素数pのべき)上で定義された二次曲線CのGF(q)有理点を生成するステップと、
前記生成した二次曲線CのGF(q)有理点から当該楕円曲線のGF(q)有理点を生成するステップと、
前記楕円曲線EのGF(q)有理点と前記有限集合の元の一部から前記楕円曲線EのGF(q)有理点を生成するステップと、
を備えることを特徴とする。
For example, the present invention generates a GF (q) rational point of a quadratic curve C defined on a predetermined finite field GF (q) (q: power of odd prime number p) from elements of a finite set. When,
Generating a GF (q 2 ) rational point of the elliptic curve from a GF (q) rational point of the generated quadratic curve C;
Generating a GF (q 2 ) rational point of the elliptic curve E from a GF (q 2 ) rational point of the elliptic curve E and a part of an element of the finite set;
It is characterized by providing.

より具体的な本発明の態様は、要素数が(q+1)/2(qは5以上の素数べき)の集合Sの元と要素数が2の集合Tの元から有限体GF(q)上定義された楕円曲線EのGF(q)有理点を生成する点生成方法であって、
当該楕円曲線上の点生成方法は、
前記集合Sの元から予め定められた前記有限体GF(q)上定義された二次曲線CのGF(q)有理点を生成する第一のステップと、
前記第一のステップで生成した前記二次曲線Cの前記GF(q)有理点から前記楕円曲線EのGF(q)有理点を生成する第二のステップと、
前記第二のステップで生成した前記楕円曲線EのGF(q)有理点と前記集合Tの元から前記楕円曲線EのGF(q)有理点を生成する第三のステップと、
を備えることを特徴とする。
A more specific aspect of the present invention is that on the finite field GF (q) from an element of a set S having (q + 1) / 2 (q should be a prime number of 5 or more) and an element of a set T having 2 elements. A point generation method for generating a GF (q) rational point of an elliptic curve E defined,
The point generation method on the elliptic curve is
Generating a GF (q) rational point of the quadratic curve C defined on the predetermined finite field GF (q) from an element of the set S;
A second step of generating a GF (q 2 ) rational point of the elliptic curve E from the GF (q) rational point of the quadratic curve C generated in the first step;
A third step of generating a GF (q 2 ) rational point of the elliptic curve E from the GF (q 2 ) rational point of the elliptic curve E generated in the second step and the element of the set T;
It is characterized by providing.

上記楕円曲線上の点生成方法において、さらに、
前記集合Sは集合GF(q)/{1,−1}∪{0}、前記集合Tは{1,−1}であって、
前記第一のステップは、前記集合Sの元tから予め定められた2つのGF(q)上の有理関数α、βに対して、α(t)、β(t)を計算し、前記二次曲線CのGF(q)有理点R=(α、β)を生成し、
前記第二のステップは、予め定められた前記有限体GF(q)の前記有限体GF(q)上の基底(ξ,1)、及び前記二次曲線CのGF(q)有理点(α、β)から前記楕円曲線EのGF(q)有理点P=(α+βξ,√(F(α+βξ)))(Fは前記楕円曲線EのWeierstrass型の定義方程式y=x+ax+b=F(x)に対して、F(x)=x+ax+bなる多項式)を生成し、
前記第三のステップは、前記楕円曲線EのGF(q)有理点Pから前記楕円曲線EのFrobenius自己準同型写像σを用いて前記楕円曲線EのGF(q)有理点(P+σ(P))を生成してもよい。
In the above point generation method on an elliptic curve,
The set S is a set GF (q) * / {1, −1} ∪ {0}, and the set T is {1, −1},
In the first step, α (t) and β (t) are calculated for rational functions α and β on two predetermined GF (q) from the element t of the set S, and the two Generate a GF (q) rational point R = (α, β) of the quadratic curve C;
The second step includes a basis (ξ, 1) on the finite field GF (q) of the predetermined finite field GF (q 2 ) and a GF (q) rational point of the quadratic curve C ( GF (q 2 ) rational point P = (α + βξ, √ (F (α + βξ))) of the elliptic curve E from α, β) (F is a Weierstrass type definition equation of the elliptic curve E y 2 = x 3 + ax + b = F (x) = x 3 + ax + b) is generated for F (x),
In the third step, the GF (q) rational point (P + σ (P) of the elliptic curve E is obtained using the Frobenius automorphism σ of the elliptic curve E from the GF (q 2 ) rational point P of the elliptic curve E. )) May be generated.

また、具体的な本発明の他の態様は、要素数が(q+1)/2(qは5以上の素数べき)の集合Sの元と要素数が2の集合Tの元から有限体GF(q)上定義された楕円曲線EのGF(q)有理点を生成する点生成方法であって、
当該楕円曲線上の点生成方法は、
前記集合Sの元から予め定められた前記有限体GF(q)上定義された二次曲線CのGF(q)有理点を生成する第四のステップと、
前記第四のステップで生成した前記二次曲線Cの前記GF(q)有理点から前記楕円曲線EのGF(q)有理点を生成する第五のステップと、
前記第五のステップで生成した前記楕円曲線EのGF(q)有理点と前記集合Tの元から前記楕円曲線EのGF(q)有理点を生成する第六のステップと、
を備えることを特徴とする。
Further, another specific aspect of the present invention provides a finite field from an element of a set S having the number of elements (q 2 +1) / 2 (q should be a prime number of 5 or more) and an element of the set T having 2 elements. A point generation method for generating a GF (q) rational point of an elliptic curve E defined on GF (q),
The point generation method on the elliptic curve is
A fourth step of generating a GF (q 2 ) rational point of a quadratic curve C defined on the predetermined finite field GF (q 2 ) from the set S;
A fifth step of generating a GF (q 4 ) rational point of the elliptic curve E from the GF (q 2 ) rational point of the quadratic curve C generated in the fourth step;
A sixth step of generating a GF (q 4 ) rational point of the elliptic curve E from a GF (q 4 ) rational point of the elliptic curve E generated in the fifth step and the element of the set T;
It is characterized by providing.

上記楕円曲線上の点生成方法において、さらに、
前記集合Sは集合GF(q/{1,−1}∪{0}、前記集合Tは{1,−1}であって、
前記第四のステップは、前記集合Sの元tから予め定められた2つのGF(q)上の有理関数α、βに対して、α(t)、β(t)を計算し、前記二次曲線CのGF(q)有理点R=(α、β)を生成し、
前記第五のステップは、予め定められた前記有限体GF(q)の前記有限体GF(q)上の基底(ξ,1)、及び前記二次曲線CのGF(q)有理点(α、β)に対して、前記楕円曲線EのGF(q)有理点P=(α+βξ,√(F(α+βξ)))(Fは前記楕円曲線EのWeierstrass型の定義方程式y=x+ax+b=F(x)なる多項式)を生成し、
前記第六のステップは、前記楕円曲線EのGF(q)有理点Pから、前期楕円曲線EのFrobenius自己準同型写像σを用いて前記楕円曲線EのGF(q)有理点P+σ(P)+σ(P)+σ(P)を生成してもよい。
In the above point generation method on an elliptic curve,
The set S is a set GF (q 2 ) * / {1, −1} ∪ {0}, and the set T is {1, −1},
The fourth step calculates α (t) and β (t) for the rational functions α and β on two predetermined GF (q 2 ) from the element t of the set S, and Generate a GF (q 2 ) rational point R = (α, β) of the quadratic curve C;
The fifth step includes a basis (ξ, 1) on the finite field GF (q 2 ) of the predetermined finite field GF (q 4 ), and a GF (q 2 ) rationality of the quadratic curve C. GF (q 2 ) rational point P of the elliptic curve E with respect to the point (α, β) P = (α + βξ, √ (F (α + βξ))) (F is a Weierstrass-type definition equation y 2 of the elliptic curve E) = X 3 + ax + b = F (x) polynomial)
In the sixth step, the GF (q) rational point P + σ (P) of the elliptic curve E is obtained from the GF (q 4 ) rational point P of the elliptic curve E using the Frobenius automorphism σ of the previous elliptic curve E. ) + Σ 2 (P) + σ 3 (P) may be generated.

本発明により、一般の楕円曲線に適用可能であり、入力に応じて処理性能に大きなばらつきがないような楕円曲線上の点の生成が可能となる。これにより、一般の楕円曲線に値を持つハッシュ値の生成も可能となる。   According to the present invention, it is possible to generate a point on an elliptic curve that can be applied to a general elliptic curve and does not have a large variation in processing performance according to input. Thereby, it is possible to generate a hash value having a value in a general elliptic curve.

第一の実施形態、及び第二の実施形態である点生成装置の機能構成の概略を例示する図。The figure which illustrates the outline of a function structure of the point generator which is 1st embodiment and 2nd embodiment. コンピュータのハードウェア構成の概略図。The schematic diagram of the hardware constitutions of a computer. 点生成装置における楕円曲線上の点生成処理を示すシーケンスを例示する図。The figure which illustrates the sequence which shows the point production | generation process on an elliptic curve in a point production | generation apparatus. 第一の実施形態における処理部での点生成処理を例示するフローチャート。The flowchart which illustrates the point production | generation process in the process part in 1st embodiment. 第二の実施形態における処理部での点生成処理を例示するフローチャート。The flowchart which illustrates the point production | generation process in the process part in 2nd embodiment.

本発明の実施の形態を図面を用いて説明する。   Embodiments of the present invention will be described with reference to the drawings.

図1は、本発明の第一の実施形態である点生成装置100の機能構成の概略図である。   FIG. 1 is a schematic diagram of a functional configuration of a point generation device 100 according to the first embodiment of the present invention.

図示するように、点生成装置100は、記憶部111と、処理部120と、入力部131と、出力部132と、通信部133と、を備える。   As illustrated, the point generation device 100 includes a storage unit 111, a processing unit 120, an input unit 131, an output unit 132, and a communication unit 133.

本実施形態では、点生成装置で集合GF(q)/{1,−1}∪{0}の元tと集合{1,−1}の元ιに対する上記有限体GF(q)上定義された楕円曲線E(GF(q))上の点の生成を行う。ここでq=pは素数pのべきである。 In the present embodiment, the point generator defines the above finite field GF (q) for the element t of the set GF (q) * / {1, -1} ∪ {0} and the element ι of the set {1, -1}. A point on the elliptic curve E (GF (q)) is generated. Here, q = p r should be of prime numbers p.

記憶部111は、有理関数記憶領域112と、基底記憶領域113と、パラメータ記憶部114と、を備える。   The storage unit 111 includes a rational function storage area 112, a base storage area 113, and a parameter storage section 114.

有理関数記憶領域112は、上記有限体GF(q)から有限体GF(q)上定義された2次曲線Cへの2つの有理関数に関する情報、及び上記2つの有理関数に付随する情報が格納される。ここで、上記有限体GF(q)から有限体GF(q)上定義された2次曲線Cへの2つの有理関数とは、上記有限体GF(q)を係数にもつ1次または2次の多項式φ、ω、ψを用いてφ/ω、ψ/ωと表わされる関数であり、上記有限体GF(q)から有限体GF(q)上定義された2次曲線Cへの2つの有理関数に関する情報とは、例えば、上記φ、ω、ψの各係数である。また、上記有理関数φ/ω、ψ/ωの極(すなわち、ω(z)=0)となる上記有限体GF(q)の元z、及び上記多項式ψの零点(すなわち、ψ(z)=0)となる上記有限体GF(q)の元zである。なお、上記多項式ω、ψの零点となる上記各零点z、zを上記2つの有理関数に付随する情報を格納する理由については後述する。 The rational function storage area 112 stores information on two rational functions from the finite field GF (q) to the quadratic curve C defined on the finite field GF (q) and information associated with the two rational functions. Is done. Here, the two rational functions from the finite field GF (q) to the quadratic curve C defined on the finite field GF (q) are linear or quadratic having the finite field GF (q) as a coefficient. Are expressed as φ / ω and ψ / ω using the polynomials φ, ω, and ψ, and two functions from the finite field GF (q) to the quadratic curve C defined on the finite field GF (q) The information regarding the rational function is, for example, each coefficient of φ, ω, and ψ. Furthermore, the rational function phi / omega, the [psi / omega poles (i.e., ω (z 0) = 0 ) and becomes the original z 0, and zeros of the polynomials [psi of the finite field GF (q) (i.e., [psi ( z 1) = 0) and it becomes a former z 1 of the finite field GF (q). The reason why the zero points z 0 and z 1 that are the zeros of the polynomials ω and ψ are stored in the information associated with the two rational functions will be described later.

基底記憶領域113には、上記有限体GF(q)の2次拡大GF(q)の基底に関する情報が格納される。例えば、本実施形態においては、ξ∈GF(q)−GF(q)、c=ξ∈GF(q)なる元ξが上記有限体GF(q)の2次拡大GF(q)の基底に関する情報である。また、上記元c∈GF(q)も上記基底に関する情報として格納しておいてもよい。ここで、GF(q)−GF(q)は上記有限体GF(q)の2次拡大GF(q)から上記有限体GF(q)の元を除いた集合を表わす。上記ξ、及び上記有限体GF(q)の乗算に関する単位元1は、上記2次拡大GF(q)の上記有限体GF(q)上の基底である。 The base storage area 113 stores information related to the base of the secondary extension GF (q 2 ) of the finite field GF (q). For example, in the present embodiment, an element ξ such that ξ∈GF (q 2 ) −GF (q), c = ξ 2 ∈GF (q) is a quadratic extension GF (q 2 ) of the finite field GF (q). Information about the base of. The element cεGF (q) may also be stored as information related to the base. Here, GF (q 2 ) −GF (q) represents a set obtained by removing the element of the finite field GF (q) from the secondary expansion GF (q 2 ) of the finite field GF (q). The unit element 1 related to the multiplication of the ξ and the finite field GF (q) is a base on the finite field GF (q) of the secondary expansion GF (q 2 ).

パラメータ記憶部は、上記有限体GF(q)、及び上記有限体GF(q)上定義された楕円曲線E(GF(q))に関する情報が格納される。例えば、本実施形態においては、上記素数q、及び上記楕円曲線E(GF(q))の定義方程式(式1)の係数a、bである。   The parameter storage unit stores information on the finite field GF (q) and the elliptic curve E (GF (q)) defined on the finite field GF (q). For example, in the present embodiment, the prime numbers q and the coefficients a and b of the defining equation (formula 1) of the elliptic curve E (GF (q)) are used.

処理部120は、有理関数計算部121と、有限体演算計算部122と、を備える。   The processing unit 120 includes a rational function calculation unit 121 and a finite field calculation calculation unit 122.

例えば、本実施形態では、処理部120は、集合GF(q)/{1,−1}∪{0}の元tと集合{1,−1}の元ιに対する上記楕円曲線E(GF(q))上の点を生成する処理を制御する。ここで、上記集合GF(q)/{1,−1}∪{0}とは、有限体の乗法群GF(p)の元gに対して、g+h=0、またはg−h=0なる同値関係によって上記有限体の乗法群GF(q)を割った集合を表わし、具体的には、q=pの場合は、上記集合GF(p)/{1,−1}={1,2,・・・(p−1)/2}である。
q=p(r>=2)の場合、上記集合GF(q)/{1,−1}は、例えば、有限体の乗法群GF(q)の元u=ar−1γr−1+ar−2γr−2+...+aγ+aであって、a≠0なる最大のiをjとするとき、0<=a<=(q−1)/2を満たす元uからなる集合である。
For example, in the present embodiment, the processing unit 120 includes the elliptic curve E (GF) for the element t of the set GF (q) * / {1, −1} ∪ {0} and the element ι of the set {1, −1}. (Q)) Control the process of generating the upper point. Here, the set GF (q) * / {1, −1} ∪ {0} is g + h = 0 or g−h = with respect to the element g of the multiplicative group GF (p) * of the finite field. Represents a set obtained by dividing the multiplicative group GF (q) * of the finite field by an equivalence relation of 0. Specifically, when q = p, the set GF (p) * / {1, -1} = {1, 2,... (P-1) / 2}.
In the case of q = p r (r> = 2), the set GF (q) * / {1, −1} is, for example, an element u = a r−1 γ of a multiplicative group GF (q) * of a finite field. r-1 + a r-2 γ r-2 +. . . + A 1 γ + a 0 , where j is the maximum i where a i ≠ 0, j is a set of elements u satisfying 0 <= a j ≦ (q−1) / 2.

また、上記集合GF(q)/{±1}の構成方法は、実現可能であればその方法は問わない。
上記集合GF(q)/{1,−1}∪{0}の要素数は、(q−1)/2+1=(q+1)/2である。上記素数べきqのビット長|q|=mのとき、q≦2−1だから、(q+1)/2のビット長|(q+1)/2|≦|{(2−1)+1}/2|=|2/2|=2m−1である。
The method of constructing the set GF (q) * / {± 1} is not particularly limited as long as it can be realized.
The number of elements of the set GF (q) * / {1, −1} ∪ {0} is (q−1) / 2 + 1 = (q + 1) / 2. When the bit length | q | = m of the prime power q, since q ≦ 2 m −1, the bit length of (q + 1) / 2 | (q + 1) / 2 | ≦ | {(2 m −1) +1} / 2 | = | 2 m / 2 | = 2 m−1 .

例えば、本実施形態では、処理部120は、入力データである上記元tと上記元ιに対して、有理関数記憶領域112に格納されている上記有理関数φ/ω、ψ/ωと、基底記憶領域113に格納されているGF(q)−GF(q)の元ξを取得して、tとともに、有理関数計算部121に送信する。有理関数計算部121は、予め定められたアルゴリズムによる計算を行い、上記有限体GF(q)の2つの元α、βを生成する。そして、有理関数計算部121は、上記α、β、ξ、及び、パラメータ記憶部114に格納されている上記a、bを有限体演算計算部122に送信する。 For example, in the present embodiment, the processing unit 120 performs the rational functions φ / ω, ψ / ω stored in the rational function storage area 112 and the basis for the element t and the element ι that are input data. The element ξ of GF (q 2 ) −GF (q) stored in the storage area 113 is acquired and transmitted to the rational function calculation unit 121 together with t. The rational function calculation unit 121 performs calculation using a predetermined algorithm, and generates two elements α and β of the finite field GF (q). Then, the rational function calculation unit 121 transmits the α, β, ξ, and a and b stored in the parameter storage unit 114 to the finite field calculation calculation unit 122.

有限体演算計算部122は、予め定められたアルゴリズムによる計算を行い、上記楕円曲線E(GF(q))上の点Qを生成する。有限体演算計算部122は、上記生成した上記楕円曲線E(GF(q))上の点Pを処理部120に出力する。入力部131は、当該点生成装置100の外部から、記憶媒体144や、通信媒体(当該当該点生成装置100に接続されるネットワークまたは当該ネットワークを伝播するデジタル信号や搬送波)を介して、情報の入力を受け付ける。出力部132は、当該点生成装置100の外部へ、記憶媒体144や通信媒体を介して、情報を出力する。通信部133は、記憶部111と、処理部120と、入力部131と、出力部132と、の間の情報の送受信を行う。   The finite field calculation calculation unit 122 performs calculation using a predetermined algorithm, and generates the point Q on the elliptic curve E (GF (q)). The finite field calculation calculation unit 122 outputs the generated point P on the elliptic curve E (GF (q)) to the processing unit 120. The input unit 131 receives information from the outside of the point generation device 100 via a storage medium 144 or a communication medium (a network connected to the point generation device 100 or a digital signal or carrier wave propagating through the network). Accept input. The output unit 132 outputs information to the outside of the point generation device 100 via the storage medium 144 or the communication medium. The communication unit 133 transmits and receives information between the storage unit 111, the processing unit 120, the input unit 131, and the output unit 132.

以上に記載した点生成装置100は、例えば、図2(コンピュータ140の概略図)に示すような、CPU141と、メモリ142と、HDD等の外部記憶装置143と、CD−ROMやDVD−ROM等の可搬性を有する記憶媒体144から情報を読み出す読取装置145と、キーボードやマウスなどの入力装置146と、ディスプレイなどの出力装置147と、通信ネットワークに接続するためのNIC(Network Interface Card)等の通信装置148と、を備えた一般的なコンピュータ140で実現できる。   The point generator 100 described above includes, for example, a CPU 141, a memory 142, an external storage device 143 such as an HDD, a CD-ROM, a DVD-ROM, and the like as shown in FIG. 2 (schematic diagram of the computer 140). A reading device 145 for reading information from a portable storage medium 144, an input device 146 such as a keyboard and a mouse, an output device 147 such as a display, and a NIC (Network Interface Card) for connecting to a communication network And a general computer 140 including the communication device 148.

例えば、記憶部111は、CPU141がメモリ142又は外部記憶装置143を利用することにより実現可能であり、処理部120は、外部記憶装置143に記憶されている所定のプログラムをメモリ142にロードしてCPU141で実行することで実現可能であり、入力部131は、CPU141が入力装置146を利用することで実現可能であり、出力部132は、CPU141が出力装置147を利用することで実現可能であり、通信部133は、CPU141が通信装置148を利用することで実現可能である。   For example, the storage unit 111 can be realized by the CPU 141 using the memory 142 or the external storage device 143, and the processing unit 120 loads a predetermined program stored in the external storage device 143 into the memory 142. The input unit 131 can be realized by the CPU 141 using the input device 146, and the output unit 132 can be realized by the CPU 141 using the output device 147. The communication unit 133 can be realized by the CPU 141 using the communication device 148.

この所定のプログラムは、読取装置145を介して記憶媒体144から、あるいは、通信装置148を介して通信媒体から、外部記憶装置143にダウンロードされ、それから、メモリ142上にロードされてCPU141により実行されるようにしてもよい。また、読取装置145を介して記憶媒体144から、あるいは、通信装置148を介して通信媒体から、メモリ142上に直接ロードされ、CPU141により実行されるようにしてもよい。   The predetermined program is downloaded to the external storage device 143 from the storage medium 144 via the reading device 145 or from the communication medium via the communication device 148, and then loaded onto the memory 142 and executed by the CPU 141. You may make it do. Alternatively, the program may be directly loaded onto the memory 142 from the storage medium 144 via the reading device 145 or from the communication medium via the communication device 148 and executed by the CPU 141.

図3は、点生成装置100における点生成処理を示すシーケンス図である。   FIG. 3 is a sequence diagram showing point generation processing in the point generation device 100.

まず、点生成装置100の処理部120は、入力部131を介して入力された又はデータ記憶領域131に記憶されている有限体の元t∈GF(q)を取得する(S10)。   First, the processing unit 120 of the point generation device 100 acquires an element tεGF (q) of a finite field input via the input unit 131 or stored in the data storage area 131 (S10).

次に、処理部120は、記憶部123の有理関数記憶領域112に記憶されている2つの有理関数φ/ω、ψ/ωと、基底記憶領域113に記憶されているξ∈GF(q)−GF(q)と、パラメータ記憶領域114に記憶されている上記素数べきq、及び上記楕円曲線E(GF(q))の定義方程式(式1)の係数a、bと、を読み出す(S11)。 Next, the processing unit 120 includes two rational functions φ / ω and ψ / ω stored in the rational function storage area 112 of the storage unit 123, and ξ∈GF (q 2 ) stored in the base storage area 113. ) −GF (q), the prime power q stored in the parameter storage area 114, and the coefficients a and b of the definition equation (formula 1) of the elliptic curve E (GF (q)) are read ( S11).

そして、処理部120は、読み出した2つの有理関数φ/ω、ψ/ω、ξ∈GF(q)−GF(q)、素数べきq、楕円曲線E(GF(q))の定義方程式(式1)の係数a、b及び有限体の元t∈GF(q)を有理関数計算部121に入力する(S12)。 Then, the processing unit 120 defines the definition equations for the two read rational functions φ / ω, ψ / ω, ξ∈GF (q 2 ) −GF (q), prime power q, and elliptic curve E (GF (q)). The coefficients a and b of (Equation 1) and the finite field element tεGF (q) are input to the rational function calculation unit 121 (S12).

有理関数計算部121は、入力された2つの有理関数φ/ω、ψ/ωと、ξ∈GF(q)−GF(q)と、素数べきqと、楕円曲線E(GF(q))の定義方程式(式1)の係数a、bと、有限体の元t∈GF(q)とから、有限体GF(q)の元α、βを計算する(S13)。 The rational function calculation unit 121 receives the two input rational functions φ / ω, ψ / ω, ξ∈GF (q 2 ) −GF (q), prime power q, and elliptic curve E (GF (q) ), The elements α and β of the finite field GF (q) are calculated from the coefficients a and b of the definition equation (formula 1) and the element tεGF (q) of the finite field (S13).

そして、有理関数計算部121は、計算した有限体GF(q)の元α、βと、ξ∈GF(q)−GF(q)と、素数べきqと、楕円曲線E(GF(q))の定義方程式(式1)の係数a、bを有限体演算計算部122に出力する(S14)。 The rational function calculation unit 121 then calculates the elements α and β of the calculated finite field GF (q), ξ∈GF (q 2 ) −GF (q), prime power q, and elliptic curve E (GF (q )) The coefficients a and b of the definition equation (formula 1) are output to the finite field calculation calculation unit 122 (S14).

有限体演算計算部122は、受け取った有限体GF(q)の元α、βと、ξ∈GF(q)−GF(q)と、素数べきqと、楕円曲線E(GF(q))の定義方程式(式1)の係数a、bとから、楕円曲線上の点Pを生成する(S15)。 The finite field calculation calculation unit 122 receives the elements α and β of the received finite field GF (q), ξ∈GF (q 2 ) −GF (q), prime power q, and elliptic curve E (GF (q) The point P on the elliptic curve is generated from the coefficients a and b of the definition equation (formula 1) (S15).

有限体演算計算部122は、計算した楕円曲線上の点Pを処理部120に出力する(S16)。   The finite field calculation calculation unit 122 outputs the calculated point P on the elliptic curve to the processing unit 120 (S16).

なお、ステップS11において2つの有理関数φ/ω、ψ/ω、ξ∈GF(q)−GF(q)、素数べきq、楕円曲線E(GF(q))の定義方程式(式1)の係数a、bの取得タイミングについては、有理関数計算部121へ2つの有理関数φ/ω、ψ/ω、ξ∈GF(q)−GF(q)、素数べきq、楕円曲線E(GF(q))の定義方程式(式1)の係数a、bを出力する前であればよく、例えば、有限体の元t∈GF(q)を取得する(S10)前であってもよい。また、ステップS13の計算では、楕円曲線E(GF(q))の定義方程式(式1)の係数a、bは使用しないため、ステップS11で読み出す必要はなく、ステップS14の前であればよい。 In step S11, two rational functions φ / ω, ψ / ω, ξ∈GF (q 2 ) −GF (q), prime power q, and elliptic curve E (GF (q)) defining equations (formula 1) As for the acquisition timing of the coefficients a and b, two rational functions φ / ω, ψ / ω, ξ∈GF (q 2 ) −GF (q), prime power q, elliptic curve E ( GF (q)) may be before the coefficients a and b of the definition equation (Formula 1) are output, for example, before obtaining the finite field element tεGF (q) (S10). . Further, in the calculation of step S13, the coefficients a and b of the definition equation (formula 1) of the elliptic curve E (GF (q)) are not used, so there is no need to read in step S11, and it may be before step S14. .

楕円曲線E(GF(q))上の点Pを取得した処理部120は、記憶部111に記憶するか、または、出力部132や通信部133を介して、楕円曲線E(GF(q))上の点Pを出力する(S17)。   The processing unit 120 that has acquired the point P on the elliptic curve E (GF (q)) stores the elliptic curve E (GF (q)) in the storage unit 111 or via the output unit 132 or the communication unit 133. ) The upper point P is output (S17).

図4は、有理関数計算部121と、有限体演算計算部122での楕円曲線E(GF(q))上の点Pの生成処理を示すフローチャートである。   FIG. 4 is a flowchart showing a process of generating a point P on the elliptic curve E (GF (q)) in the rational function calculation unit 121 and the finite field calculation calculation unit 122.

ここで、本実施形態では、Eを、a、bが定義方程式(式1)の係数である有限体GF(q)上定義された楕円曲線、φ、ψ、ωを、有限体GF(q)を係数にもつ1次または2次の多項式とする。   Here, in this embodiment, E is an elliptic curve defined on a finite field GF (q) in which a and b are coefficients of the definition equation (Equation 1), φ, ψ, and ω are converted into a finite field GF (q ) Is a first-order or second-order polynomial having a coefficient.

以下、集合GF(q)/{1,−1}∪{0}の元tと集合{1,−1}の元ιから上記楕円曲線E(GF(q))上の点Pを生成する方法を具体的に説明する。 Hereinafter, the point P on the elliptic curve E (GF (q)) is generated from the element t of the set GF (q) * / {1, -1} ∪ {0} and the element ι of the set {1, -1}. The method of performing will be specifically described.

有理関数計算部121と、有限体演算計算部122での楕円曲線上の点の生成処理は、集合GF(q)/{1,−1}∪{0}の元tと集合{1,−1}の元ιを処理部120より受けることで開始される(S20)。 The process of generating points on the elliptic curve by the rational function calculation unit 121 and the finite field calculation calculation unit 122 is performed by using the element t of the set GF (q) * / {1, −1} ∪ {0} and the set {1, -1} is received from the processing unit 120 (S20).

処理部120より上記集合GF(q)/{1,−1}∪{0}の元tと上記集合{1,−1}の元ιを受け取ると、有理関数計算部121は、入力された上記元t∈GF(q)/{1,−1}∪{0}からα=φ(t)/ω(t)を計算する(S21)。 When the element t of the set GF (q) * / {1, -1} ∪ {0} and the element ι of the set {1, -1} are received from the processing unit 120, the rational function calculation unit 121 is input. Then, α = φ (t) / ω (t) is calculated from the element tεGF (q) * / {1, −1} ∪ {0} (S21).

そして、有限体演算計算部122は、有理関数計算部121より送信された上記α、上記楕円曲線a、b、及び、上記素数べきqを用いてτ=−8α−2aα+bを計算する(S22)。 Then, the finite field calculation calculation unit 122 calculates τ = −8α 3 −2aα + b using the α, the elliptic curves a and b, and the prime power q transmitted from the rational function calculation unit 121 (S22). ).

そして、有限体演算計算部122は、χ(τ)=1であるかどうかを判定する(S23)。そして、χ(τ)=1である場合には(ステップS23においてYes)、ステップS24に進み、χ(τ)=1ではない場合には(ステップS23においてNo)、ステップS25に進む。ここで、χは、s∈(GF(q)ならばχ(s)=1、s∈(GF(q)でないならばχ(s)=−1と定義される上記有限体の乗法群GF(q)から集合{1,−1}への写像であり、2次指標と呼ばれている(さらにχ(0)=0とし、χをGF(q)から{0,1,−1}への写像と拡張することもある。以下、上記χも上述のとおりに定義されるGF(q)から{0,1,−1}への写像とする)。 Then, the finite field calculation calculation unit 122 determines whether χ q (τ) = 1 (S23). If χ q (τ) = 1 (Yes in step S23), the process proceeds to step S24. If χ q (τ) = 1 is not satisfied (No in step S23), the process proceeds to step S25. Here, chi q is, s∈ (GF (q) * ) 2 if χ q (s) = 1, s∈ (GF (q) *) If not 2 χ q (s) = - 1 and definitions Is a mapping from the multiplicative group GF (q) * of the above finite field to the set {1, -1}, which is called a quadratic index (further, χ q (0) = 0 and χ q is GF The mapping from (q) to {0, 1, -1} may be extended, and χ q is also defined from GF (q) as defined above to {0, 1, -1}. A mapping).

ステップS24では、有限体演算計算部122は、τから√τを計算し、yに代入する(S24)。   In step S24, the finite field calculation calculation unit 122 calculates √τ from τ and substitutes it for y (S24).

ステップS25では、有限体演算計算部122は、τから√τ/ξを計算し、zに代入し、zω(t)/ψ(t)を計算してwに代入する(S25)。 In step S25, the finite field calculation calculation unit 122 calculates √τ / ξ 2 from τ, substitutes it for z, calculates zω (t) / ψ (t), and substitutes it for w (S25).

ステップS26では、有限体演算計算部122は、(−2α,ιy)をPに代入し、上記Pを上記楕円曲線の点として出力する(S26)。   In step S26, the finite field calculation calculation unit 122 substitutes (-2α, ιy) for P and outputs the P as a point of the elliptic curve (S26).

ステップS27では、有限体演算計算部122は、(w−2α,ι(w−3α)w)をPに代入し、上記Pを上記楕円曲線の点として出力する(S27)。 In step S27, the finite field calculation calculation unit 122 substitutes (w 2 −2α, ι (w 2 −3α) w) for P, and outputs the P as a point of the elliptic curve (S27).

なお、ステップS24、及びステップS25で実行する有限体における平方根計算については、例えば、H. Cohen, “A Course in Computational Algebraic Number Theory”, Springer-Verlag, GTM 138, 1993. に詳細に記載されている。   The square root calculation in the finite field executed in step S24 and step S25 is described in detail in, for example, H. Cohen, “A Course in Computational Algebraic Number Theory”, Springer-Verlag, GTM 138, 1993. Yes.

なお、ステップS26、及びステップS27で出力される上記Pが上記楕円曲線E(GF(q))上の点であることは、上記楕円曲線E(GF(q))の定義方程式(式1)にPを代入することによって容易に確認することができる。   It should be noted that the fact that the P output in step S26 and step S27 is a point on the elliptic curve E (GF (q)) indicates that the equation defining the elliptic curve E (GF (q)) (formula 1) This can be easily confirmed by substituting P for.

また、本実施形態では、上記集合GF(q)/{1,−1}∪{0}の元tと集合{1,−1}の元ιに対して上記楕円曲線E(GF(q))上の点PをWeierstrass型楕円曲線のアフィン座標で生成する方法を説明したが、Weierstrass型楕円曲線の射影座標、Weierstrass型楕円曲線のJacobian座標などWeierstrass型楕円曲線のアフィン座標と異なる座標系で生成したり、Hessian型楕円曲線、Montgomery型楕円曲線、Edwards型楕円曲線上の点を生成することも可能である。この理由を、Weierstrass型楕円曲線のJacobian座標の場合で説明する。
上記Weierstrass型楕円曲線のアフィン座標(X/Z,Y/Z)とWeierstrass型楕円曲線のJacobian座標(X:Y:Z)(Z≠0)は対応している。このとき、本実施形態において、上記集合GF(q)/{1,−1}∪{0}の元tと集合{1,−1}の元ιに対して、ステップS26で出力される上記Weierstrass型楕円曲線のアフィン座標の点(−2α,ιy)に対応する上記Weierstrass型楕円曲線のJacobian座標の点は(−2αω(t):ιyω(t):ω(t))、及び、ステップS27で出力されるWeierstrass型楕円曲線のアフィン座標の点(w−2α,ι(w−3α)w)に対応する上記Weierstrass型楕円曲線のJacobian座標の点は(ξ(τ−2ξαβω(t)):ιξ(τ−3ξαβω(t))×√(ξτ):ξβω(t))であることが容易にわかるからである。ここで、τ=−8αω(t)−2aαω(t)+bω(t)である。したがって、上記集合GF(q)/{1,−1}∪{0}の元tと集合{1,−1}の元ιに対して、Weierstrass型楕円曲線のJacobian座標の点を生成するには、上記ステップS21から上記ステップS27の上記各ステップ(及び、図4の上記ステップS21から上記ステップS27の上記各ステップ)を以下のように変更すればよい:
α=φ(t)、γ=ω(t)を計算する(S21)。
In the present embodiment, the elliptic curve E (GF (q (q)) is obtained for the element t of the set GF (q) * / {1, -1} ∪ {0} and the element ι of the set {1, -1}. )) Although the method for generating the upper point P with the affine coordinates of the Weierstrasse elliptic curve has been described, a coordinate system different from the affine coordinates of the Weierstrasse elliptic curve, such as the projected coordinates of the Weierstrasse elliptic curve, the Jacobian coordinates of the Weierstrass elliptic curve, etc. Or a point on a Hessian-type elliptic curve, Montgomery-type elliptic curve, or Edwards-type elliptic curve. The reason for this will be described in the case of the Jacobian coordinates of a Weierstrass-type elliptic curve.
The affine coordinates (X / Z 2 , Y / Z 3 ) of the Weierstrasse elliptic curve correspond to the Jacobian coordinates (X: Y: Z) (Z ≠ 0) of the Weierstrasse elliptic curve. At this time, in this embodiment, the element t of the set GF (q) * / {1, -1} ∪ {0} and the element ι of the set {1, -1} are output in step S26. The Jacobian coordinate point of the Weierstrasse elliptic curve corresponding to the affine coordinate point (-2α, ιy) of the Weierstrasse elliptic curve is (−2αω (t): ιyω (t): ω (t)), and step S27 in the outputted Weierstrass-type points of the affine coordinates of the elliptic curve (w 2 -2α, ι (w 2 -3α) w) in terms of Jacobian coordinates corresponding the Weierstrass-type elliptic curve (ξ 2 (τ- This is because it is easily understood that 2ξ 2 αβ 2 ω (t)): ιξ 2 (τ-3ξ 2 αβ 2 ω (t)) × √ (ξ 2 τ): ξ 2 βω (t)). Here, τ = −8α 3 ω (t) −2aαω (t) 3 + bω (t) 4 . Therefore, a Jacobian coordinate point of the Weierstrass-type elliptic curve is generated for the element t of the set GF (q) * / {1, -1} ∪ {0} and the element ι of the set {1, -1}. For this, the steps from step S21 to step S27 (and the steps from step S21 to step S27 in FIG. 4) may be changed as follows:
α = φ (t) and γ = ω (t) are calculated (S21).

τ=−8αγ−2aαγ+bγを計算する(S22)。 τ = −8α 3 γ−2aαγ 3 + bγ 4 is calculated (S22).

χ(τ)=1であるかどうかを判定する(S23)。χ(τ)=1である場合には(ステップS23においてYes)、ステップS24に進み、χ(τ)=1ではない場合には(ステップS23においてNo)、ステップS25に進む。 It is determined whether χ q (τ) = 1 (S23). If χ q (τ) = 1 (Yes in step S23), the process proceeds to step S24. If χ q (τ) = 1 is not satisfied (No in step S23), the process proceeds to step S25.

√τを計算し、yに代入する(S24)。   √τ is calculated and substituted for y (S24).

√(τξ)を計算し、zに代入する(S25)。 √ (τξ 2 ) is calculated and substituted for z (S25).

P=(−2αγ:ιyγ:γ)とし、上記Pを上記楕円曲線の点として出力する(S26)。   P = (− 2αγ: ιyγ: γ), and P is output as a point of the elliptic curve (S26).

P=(ξ(τ−2ξαβγ):ιξ(τ−3ξαβγ)×√(ξτ):ξβγ)とし、上記Pを上記楕円曲線の点として出力する(S27)。 P = (ξ 2 (τ−2ξ 2 αβ 2 γ): ιξ 2 (τ−3ξ 2 αβ 2 γ) × √ (ξ 2 τ): ξ 2 βγ), and the P is output as a point of the elliptic curve (S27).

また、上記多項式ω、ψの零点となる上記各零点z、zを上記2つの有理関数に付随する情報を格納する理由は以下の通りである。上記ステップS21において、α=φ(t)/ω(t)を計算する。t=zならばω(z)=0となるので、αを計算することができない(有理関数φ/ωはt=zで定義されない)からである。さらに、上記ステップS25において、w=zω(t)/ψ(t)を計算する。t=zならばψ(z)=0となるので、wを計算することができない(有理関数zω/ψはt=zで定義されない)からである。 The reason why the zero points z 0 and z 1 that are the zeros of the polynomials ω and ψ are stored with the information associated with the two rational functions is as follows. In step S21, α = φ (t) / ω (t) is calculated. This is because ω (z 0 ) = 0 if t = z 0 and α cannot be calculated (the rational function φ / ω is not defined by t = z 0 ). Furthermore, in step S25, w = zω (t) / ψ (t) is calculated. This is because if t = z 1 ψ (z 1 ) = 0, w cannot be calculated (the rational function zω / ψ is not defined by t = z 1 ).

そのため、上記z,zに対応する楕円曲線E(GF(q))上の点P,Pを予め定めておき、ステップS20でt=zまたはt=zが入力された場合は上記予め定められた点P,Pを出力してもよいし、t=zまたはt=zが入力された場合、t=t+1とし、t≠zかつt≠zとなるまでt=t+1を繰り返してもよいし、上記集合GF(q)/{1,−1}∪{0}からω(t)=0なる元t∈GF(q)/{1,−1}∪{0}、及びψ(t)=0なる元t∈GF(q)/{1,−1}∪{0}を予め除いておいてもよい。 Therefore, points P 0 and P 1 on the elliptic curve E (GF (q)) corresponding to z 0 and z 1 are determined in advance, and t = z 0 or t = z 1 is input in step S20. In this case, the predetermined points P 0 and P 1 may be output. When t = z 0 or t = z 1 is input, t = t + 1, t ≠ z 0 and t ≠ z 1 T = t + 1 may be repeated until the element tεGF (q) * / {1 from the set GF (q) * / {1, −1} ∪ {0} to ω (t) = 0. , −1} ∪ {0} and the element t∈GF (q) * / {1, −1} ∪ {0} where ψ (t) = 0 may be removed in advance.

ω(z)=0なる元z∈GF(q)/{1,−1}∪{0}の個数、及びψ(z)=0なる元z∈GF(q)/{1,−1}∪{0}の個数はそれぞれ高々2個であるから、上記t=t+1なる繰り返し回数は高々4回であり、上記t=t+1なる繰り返しの処理時間は、上記ステップS24、または上記ステップS25の平方根計算の処理時間と比べると非常に小さいので、上記ステップS20の入力によって、上記点の生成処理時間は大きくばらつくことはない。 The number of elements z 0 ∈GF (q) * / {1, −1} ∪ {0} with ω (z 0 ) = 0, and the element z 1 ∈GF (q) * / with ψ (z 1 ) = 0. Since the number of {1, -1} ∪ {0} is at most two, the number of repetitions of t = t + 1 is four at most, and the processing time of the repetition of t = t + 1 is the above-described step S24, Alternatively, since the processing time of the square root calculation in step S25 is very small, the point generation processing time does not vary greatly depending on the input in step S20.

上記有理関数φ/ω、ψ/ωは、例えば以下に示す方法で決定することができる。一般に、有限体GF(q)上定義された上記2次曲線C上の点(α,β)を一つ決め、固定する。上記2次曲線Cの上記点(α,β)以外の任意の点(α,β)に対し、上記点(α,β)と上記点(α,β)を結んだ直線とx軸(または、y軸)との交点をtとすることにより、上記2次曲線Cから上記点(α,β)を除いた集合から上記有限体GF(q)への写像が構成できる。この逆写像(t→(φ/ω)(t),(ψ/ω)(t))を上記有理関数とすればよい。 The rational functions φ / ω and ψ / ω can be determined by the following method, for example. In general, one point (α 0 , β 0 ) on the quadric curve C defined on the finite field GF (q) is determined and fixed. For an arbitrary point (α, β) other than the point (α 0 , β 0 ) of the quadratic curve C, a straight line connecting the point (α 0 , β 0 ) and the point (α, β) A mapping from the set obtained by removing the point (α 0 , β 0 ) from the quadratic curve C to the finite field GF (q) is formed by setting the intersection point with the x-axis (or y-axis) as t. it can. The inverse mapping (t → (φ / ω) (t), (ψ / ω) (t)) may be the rational function.

また、本実施形態を用いることによって、楕円曲線上に値を持つハッシュ関数を容易に構成することができる理由は以下の通りである。例えば、非特許文献2に記載の署名では、任意長のビット列{0,1}から楕円曲線E(GF(q))へのハッシュ関数H:{0,1}→E(GF(q))を使用する。hを任意長のビット列{0,1}から固定長のビット列{0,1}への暗号学的ハッシュ関数(例えば、SHA−256など)とし、上記素数べきqのビット長|q|=mとする。任意長のビット列M∈{0,1}に対し、上記Mのハッシュ値h(M)を計算し、上位m−1ビットをt、最下位1ビットをιとする。すなわち、M=t||ιである。ここで、||は2つのビット列の結合を表す。 The reason why a hash function having a value on an elliptic curve can be easily configured by using this embodiment is as follows. For example, in the signature described in Non-Patent Document 2, a hash function H: {0, 1} * → E (GF (q from an arbitrary length bit string {0, 1} * to an elliptic curve E (GF (q)) )). Let h be a cryptographic hash function (for example, SHA-256, etc.) from an arbitrary-length bit string {0, 1} * to a fixed-length bit string {0, 1} m , and the bit length | q | = M. For an arbitrary length bit string Mε {0,1} * , the hash value h (M) of the above M is calculated, and the upper m−1 bits are t, and the lowest 1 bit is ι. That is, M = t || ι. Here, || represents a combination of two bit strings.

上記tを予め定められた方法でGF(q)の元と見なし(例えば、ビット列t=tm−2m−1...tに対し、t=tm−2m−2+tm−1m−1+...+tとする)、上記t∈GF(q)/{1,−1}∪{0}と上記ι∈{1,−1}に対して本実施形態に記載の点生成方法で生成した点Pを上記ビット列Mに対するハッシュ値とすることにより、特許文献2に記載の署名に記載されている任意長のビット列{0,1}から楕円曲線E(GF(q))へのハッシュ関数H:{0,1}→E(GF(q))が構成できる。 The above t is regarded as an element of GF (q) by a predetermined method (for example, for a bit string t = t m−2 t m−1 ... T 0 , t = t m−2 2 m−2 + t m−1 2 m−1 +... + t 0 ), the above for t∈GF (q) * / {1, −1}} {0} and ι∈ {1, −1} By using the point P generated by the point generation method described in the embodiment as a hash value for the bit string M, an elliptic curve from an arbitrary-length bit string {0, 1} * described in the signature described in Patent Document 2 A hash function H: {0, 1} * → E (GF (q)) to E (GF (q)) can be constructed.

また、任意長のビット列{0,1}から{GF(q)/{1,−1}∪{0})×{1,−1}へのハッシュ関数の構成方法は、実現可能であればその方法は問わない。さらに、楕円曲線上に値を持つその他のハッシュ関数(例えば、非特許文献1など)も上記ハッシュ関数Hと類似の方法で実現可能である。 Also, a method of constructing a hash function from an arbitrary-length bit string {0, 1} * to {GF (q) * / {1, -1} ∪ {0}) × {1, -1} is feasible. Any method is acceptable. Furthermore, other hash functions having a value on the elliptic curve (for example, Non-Patent Document 1) can be realized by a method similar to the hash function H.

以上の通り、本実施形態の楕円曲線上の点生成は、一般の楕円曲線に適用可能であり、入力に応じて処理性能に大きなばらつきがないような楕円曲線上の点の生成が可能になる。   As described above, the point generation on the elliptic curve of the present embodiment can be applied to a general elliptic curve, and it is possible to generate a point on the elliptic curve so that there is no large variation in processing performance according to the input. .

次に、第二の実施形態である楕円曲線上の点の生成方法について説明する。   Next, a method for generating points on an elliptic curve according to the second embodiment will be described.

第一の実施形態に記載の楕円曲線上の点の生成方法をΦとし、写像
、f、fを、
:GF(q)/{1,−1}∪{0}→C(GF(q)),
t→f(t)=(α=φ(t)/ω(t),β=ψ(t)/ω(t))
(式2)
:C(GF(q))→ (1)(GF(q)/GF(q)),
(α,β)→Q=(α+βξ,√F(α+βξ)) (式3)
(1)(GF(q)/GF(q))→(GF(q)),
Q=(α+βξ,√F(α+βξ))→Q+σ(Q) (式4)
とする。ここで、(式2)のφ、ψ、ωは上記有限体GF(q)を係数にもつ1次または2次の多項式であり、(式3)のF(α+βξ)は(式1)の定義方程式の右辺F(x)=x+ax+bよりF(α+βξ)=(α+βξ)+a(α+βξ)+bである。上記楕円曲線E上の点P,Pに対して、P=PまたはP=−Pのとき、P〜Pなる同値関係を定義する。 (1)(GF(q)/GF(q))、(GF(q))はそれぞれ集合{(x,y)∈E(GF(q))|x∈GF(q)−GF(q),y∈GF(q)}、集合E((GF(q))を同値関係〜で割った集合である。σはq乗Frobenius写像である。このとき、上記集合GF(q)/{1,−1}∪{0}の元t、及び上記集合{1,−1}の元ιから第一の実施形態に記載の方法で生成した点PはP=f(f(f(t,ι)))に他ならない。
The method for generating points on the elliptic curve described in the first embodiment is Φ, and the mappings f 1 , f 2 , and f 3 are
f 1 : GF (q) * / {1, −1} ∪ {0} → C (GF (q)),
t → f 1 (t) = (α = φ (t) / ω (t), β = ψ (t) / ω (t))
(Formula 2)
f 2 : C (GF (q)) → E (1) (GF (q 2 ) / GF (q)),
(Α, β) → Q = (α + βξ, √F (α + βξ)) (Formula 3)
f 3 : E (1) (GF (q 2 ) / GF (q)) → E (GF (q)),
Q = (α + βξ, √F (α + βξ)) → Q + σ (Q) (Formula 4)
And Here, φ, ψ, and ω in (Expression 2) are first-order or second-order polynomials having the above-mentioned finite field GF (q) as coefficients, and F (α + βξ) in (Expression 3) is From the right side F (x) = x 3 + ax + b of the definition equation, F (α + βξ) = (α + βξ) 3 + a (α + βξ) + b. With respect to the points P 1 and P 2 on the elliptic curve E, when P 1 = P 2 or P 1 = −P 2 , an equivalence relation of P 1 to P 2 is defined. E (1) (GF (q 2 ) / GF (q)) and E (GF (q)) are respectively set {(x, y) εE (GF (q 2 )) | xεGF (q 2 ) −GF (q), y 2 εGF (q)} and set E ((GF (q)) divided by the equivalence relation ˜. Σ is a qth power Frobenius map. The point P generated by the method described in the first embodiment from the element t of (q) * / {1, -1} ∪ {0} and the element ι of the set {1, -1} is P = f 3 (f 2 (f 1 (t, ι))).

第二の実施形態は、第一の実施形態における上記有限体GF(q)を2次拡大体GF(q)、上記有限体GF(q)の乗法群GF(q)を2次拡大体GF(q)の乗法群GF(q、2次拡大体GF(q)を2次拡大体GF(q)の2次拡大(上記有限体GF(q)の4次拡大)GF(q)、として第一の実施形態に記載の方法で楕円曲線EのGF(q)有理点を生成し、さらに上記楕円曲線E(GF(q))上の点から(式9)を用いて上記楕円曲線E(GF(q))上の点を生成する方法である。 In the second embodiment, the finite field GF (q) in the first embodiment is a quadratic extension field GF (q 2 ), and the multiplicative group GF (q) * of the finite field GF (q) is quadratic extension. body GF (q 2) of the multiplicative group GF (q 2) *, 4-order quadratic extension of secondary extension field GF (q 2) a secondary extension field GF (q 2) (the finite field GF (q) (Enlarged) A GF (q 2 ) rational point of the elliptic curve E is generated by the method described in the first embodiment as GF (q 4 ), and further from the point on the elliptic curve E (GF (q 2 )). This is a method for generating a point on the elliptic curve E (GF (q)) using (Equation 9).

ここで、本実施形態における点生成装置も、第一の実施形態と同様に、記憶部111と、処理部120と、入力部131と、出力部132と、通信部133と、を備える。   Here, similarly to the first embodiment, the point generation device in the present embodiment also includes a storage unit 111, a processing unit 120, an input unit 131, an output unit 132, and a communication unit 133.

本実施形態では、点生成装置で集合GF(q/{1,−1}∪{0}の元tと集合{1,−1}の元ιに対する上記有限体GF(q)上定義された楕円曲線E(GF(q))上の点の生成を行う。 In the present embodiment, on the finite field GF (q) with respect to the element t of the set GF (q 2 ) * / {1, -1} 0 {0} and the element ι of the set {1, -1} by the point generator. A point on the defined elliptic curve E (GF (q)) is generated.

記憶部111の機能構成は第一の実施形態と同様である。   The functional configuration of the storage unit 111 is the same as that of the first embodiment.

有理関数記憶領域112は、上記有限体GF(q)から有限体GF(q)上定義された2次曲線Cへの2つの有理関数に関する情報、及び上記2つの有理関数に付随する情報が格納される。ここで、上記有限体GF(q)から有限体GF(q)上定義された2次曲線Cへの2つの有理関数とは、上記有限体GF(q)を係数にもつ1次または2次の多項式φ、ω、ψを用いてφ/ω、ψ/ωと表わされる関数であり、上記有限体GF(q)から有限体GF(q)上定義された2次曲線Cへの2つの有理関数に関する情報とは、例えば、上記φ、ω、ψの各係数である。また、上記有理関数φ/ω、ψ/ωの極(すなわち、ω(z)=0)となる上記有限体GF(q)の元z、及び上記多項式ψの零点(すなわち、ψ(z)=0)となる上記有限体GF(q)の元zである。なお、上記多項式ω、ψの零点となる上記各零点z、zを上記2つの有理関数に付随する情報を格納する理由については後述する。 Information rational function storage area 112 associated with the finite field GF two information regarding rational function from (q 2) to finite GF (q 2) above defined quadratic curve C, and the two rational function Is stored. Here, the finite field GF (q 2) from the finite field GF (q 2) The two rational function onto defined quadratic curve C, 1 primary with the finite field GF a (q 2) to the coefficient Or a quadratic curve defined on the finite field GF (q 2 ) from the finite field GF (q 2 ), which is a function expressed as φ / ω, ψ / ω using quadratic polynomials φ, ω, and ψ. The information regarding the two rational functions for C is, for example, the coefficients of φ, ω, and ψ. Furthermore, the rational function phi / omega, poles of [psi / omega (i.e., ω (z 0) = 0 ) and becomes the original z 0, and zeros of the polynomials [psi of the finite field GF (q 2) (i.e., [psi (z 1) = 0) and it becomes a former z 1 of the finite field GF (q 2). The reason why the zero points z 0 and z 1 that are the zeros of the polynomials ω and ψ are stored in the information associated with the two rational functions will be described later.

基底記憶領域113には、上記有限体GF(q)の2次拡大GF(q)の基底に関する情報が格納される。例えば、本実施形態においては、ξ∈GF(q)−GF(q)、c=ξ∈GF(q)なる元ξが上記有限体GF(q)の2次拡大GF(q)の基底に関する情報である。また、上記元c∈GF(q)も上記基底に関する情報として格納しておいてもよい。ここで、GF(q)−GF(q)は上記有限体GF(q)の2次拡大GF(q)から上記有限体GF(q)の元を除いた集合を表わす。上記ξ、及び上記有限体GF(q)の乗算に関する単位元1は、上記2次拡大GF(q)の上記有限体GF(q)上の基底である。 The base storage area 113 stores information related to the base of the secondary extension GF (q 4 ) of the finite field GF (q 2 ). For example, in the present embodiment, the element ξ such that ξ∈GF (q 4 ) −GF (q 2 ), c = ξ 2 ∈GF (q 2 ) is the quadratic extended GF () of the finite field GF (q 2 ) information on the basis of q 4 ). The element cεGF (q 2 ) may also be stored as information on the base. Here, GF (q 4) -GF ( q 2) represents the set except for the finite field GF (q 2) of the secondary expansion GF (q 4) from the finite field GF (q 2) original. The xi], and identity element 1 relating to the multiplication of the finite field GF (q 2) is a base on the finite field GF (q 2) of the secondary expansion GF (q 4).

パラメータ記憶部は、有限体GF(q)、及び上記有限体GF(q)上定義された楕円曲線E(GF(q))に関する情報が格納される。例えば、本実施形態においては、上記素数べきq、及び上記楕円曲線E(GF(q))の定義方程式(式1)の係数a、bである。   The parameter storage unit stores information on the finite field GF (q) and the elliptic curve E (GF (q)) defined on the finite field GF (q). For example, in the present embodiment, the prime power q and the coefficients a and b of the defining equation (formula 1) of the elliptic curve E (GF (q)) are used.

処理部120の機能構成も第一の実施形態と同様である。   The functional configuration of the processing unit 120 is the same as that of the first embodiment.

例えば、本実施形態では、処理部120は、集合GF(q/{1,−1}∪{0}の元tと集合{1,−1}の元ιに対する上記楕円曲線E(GF(q))上の点を生成する処理を制御する。ここで、上記集合GF(q/{1,−1}∪{0}とは、有限体の乗法群GF(qの元gに対して、g+h=0、またはg−h=0なる同値関係によって上記有限体の乗法群GF(qを割った集合を表わす。 For example, in the present embodiment, the processing unit 120 performs the elliptic curve E () on the element t of the set GF (q 2 ) * / {1, −1} ∪ {0} and the element ι of the set {1, −1}. Controls the process of generating points on GF (q)). Here, the set GF (q 2 ) * / {1, −1} ∪ {0} is g + h = 0 or g− with respect to the element g of the multiplicative group GF (q 2 ) * of the finite field. A set obtained by dividing the multiplicative group GF (q 2 ) * of the finite field by an equivalence relation of h = 0.

例えば、本実施形態では、処理部120は、入力データである上記元tと上記元ιに対して、有理関数記憶領域112に格納されている上記有理関数φ/ω、ψ/ωと、基底記憶領域113に格納されているGF(q)−GF(q)の元ξを取得して、tとともに、有理関数計算部121に送信する。有理関数計算部121は、予め定められたアルゴリズムによる計算を行い、上記有限体GF(q)の2つの元α、βを生成する。そして、有理関数計算部121は、上記α、β、ξ、及び、パラメータ記憶部114に格納されている上記a、bを有限体演算計算部122に送信する。 For example, in the present embodiment, the processing unit 120 performs the rational functions φ / ω, ψ / ω stored in the rational function storage area 112 and the basis for the element t and the element ι that are input data. The element ξ of GF (q 4 ) −GF (q 2 ) stored in the storage area 113 is acquired and transmitted to the rational function calculation unit 121 together with t. The rational function calculation unit 121 performs calculation using a predetermined algorithm, and generates two elements α and β of the finite field GF (q 2 ). Then, the rational function calculation unit 121 transmits the α, β, ξ, and a and b stored in the parameter storage unit 114 to the finite field calculation calculation unit 122.

有限体演算計算部122は、予め定められたアルゴリズムによる計算を行い、上記楕円曲線E(GF(q))上の点Pを生成する。有限体演算計算部122は、上記生成した上記楕円曲線E(GF(q))上の点Pを処理部120に出力する。入力部131は、情報の入力を受け付ける。出力部132は、情報を出力する。通信部133は、記憶部111と、処理部120と、入力部131と、出力部132と、の間の情報の送受信を行う。   The finite field calculation calculation unit 122 performs calculation using a predetermined algorithm, and generates a point P on the elliptic curve E (GF (q)). The finite field calculation calculation unit 122 outputs the generated point P on the elliptic curve E (GF (q)) to the processing unit 120. The input unit 131 receives input of information. The output unit 132 outputs information. The communication unit 133 transmits and receives information between the storage unit 111, the processing unit 120, the input unit 131, and the output unit 132.

以上に記載した点生成装置100も、第一の実施形態と同様、例えば、図2(コンピュータ140の概略図)に示すような、CPU141と、メモリ142と、HDD等の外部記憶装置143と、CD−ROMやDVD−ROM等の可搬性を有する記憶媒体144から情報を読み出す読取装置145と、キーボードやマウスなどの入力装置146と、ディスプレイなどの出力装置147と、通信ネットワークに接続するためのNIC(Network Interface Card)等の通信装置148と、を備えた一般的なコンピュータ140で実現できる。処理部120が、外部記憶装置143に記憶されている所定のプログラムをメモリ142にロードしてCPU141で実行することで実現可能であることも、第一の実施形態と同様である。   Similarly to the first embodiment, the point generation device 100 described above also has, for example, a CPU 141, a memory 142, an external storage device 143 such as an HDD, as shown in FIG. 2 (a schematic diagram of the computer 140), A reader 145 that reads information from a portable storage medium 144 such as a CD-ROM or DVD-ROM, an input device 146 such as a keyboard or a mouse, an output device 147 such as a display, and a communication network It can be realized by a general computer 140 including a communication device 148 such as a NIC (Network Interface Card). Similarly to the first embodiment, the processing unit 120 can be realized by loading a predetermined program stored in the external storage device 143 into the memory 142 and executing it by the CPU 141.

本実施形態の点生成装置100における点生成処理を示すシーケンス図も第一の実施形態(図3)と同様である。ただし、ステップS10のtは、GF(q/{1,−1}∪{0}の元、ステップS11、及びステップS12のφ、ω、ψは上記有限体GF(q)を係数にもつ1次または2次の多項式、ステップS11、及びステップ14のξはGF(q)のGF(q)上の上記基底、ステップS13、及びステップS14のα、βは上記有限体GF(q)の元、である。 The sequence diagram showing the point generation processing in the point generation device 100 of this embodiment is also the same as that of the first embodiment (FIG. 3). However, t in step S10 is an element of GF (q 2 ) * / {1, -1} ∪ {0}, φ, ω, and ψ in steps S11 and S12 are the finite field GF (q 2 ). The first-order or second-order polynomial for the coefficients, ξ of step S11 and step 14 is the basis on GF (q 2 ) of GF (q 4 ), and α and β of step S13 and step S14 are the finite field It is an element of GF (q 2 ).

図5は、有理関数計算部121と、有限体演算計算部122での楕円曲線E(GF(q))上の点Pの生成処理を示すフローチャートである。   FIG. 5 is a flowchart showing a process of generating a point P on the elliptic curve E (GF (q)) in the rational function calculation unit 121 and the finite field calculation calculation unit 122.

ここで、本実施形態では、Eを、a、bが定義方程式(式1)の係数である有限体GF(q)上定義された楕円曲線、φ、ψ、ωを、上記有限体GF(q)を係数にもつ1次または2次の多項式とする。 Here, in the present embodiment, E is an elliptic curve defined on a finite field GF (q) in which a and b are coefficients of the definition equation (Equation 1), φ, ψ, and ω are converted to the finite field GF ( Let q 2 ) be a first-order or second-order polynomial having a coefficient.

以下、集合GF(q/{1,−1}∪{0}の元tと集合{1,−1}の元ιから上記楕円曲線E(GF(q))上の点Pを生成する方法を具体的に説明する。 Hereinafter, a point P on the elliptic curve E (GF (q)) is calculated from the element t of the set GF (q 2 ) * / {1, -1} ∪ {0} and the element ι of the set {1, -1}. The generation method will be specifically described.

有理関数計算部121と、有限体演算計算部122での楕円曲線上の点の生成処理は、集合GF(q/{1,−1}∪{0}の元tと集合{1,−1}の元ιを処理部120より受けることで開始される(S30)。 The process of generating points on the elliptic curve by the rational function calculation unit 121 and the finite field calculation calculation unit 122 is performed by using the element t of the set GF (q 2 ) * / {1, −1} ∪ {0} and the set {1 , −1} is received from the processing unit 120 (S30).

処理部120より上記集合GF(q/{1,−1}∪{0}の元tと上記集合{1,−1}の元ιを受け取ると、有理関数計算部121は、入力された上記元t∈GF(q/{1,−1}∪{0}からα=φ(t)/ω(t)を計算する(S31)。 Upon receiving the element t of the set GF (q 2 ) * / {1, -1} / {0} and the element ι of the set {1, -1} from the processing unit 120, the rational function calculation unit 121 inputs Α = φ (t) / ω (t) is calculated from the above-mentioned element tεGF (q 2 ) * / {1, −1} ∪ {0} (S31).

そして、有限体演算計算部122は、有理関数計算部121より送信された上記α、上記楕円曲線a、b、及び、上記素数べきqを用いてτ=−8α−2aα+bを計算する(S32)。 Then, the finite field calculation calculation unit 122 calculates τ = −8α 3 −2aα + b using the α, the elliptic curves a and b, and the prime power q transmitted from the rational function calculation unit 121 (S32). ).

そして、有限体演算計算部122は、χ (τ)=1であるかどうかを判定する(S33)。そして、χ (τ)=1である場合には(ステップS33においてYes)、ステップS34に進み、χ (τ)=1ではない場合には(ステップS33においてNo)、ステップS35に進む。ここで、χ は、s∈(GF(qならばχ (s)=1、s∈(GF(qでないならばχ (s)=−1と定義される上記有限体の乗法群GF(qから集合{1,−1}への写像である(さらにχ (0)=0とし、χ をGF(q)から{0,1,−1}への写像と拡張することもある。以下、上記χ も上述のとおりに定義されるGF(q)から{0,1,−1}への写像とする)。 Then, the finite field calculation calculation unit 122 determines whether χ q 2 (τ) = 1 (S33). If χ q 2 (τ) = 1 (Yes in step S33), the process proceeds to step S34. If χ q 2 (τ) = 1 is not satisfied (No in step S33), the process proceeds to step S35. move on. Here, χ q 2 is, s∈ (GF (q 2) *) 2 if χ q 2 (s) = 1 , s∈ (GF (q 2) *) if it is not a 2 χ q 2 (s) Is a mapping from the multiplicative group GF (q 2 ) * of the finite field defined as = −1 to the set {1, −1} (further, χ q 2 (0) = 0, and χ q 2 is GF ( q 2 ) to {0, 1, -1}, and may be extended.Hereafter, χ q 2 is also defined as described above from GF (q) to {0, 1, -1}. ).

ステップS34では、有限体演算計算部122は、τから√τを計算し、yに代入する(S34)。   In step S34, the finite field calculation calculation unit 122 calculates √τ from τ and substitutes it for y (S34).

ステップS35では、有限体演算計算部122は、τから√τ/ξを計算し、zに代入し、zω(t)/ψ(t)を計算してwに代入する(S35)。 In step S35, the finite field calculation calculation unit 122 calculates √τ / ξ 2 from τ, substitutes it for z, calculates zω (t) / ψ (t), and substitutes it for w (S35).

ステップS36では、有限体演算計算部122は、(−2α,ιy)をQに代入する(S36)。   In step S36, the finite field calculation calculation unit 122 substitutes (-2α, ιy) for Q (S36).

ステップS37では、有限体演算計算部122は、(w−2α,ι(w−3α)w)をQに代入する(S37)。 In step S37, the finite field calculation calculation unit 122 substitutes (w 2 −2α, ι (w 2 −3α) w) for Q (S37).

ステップS38では、Q+σ(Q)をPに代入し、上記Pを上記楕円曲線の点として出力する(S37)。ここで、σはq乗Frobenius写像である。
なお、ステップS34、ステップS35、及びステップS37(Q+σ(Q)の計算)で実行する有限体における平方根計算については、例えば、H. Cohen, “A Course in Computational Algebraic Number Theory”, Springer-Verlag, GTM 138, 1993. に詳細に記載されている。
In step S38, Q + σ (Q) is substituted for P, and P is output as a point of the elliptic curve (S37). Here, σ is a q-th power Frobenius map.
For the square root calculation in the finite field executed in step S34, step S35, and step S37 (calculation of Q + σ (Q)), see, for example, H. Cohen, “A Course in Computational Algebraic Number Theory”, Springer-Verlag, It is described in detail in GTM 138, 1993.

なお、ステップS37で出力される上記Pが上記楕円曲線E(GF(q))上の点であることも、第一の実施形態と同様、上記楕円曲線E(GF(q))の定義方程式(式1)にPを代入することによって容易に確認することができる。   Note that the P output in step S37 is a point on the elliptic curve E (GF (q)), as in the first embodiment, the defining equation for the elliptic curve E (GF (q)). This can be easily confirmed by substituting P into (Equation 1).

また、本実施形態では、上記集合GF(q)/{1,−1}∪{0}の元tと集合{1,−1}の元ιに対して上記楕円曲線E(GF(q))上の点PをWeierstrass型楕円曲線のアフィン座標で生成する方法を説明したが、Weierstrass型楕円曲線の射影座標、Weierstrass型楕円曲線のJacobian座標などWeierstrass型楕円曲線のアフィン座標と異なる座標系で生成したり、Hessian型楕円曲線、Montgomery型楕円曲線、Edwards型楕円曲線上の点を生成することも可能である。この理由も第一の実施形態と同様である。 In the present embodiment, the elliptic curve E (GF (q (q)) is obtained for the element t of the set GF (q) * / {1, -1} ∪ {0} and the element ι of the set {1, -1}. )) Although the method for generating the upper point P with the affine coordinates of the Weierstrasse elliptic curve has been described, a coordinate system different from the affine coordinates of the Weierstrasse elliptic curve, such as the projected coordinates of the Weierstrasse elliptic curve, the Jacobian coordinates of the Weierstrass elliptic curve, etc. Or a point on a Hessian-type elliptic curve, Montgomery-type elliptic curve, or Edwards-type elliptic curve. The reason for this is also the same as in the first embodiment.

また、上記多項式ω、ψの零点となる上記各零点z、zを上記2つの有理関数に付随する情報を格納する理由、及び、上記集合GF(q/{1,−1}∪{0}の元tがz、またはzと等しい場合における上記楕円曲線E(GF(q))上の点Pの生成方法も第一の実施形態と同様である。 The zeros z 0 and z 1 that are the zeros of the polynomials ω and ψ are stored in the information associated with the two rational functions, and the set GF (q 2 ) * / {1, −1 } The method of generating the point P on the elliptic curve E (GF (q)) when the element t of {0} is equal to z 0 or z 1 is the same as in the first embodiment.

上記有理関数φ/ω、ψ/ωの決定方法も第一の実施形態と同様である。   The rational functions φ / ω and ψ / ω are determined in the same manner as in the first embodiment.

また、本実施形態を用いることによって、楕円曲線上に値を持つハッシュ関数を容易に構成することができる理由は以下の通りである。例えば、非特許文献2に記載の署名では、上述の通り、任意長のビット列{0,1}から楕円曲線E(GF(q))へのハッシュ関数H:{0,1}→E(GF(q))を使用する。hを任意長のビット列{0,1}から固定長のビット列{0,1}2mへの暗号学的ハッシュ関数(例えば、SHA−256など)とし、上記素数べきqのビット長|q|=mとする。任意長のビット列M∈{0,1}に対し、上記Mのハッシュ値h(M)を計算し、上位(m−1)/2ビットをt、次の(m−1)/2ビットをt、最下位2ビットをιとする。すなわち、M=t||t||ιである。ここで、||は2つのビット列の結合を表す。上記t、tを予め定められた方法でGF(q)の元と見なし(例えば、ビット列t=t1,m−21,m−3...t1,0、t=t2,m−22,m−3...t2,0、に対し、t=t1,m−2m−2+t1,m−3m−3+...+t1,0、t=t2,m−2m−2+t2,m−3m−3+...+t2,0とする)、さらに、ι=ι||ι、すなわち、ιの上位1ビットをι、ιの下位1ビットをιとする。上記t=t+tξ∈GF(q/{1,−1}∪{0}と上記ι(または、ι)∈{1,−1}に対して本実施形態に記載の点生成方法で生成した点Pを上記ビット列Mに対するハッシュ値とすることにより、特許文献2に記載の署名に記載されている任意長のビット列{0,1}から楕円曲線E(GF(q))へのハッシュ関数H:{0,1}→E(GF(q))が構成できる。また、任意長のビット列{0,1}から{GF(q/{1,−1}∪{0})×{1,−1}へのハッシュ関数の構成方法は、実現可能であればその方法は問わない。さらに、楕円曲線上に値を持つその他のハッシュ関数(例えば、非特許文献1など)も上記ハッシュ関数Hと類似の方法で実現可能である。 The reason why a hash function having a value on an elliptic curve can be easily configured by using this embodiment is as follows. For example, in the signature described in Non-Patent Document 2, as described above, the hash function H: {0, 1} * → E from the arbitrary-length bit string {0, 1} * to the elliptic curve E (GF (q)) (GF (q)) is used. Let h be a cryptographic hash function (for example, SHA-256, etc.) from an arbitrary-length bit string {0, 1} * to a fixed-length bit string {0, 1} 2m , and the bit length | q | = M. For an arbitrary length bit string Mε {0,1} * , the hash value h (M) of the M is calculated, the upper (m−1) / 2 bits are t 1 , and the next (m−1) / 2. Let the bit be t 2 and the least significant 2 bits be ι. That is, M = t 1 || t 2 || ι. Here, || represents a combination of two bit strings. The above t 1 and t 2 are regarded as elements of GF (q) in a predetermined method (for example, bit string t 1 = t 1, m−2 t 1, m−3 ... T 1,0 , t 2 = t 2, m-2 t 2, m-3 ... t 2,0, for, t 1 = t 1, m -2 2 m-2 + t 1, m-3 2 m-3 + .. + T 1 , 0 , t 2 = t 2, m-2 2 m-2 + t 2, m-3 2 m-3 + ... + t 2,0 ), and ι = ι 1 || ι 2 , that is, the upper 1 bit of ι is ι 1 and the lower 1 bit of ι is ι 2 . In this embodiment, t = t 1 + t 2 ξ∈GF (q 2 ) * / {1, −1} 1 , {0} and ι 1 (or ι 2 ) ∈ {1, −1}. By using the point P generated by the described point generation method as a hash value for the bit string M, an elliptic curve E (GF from an arbitrary-length bit string {0, 1} * described in the signature described in Patent Document 2 is used. A hash function H: {0, 1} * → E (GF (q)) to (q)) can be constructed. Also, a method of constructing a hash function from an arbitrary-length bit string {0, 1} * to {GF (q 2 ) * / {1, -1} ∪ {0}) × {1, -1} is feasible. If so, the method does not matter. Furthermore, other hash functions having a value on the elliptic curve (for example, Non-Patent Document 1) can be realized by a method similar to the hash function H.

以上の通り、本実施形態の楕円曲線上の点生成は、一般の楕円曲線に適用可能であり、入力に応じて処理性能に大きなばらつきがないような楕円曲線上の点の生成が可能になる。   As described above, the point generation on the elliptic curve of the present embodiment can be applied to a general elliptic curve, and it is possible to generate a point on the elliptic curve so that there is no large variation in processing performance according to the input. .

100:点生成装置、111:記憶部、112:有理関数記憶領域、113:基底記憶領域、114:パラメータ記憶領域、120:処理部、121:有理関数計算部、122:有限体演算計算部、131:入力部、132:出力部、133:通信部。 100: point generation device, 111: storage unit, 112: rational function storage area, 113: basis storage area, 114: parameter storage area, 120: processing unit, 121: rational function calculation unit, 122: finite field calculation calculation unit, 131: input unit, 132: output unit, 133: communication unit.

Claims (12)

要素数が(q+1)/2(qは5以上の素数べき)の集合Sの元と要素数が2の集合Tの元から有限体GF(q)上定義された楕円曲線EのGF(q)有理点を生成する点生成方法であって、
前記集合Sの元から予め定められた前記有限体GF(q)上定義された二次曲線CのGF(q)有理点を生成する第一のステップと、
前記第一のステップで生成した前記二次曲線Cの前記GF(q)有理点から前記楕円曲線EのGF(q)有理点を生成する第二のステップと、
前記第二のステップで生成した前記楕円曲線EのGF(q)有理点と前記集合Tの元から前記楕円曲線EのGF(q)有理点を生成する第三のステップと、
を備えることを特徴とする楕円曲線上の点生成方法。
GF (q of the elliptic curve E defined on the finite field GF (q) from the elements of the set S with the number of elements (q + 1) / 2 (q should be a prime number of 5 or more) and the elements of the set T with the number of elements 2 A point generation method for generating rational points,
Generating a GF (q) rational point of the quadratic curve C defined on the predetermined finite field GF (q) from an element of the set S;
A second step of generating a GF (q 2 ) rational point of the elliptic curve E from the GF (q) rational point of the quadratic curve C generated in the first step;
A third step of generating a GF (q 2 ) rational point of the elliptic curve E from the GF (q 2 ) rational point of the elliptic curve E generated in the second step and the element of the set T;
A point generation method on an elliptic curve, comprising:
請求項1に記載の楕円曲線上の点生成方法であって、
前記集合Sは集合GF(q)/{1,−1}∪{0}、前記集合Tは{1,−1}であり、
前記第一のステップは、前記集合Sの元tから予め定められた2つのGF(q)上の有理関数α、βに対して、α(t)、β(t)を計算し、前記二次曲線CのGF(q)有理点R=(α、β)を生成し、
前記第二のステップは、予め定められた前記有限体GF(q)の前記有限体GF(q)上の基底(ξ,1)、及び前記二次曲線CのGF(q)有理点(α、β)から前記楕円曲線EのGF(q)有理点P=(α+βξ,√(F(α+βξ)))(Fは前記楕円曲線EのWeierstrass型の定義方程式y=x+ax+b=F(x)に対して、F(x)=x+ax+bなる多項式)を生成し、
前記第三のステップは、前記楕円曲線EのGF(q)有理点Pから前記楕円曲線EのFrobenius自己準同型写像σを用いて前記楕円曲線EのGF(q)有理点(P+σ(P))を生成すること、
を特徴とする楕円曲線上の点生成方法。
A method for generating points on an elliptic curve according to claim 1,
The set S is a set GF (q) * / {1, -1} ∪ {0}, and the set T is {1, -1},
In the first step, α (t) and β (t) are calculated for rational functions α and β on two predetermined GF (q) from the element t of the set S, and the two Generate a GF (q) rational point R = (α, β) of the quadratic curve C;
The second step includes a basis (ξ, 1) on the finite field GF (q) of the predetermined finite field GF (q 2 ) and a GF (q) rational point of the quadratic curve C ( GF (q 2 ) rational point P = (α + βξ, √ (F (α + βξ))) of the elliptic curve E from α, β) (F is a Weierstrass type definition equation of the elliptic curve E y 2 = x 3 + ax + b = F (x) = x 3 + ax + b) is generated for F (x),
In the third step, the GF (q) rational point (P + σ (P) of the elliptic curve E is obtained using the Frobenius automorphism σ of the elliptic curve E from the GF (q 2 ) rational point P of the elliptic curve E. )),
A method for generating points on an elliptic curve characterized by
要素数が(q+1)/2(qは5以上の素数べき)の集合Sの元と要素数が2の集合Tの元から有限体GF(q)上定義された楕円曲線EのGF(q)有理点を生成する点生成方法であって、
前記集合Sの元から予め定められた前記有限体GF(q)上定義された二次曲線CのGF(q)有理点を生成する第一のステップと、
前記第一のステップで生成した前記二次曲線Cの前記GF(q)有理点から前記楕円曲線EのGF(q)有理点を生成する第二のステップと、
前記第二のステップで生成した前記楕円曲線EのGF(q)有理点と前記集合Tの元から前記楕円曲線EのGF(q)有理点を生成する第三のステップと、
を備えることを特徴とする楕円曲線上の点生成方法。
GF of an elliptic curve E defined on a finite field GF (q) from an element of a set S having the number of elements (q 2 +1) / 2 (q should be a prime number of 5 or more) and an element of the set T having two elements (Q) A point generation method for generating rational points,
Generating a GF (q 2 ) rational point of a quadratic curve C defined on the predetermined finite field GF (q 2 ) from the element of the set S;
A second step of generating a GF (q 4 ) rational point of the elliptic curve E from the GF (q 2 ) rational point of the quadratic curve C generated in the first step;
A third step of generating a GF (q 4 ) rational point of the elliptic curve E from the GF (q 4 ) rational point of the elliptic curve E generated in the second step and the element of the set T;
A point generation method on an elliptic curve, comprising:
請求項3に記載の楕円曲線上の点生成方法であって、
前記集合Sは集合GF(q/{1,−1}∪{0}、前記集合Tは{1,−1}であり、
前記第一のステップは、前記集合Sの元tから予め定められた2つのGF(q)上の有理関数α、βに対して、α(t)、β(t)を計算し、前記二次曲線CのGF(q)有理点R=(α、β)を生成し、
前記第二のステップは、予め定められた前記有限体GF(q)の前記有限体GF(q)上の基底(ξ,1)、及び前記二次曲線CのGF(q)有理点(α、β)に対して、前記楕円曲線EのGF(q)有理点P=(α+βξ,√(F(α+βξ)))(Fは前記楕円曲線EのWeierstrass型の定義方程式y=x+ax+b=F(x)なる多項式)を生成し、
前記第三のステップは、前記楕円曲線EのGF(q)有理点Pから、前期楕円曲線EのFrobenius自己準同型写像σを用いて前記楕円曲線EのGF(q)有理点P+σ(P)+σ(P)+σ(P)を生成すること、
を特徴とする楕円曲線上の点生成方法。
A method for generating points on an elliptic curve according to claim 3,
The set S is a set GF (q 2 ) * / {1, −1} ∪ {0}, and the set T is {1, −1},
The first step calculates α (t) and β (t) for the rational functions α and β on two predetermined GF (q 2 ) from the element t of the set S, and Generate a GF (q 2 ) rational point R = (α, β) of the quadratic curve C;
The second step includes a basis (ξ, 1) on the finite field GF (q 2 ) of the predetermined finite field GF (q 4 ), and a GF (q 2 ) rationality of the quadratic curve C. GF (q 2 ) rational point P of the elliptic curve E with respect to the point (α, β) P = (α + βξ, √ (F (α + βξ))) (F is a Weierstrass-type definition equation y 2 of the elliptic curve E) = X 3 + ax + b = F (x) polynomial)
In the third step, the GF (q) rational point P + σ (P) of the elliptic curve E is obtained from the GF (q 4 ) rational point P of the elliptic curve E using the Frobenius automorphism σ of the previous elliptic curve E. ) + Σ 2 (P) + σ 3 (P),
A method for generating points on an elliptic curve characterized by
要素数が(q+1)/2(qは5以上の素数べき)の集合Sの元と要素数が2の集合Tの元から有限体GF(q)上定義された楕円曲線EのGF(q)有理点を生成する点生成装置であって、
前記集合Sの元から予め定められた前記有限体GF(q)上定義された二次曲線CのGF(q)有理点を生成する第一の手段と、
前記第一の手段で生成した前記二次曲線Cの前記GF(q)有理点から前記楕円曲線EのGF(q)有理点を生成する第二の手段と、
前記第二の手段で生成した前記楕円曲線EのGF(q)有理点と前記集合Tの元から前記楕円曲線EのGF(q)有理点を生成する第三の手段と、
を備えることを特徴とする楕円曲線上の点生成装置。
GF (q of the elliptic curve E defined on the finite field GF (q) from the elements of the set S with the number of elements (q + 1) / 2 (q should be a prime number of 5 or more) and the elements of the set T with the number of elements 2 A point generator for generating rational points,
A first means for generating a GF (q) rational point of a quadratic curve C defined on the finite field GF (q) determined in advance from an element of the set S;
Second means for generating a GF (q 2 ) rational point of the elliptic curve E from the GF (q) rational point of the quadratic curve C generated by the first means;
Third means for generating a GF (q 2 ) rational point of the elliptic curve E generated by the second means and a GF (q) rational point of the elliptic curve E from the elements of the set T;
A point generation device on an elliptic curve, comprising:
請求項5に記載の楕円曲線上の点生成装置であって、
前記集合Sは集合GF(q)/{1,−1}∪{0}、前記集合Tは{1,−1}であり、
前記第一の手段は、前記集合Sの元tから予め定められた2つのGF(q)上の有理関数α、βに対して、α(t)、β(t)を計算し、前記二次曲線CのGF(q)有理点R=(α、β)を生成し、
前記第二の手段は、予め定められた前記有限体GF(q)の前記有限体GF(q)上の基底(ξ,1)、及び前記二次曲線CのGF(q)有理点(α、β)から前記楕円曲線EのGF(q)有理点P=(α+βξ,√(F(α+βξ)))(Fは前記楕円曲線EのWeierstrass型の定義方程式y=x+ax+b=F(x)に対して、F(x)=x+ax+bなる多項式)を生成し、
前記第三の手段は、前記楕円曲線EのGF(q)有理点Pから前記楕円曲線EのFrobenius自己準同型写像σを用いて前記楕円曲線EのGF(q)有理点(P+σ(P))を生成すること、
を特徴とする楕円曲線上の点生成装置。
The point generation device on an elliptic curve according to claim 5,
The set S is a set GF (q) * / {1, -1} ∪ {0}, and the set T is {1, -1},
The first means calculates α (t) and β (t) for rational functions α and β on two predetermined GF (q) from the element t of the set S, and Generate a GF (q) rational point R = (α, β) of the quadratic curve C;
The second means includes a basis (ξ, 1) on the finite field GF (q) of the predetermined finite field GF (q 2 ), and a GF (q) rational point of the quadratic curve C ( GF (q 2 ) rational point P = (α + βξ, √ (F (α + βξ))) of the elliptic curve E from α, β) (F is a Weierstrass type definition equation of the elliptic curve E y 2 = x 3 + ax + b = F (x) = x 3 + ax + b) is generated for F (x),
The third means uses the GF (q 2 ) rational point (P + σ (P) of the elliptic curve E from the GF (q 2 ) rational point P of the elliptic curve E using the Frobenius automorphism σ of the elliptic curve E. )),
A point generator on an elliptic curve characterized by the following.
要素数が(q+1)/2(qは5以上の素数べき)の集合Sの元と要素数が2の集合Tの元から有限体GF(q)上定義された楕円曲線EのGF(q)有理点を生成する点生成装置であって、
前記集合Sの元から予め定められた前記有限体GF(q)上定義された二次曲線CのGF(q)有理点を生成する第一の手段と、
前記第一の手段で生成した前記二次曲線Cの前記GF(q)有理点から前記楕円曲線EのGF(q)有理点を生成する第二の手段と、
前記第二の手段で生成した前記楕円曲線EのGF(q)有理点と前記集合Tの元から前記楕円曲線EのGF(q)有理点を生成する第三の手段と、
を備えることを特徴とする楕円曲線上の点生成装置。
GF of an elliptic curve E defined on a finite field GF (q) from an element of a set S having the number of elements (q 2 +1) / 2 (q should be a prime number of 5 or more) and an element of the set T having two elements (Q) A point generator for generating rational points,
A first means for generating a GF (q 2 ) rational point of the quadratic curve C defined on the finite field GF (q 2 ) determined in advance from the element of the set S;
Second means for generating a GF (q 4 ) rational point of the elliptic curve E from the GF (q 2 ) rational point of the quadratic curve C generated by the first means;
Third means for generating a GF (q 4 ) rational point of the elliptic curve E from the GF (q 4 ) rational point of the elliptic curve E generated by the second means and the element of the set T;
A point generation device on an elliptic curve, comprising:
請求項7に記載の楕円曲線上の点生成装置であって、
前記集合Sは集合GF(q/{1,−1}∪{0}、前記集合Tは{1,−1}であり、
前記第一の手段は、前記集合Sの元tから予め定められた2つのGF(q)上の有理関数α、βに対して、α(t)、β(t)を計算し、前記二次曲線CのGF(q)有理点R=(α、β)を生成し、
前記第二の手段は、予め定められた前記有限体GF(q)の前記有限体GF(q)上の基底(ξ,1)、及び前記二次曲線CのGF(q)有理点(α、β)に対して、前記楕円曲線EのGF(q)有理点P=(α+βξ,√(F(α+βξ)))(Fは前記楕円曲線EのWeierstrass型の定義方程式y=x+ax+b=F(x)なる多項式)を生成し、
前記第三の手段は、前記楕円曲線EのGF(q)有理点Pから、前期楕円曲線EのFrobenius自己準同型写像σを用いて前記楕円曲線EのGF(q)有理点P+σ(P)+σ(P)+σ(P)を生成すること、
を特徴とする楕円曲線上の点生成装置。
The point generation device on an elliptic curve according to claim 7,
The set S is a set GF (q 2 ) * / {1, −1} ∪ {0}, and the set T is {1, −1},
The first means calculates α (t) and β (t) for rational functions α and β on two predetermined GF (q 2 ) from the element t of the set S, and Generate a GF (q 2 ) rational point R = (α, β) of the quadratic curve C;
The second means includes a basis (ξ, 1) on the finite field GF (q 2 ) of the predetermined finite field GF (q 4 ), and a GF (q 2 ) rationality of the quadratic curve C. GF (q 2 ) rational point P of the elliptic curve E with respect to the point (α, β) P = (α + βξ, √ (F (α + βξ))) (F is a Weierstrass-type definition equation y 2 of the elliptic curve E) = X 3 + ax + b = F (x) polynomial)
The third means uses the Frobenius automorphism σ of the elliptic curve E from the GF (q 4 ) rational point P of the elliptic curve E to use the GF (q) rational point P + σ (P ) + Σ 2 (P) + σ 3 (P),
A point generator on an elliptic curve characterized by the following.
コンピュータに、要素数が(q+1)/2(qは5以上の素数べき)の集合Sの元と要素数が2の集合Tの元から有限体GF(q)上定義された楕円曲線EのGF(q)有理点を生成させる点生成プログラムであって、
前記集合Sの元から予め定められた前記有限体GF(q)上定義された二次曲線CのGF(q)有理点を生成する第一のステップと、
前記第一のステップで生成した前記二次曲線Cの前記GF(q)有理点から前記楕円曲線EのGF(q)有理点を生成する第二のステップと、
前記第二のステップで生成した前記楕円曲線EのGF(q)有理点と前記集合Tの元から前記楕円曲線EのGF(q)有理点を生成する第三のステップと、
を備えることを特徴とする点生成プログラム。
The computer calculates an elliptic curve E defined on a finite field GF (q) from an element of a set S having (q + 1) / 2 elements (q is a prime power of 5 or more) and an element of a set T having 2 elements. A point generation program for generating GF (q) rational points,
Generating a GF (q) rational point of the quadratic curve C defined on the predetermined finite field GF (q) from an element of the set S;
A second step of generating a GF (q 2 ) rational point of the elliptic curve E from the GF (q) rational point of the quadratic curve C generated in the first step;
A third step of generating a GF (q 2 ) rational point of the elliptic curve E from the GF (q 2 ) rational point of the elliptic curve E generated in the second step and the element of the set T;
A point generation program comprising:
請求項9に記載の点生成プログラムであって、
前記集合Sは集合GF(q)/{1,−1}∪{0}、前記集合Tは{1,−1}であり、
前記第一のステップは、前記集合Sの元tから予め定められた2つのGF(q)上の有理関数α、βに対して、α(t)、β(t)を計算し、前記二次曲線CのGF(q)有理点R=(α、β)を生成し、
前記第二のステップは、予め定められた前記有限体GF(q)の前記有限体GF(q)上の基底(ξ,1)、及び前記二次曲線CのGF(q)有理点(α、β)から前記楕円曲線EのGF(q)有理点P=(α+βξ,√(F(α+βξ)))(Fは前記楕円曲線EのWeierstrass型の定義方程式y=x+ax+b=F(x)に対して、F(x)=x+ax+bなる多項式)を生成し、
前記第三のステップは、前記楕円曲線EのGF(q)有理点Pから前記楕円曲線EのFrobenius自己準同型写像σを用いて前記楕円曲線EのGF(q)有理点(P+σ(P))を生成すること、
を特徴とする点生成プログラム。
A point generation program according to claim 9, wherein
The set S is a set GF (q) * / {1, -1} ∪ {0}, and the set T is {1, -1},
In the first step, α (t) and β (t) are calculated for rational functions α and β on two predetermined GF (q) from the element t of the set S, and the two Generate a GF (q) rational point R = (α, β) of the quadratic curve C;
The second step includes a basis (ξ, 1) on the finite field GF (q) of the predetermined finite field GF (q 2 ) and a GF (q) rational point of the quadratic curve C ( GF (q 2 ) rational point P = (α + βξ, √ (F (α + βξ))) of the elliptic curve E from α, β) (F is a Weierstrass type definition equation of the elliptic curve E y 2 = x 3 + ax + b = F (x) = x 3 + ax + b) is generated for F (x),
In the third step, the GF (q) rational point (P + σ (P) of the elliptic curve E is obtained using the Frobenius automorphism σ of the elliptic curve E from the GF (q 2 ) rational point P of the elliptic curve E. )),
A point generation program characterized by
コンピュータに、要素数が(q+1)/2(qは5以上の素数べき)の集合Sの元と要素数が2の集合Tの元から有限体GF(q)上定義された楕円曲線EのGF(q)有理点を生成させる点生成プログラムであって、
前記集合Sの元から予め定められた前記有限体GF(q)上定義された二次曲線CのGF(q)有理点を生成する第一のステップと、
前記第一のステップで生成した前記二次曲線Cの前記GF(q)有理点から前記楕円曲線EのGF(q)有理点を生成する第二のステップと、
前記第二のステップで生成した前記楕円曲線EのGF(q)有理点と前記集合Tの元から前記楕円曲線EのGF(q)有理点を生成する第三のステップと、
を備えることを特徴とする点生成プログラム。
An elliptic curve defined on a finite field GF (q) from a set S element having the number of elements (q 2 +1) / 2 (q should be a prime number of 5 or more) and a set T having the number of elements 2 A point generation program for generating a GF (q) rational point of E,
Generating a GF (q 2 ) rational point of a quadratic curve C defined on the predetermined finite field GF (q 2 ) from the element of the set S;
A second step of generating a GF (q 4 ) rational point of the elliptic curve E from the GF (q 2 ) rational point of the quadratic curve C generated in the first step;
A third step of generating a GF (q 4 ) rational point of the elliptic curve E from the GF (q 4 ) rational point of the elliptic curve E generated in the second step and the element of the set T;
A point generation program comprising:
請求項11に記載の点生成プログラムであって、
前記集合Sは集合GF(q/{1,−1}∪{0}、前記集合Tは{1,−1}であり、
前記第一のステップは、前記集合Sの元tから予め定められた2つのGF(q)上の有理関数α、βに対して、α(t)、β(t)を計算し、前記二次曲線CのGF(q)有理点R=(α、β)を生成し、
前記第二のステップは、予め定められた前記有限体GF(q)の前記有限体GF(q)上の基底(ξ,1)、及び前記二次曲線CのGF(q)有理点(α、β)に対して、前記楕円曲線EのGF(q)有理点P=(α+βξ,√(F(α+βξ)))(Fは前記楕円曲線EのWeierstrass型の定義方程式y=x+ax+b=F(x)なる多項式)を生成し、
前記第三のステップは、前記楕円曲線EのGF(q)有理点Pから、前期楕円曲線EのFrobenius自己準同型写像σを用いて前記楕円曲線EのGF(q)有理点P+σ(P)+σ(P)+σ(P)を生成すること、
を特徴とする点生成プログラム。
A point generation program according to claim 11,
The set S is a set GF (q 2 ) * / {1, −1} ∪ {0}, and the set T is {1, −1},
The first step calculates α (t) and β (t) for the rational functions α and β on two predetermined GF (q 2 ) from the element t of the set S, and Generate a GF (q 2 ) rational point R = (α, β) of the quadratic curve C;
The second step includes a basis (ξ, 1) on the finite field GF (q 2 ) of the predetermined finite field GF (q 4 ), and a GF (q 2 ) rationality of the quadratic curve C. GF (q 2 ) rational point P of the elliptic curve E with respect to the point (α, β) P = (α + βξ, √ (F (α + βξ))) (F is a Weierstrass-type definition equation y 2 of the elliptic curve E) = X 3 + ax + b = F (x) polynomial)
In the third step, the GF (q) rational point P + σ (P) of the elliptic curve E is obtained from the GF (q 4 ) rational point P of the elliptic curve E using the Frobenius automorphism σ of the previous elliptic curve E. ) + Σ 2 (P) + σ 3 (P),
A point generation program characterized by
JP2009055891A 2009-03-10 2009-03-10 Method, device, and program for efficiently generating point on elliptic curve Pending JP2010210844A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009055891A JP2010210844A (en) 2009-03-10 2009-03-10 Method, device, and program for efficiently generating point on elliptic curve

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009055891A JP2010210844A (en) 2009-03-10 2009-03-10 Method, device, and program for efficiently generating point on elliptic curve

Publications (1)

Publication Number Publication Date
JP2010210844A true JP2010210844A (en) 2010-09-24

Family

ID=42971092

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009055891A Pending JP2010210844A (en) 2009-03-10 2009-03-10 Method, device, and program for efficiently generating point on elliptic curve

Country Status (1)

Country Link
JP (1) JP2010210844A (en)

Similar Documents

Publication Publication Date Title
Costello et al. Efficient algorithms for supersingular isogeny Diffie-Hellman
Khalique et al. Implementation of elliptic curve digital signature algorithm
US9749135B2 (en) Encrypting device, encrypting method, and recording medium
JP5001176B2 (en) Signature generation apparatus, signature generation method, and signature generation program
US20170091148A1 (en) Method for calculating elliptic curve scalar multiplication
US6266688B1 (en) Scheme for arithmetic operations in finite field and group operations over elliptic curves realizing improved computational speed
US20110038478A1 (en) Digital signature generation apparatus, digital signature verification apparatus, and key generation apparatus
US8666066B2 (en) Encoding points of an elliptic curve
US6480606B1 (en) Elliptic curve encryption method and system
JP5354994B2 (en) Apparatus and program for performing data compression processing using algebraic torus
Fouotsa et al. x-superoptimal pairings on elliptic curves with odd prime embedding degrees: BW 13-P 310 and BW 19-P 286
Xu et al. An improved sliding window algorithm for ECC multiplication
JP2010210844A (en) Method, device, and program for efficiently generating point on elliptic curve
JPH1152854A (en) Arithmetic unit device on finite field and group computing device on elliptic curve
US8750499B2 (en) Cryptographic method using a non-supersingular elliptic curve E in characteristic 3
JP2000321979A (en) Polynomial arithmetic device, device for calculating order of elliptic curve, device for generating elliptic curve, and cryptographic system for elliptic curve
JPWO2012015047A1 (en) Scalar multiplication and pairing of rational points on an elliptic curve with embedding degree 1 and composite order
WO2012176408A1 (en) Signature verification method, signature verification system, and signature verification program
Pesonen Performance Evaluation of Optimal Ate Pairing on Low-Cost Single Microprocessor Platform
JP5038364B2 (en) Subgroup element determination method, apparatus and program
Dung et al. CONSTRUCTING DIGITAL SIGNATURE SCHEMES BASED ON NEW HARD PROBLEM ON THE ELLIPTIC CURVE
Fouotsa et al. x-Superoptimal Pairings on some Elliptic Curves with Odd Prime Embedding Degrees
Guo et al. Foundations of Group-Based Cryptography
Zheng et al. Conditional factorization based on lattice theory for< K, 1>-integers
JP2003263110A (en) Source generation device of partial group of rational point group on elliptic curve, program for the device and recording medium