JP2000321979A - Polynomial arithmetic unit, elliptic curve order calculator, elliptic curve generator, and elliptic curve cryptosystem - Google Patents
Polynomial arithmetic unit, elliptic curve order calculator, elliptic curve generator, and elliptic curve cryptosystemInfo
- Publication number
- JP2000321979A JP2000321979A JP11133814A JP13381499A JP2000321979A JP 2000321979 A JP2000321979 A JP 2000321979A JP 11133814 A JP11133814 A JP 11133814A JP 13381499 A JP13381499 A JP 13381499A JP 2000321979 A JP2000321979 A JP 2000321979A
- Authority
- JP
- Japan
- Prior art keywords
- elliptic curve
- order
- unit
- calculating
- polynomial
- 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
Links
Abstract
(57)【要約】
【課題】 本発明は、高速な多項式演算装置を提供し、
それにより高速に安全な楕円曲線を生成することのでき
る楕円曲線生成装置を提供する。
【解決手段】 有限体GF(q)(q=p^n、p:素数)上の多項式
r(X)を法とする 1変数多項式剰余環R=GF(q)[X]/(r(X))
において、Rに属する多項式X、f(X)を入力とし、Rに属
する多項式X^q、f(X)^((q-1)/2)を出力する多項式演算
装置であって、前記多項式Xに対して、X^p、X^(2p)、X^
(3p)、...、X^((d-1)p)を計算する第1冪乗計算部と、f
(X)^((q-1)/2)を計算する第2冪乗計算部を備え、前記第
2冪乗計算手段は、前記第1冪乗計算手段から出力される
結果を用いる。
(57) [Summary] The present invention provides a high-speed polynomial arithmetic device,
Accordingly, an elliptic curve generation device capable of generating a secure elliptic curve at high speed is provided. SOLUTION: A polynomial on a finite field GF (q) (q = p ^ n, p: prime number)
One-variable polynomial residue ring modulo r (X) R = GF (q) [X] / (r (X))
In the above, a polynomial X, f (X) belonging to R is input, and a polynomial X ^ q, f (X) ^ ((q-1) / 2) belonging to R is output. For X, X ^ p, X ^ (2p), X ^
A first power calculator for calculating (3p), ..., X ^ ((d-1) p), and f
A second power calculator for calculating (X) ^ ((q-1) / 2),
The power-of-two calculation means uses a result output from the first power-of-power calculation means.
Description
【0001】[0001]
【発明の属する技術分野】本発明は情報セキュリテイ技
術としての暗号技術及び、誤り訂正技術に関するもので
あり、特に、楕円曲線を用いて実現する暗号及びデジタ
ル署名技術及び、楕円曲線を用いて実現する誤り訂正技
術に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an encryption technique and an error correction technique as information security techniques, and in particular, to an encryption technique and a digital signature technique realized by using an elliptic curve, and realized by using an elliptic curve. It relates to error correction technology.
【0002】[0002]
【従来の技術】秘密通信方式とは、特定の通信相手以外
に通信内容を漏らすことなく通信を行なう方式である。
またデジタル署名方式とは、通信相手に通信内容の正当
性を示したり、本人であることを証明する通信方式であ
る。この署名方式には公開鍵暗号とよばれる暗号方式を
用いる。公開鍵暗号は通信相手が多数の時、通信相手ご
とに異なる暗号鍵を容易に管理するための方式であり、
多数の通信相手と通信を行なうのに不可欠な基盤技術で
ある。簡単に説明すると、これは暗号化鍵と復号化鍵が
異なり、復号化鍵は秘密にするが、暗号化鍵を公開する
方式である。この公開鍵暗号の安全性の根拠に用いられ
るものに離散対数問題がある。離散対数問題には代表的
に、有限体上定義されるもの及び楕円曲線上定義される
ものがある。これはNeal Koblitz,"A Course in Number
theory and Cryptography",Springer-Verlag,1987に詳
しく述べられている。楕円曲線上の離散対数問題を以下
に述べる。2. Description of the Related Art The secret communication system is a system for performing communication without leaking communication contents to a person other than a specific communication partner.
The digital signature scheme is a communication scheme that shows the validity of communication contents to a communication partner or proves that the person is the person. This signature scheme uses an encryption scheme called public key encryption. Public key cryptography is a method for easily managing different encryption keys for each communication partner when there are many communication partners.
It is a fundamental technology that is indispensable for communicating with many communication partners. In brief, this is a scheme in which the encryption key and the decryption key are different, and the decryption key is kept secret but the encryption key is made public. There is a discrete logarithm problem that is used as a basis for the security of this public key cryptosystem. The discrete logarithm problem typically includes a problem defined on a finite field and a problem defined on an elliptic curve. This is Neal Koblitz, "A Course in Number
theory and Cryptography ", Springer-Verlag, 1987. The discrete logarithm problem on an elliptic curve is described below.
【0003】(楕円曲線上の離散対数問題)E(GF(q))を有
限体GF(q)(q=p^n)上定義された楕円曲線Eとし、Eの位数
が大きな素数で割れる元Gをベースポイントとする。こ
のとき、Eの与えられた元Yに対して、 Y=xG となる整数xが存在するならばxを求めよ。(Discrete Logarithm Problem on Elliptic Curve) Let E (GF (q)) be an elliptic curve E defined on a finite field GF (q) (q = p ^ n). The base G that can be broken is the base point. At this time, if there is an integer x such that Y = xG for the element Y given E, find x.
【0004】楕円曲線上の離散対数問題には様々な解読
法が提案されており、それらに対して安全な楕円曲線を
構成する必要がある。現存するすべての解読法に対して
安全な楕円曲線は有限体GF(q)上の楕円曲線の場合、位
数がq-1,q,q+1でないこと及び位数が大きい素因数をも
つことである。このとき、解読に必要な計算時間は位数
の最大素因数に関する指数時間である(情報処理学会監
修,岡本龍明,太田和夫共編,"暗号・ゼロ知識証明,数
論",共立出版,1995,155ページ〜156ページ参照)。した
がって、位数が素数である楕円曲線を用いると暗号の安
全性が最大になる。楕円曲線の安全性は、その楕円曲線
の位数を調べることにより確認できる。[0004] Various decoding methods have been proposed for the discrete logarithm problem on an elliptic curve, and it is necessary to construct an elliptic curve that is safe for them. Elliptic curves that are safe for all existing decryption methods are elliptic curves over the finite field GF (q), whose order is not q-1, q, q + 1 and whose prime factors are large. It is. At this time, the computation time required for decryption is the exponential time related to the largest prime factor of the order. See pages 155 to 156). Therefore, the use of an elliptic curve having a prime order maximizes encryption security. The security of the elliptic curve can be confirmed by examining the order of the elliptic curve.
【0005】楕円曲線の従来の構成法として、 (1)CM法を用いる構成法 (2)位数計算アルゴリズムを用いる構成法 がある。(1)は楕円曲線の構成が簡単であるが、ランダ
ムに楕円曲線を構成できない。これはA.Miyaji,"On Ord
inary Elliptic Curve Cryptosystems",ASIACRYPT'91,S
pringer-Verlag,1991,460ページ〜469ページが詳しい。
(2)はランダムに楕円曲線を構成できるが、構成時間が
長い。As a conventional construction method of an elliptic curve, there are (1) a construction method using a CM method, and (2) a construction method using an order calculation algorithm. In (1), the configuration of the elliptic curve is simple, but the elliptic curve cannot be configured at random. This is A.Miyaji, "On Ord
inary Elliptic Curve Cryptosystems ", ASIACRYPT'91, S
pringer-Verlag, 1991, pp. 460-469.
In (2), an elliptic curve can be randomly constructed, but the construction time is long.
【0006】(従来例1)図4は従来例1の位数計算アルゴ
リズムを用いる楕円曲線生成装置を示すブロック図であ
る。(N.Koblitz,"Ellitpic Curve Implementation of Z
ero-Knowledge Blobs",J.Cryptology,vol.4,No.3,1991,
207ページ〜213ページ参照)。従来例1の楕円曲線生成装
置は、乱数生成部101と、楕円曲線設定部102と、楕円曲
線位数計算部103からなる。以下、従来例1の動作を説明
する。 step1:乱数生成部101 乱数を発生する。 step2:楕円曲線設定部102 step1により生成した乱数に対して、楕円曲線を設定す
る。 step3:楕円曲線位数計算部103 step2の楕円曲線の位数を計算する。 step4:楕円曲線条件判定部104 step2の楕円曲線を与えられた条件で判定する。与えら
れた条件を満たすときのみ、楕円曲線のパラメ−タを出
力する。満たさないとき、step1に戻る。(Conventional Example 1) FIG. 4 is a block diagram showing an elliptic curve generator using the order calculation algorithm of Conventional Example 1. (N. Koblitz, "Ellitpic Curve Implementation of Z
ero-Knowledge Blobs ", J. Cryptology, vol. 4, No. 3, 1991,
(See pages 207 to 213). The elliptic curve generation device of Conventional Example 1 includes a random number generation unit 101, an elliptic curve setting unit 102, and an elliptic curve order calculation unit 103. Hereinafter, the operation of Conventional Example 1 will be described. step1: random number generator 101 generates random numbers. step2: Elliptic curve setting unit 102 Sets an elliptic curve for the random numbers generated in step1. step3: Elliptic curve order calculation unit 103 calculates the order of the elliptic curve in step2. step4: Elliptic curve condition determination section 104 The elliptic curve of step2 is determined under given conditions. Only when the given condition is satisfied, the elliptic curve parameters are output. If not, return to step1.
【0007】上記で述べたように位数計算アルゴリズム
を用いる構成法は計算時間が長い。上記従来例1で最も
計算時間を要する箇所がstep3の楕円曲線位数計算部で
ある。楕円曲線の位数を計算するアルゴリズムの一つに
Schoofのアルゴリズムがある。このアルゴリズムは多項
式時間で構成されるが、実用的な計算時間ではない。Sc
hoofのアルゴリズムはElkies,Atkinによって、SEAアル
ゴリズムとして改良されている。As described above, the configuration method using the order calculation algorithm requires a long calculation time. The place where the most calculation time is required in Conventional Example 1 is the elliptic curve order calculation unit in step 3. One of the algorithms for calculating the order of an elliptic curve
There is Schoof's algorithm. Although this algorithm is composed of polynomial time, it is not a practical calculation time. Sc
hoof's algorithm has been improved as an SEA algorithm by Elkies and Atkin.
【0008】(従来例2)図5は従来例2のSEAアルゴリズ
ムによる楕円曲線位数計算装置の構成を示すブロック図
で、R.Lercier,F.Morain,"Counting the number of poi
nts on elliptic curves over finite fields: strateg
ies performances",EUROCRYPT'95,Springer-Verlag,199
5,79ページ〜94ページにあるものである。従来例2の楕
円曲線位数計算装置は、初期値設定部201と、楕円曲線
位数情報計算部202と、計算終了判定部203と、楕円曲線
位数決定部204からなる。以下、従来例2の動作を説明す
る。(Conventional Example 2) FIG. 5 is a block diagram showing a configuration of an elliptic curve order calculating apparatus based on the SEA algorithm of Conventional Example 2, which is described in R. Lercier, F. Morain, "Counting the number of poi.
nts on elliptic curves over finite fields: strateg
ies performances ", EUROCRYPT'95, Springer-Verlag, 199
It is on pages 5,79-94. The elliptic curve order calculating device of Conventional Example 2 includes an initial value setting unit 201, an elliptic curve order information calculating unit 202, a calculation end determining unit 203, and an elliptic curve order determining unit 204. Hereinafter, the operation of Conventional Example 2 will be described.
【0009】pを素数、q=p^nとし、GF(q)上の楕円曲線E
の方程式をy^2=x^3+ax+bとする。ここで、x^aはxのa乗
を示す。求める位数をmとし、tをm=q+1-tを満たすもの
とする。f(x)=x^3+ax+bとする。 step1:初期値設定部201 l:=2とする。 step2:楕円曲線位数情報計算部202 t mod lを求める。その際、Modular多項式Φl(T)の一変
数Tの多項式環GF(q)[T]における因数分解の一次因子の
数に対応して以下のように求める。 Modular多項式
は、R.Schoof,"Counting points on elliptic curve ov
er finite fields",Journal de Theorie des Nombres d
e Bordeux 7,1995,219ページ〜254ページに詳しく述べ
られている。Let p be a prime number and q = p ^ n, and the elliptic curve E on GF (q)
Is set as y ^ 2 = x ^ 3 + ax + b. Here, x ^ a indicates x to the power of a. The order to be obtained is m, and t satisfies m = q + 1-t. f (x) = x ^ 3 + ax + b. step1: Initial value setting unit 201 l: = 2. step2: Obtain the elliptic curve order information calculation unit 202 t mod l. At this time, the following is obtained according to the number of linear factors of the factorization in the polynomial ring GF (q) [T] of one variable T of Modular polynomial Φl (T). Modular polynomials are described in R. Schoof, "Counting points on elliptic curve ov
er finite fields ", Journal de Theorie des Nombres d
e Bordeux 7, 1995, pp. 219-254.
【0010】step2-1.一次因子の数が2のとき t mod l を求める。さらに、Isogeny cycle 法により、
t mod l^n(n=2,3,...)を求める。Isogeny cycke法は、
J.M.Couveignes,F.Morain,"Schoof's algorithmand iso
geny cycles",ANTS-I,Lecture Notes in Compute Scien
ce 877,Springer-Verlag,1994,43ページ〜58ページに詳
しく述べられている。Step2-1. When the number of primary factors is 2, t mod l is obtained. Furthermore, by the Isogeny cycle method,
Find t mod l ^ n (n = 2,3, ...). Isogeny cycke method
JMCouveignes, F.Morain, "Schoof's algorithm and iso
geny cycles ", ANTS-I, Lecture Notes in Compute Scien
ce 877, Springer-Verlag, 1994, pages 43-58.
【0011】step2-2.一次因子の数が1またはl+1のとき t mod l を求める。さらに、Isogeny cycle 法により、
t mod l^n(n=2,3,...)を求める。このとき、Isogeny cy
cle 法を適用可能であるか判定する。Step 2-2. When the number of primary factors is 1 or l + 1, t mod l is obtained. Furthermore, by the Isogeny cycle method,
Find t mod l ^ n (n = 2,3, ...). At this time, Isogeny cy
Determine whether the cle method is applicable.
【0012】step2-3.一次因子の数が0のとき t mod lの取り得る値を集合[0,1,...,l-1]から絞り込
む。 step3:計算終了判定部203 l1^(n1)×l2^(n2)×...×lk^(nk)<4×q^(1/2)であると
き(l1,l2,...,lk は素数であり、lk=l)、l:=(lの次の素
数)として、step2に戻る。それ以外は次のstep4へ進
む。 step4:楕円曲線位数決定部204 match&sortアルゴリズムにより、位数を確定し、出力す
る。match&sortアルゴリズムは、R. Lercier,"Algorith
mique des courbes elliptiques dans les corps fini
s", These,Ecole Polytechnique-LIX,1997 に詳しく述
べられている。Step 2-3. When the number of primary factors is 0, possible values of t mod l are narrowed down from the set [0,1, ..., l-1]. step3: calculation end determination unit 203 l1 ^ (n1) × l2 ^ (n2) × ... × lk ^ (nk) <4 × q ^ (1/2) (l1, l2, ..., lk is a prime number, and returns to step 2 as lk = l) and l: = (the next prime number after l). Otherwise, proceed to the next step 4. step4: Elliptic curve order determination unit 204 The order is determined and output by the match & sort algorithm. The match & sort algorithm is described in R. Lercier, "Algorith
mique des courbes elliptiques dans les corps fini
s ", These, Ecole Polytechnique-LIX, 1997.
【0013】step3の判定はstep2で小さい素数lkに対し
て、t mod lk^(nk)まで求めていると仮定している。ste
p2-1,step2-2ではt mod l^n(n=1,2,3,...)を求めるがこ
れはフロベニウス写像と呼ばれる写像の固有値を計算す
ることによってできる。具体的には楕円曲線E上のl等分
点(X,Y)を用いて、以下の式のkを求める。The determination in step 3 assumes that t mod lk ^ (nk) is obtained for the small prime lk in step 2. ste
In p2-1 and step2-2, t mod l ^ n (n = 1, 2, 3,...) is obtained, which can be obtained by calculating eigenvalues of a mapping called Frobenius mapping. Specifically, k of the following equation is obtained by using l equal points (X, Y) on the elliptic curve E.
【0014】(X^q,Y^q)=k(X,Y) ここで、k(X,Y)は点(X,Y)の楕円曲線上のk倍点であり、
Y^2=f(X)=X^3+aX+bである。上式の計算はXを変数とし、
GF(q)係数である多項式をある多項式を法とするXに関す
る1変数多項式剰余環上の楕円曲線演算によって行う。
上式のkを求めるため、上式左辺のX^qとY^q=Y×Y^(q-1)
を求める必要がある。このため、X^qとY^(q-1)=f(X)^
((q-1)/2)の計算を行う。これらの計算に最も時間を必
要とする。X^qは以下のアルゴリズムを用いて求められ
ることが知られている。(X ^ q, Y ^ q) = k (X, Y) where k (X, Y) is a k-fold point on the elliptic curve of the point (X, Y),
Y ^ 2 = f (X) = X ^ 3 + aX + b. In the above formula, X is a variable,
A polynomial that is a GF (q) coefficient is calculated by an elliptic curve operation on a one-variable polynomial residue ring for X modulo a certain polynomial.
To find k in the above equation, X ^ q and Y ^ q = Y × Y ^ (q-1) on the left side of the above equation
Need to ask. Therefore, X ^ q and Y ^ (q-1) = f (X) ^
Calculate ((q-1) / 2). These calculations take the most time. It is known that X ^ q is obtained using the following algorithm.
【0015】(従来例3)図6は従来例3の多項式演算装置
の構成を示すブロック図である。従来例3の多項式演算
装置は、第1冪乗計算部301と、第2冪乗計算部302からな
る。以下、従来例3の動作を説明する。(Conventional Example 3) FIG. 6 is a block diagram showing a configuration of a polynomial operation device of Conventional Example 3. The polynomial operation device of the third conventional example includes a first power calculator 301 and a second power calculator 302. Hereinafter, the operation of Conventional Example 3 will be described.
【0016】法となる多項式をr(X)、その次数をdとす
る。 step1:第1冪乗計算部301 X^p、X^(2p)、X^(3p)、...、X^((d-1)p) mod r(X)を求
める。 step2:第2冪乗計算部302 X^(p^2)、X^(p^3)、...、X^(p^n)を求める。A polynomial as a modulus is r (X), and its order is d. step1: The first power calculator 301 X ^ p, X ^ (2p), X ^ (3p), ..., X ^ ((d-1) p) mod r (X) are obtained. step2: The second power calculation unit 302 calculates X ^ (p ^ 2), X ^ (p ^ 3), ..., X ^ (p ^ n).
【0017】step2では、GF(q)係数である多項式g(X)に
対して、 (g(X))^p=g(X^p) となることを利用している(D.E.Knuth著,中川圭介訳,"
準数値算法/算術演算",KNUTH 第4分冊,サイエンス社,26
6ページ〜267ページ参照)。この性質より、g(X)のX,X^
2,...,X^(d-1)を第1冪計算部で求めたX^p,X^(2p),...,X
^((d-1)p)に置き換えることで、(g(X)^p)が得られる。Step 2 utilizes the fact that (g (X)) ^ p = g (X ^ p) for a polynomial g (X) which is a GF (q) coefficient (by DEKnuth, Nakagawa Keisuke Translation, "
Semi-Numerical Algorithm / Arithmetic Operation ", KNUTH 4th Volume, Science, 26
See pages 6 to 267). From this property, X, X ^ of g (X)
X ^ p, X ^ (2p), ..., X where 2, ..., X ^ (d-1) are obtained by the first power calculator
By replacing it with ^ ((d-1) p), (g (X) ^ p) is obtained.
【0018】このように、X^qを求めるアルゴリズムは
存在するが、Y^(q-1)を求める有効なアルゴリズムが発
表されていないため、単に従来の冪乗算を用いた計算を
行う。しかし、冪乗算は計算量が大きいため、SEA アル
ゴリズムの計算量が大きくなるという問題がある。As described above, there is an algorithm for obtaining X ^ q, but since no effective algorithm for obtaining Y ^ (q-1) has been published, calculation using only conventional power multiplication is performed. However, since the power multiplication requires a large amount of calculation, there is a problem that the calculation amount of the SEA algorithm increases.
【0019】[0019]
【発明が解決しようとする課題】楕円曲線暗号システム
において、安全な楕円曲線パラメータを生成することは
重要である。そのために、楕円曲線生成装置を用いる。In an elliptic curve cryptosystem, it is important to generate secure elliptic curve parameters. For this purpose, an elliptic curve generator is used.
【0020】位数計算アルゴリズムを用いる楕円曲線の
生成装置では、位数計算部の実行時間が長い。位数計算
アルゴリズムの従来技術であるSEAアルゴリズム(従来例
2)においては、多項式剰余環上の冪乗算の計算量が大き
いという欠点がある。In an elliptic curve generator using an order calculation algorithm, the execution time of the order calculation unit is long. SEA algorithm (prior art
In 2), there is a disadvantage that the amount of calculation of the power multiplication on the polynomial remainder ring is large.
【0021】本発明は、以上の従来技術における問題点
を鑑みて行われたもので、多項式環上の冪乗算の計算時
間を短縮することにより、楕円曲線の位数計算の計算時
間を短縮し、これにより安全な公開鍵暗号及び署名方式
を提供することを目的とする。The present invention has been made in view of the above-mentioned problems in the prior art, and shortens the calculation time of the order multiplication of an elliptic curve by shortening the calculation time of the power multiplication on a polynomial ring. Accordingly, an object of the present invention is to provide a secure public key encryption and signature scheme.
【0022】[0022]
【課題を解決するための手段】請求項1における発明
は、予め与えられた有限体GF(p)の拡大体GF(q)(q=p^n)
上の予め与えられた多項式r(X)(次数d)を法とする1変数
多項式剰余環R=GF(q)[X]/(r(X))において、Rに属する多
項式X、f(X)を入力とし、Rに属する多項式X^q、f(X)^
((q-1)/2)を出力する多項式演算装置であって、前記多
項式Xに対して、X^p、X^(2p)、X^(3p)、...、X^((d-1)
p)を計算する第1冪乗計算手段と、f(X)^((q-1)/2)を計
算する第2冪乗計算手段を備え、前記第2冪乗計算手段
は、前記第1冪乗計算手段から出力される結果を用いる
ことを特徴とする(ただし、p^nはpのn乗を示す)。According to the first aspect of the present invention, there is provided an extended field GF (q) (q = p ^ n) of a finite field GF (p) given in advance.
In the above one-variable polynomial remainder ring R = GF (q) [X] / (r (X)) modulo the given polynomial r (X) (degree d), the polynomials X, f ( X) as input and polynomials X ^ q, f (X) ^ belonging to R
A polynomial operation device that outputs ((q-1) / 2), wherein for the polynomial X, X ^ p, X ^ (2p), X ^ (3p), ..., X ^ (( d-1)
p), and a second power calculation means for calculating f (X) ^ ((q-1) / 2), wherein the second power calculation means comprises the first power calculation means. It is characterized by using the result output from the 1 power calculation means (where p ^ n indicates p raised to the nth power).
【0023】請求項2における発明は、請求項1の第2冪
乗計算手段は、f(X)^((p-1)/2)を計算する中間計算を行
ってから、前記第1冪乗計算手段から出力される結果を
用いて、f(X)^((p^2-1)/2)=(f(X)^((p-1)/2))^p×f(X)^
((p-1)/2)、f(X)^((p^3-1)/2)=(f(X)^((p^2-1)/2))^p×
f(X)^((p-1)/2)、...、f(X)^((p^n-1)/2)=(f(X)^((p^(n
-1)-1)/2)^p×f(X)^((p-1)/2)により計算することを特
徴とする。According to a second aspect of the present invention, in the first aspect, the second power calculating means performs an intermediate calculation for calculating f (X) ^ ((p-1) / 2) and then performs the first power calculation. Using the result output from the power calculator, f (X) ^ ((p ^ 2-1) / 2) = (f (X) ^ ((p-1) / 2)) ^ p × f ( X) ^
((p-1) / 2), f (X) ^ ((p ^ 3-1) / 2) = (f (X) ^ ((p ^ 2-1) / 2)) ^ p ×
f (X) ^ ((p-1) / 2), ..., f (X) ^ ((p ^ n-1) / 2) = (f (X) ^ ((p ^ (n
-1) -1) / 2) ^ p × f (X) ^ ((p-1) / 2).
【0024】請求項3における発明は、予め与えられた
有限体GF(p)の拡大体GF(q)(q=p^n)上の楕円曲線を入力
とし、前記楕円曲線の位数を出力する楕円曲線位数計算
装置であって、予め与えられた初期値を設定する初期値
設定部と、位数の情報を求める楕円曲線位数情報計算部
と、前記楕円曲線位数情報計算部の終了判定を行う計算
終了判定部と、前記楕円曲線位数情報計算部から出力さ
れる情報を用いて楕円曲線の位数を決定する楕円曲線位
数決定部を備え、前記楕円曲線位数情報計算部は、請求
項1に記載の多項式演算装置を有することを特徴とす
る。According to a third aspect of the present invention, an elliptic curve on an extended field GF (q) (q = p ^ n) of a given finite field GF (p) is input and the order of the elliptic curve is output. An elliptic curve order calculating device, comprising: an initial value setting unit for setting a predetermined initial value; an elliptic curve order information calculating unit for obtaining order information; and an elliptic curve order information calculating unit. An elliptic curve order determining unit that determines an order of the elliptic curve using information output from the elliptic curve order information calculating unit; The unit includes the polynomial operation device according to claim 1.
【0025】請求項4における発明は、予め与えられた
有限体GF(p)の拡大体GF(q)(q=p^n)上の楕円曲線を入力
とし、前記楕円曲線の位数を出力する楕円曲線位数計算
装置であって、予め与えられた初期値を設定する初期値
設定部と、位数の情報を求める楕円曲線位数情報計算部
と、前記楕円曲線位数情報計算部の終了判定を行う計算
終了判定部と、前記楕円曲線位数情報計算部から出力さ
れる情報を用いて楕円曲線の位数を決定する楕円曲線位
数決定部を備え、前記楕円曲線位数情報計算部は、請求
項2に記載の多項式演算装置を有することを特徴とす
る。According to a fourth aspect of the present invention, an elliptic curve on an extended field GF (q) (q = p ^ n) of a predetermined finite field GF (p) is input and the order of the elliptic curve is output. An elliptic curve order calculating device, comprising: an initial value setting unit for setting a predetermined initial value; an elliptic curve order information calculating unit for obtaining order information; and an elliptic curve order information calculating unit. An elliptic curve order determining unit that determines an order of the elliptic curve using information output from the elliptic curve order information calculating unit; The section includes the polynomial operation device according to claim 2.
【0026】請求項5における発明は、予め与えられた
有限体GF(p)の拡大体GF(q)(q=p^n)上で定義され、予め
与えられた条件を満たす楕円曲線を出力する楕円曲線生
成装置であって、予め与えられた楕円曲線設定値に基づ
いて、楕円曲線を設定する楕円曲線設定部と、前記有限
体上の楕円曲線の位数を計算する楕円曲線位数計算部
と、前記楕円曲線設定部で設定した楕円曲線を、前記与
えられた条件で判定する楕円曲線条件判定部を備え、前
期楕円曲線位数計算部は、請求項3に記載の楕円曲線位
数計算装置を有することを特徴とする。According to a fifth aspect of the present invention, an elliptic curve defined on an extended field GF (q) (q = p ^ n) of a predetermined finite field GF (p) and satisfying a predetermined condition is output. An elliptic curve setting unit for setting an elliptic curve based on a previously given elliptic curve setting value, and an elliptic curve order calculation for calculating an order of the elliptic curve on the finite field Unit, comprising an elliptic curve condition determination unit that determines the elliptic curve set by the elliptic curve setting unit under the given condition, wherein the elliptic curve order calculation unit is the elliptic curve order according to claim 3. It has a computing device.
【0027】請求項6における発明は、予め与えられた
有限体GF(p)の拡大体GF(q)(q=p^n)上で定義され、予め
与えられた条件を満たす楕円曲線を出力する楕円曲線生
成装置であって、予め与えられた楕円曲線設定値に基づ
いて、楕円曲線を設定する楕円曲線設定部と、前記有限
体上の楕円曲線の位数を計算する楕円曲線位数計算部
と、前記楕円曲線設定部で設定した楕円曲線を、前記与
えられた条件で判定する楕円曲線条件判定部を備え、前
期楕円曲線位数計算部は、請求項4に記載の楕円曲線位
数計算装置を有することを特徴とする。According to a sixth aspect of the present invention, an elliptic curve defined on an extended field GF (q) (q = p ^ n) of a given finite field GF (p) and satisfying a given condition is output. An elliptic curve setting unit for setting an elliptic curve based on a previously given elliptic curve setting value, and an elliptic curve order calculation for calculating an order of the elliptic curve on the finite field And an elliptic curve condition determining unit that determines the elliptic curve set by the elliptic curve setting unit under the given condition, wherein the elliptic curve order calculating unit is the elliptic curve order according to claim 4. It has a computing device.
【0028】請求項7における発明は、予め与えられた
有限体GF(p)の拡大体GF(q)(q=p^n)上で定義され、予め
与えられた条件を満たす楕円曲線を用いる楕円曲線暗号
システムであって、予め与えられた楕円曲線設定値に基
づいて、楕円曲線を設定する楕円曲線設定部と、前記有
限体上の楕円曲線の位数を計算する楕円曲線位数計算部
と、前記楕円曲線設定部で設定した楕円曲線を、前記与
えられた条件で判定する楕円曲線条件判定部を備え、前
期楕円曲線位数計算部は、請求項3に記載の楕円曲線位
数計算装置を有する楕円曲線生成装置により、生成され
ることを特徴とする。The invention according to claim 7 uses an elliptic curve defined on an extension field GF (q) (q = p ^ n) of a given finite field GF (p) and satisfying a given condition. An elliptic curve cryptosystem, comprising: an elliptic curve setting unit that sets an elliptic curve based on a given elliptic curve setting value; and an elliptic curve order calculating unit that calculates an order of the elliptic curve on the finite field. And an elliptic curve condition determining unit that determines the elliptic curve set by the elliptic curve setting unit under the given condition, wherein the elliptic curve order calculating unit is configured to calculate the elliptic curve order according to claim 3. It is generated by an elliptic curve generation device having the device.
【0029】請求項8における発明は、予め与えられた
有限体GF(p)の拡大体GF(q)(q=p^n)上で定義され、予め
与えられた条件を満たす楕円曲線を用いる楕円曲線暗号
システムであって、予め与えられた楕円曲線設定値に基
づいて、楕円曲線を設定する楕円曲線設定部と、前記有
限体上の楕円曲線の位数を計算する楕円曲線位数計算部
と、前記楕円曲線設定部で設定した楕円曲線を、前記与
えられた条件で判定する楕円曲線条件判定部を備え、前
期楕円曲線位数計算部は、請求項4に記載の楕円曲線位
数計算装置を有する楕円曲線生成装置により、生成され
ることを特徴とする。The invention according to claim 8 uses an elliptic curve defined on an extension field GF (q) (q = p ^ n) of a given finite field GF (p) and satisfying a given condition. An elliptic curve cryptosystem, comprising: an elliptic curve setting unit that sets an elliptic curve based on a given elliptic curve setting value; and an elliptic curve order calculating unit that calculates an order of the elliptic curve on the finite field. And an elliptic curve condition determining unit that determines the elliptic curve set by the elliptic curve setting unit under the given condition, wherein the elliptic curve order calculating unit is configured to calculate the elliptic curve order according to claim 4. It is generated by an elliptic curve generation device having the device.
【0030】[0030]
【発明の実施の形態】図1は、本実施形態における多項
式演算装置の構成を示すブロック図である。FIG. 1 is a block diagram showing a configuration of a polynomial operation device according to this embodiment.
【0031】この多項式演算装置は、従来例2のSEAアル
ゴリズムの多項式剰余環上の冪乗演算を実現するもので
あり、GF(q)(q=p^n、p:素数)を有限体、Xを変数とし、G
F(q)係数である予め与えられたr(X)(次数d)を法とする1
変数多項式剰余環R=GF(q)[X]/(r(X))において、Rに属す
る多項式Xとf(X)を入力とし、X^qとf(X)^((q-1)/2)を出
力するものである。This polynomial operation device realizes the exponentiation operation on the polynomial remainder ring of the SEA algorithm of the conventional example 2, and converts GF (q) (q = p ^ n, p: prime number) into a finite field, Let X be a variable and G
Modulo a given r (X) (order d) which is the F (q) coefficient 1
In a variable polynomial residue ring R = GF (q) [X] / (r (X)), input the polynomials X and f (X) belonging to R and input X ^ q and f (X) ^ ((q-1 ) / 2) is output.
【0032】多項式演算装置40は、第1冪乗計算部401
と、第2冪乗計算部402と、第3冪乗計算部403と、第4冪
乗計算部404を備える。The polynomial arithmetic unit 40 includes a first power calculating unit 401
, A second power calculator 403, and a fourth power calculator 404.
【0033】第1冪乗計算部401は、Rに属するXを入力と
し、X^p、X^(2p)、X^(3p)、...、X^((d-1)p)を計算し、
出力する。The first power calculation unit 401 receives X belonging to R as an input, and X ^ p, X ^ (2p), X ^ (3p), ..., X ^ ((d-1) p) And calculate
Output.
【0034】第2冪乗計算部402は、Rに属するXと第1冪
乗計算部401から出力されたX^p,X^(2p),...,X^((d-1)p)
を入力とし、X^qを出力する。The second power calculator 402 calculates the X belonging to R and the X ^ p, X ^ (2p),..., X ^ ((d-1) output from the first power calculator 401. p)
And X ^ q is output.
【0035】第3冪乗計算部404は、Rに属するf(X)と第1
冪乗計算部401から出力されたX^p,X^(2p),...,X^((d-1)
p)を入力とし、f(X)^((q-1)/2)を計算する。The third exponentiation calculation unit 404 calculates f (X) belonging to R and the first
X ^ p, X ^ (2p), ..., X ^ ((d-1) output from the power calculator 401
Using p) as input, calculate f (X) ^ ((q-1) / 2).
【0036】(第2冪乗計算部402の構成)図2は、第2冪
乗計算部402の構成を示すブロック図である。FIG. 2 is a block diagram showing the configuration of the second power calculator 402. As shown in FIG.
【0037】第2冪乗計算部402は、Rに属するXと第1冪
乗計算部401から出力されたX^p,X^(2p),...,X^((d-1)p)
を入力とし、X^qを出力する多項式演算装置である。The second exponentiation calculation unit 402 calculates X belonging to R and X ^ p, X ^ (2p),..., X ^ ((d-1) output from the first power exponentiation calculation unit 401. p)
Is a polynomial operation device that receives X as an input and outputs X ^ q.
【0038】第2冪乗計算部402は、初期値設定部4021
と、多項式変換部4022と、終了判定部4023を備える。The second power calculating unit 402 includes an initial value setting unit 4021
And a polynomial conversion unit 4022 and an end determination unit 4023.
【0039】初期値設定部4021は、c=1(cはカウンタ)、
g(X)=X^pに設定する。The initial value setting unit 4021 determines that c = 1 (c is a counter),
Set g (X) = X ^ p.
【0040】多項式変換部4022は、g(X)と第1冪乗計算
部401から出力されたX^p,X^(2p),...,X^((d-1)p)を入力
とし、(g(X))^pを計算し、g(X)に改めておく。The polynomial converter 4022 converts g (X) and X ^ p, X ^ (2p),..., X ^ ((d-1) p) output from the first power calculator 401. As an input, calculate (g (X)) ^ p and replace it with g (X).
【0041】多項式変換部4022では以下の計算を行う。The polynomial conversion unit 4022 performs the following calculation.
【0042】(g(X))^p=g0+g1X^p+g2X^(2p)+...+g(d-1)X
^((d-1)p) ここで、g(X)=g0+g1X+g2X^2+...+g(d-1)X^(d-1)(g0、g
1、...、g(d-1)はGF(q)の元)であると仮定している。(G (X)) ^ p = g0 + g1X ^ p + g2X ^ (2p) + ... + g (d-1) X
^ ((d-1) p) where g (X) = g0 + g1X + g2X ^ 2 + ... + g (d-1) X ^ (d-1) (g0, g
1, ..., g (d-1) are assumed to be GF (q)).
【0043】終了判定部4023は、c=nであるか否かを判
定する。The termination determining unit 4023 determines whether or not c = n.
【0044】以下に、第2冪乗計算部402の動作を示す。The operation of the second power calculator 402 will be described below.
【0045】初期値計算部4021は、カウンタc=1,g(X)=X
^pに設定し、多項式変換部4022にg(X)と第1冪乗計算部4
01から出力されたX^p,X^(2p),...,X^((d-1)p)を入力す
る。多項式変換部4022は、(g(X))^pを計算し、g(X)に改
めておく。終了判定部で4023は、c=nであるか否かを判
定し、c=nであるときは、g(X)を出力し、終了。それ以
外は、cにc+1を改めておき、多項式変換部4022に戻る。The initial value calculation unit 4021 has a counter c = 1, g (X) = X
^ p, and g (X) and the first power calculation unit 4
Input X ^ p, X ^ (2p), ..., X ^ ((d-1) p) output from 01. The polynomial conversion unit 4022 calculates (g (X)) ^ p and resets it to g (X). The end determination unit 4023 determines whether or not c = n, and if c = n, outputs g (X) and ends. Otherwise, c + 1 is changed to c, and the process returns to the polynomial conversion unit 4022.
【0046】(第3冪乗計算部403の構成)図3は、第3冪
乗計算部403の構成を示すブロック図である。FIG. 3 is a block diagram showing a configuration of the third power calculator 403. As shown in FIG.
【0047】第3冪乗計算部403は、Rに属するf(X)と第1
冪乗計算部401から出力されたX^p,X^(2p),...,X^((d-1)
p)を入力とし、f(X)^((q-1)/2)を計算する多項式演算装
置である。The third exponentiation calculation unit 403 calculates f (X) belonging to R and the first
X ^ p, X ^ (2p), ..., X ^ ((d-1) output from the power calculator 401
This is a polynomial arithmetic unit that calculates f (X) ^ ((q-1) / 2) using p) as an input.
【0048】第3冪乗計算部403は、中間計算部4031と、
初期値設定部4032と、多項式変換部4033と、多項式乗算
部4034と、終了判定部4035を備える。The third power calculator 403 includes an intermediate calculator 4031,
An initial value setting unit 4032, a polynomial conversion unit 4033, a polynomial multiplication unit 4034, and an end determination unit 4035 are provided.
【0049】中間計算部4031は、f(X)^((p-1)/2)を計算
する。The intermediate calculation unit 4031 calculates f (X) ^ ((p-1) / 2).
【0050】初期値設定部4032は、c=1、g(X)=f(X)^((p
-1)/2)に設定する。The initial value setting unit 4032 determines that c = 1, g (X) = f (X) ^ ((p
Set to -1) / 2).
【0051】多項式変換部4033は、多項式変換部4022と
同一である。The polynomial converter 4033 is the same as the polynomial converter 4022.
【0052】多項式乗算部4034は、g(X)とf(X)^((p-1)/
2)を乗算する。The polynomial multiplication unit 4034 calculates g (X) and f (X) ^ ((p-1) /
2) multiply.
【0053】終了判定部4035は、c=nであるか否かを判
定する。The end determination unit 4035 determines whether c = n.
【0054】以下に、第3冪乗計算部403の動作を示す。The operation of the third power calculator 403 will be described below.
【0055】中間計算部4031は、f(X)^((p-1)/2)を計算
し、出力する。初期値計算部4032は、カウンタc=1,g(X)
=f(X)^((p-1)/2)に設定し、多項式変換部4033にg(X)と
第1冪乗計算部401から出力されたX^p,X^(2p),...,X^((d
-1)p)を入力する。多項式変換部4033は、(g(X))^pを計
算し、g(X)に改めておく。多項式乗算部4034で、g(X)と
f(X)^((p-1)/2)を乗算し、g(X)に改めておく。終了判定
部4035は、c=nであるか否かを判定し、c=nであるとき
は、g(X)を出力し、終了。それ以外は、cにc+1を改めて
おき、多項式変換部4033に戻る。The intermediate calculation unit 4031 calculates and outputs f (X) ^ ((p-1) / 2). The initial value calculation unit 4032 has a counter c = 1, g (X)
= f (X) ^ ((p-1) / 2), and the polynomial converter 4033 outputs g (X) and X ^ p, X ^ (2p), output from the first power calculator 401. ..., X ^ ((d
-1) Enter p). The polynomial conversion unit 4033 calculates (g (X)) ^ p and updates it to g (X). In the polynomial multiplication unit 4034, g (X) and
Multiply by f (X) ^ ((p-1) / 2) and change to g (X). The end determination unit 4035 determines whether or not c = n, and if c = n, outputs g (X) and ends. Otherwise, c + 1 is changed to c, and the process returns to the polynomial conversion unit 4033.
【0056】以下に、本多項式演算装置40の動作を示
す。The operation of the polynomial arithmetic unit 40 will be described below.
【0057】本装置が起動されると、まず、第1冪乗計
算部401はX^p、X^(2p)、X^(3p)、...、X^((d-1)p)を計
算し出力する。第2冪乗計算部402は、第1冪乗計算部401
から出力されたX^p、X^(2p)、X^(3p)、...、X^((d-1)p)
とXを入力とし、X^qを計算し出力する。次に第3冪乗計
算部403は、第1冪乗計算部401から出力されたX^p、X^(2
p)、X^(3p)、...、X^((d-1)p)とXを入力とし、f(X)^((q
-1)/2)を計算し、X^qとf(X)^((q-1)/2)を出力する。When the present apparatus is started, first, the first power calculator 401 calculates X ^ p, X ^ (2p), X ^ (3p), ..., X ^ ((d-1) p ) Is calculated and output. The second power calculation unit 402 includes a first power calculation unit 401
X ^ p, X ^ (2p), X ^ (3p), ..., X ^ ((d-1) p) output from
X and q are input, X ^ q is calculated and output. Next, the third power calculation unit 403 outputs X ^ p, X ^ (2
p), X ^ (3p), ..., X ^ ((d-1) p) and X, and f (X) ^ ((q
-1) / 2) and outputs X ^ q and f (X) ^ ((q-1) / 2).
【0058】この例の計算量について説明する。本実施
形態は従来例2のSEAアルゴリズムで用いられる。以下
で、従来の方法との比較を行う。The amount of calculation in this example will be described. This embodiment is used in the SEA algorithm of Conventional Example 2. The following is a comparison with the conventional method.
【0059】多項式乗算の計算量をPMulとする。従来の
方法では、f(X)^((q-1)/2)を単に冪乗を行うことによ
り、求めていた。この場合、計算量は3/2|q|×PMulであ
る(|q|はqのビット数)。それに対して、本実施形態で
は、中間計算部4031の計算量が、3/2|p|×PMul(|p|はp
のビット数)であり、多項式変換部4033の計算量は1×PM
ul、多項式乗算部4034の計算量は1×PMulであり、多項
式変換部4043と多項式乗算部4044は、n-1回繰り返すの
で、全体の計算量は、(3/2|p|+2×n-2)×PMulである。|
q|=160、|p|=32、n=5の場合、従来の方法では、f(X)^
((q-1)/2)を求める計算量は、240×PMulであり、本実施
形態1では、56×PMulである。したがって、f(X)^((p-1)
/2)の計算が高速な多項式演算装置の効果は大きい。な
お、本実施形態を用いた位数計算装置、楕円曲線生成装
置並びに、楕円曲線暗号システムが実現可能となるThe calculation amount of the polynomial multiplication is PMul. In the conventional method, f (X) ^ ((q-1) / 2) is obtained by simply raising a power. In this case, the calculation amount is 3/2 | q | × PMul (| q | is the number of bits of q). On the other hand, in the present embodiment, the calculation amount of the intermediate calculation unit 4031 is 3/2 | p | × PMul (| p | is p
The number of bits of the polynomial conversion unit 4033 is 1 × PM
ul, the calculation amount of the polynomial multiplication unit 4034 is 1 × PMul, and the polynomial conversion unit 4043 and the polynomial multiplication unit 4044 repeat n−1 times, so that the total calculation amount is (3/2 | p | + 2 × n-2) × PMul. |
For q | = 160, | p | = 32, n = 5, the conventional method uses f (X) ^
The calculation amount for calculating ((q−1) / 2) is 240 × PMul, and in the first embodiment, it is 56 × PMul. Therefore, f (X) ^ ((p-1)
The effect of a polynomial arithmetic device that can calculate (/ 2) at high speed is significant. Note that an order calculation device, an elliptic curve generation device, and an elliptic curve cryptosystem using this embodiment can be realized.
【0060】[0060]
【発明の効果】以上に説明したように本発明は、従来例
における問題点を鑑みて行われたもので、SEAアルゴリ
ズムにおいては、多項式環上の冪乗演算の計算時間を短
縮できた。As described above, the present invention has been made in view of the problems in the conventional example, and in the SEA algorithm, the calculation time of the exponentiation operation on the polynomial ring has been reduced.
【0061】以上により、高速に安全な暗号方式や署名
方式を可能にする楕円曲線生成装置を提供することがで
き,その実用的価値は大きい。As described above, it is possible to provide an elliptic curve generation device that enables a high-speed and secure encryption method and signature method, and its practical value is great.
【図1】本発明の実施形態における多項式演算装置のブ
ロック図FIG. 1 is a block diagram of a polynomial arithmetic device according to an embodiment of the present invention.
【図2】本発明の実施形態における第2冪乗計算部402の
構成を示すブロック図FIG. 2 is a block diagram showing a configuration of a second power calculator 402 according to the embodiment of the present invention.
【図3】本発明の実施形態における第3冪乗計算部403の
構成を示すブロック図FIG. 3 is a block diagram showing a configuration of a third power calculator 403 according to the embodiment of the present invention.
【図4】従来例1の楕円曲線生成装置のブロック図FIG. 4 is a block diagram of an elliptic curve generation device according to Conventional Example 1.
【図5】従来例2のSEAアルゴリズムによる楕円曲線位数
計算装置のブロック図FIG. 5 is a block diagram of an elliptic curve order calculating apparatus using the SEA algorithm according to the second conventional example
【図6】従来例3の多項式演算装置のブロック図FIG. 6 is a block diagram of a polynomial operation device of Conventional Example 3.
10 従来例1の楕円曲線生成装置 101 乱数生成部 102 楕円曲線設定部 103 楕円曲線位数計算部 104 楕円曲線条件判定部 20 従来例2のSEAアルゴリズムによる楕円曲線位数計
算装置 201 初期値設定部 202 楕円曲線位数情報計算部 203 計算終了判定部 204 楕円曲線位数決定部 30 従来例3の多項式演算装置 301 第1冪乗計算部 302 第2冪乗計算部 40 本発明の実施形態1の多項式演算装置 401 第1冪乗計算部 402 第2冪乗計算部 4021 初期値設定部 4022 多項式変換部 4023 終了判定部 403 第3冪乗計算部 4031 中間計算部 4032 初期値設定部 4033 多項式変換部 4034 多項式乗算部 4035 終了判定部Reference Signs List 10 Elliptic curve generator of Conventional Example 1 101 Random number generator 102 Elliptic curve setting unit 103 Elliptic curve order calculating unit 104 Elliptic curve condition determining unit 20 Elliptic curve order calculating device by SEA algorithm of Conventional Example 2 201 Initial value setting unit Reference Signs List 202 Elliptic curve order information calculation unit 203 Calculation end determination unit 204 Elliptic curve order determination unit 30 Polynomial operation device of Conventional Example 3 301 First power calculation unit 302 Second power calculation unit 40 According to the first embodiment of the present invention. Polynomial arithmetic unit 401 First power calculation unit 402 Second power calculation unit 4021 Initial value setting unit 4022 Polynomial conversion unit 4023 End determination unit 403 Third power calculation unit 4031 Intermediate calculation unit 4032 Initial value setting unit 4033 Polynomial conversion unit 4034 polynomial multiplication unit 4035 end judgment unit
Claims (8)
(q)(q=p^n)上の予め与えられた多項式r(X)(次数d)を法
とする1変数多項式剰余環R=GF(q)[X]/(r(X))において、
Rに属する多項式X、f(X)を入力とし、 Rに属する多項式X^q、f(X)^((q-1)/2)を出力する多項式
演算装置であって、 前記多項式Xに対して、X^p、X^(2p)、X^(3p)、...、X^
((d-1)p)を計算する第1冪乗計算手段と、f(X)^((q-1)/
2)を計算する第2冪乗計算手段とを備え、 前記第2冪乗計算手段は、前記第1冪乗計算手段から出力
される結果を用いることを特徴とする多項式演算装置
(ただし、p^nはpのn乗を示す)。1. An extension field GF of a finite field GF (p) given in advance
(q) (q = p ^ n) one-variable polynomial remainder ring R = GF (q) [X] / (r (X)) modulo a given polynomial r (X) (degree d) At
A polynomial computing device that receives a polynomial X and f (X) belonging to R as inputs and outputs a polynomial X ^ q and f (X) ^ ((q-1) / 2) belonging to R, wherein the polynomial X X ^ p, X ^ (2p), X ^ (3p), ..., X ^
a first power calculating means for calculating ((d-1) p), and f (X) ^ ((q-1) /
A second power calculation means for calculating 2), wherein the second power calculation means uses a result output from the first power calculation means.
(However, p ^ n indicates p raised to the nth power).
2)を計算する中間計算を行ってから、前記第1冪乗計算
手段から出力される結果を用いて、 f(X)^((p^2-1)/2)=(f(X)^((p-1)/2))^p×f(X)^((p-1)/2) f(X)^((p^3-1)/2)=(f(X)^((p^2-1)/2))^p×f(X)^((p-1)/2) .... f(X)^((p^n-1)/2)=(f(X)^((p^(n-1)-1)/2)^p×f(X)^((p-1)/2) により計算することを特徴とする請求項1記載の多項式
演算装置。2. The method according to claim 1, wherein the second exponentiation calculating means calculates f (X) ^ ((p−1) /
After performing the intermediate calculation for calculating 2), using the result output from the first power calculation means, f (X) ^ ((p ^ 2-1) / 2) = (f (X) ^ ((p-1) / 2)) ^ p × f (X) ^ ((p-1) / 2) f (X) ^ ((p ^ 3-1) / 2) = (f (X) ^ ((p ^ 2-1) / 2)) ^ p × f (X) ^ ((p-1) / 2) .... f (X) ^ ((p ^ n-1) / 2) = (f (X) ^ ((p ^ (n-1) -1) / 2) ^ p × f (X) ^ ((p-1) / 2) The polynomial arithmetic device according to claim 1.
(q)(q=p^n)上の楕円曲線を入力とし、前記楕円曲線の位
数を出力する楕円曲線位数計算装置であって、予め与え
られた初期値を設定する初期値設定部と、位数の情報を
求める楕円曲線位数情報計算部と、前記楕円曲線位数情
報計算部の終了判定を行う計算終了判定部と、前記楕円
曲線位数情報計算部から出力される情報を用いて楕円曲
線の位数を決定する楕円曲線位数決定部とを備え、 前記楕円曲線位数情報計算部は、請求項1に記載の多項
式演算装置を有することを特徴とする楕円曲線位数計算
装置。3. An extension field GF of a finite field GF (p) given in advance
(q) An elliptic curve order calculation device that receives an elliptic curve on (q = p ^ n) and outputs the order of the elliptic curve, and sets an initial value given in advance. And an elliptic curve order information calculation unit that obtains order information, a calculation end determination unit that performs an end determination of the elliptic curve order information calculation unit, and information output from the elliptic curve order information calculation unit. An elliptic curve order determining unit that determines the order of the elliptic curve by using the elliptic curve order information calculation unit, wherein the elliptic curve order information includes the polynomial operation device according to claim 1. Computing device.
(q)(q=p^n)上の楕円曲線を入力とし、前記楕円曲線の位
数を出力する楕円曲線位数計算装置であって、予め与え
られた初期値を設定する初期値設定部と、位数の情報を
求める楕円曲線位数情報計算部と、前記楕円曲線位数情
報計算部の終了判定を行う計算終了判定部と、前記楕円
曲線位数情報計算部から出力される情報を用いて楕円曲
線の位数を決定する楕円曲線位数決定部とを備え、 前記楕円曲線位数情報計算部は、請求項2に記載の多項
式演算装置を有することを特徴とする楕円曲線位数計算
装置。4. An extension field GF of a finite field GF (p) given in advance
(q) An elliptic curve order calculation device that receives an elliptic curve on (q = p ^ n) and outputs the order of the elliptic curve, and sets an initial value given in advance. And an elliptic curve order information calculation unit that obtains order information, a calculation end determination unit that performs an end determination of the elliptic curve order information calculation unit, and information output from the elliptic curve order information calculation unit. An elliptic curve order determining unit that determines the order of the elliptic curve using the elliptic curve order information calculating unit, wherein the elliptic curve order information includes the polynomial arithmetic device according to claim 2. Computing device.
(q)(q=p^n)上で定義され、予め与えられた条件を満たす
楕円曲線を出力する楕円曲線生成装置であって、予め与
えられた楕円曲線設定値に基づいて楕円曲線を設定する
楕円曲線設定部と、前記有限体上の楕円曲線の位数を計
算する楕円曲線位数計算部と、前記楕円曲線設定部で設
定した楕円曲線を、前記与えられた条件で判定する楕円
曲線条件判定部とを備え、 前記楕円曲線位数計算部は、請求項3に記載の楕円曲線
位数計算装置を有することを特徴とする楕円曲線生成装
置。5. An extension field GF of a finite field GF (p) given in advance
(q) An elliptic curve generator that outputs an elliptic curve defined on (q = p ^ n) that satisfies a predetermined condition, and sets an elliptic curve based on a predetermined elliptic curve set value. An elliptic curve setting unit, an elliptic curve order calculating unit for calculating the order of the elliptic curve on the finite field, and an elliptic curve determined by the elliptic curve setting unit under the given conditions. An elliptic curve generation device, comprising: a condition determination unit; and the elliptic curve order calculation unit includes the elliptic curve order calculation device according to claim 3.
(q)(q=p^n)上で定義され、予め与えられた条件を満たす
楕円曲線を出力する楕円曲線生成装置であって、予め与
えられた楕円曲線設定値に基づいて、楕円曲線を設定す
る楕円曲線設定部と、前記有限体上の楕円曲線の位数を
計算する楕円曲線位数計算部と、前記楕円曲線設定部で
設定した楕円曲線を、前記与えられた条件で判定する楕
円曲線条件判定部とを備え、 前記楕円曲線位数計算部は、請求項4に記載の楕円曲線
位数計算装置を有することを特徴とする楕円曲線生成装
置。6. An extension field GF of a finite field GF (p) given in advance
(q) (q = p ^ n) is an elliptic curve generator that outputs an elliptic curve that satisfies a given condition, based on a given elliptic curve set value, An elliptic curve setting unit for setting, an elliptic curve order calculating unit for calculating the order of the elliptic curve on the finite field, and an ellipse for determining the elliptic curve set by the elliptic curve setting unit under the given conditions. 5. An elliptic curve generation device, comprising: a curve condition determination unit; wherein the elliptic curve order calculation unit includes the elliptic curve order calculation device according to claim 4.
(q)(q=p^n)上で定義され、予め与えられた条件を満たす
楕円曲線を用いる楕円曲線暗号システムであって、予め
与えられた楕円曲線設定値に基づいて、楕円曲線を設定
する楕円曲線設定部と、前記有限体上の楕円曲線の位数
を計算する楕円曲線位数計算部と、前記楕円曲線設定部
で設定した楕円曲線を、前記与えられた条件で判定する
楕円曲線条件判定部とを備え、 前記楕円曲線位数計算部は、請求項3に記載の楕円曲線
位数計算装置を有する楕円曲線生成装置により生成され
ることを特徴とする楕円曲線暗号システム。7. An extension field GF of a finite field GF (p) given in advance
(q) An elliptic curve cryptosystem using an elliptic curve defined on (q = p ^ n) that satisfies a predetermined condition, and sets an elliptic curve based on a predetermined elliptic curve set value. An elliptic curve setting unit, an elliptic curve order calculating unit for calculating the order of the elliptic curve on the finite field, and an elliptic curve determined by the elliptic curve setting unit under the given conditions. 4. An elliptic curve cryptosystem, comprising: a condition determining unit; and wherein the elliptic curve order calculating unit is generated by an elliptic curve generating device including the elliptic curve order calculating device according to claim 3.
(q)(q=p^n)上で定義され、予め与えられた条件を満たす
楕円曲線を用いる楕円曲線暗号システムであって、予め
与えられた楕円曲線設定値に基づいて、楕円曲線を設定
する楕円曲線設定部と、前記有限体上の楕円曲線の位数
を計算する楕円曲線位数計算部と、前記楕円曲線設定部
で設定した楕円曲線を、前記与えられた条件で判定する
楕円曲線条件判定部とを備え、 前記楕円曲線位数計算部は、請求項4に記載の楕円曲線
位数計算装置を有する楕円曲線生成装置により生成され
ることを特徴とする楕円曲線暗号システム。8. An extension field GF of a given finite field GF (p)
(q) An elliptic curve cryptosystem using an elliptic curve defined on (q = p ^ n) that satisfies a predetermined condition, and sets an elliptic curve based on a predetermined elliptic curve set value. An elliptic curve setting unit, an elliptic curve order calculating unit for calculating the order of the elliptic curve on the finite field, and an elliptic curve determined by the elliptic curve setting unit under the given conditions. 5. An elliptic curve cryptosystem, comprising: a condition determining unit; and wherein the elliptic curve order calculating unit is generated by an elliptic curve generating device having the elliptic curve order calculating device according to claim 4.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11133814A JP2000321979A (en) | 1999-05-14 | 1999-05-14 | Polynomial arithmetic unit, elliptic curve order calculator, elliptic curve generator, and elliptic curve cryptosystem |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11133814A JP2000321979A (en) | 1999-05-14 | 1999-05-14 | Polynomial arithmetic unit, elliptic curve order calculator, elliptic curve generator, and elliptic curve cryptosystem |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2000321979A true JP2000321979A (en) | 2000-11-24 |
Family
ID=15113672
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11133814A Pending JP2000321979A (en) | 1999-05-14 | 1999-05-14 | Polynomial arithmetic unit, elliptic curve order calculator, elliptic curve generator, and elliptic curve cryptosystem |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2000321979A (en) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004533671A (en) * | 2001-02-21 | 2004-11-04 | ミップス テクノロジーズ インコーポレイテッド | Polynomial operation |
| JP2005141198A (en) * | 2003-10-14 | 2005-06-02 | Matsushita Electric Ind Co Ltd | Data conversion apparatus and method |
| US7599981B2 (en) | 2001-02-21 | 2009-10-06 | Mips Technologies, Inc. | Binary polynomial multiplier |
| US7617388B2 (en) | 2001-02-21 | 2009-11-10 | Mips Technologies, Inc. | Virtual instruction expansion using parameter selector defining logic operation on parameters for template opcode substitution |
| US7860911B2 (en) | 2001-02-21 | 2010-12-28 | Mips Technologies, Inc. | Extended precision accumulator |
| KR101103443B1 (en) | 2003-10-14 | 2012-01-09 | 파나소닉 주식회사 | Data converter |
-
1999
- 1999-05-14 JP JP11133814A patent/JP2000321979A/en active Pending
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004533671A (en) * | 2001-02-21 | 2004-11-04 | ミップス テクノロジーズ インコーポレイテッド | Polynomial operation |
| US7599981B2 (en) | 2001-02-21 | 2009-10-06 | Mips Technologies, Inc. | Binary polynomial multiplier |
| US7617388B2 (en) | 2001-02-21 | 2009-11-10 | Mips Technologies, Inc. | Virtual instruction expansion using parameter selector defining logic operation on parameters for template opcode substitution |
| JP2009282992A (en) * | 2001-02-21 | 2009-12-03 | Mips Technologies Inc | Polynomial arithmetic operation |
| US7711763B2 (en) | 2001-02-21 | 2010-05-04 | Mips Technologies, Inc. | Microprocessor instructions for performing polynomial arithmetic operations |
| US7860911B2 (en) | 2001-02-21 | 2010-12-28 | Mips Technologies, Inc. | Extended precision accumulator |
| US8447958B2 (en) | 2001-02-21 | 2013-05-21 | Bridge Crossing, Llc | Substituting portion of template instruction parameter with selected virtual instruction parameter |
| JP2005141198A (en) * | 2003-10-14 | 2005-06-02 | Matsushita Electric Ind Co Ltd | Data conversion apparatus and method |
| KR101103443B1 (en) | 2003-10-14 | 2012-01-09 | 파나소닉 주식회사 | Data converter |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7412062B2 (en) | Method and apparatus for elliptic curve scalar multiplication | |
| Gordon | A survey of fast exponentiation methods | |
| US6611597B1 (en) | Method and device for constructing elliptic curves | |
| US6266688B1 (en) | Scheme for arithmetic operations in finite field and group operations over elliptic curves realizing improved computational speed | |
| EP3276880A1 (en) | Efficient ecdsa signature and verification | |
| Boruah et al. | Implementation of ElGamal Elliptic Curve Cryptography over prime field using C | |
| EP0952697B1 (en) | Elliptic curve encryption method and system | |
| Granger et al. | On the discrete logarithm problem on algebraic tori | |
| Asbullah et al. | Analysis on the Rabin-p cryptosystem | |
| JP4354609B2 (en) | Simultaneous equation solving apparatus and inverse element computing apparatus on finite field | |
| JP2000321979A (en) | Polynomial arithmetic unit, elliptic curve order calculator, elliptic curve generator, and elliptic curve cryptosystem | |
| Mohamed et al. | Improved fixed-base comb method for fast scalar multiplication | |
| KR101548174B1 (en) | Method for calculating negative inverse of modulus | |
| Knežević et al. | Speeding up bipartite modular multiplication | |
| KR101223498B1 (en) | Method for generating public key in elliptic curve cryptography and system for executing the method | |
| Rotaru et al. | A complete generalization of Atkin's square root algorithm | |
| JP3540852B2 (en) | Encryption method including exponentiation operation in encryption system and apparatus therefor | |
| Mohammadi et al. | Comparison of two Public Key Cryptosystems | |
| Wu et al. | Elliptic curve point multiplication by generalized Mersenne numbers | |
| JP3626315B2 (en) | Remainder calculation apparatus, information processing apparatus, and remainder calculation method | |
| RU2541938C1 (en) | Weber function cycle-based quantum attack-secure encryption method | |
| JP4479135B2 (en) | Arithmetic apparatus, arithmetic method and arithmetic program | |
| Botes et al. | An implementation of an elliptic curve cryptosystem | |
| JPH0643809A (en) | Digital signature scheme based on elliptic curve and its signer device and verifier device | |
| Sanghi | New Digital Signature Scheme Based on MDLP and Multinacci Matrices |