JP3935902B2 - Generator polynomial generator and program recording medium thereof - Google Patents
Generator polynomial generator and program recording medium thereof Download PDFInfo
- Publication number
- JP3935902B2 JP3935902B2 JP2004262980A JP2004262980A JP3935902B2 JP 3935902 B2 JP3935902 B2 JP 3935902B2 JP 2004262980 A JP2004262980 A JP 2004262980A JP 2004262980 A JP2004262980 A JP 2004262980A JP 3935902 B2 JP3935902 B2 JP 3935902B2
- Authority
- JP
- Japan
- Prior art keywords
- polynomial
- generator
- generating
- generator polynomial
- irreducible
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Description
この発明は、例えば、情報セキュリティ技術(楕円曲線暗号/署名、素因数分解)を実現するために用いられる楕円曲線上の演算装置に関する。 The present invention relates to an arithmetic device on an elliptic curve used for realizing information security technology (elliptic curve encryption / signature, prime factorization), for example.
楕円曲線上で公開鍵暗号やデジタル署名を実現する場合、その処理時間のほとんどは楕円曲線上のk倍演算に費やされる。
一般に、暗号や署名には有限体GF(q)上で定義される楕円曲線を使う。これをE/GF(q)と表記する。qは素数または素数のべき乗である。従来の実装法ではqに素数または2m を用いることが多かったが、この発明は一般の有限体の場合を考える。
楕円曲線上の点Pに対する加算を定義できる。通常の加算と区別するためにこれを、「楕円加算」「楕円2倍演算」と呼ぶ。いずれも、有限体GF(q)上の加減乗除算を組み合わせることで行うことが出来る。
When realizing public key cryptography and digital signature on an elliptic curve, most of the processing time is spent on k-fold computation on the elliptic curve.
In general, an elliptic curve defined on a finite field GF (q) is used for encryption and signature. This is expressed as E / GF (q). q is a prime number or a power of a prime number. In the conventional mounting method, a prime number or 2 m is often used for q, but the present invention considers a general finite field.
An addition to point P on the elliptic curve can be defined. This is called “elliptical addition” or “elliptical doubling” to distinguish from normal addition. Both can be performed by combining addition / subtraction / multiplication / division on the finite field GF (q).
通常、k倍演算を構成するために、「楕円加算」「楕円2倍演算」を組み合わせて行なう方法が用いられている。
したがって、楕円曲線上の演算は、有限体GF(q)上の加減乗除算に帰着することが出来、これらを高速化することが、楕円曲線上の演算の高速化につながる。
楕円曲線演算を、GF(qn)上の有理式の列R(x0,x1,…)及びx0,x1 ,…の値をGF(qn)演算器に入力し、GF(qn-1)上の演算列とデータに帰着させるGF(qn-1)演算器へ渡し、GF(qn-1)演算器は入力をGF(qn-2)上の演算の列とデータに帰着させてGF(qn-2)演算器に渡し、以下同様のことを繰返して、GF(q0)演算器で計算した結果を出力するように、つまり逐次拡大させることにより、従来の楕円曲線演算より、乗算回数を減少することができることを特願平11−230123号「逐次拡大を用いた楕円曲線演算装置及びプログラム記録媒体」で提案した。
In general, a method of combining “ellipse addition” and “elliptical doubling operation” is used to configure the k-fold operation.
Therefore, the computation on the elliptic curve can be reduced to addition / subtraction / multiplication / division on the finite field GF (q), and speeding up these leads to speeding up the computation on the elliptic curve.
The elliptic curve calculation, GF (q n) on the rational formula of column R (x 0, x 1, ...) and x 0, x 1, enter the ... values of the GF (q n) calculator, GF ( q n-1 ) is passed to a GF (q n-1 ) calculator that results in data and the GF (q n-1 ) calculator receives the input as a sequence of calculations on GF (q n-2 ). To the GF (q n−2 ) computing unit, and the same thing is repeated, and the result calculated by the GF (q 0 ) computing unit is output, that is, sequentially expanded, Japanese Patent Application No. 11-230123 entitled “Elliptic Curve Calculation Device and Program Recording Medium Using Sequential Enlargement” proposes that the number of multiplications can be reduced from the conventional elliptic curve calculation.
この場合のGF(qn-1)のm次拡大体GF(qn)=GF(qn-1 m)上のGF(qn-1)演算器における自乗器として、入力A=(A0,A1)、出力A2 =(C0 ,C1)を正規基底によるGF(qn)=GF(qn-1 m)上の元のGF(qn-1)上の元により表現し、基底をαおよびβ(ただしα+β=−v1)とするとA=A0α+A1β,A2=C0α+C1βを意味し、全ての基底を解にもつGF(qn-1)上m次既約多項式をf(x)=x2+v1x+v0とし、
A2=(−A0 2v1+(A0−A1)2(v0/v1))α
+(−A1 2v1+(A0−A1)2(v0/v1))β
の演算を行うことが提案されている。つまり図9に示すようにGF(qn-1)自乗器27BでA0 2→L0を演算し、GF(qn-1)減算器27CでA0−A1→L1を演算し、GF(qn-1)自乗器27DでA1 2→L2を演算し、GF(qn-1)自乗器27EでL1 2→L3を演算し、GF(qn-1)定数倍器27Fで−v1L0→L4を演算し、GF(qn-1)定数倍器27Gで(−v1)-1(−v0)L3→L5を演算し、GF(qn-1)定数倍器27Hで−v1L2 →L6 を演算し、GF(qn-1)加算器27IでL4+L5→C0を演算し、GF(qn-1)加算器27JでL5+L6→C1を演算してA2=(C0,C1)を得る。
As squarer in this case of GF (q n-1) of the m-th extension field GF (q n) = GF ( q n-1 m) on the GF (q n-1) arithmetic unit, input A = (A 0 , A 1 ), the output A 2 = (C 0 , C 1 ) by the element on the original GF (q n-1 ) on GF (q n ) = GF (q n-1 m ) according to the normal basis If the bases are α and β (where α + β = −v 1 ), A = A 0 α + A 1 β, A 2 = C 0 α + C 1 β, and GF (q n− 1 ) Let the upper mth degree irreducible polynomial be f (x) = x 2 + v 1 x + v 0 ,
A 2 = (− A 0 2 v 1 + (A 0 −A 1 ) 2 (v 0 / v 1 )) α
+ (− A 1 2 v 1 + (A 0 −A 1 ) 2 (v 0 / v 1 )) β
It has been proposed to perform the operation. That computes A 0 2 → L 0 in GF (q n-1) squarer 27B as shown in FIG. 9, GF (q n-1 ) to calculate the A 0 -A 1 → L 1 by the subtracter 27C , GF (q n-1 )
このようにすれば3回の自乗演算と3回の倍数演算で済む。
また前記逐次拡大を用いた楕円曲線演算ではGF(qn-1)のm次拡大GF(qn)=GF(qn-1 m)を多項式基底を用いて行うが、その多項式基底に用いる生成多項式は既約でなければならない。また正規基底の場合は逐次的に拡大する時に、拡大ごとに高速演算に適した正規基底の生成元が定義されることによって、全ての基底を解に持つ既約多項式を定義して既約多項式の列を作る。従って、既約多項式を作る際、この解が正規基底になるものでなくてはならない。
In this way, three square calculations and three multiple calculations are sufficient.
Also, the performed using a polynomial basis of GF (q n-1) of m-th extension GF (q n) = GF ( q n-1 m) in the elliptic curve calculation using sequential enlargement, but used in its polynomial basis The generator polynomial must be irreducible. In the case of normal bases, when expanding sequentially, a generator of a normal base suitable for high-speed computation is defined for each expansion, thereby defining an irreducible polynomial with all the bases in the solution. Make a row of Therefore, when creating an irreducible polynomial, this solution must be a normal basis.
この発明の目的は逐次拡大を用いた楕円曲線演算装置において、逐次拡大に適した基底を得るための生成多項式を生成する装置を提供することにある。 An object of the present invention is to provide an apparatus for generating a generator polynomial for obtaining a base suitable for sequential expansion in an elliptic curve calculation apparatus using sequential expansion.
生成多項式候補を生成する手順と、生成多項式候補f(x)の1つを選択する選択手順と、選択された候補f(x)が、既約であるか検査する検査手順とを行い、その検査手順が既約であると判定すると、生成多項式として上記選択された候補f(x)を出力し、既約でないと判定すると上記選択手順と上記検査手順とを繰返す。 Performing a procedure for generating a generator polynomial candidate, a selection procedure for selecting one of the generator polynomial candidates f (x), and an inspection procedure for checking whether the selected candidate f (x) is irreducible, If it is determined that the inspection procedure is irreducible, the selected candidate f (x) is output as a generator polynomial. If it is determined that the inspection procedure is not irreducible, the selection procedure and the inspection procedure are repeated.
逐次拡大楕円曲線演算においてその拡大に利用する多項式基底の生成多項式を生成することができる。 It is possible to generate a polynomial basis generator polynomial used for the expansion in the successive expansion elliptic curve calculation.
自乗器(正規基底)
この装置はGF(qn-1)のm次拡大GF(qn)=GF(qn-1 m)上の自乗器のGF(qn-1)上演算装置による一構成例である。
この構成例はm=2であり、全ての基底を解にもつGF(qn-1)上m次生成多項式をf(x)=x2+v1x+v0とした場合にv0=u2なるu∈GF(qn-1)が存在する場合の装置である。
Squarer (normal basis)
This apparatus is an example configuration according to m-th extension GF (q n) = GF ( q n-1 m) on the squarer of GF (q n-1) above arithmetic unit GF (q n-1).
In this configuration example, m = 2, and when the m- th order generator polynomial on GF (q n-1 ) having all bases as solutions is f (x) = x 2 + v 1 x + v 0 , v 0 = u 2 This is a device in the case where uεGF (q n-1 ) exists.
この説明および、図1においてA=(A0,A1)およびA2 =(C0,C1)は正規基底によるGF(qn)=GF(qn-1 m)上の元のGF(qn-1)上の元による表現であり、基底をαおよびβとするとそれぞれA=A0α+A1βおよびA2 =C0α+C1βを意味している。
図に示す装置100はGF(qn)=GF(qn-1 m)上の元A=(A0,A1)の入力に対してGF(qn)上の元A2を出力する装置の構成の一例を表している。
In this explanation and in FIG. 1, A = (A 0 , A 1 ) and A 2 = (C 0 , C 1 ) are the original GF on GF (q n ) = GF (q n−1 m ) according to the normal basis. (Q n-1 ) is an expression based on the element, and when the base is α and β, it means A = A 0 α + A 1 β and A 2 = C 0 α + C 1 β, respectively.
The
この装置の動作をプログラムで実現する場合は、図5に示すフローに従って実行する。
このGF(qn)自乗算器100はGF(qn-1)定数倍器と、GF(qn-1)加算器と、GF(qn-1)減算器と、GF(qn-1)乗算器とこれらを制御する制御器111と、メモリ112とで構成される。
GF(qn-1)減算器101はA0とA1を入力とし、GF(qn-1)定数倍器102は減算器101の出力L1を入力とし、GF(qn-1)加算器103はA0と定数倍器102の出力L5を入力し、GF(qn-1)減算器104はA0とL5 を入力とし、GF(qn-1)加算器105はL5 とA1 を入力とし、GF(qn-1)減算器106はL5とA1を入力とし、GF(qn-1)乗算器107は加算器103の出力と減算器104の出力を入力とし、GF(qn-1)定数倍器108は乗算器107を入力とし、GF(qn-1)乗算器109は加算器105の出力と減算器106の出力とを入力とし、GF(qn-1)定数倍器110は乗算器109の出力を入力とする。
When the operation of this apparatus is realized by a program, it is executed according to the flow shown in FIG.
The GF (q n )
The GF (q n−1 )
この自乗器100は以下のように動作する。
入力値A=(A0,A1)を入力し、メモリ112に一時格納され、以下において特に述べないが演算に必要なデータはメモリ112から読出され、演算結果はメモリ112に記憶される。
Step1:GF(qn-1)減算器101は入力のA0 およびA1 に対して
L1 ←A0−A1 を計算してL1 を出力する。
Step2:GF(qn-1)定数倍器102は入力のL1 に対して
L5 ←(u/v1)L1 を計算してL5 を出力する。
The
An input value A = (A 0 , A 1 ) is input and temporarily stored in the
Step1: GF (q n-1 ) The
Step 2: The GF (q n-1 )
Step3:GF(qn-1)加算器103は入力のL5,A0に対して
L5 +A0 を計算して出力する。
Step4:GF(qn-1)減算器104は入力のL5,A0に対して
L5−A0を計算して出力する。
Step5:GF(qn-1)加算器105は入力のL5,A1に対して
L5 +A1 を計算して出力する。
Step6:GF(qn-1)減算器106は入力のL5,A1に対して
L5 −A1 を計算して出力する。
Step 3: The GF (q n-1 )
Step 4: The GF (q n-1 )
Step 5: The GF (q n-1 ) adder 105 calculates and outputs L 5 + A 1 for the input L 5 and A 1 .
Step 6: The GF (q n-1 )
Step7:GF(qn-1)乗算器107は入力の(L5+A0),(L5 −A0)に対して
T0←(L5+A0)(L5−A0)を計算して出力する。
Step8:GF(qn-1)定数倍器108は入力の(L5+A0)(L5−A0)に対して
−v1(L5+A0)(L5−A0)を計算してC0 として出力する。
Step9:GF(qn-1)乗算器109は入力の(L5+A1),(L5−A1)に対して
T1←(L5+A1)(L5−A1)を計算して出力する。
Step10:GF(qn-1)定数倍器110は入力の(L5+A1)(L5−A1)に対して
−v1(L5 +A1)(L5 −A1)を計算してC1 として出力する。
Step11:(C0,C1)をA2として出力する。
Step 7: The GF (q n−1 ) multiplier 107 calculates T 0 ← (L 5 + A 0 ) (L 5 −A 0 ) for the inputs (L 5 + A 0 ) and (L 5 −A 0 ). And output.
Step 8: The GF (q n−1 )
Step 9: The GF (q n-1 )
Step 10: The GF (q n-1 )
Step 11: (C 0 , C 1 ) is output as A 2 .
生成多項式生成装置
図2に示す生成多項式生成装置はGF(qn-1)のm次拡大GF(qn)=GF(qn-1 m) を多項式基底を用いて行なうのに用いる生成多項式を求める装置の一構成例である。この装置200は制御装置201にメモリ202と既約性判定装置203とが接続されて構成される。
Generator polynomial used to the generator polynomial generator shown in generating polynomial generator Figure 2 carried out using a polynomial basis of GF (q n-1) of m-th extension GF (q n) = GF ( q n-1 m) It is an example of 1 structure of the apparatus which calculates | requires. The
この装置の動作をプログラムで実現する場合は、図6に示すフローに従って実行する。
Step0:制御装置201は入力有限体GF(qn-1)と拡大次数mを入力する。またj個の生成多項式候補fi(x),(i=1,…,j)を生成する。iを0に初期化する。
i=jかを調べiがjでなければ
Step1:iを+1して入力された有限体GF(qn-1)上の生成多項式候補fi(x)を選ぶ。
Step2:既約性判定装置203を用いてそのfi(x)が既約であるか検査する。
Step3:既約であれば、生成多項式g(x)としてfi(x)を出力。既約でなければStep1へもどってやりなおし。
既約性判定装置203の構成は後で述べる。
When the operation of this apparatus is realized by a program, it is executed according to the flow shown in FIG.
Step 0: The
Check if i = j and if i is not j Step 1: Select a generator polynomial candidate f i (x) on the input finite field GF (q n-1 ) by adding i to +1.
Step 2: Use the
Step 3: If irreducible, output f i (x) as generator polynomial g (x). If not irreducible, go back to
The configuration of the
また、この装置の構成としては、以下のような構成、およびその組合せによる構成をすることもできる。
f(x)が2次多項式x2+v1x+v0の場合に多項式基底を用いた乗算を高速に行なうことを目的として、Step0においてv1=−1となる候補fi(x)を生成する。
Moreover, as a structure of this apparatus, the structure by the following structures and its combination can also be made.
When f (x) is a quadratic polynomial x 2 + v 1 x + v 0 , a candidate f i (x) with v 1 = −1 is generated at Step 0 for the purpose of performing multiplication using a polynomial basis at high speed. .
f(x)が2次多項式x2+v1x+v0の場合に多項式基底を用いた逆元や自乗を高速に行なうことを目的として、Step0においてv1=0となる候補fi(x)を生成する。
f(x)が2次多項式x2+v1x+v0の場合に多項式基底を用いた自乗を高速に行なうことを目的として、Step0においてv1=0,v0=u2とあらわすことができる候補fi(x)を生成する。
If f (x) is a quadratic polynomial x 2 + v 1 x + v 0 , candidates f i (x) for which v 1 = 0 in Step 0 are obtained for the purpose of performing inverse elements and squares using polynomial bases at high speed. Generate.
A candidate that can be expressed as v 1 = 0 and v 0 = u 2 in Step 0 for the purpose of performing high-speed square using a polynomial basis when f (x) is a quadratic polynomial x 2 + v 1 x + v 0 Generate f i (x).
正規多項式生成装置
図3に示す正規多項式生成装置はGF(qn-1)のm次拡大GF(qn)=GF(qn-1 m)を正規基底を用いて行なうのに用いる正規多項式を求める装置の一構成例である。この装置300は制御装置301にメモリ302、既約性判定装置303、正則判定装置304が接続されて構成される。
Regular polynomial normalized polynomial generating apparatus shown in normal polynomial generator Figure 3 used to perform GF a (q n-1) of m-th extension GF (q n) = GF ( q n-1 m) using a normal basis It is an example of 1 structure of the apparatus which calculates | requires. The
この装置の動作をプログラムで実現する場合は、図7に示すフローに従って実行する。
Step0:有限体GF(qn-1)、拡大次数mを入力する。生成多項式候補fi(x),(i=1,…,j)を生成し、iを0に初期化した後、i=jかを判定し、iがjでなければ、
Step1:iを+1して入力された有限体GF(qn-1)上の生成多項式候補fi(x)を選ぶ。
Step2:既約性判定装置303を用いてfi(x)が既約であるか検査する。
When the operation of this apparatus is realized by a program, it is executed according to the flow shown in FIG.
Step 0: A finite field GF (q n-1 ) and an expansion order m are input. Generate generator polynomial candidates f i (x), (i = 1,..., J), initialize i to 0, determine whether i = j, and if i is not j,
Step 1: Select a generator polynomial candidate f i (x) on the input finite field GF (q n−1 ) by adding i to +1.
Step 2: Use the
Step3:既約でなければStep1へもどってやりなおし。
Step4:既約であれば正則判定装置304を用いてfi(x)が正則であるか検査する。(この検査の方法は、例えば「暗号・ゼロ知識証明・数論」岡本龍明・太田和夫著、共立出版pp.167などに述べられている)
Step5:正則でなければStep1へもどってやりなおし。正則であれば、生成多項式f(x)としてfi(x)を出力。
また、この装置の構成としては、以下のような構成をすることもできる。
f(x)が2次多項式x2+v1x+v0の場合に多項式基底を用いた自乗を高速に行なうことを目的として、Step0においてv0=u2と表わすことができるf(x)を生成する。
Step 3: If not irreducible, return to
Step 4: If irreducible, the
Step 5: If it is not regular, return to
Moreover, as a structure of this apparatus, it can also be comprised as follows.
When f (x) is a quadratic polynomial x 2 + v 1 x + v 0 , f (x) that can be expressed as v 0 = u 2 is generated at Step 0 for the purpose of performing a square using a polynomial basis at high speed. To do.
既約性判定装置
図4に示す既約性判定装置は図2,3に示した装置における、既約性判定装置203,303の一構成例である。この装置400は制御装置401と多項式ユークリッド(Euclid)互除装置402とよりなる。
Irreducibility determination apparatus The irreducibility determination apparatus shown in FIG. 4 is a configuration example of the
この装置の動作をプログラムで実現する場合は、図8に示すフローに従って実行する。
定義体GF(qn-1)と候補f(x)、拡大次数mを入力する。
g(x)=(x^qn-1 m-1)−xを作る。ここでA^BはABを表わす。次に多項式Euclid互除法を用いて、入力された多項式f(x)とg(x)=(x^qn-1 m-1)−xとの最大公約多項式を求め、
その最大公約多項式が0次式ならば、「既約」を、1次以上ならば「可約」を出力する。
When the operation of this apparatus is realized by a program, it is executed according to the flow shown in FIG.
A definition field GF (q n-1 ), a candidate f (x), and an expansion order m are input.
Make g (x) = (x ^ q n-1 m-1 ) -x. Here A ^ B represents the A B. Next, a polynomial Euclid algorithm is used to find the greatest common divisor polynomial of the input polynomial f (x) and g (x) = (x ^ q n-1 m-1 ) -x,
If the greatest common denominator polynomial is a 0th order expression, "irreducible" is output, and if it is 1st order or higher, "reducible" is output.
上述において各装置をコンピュータによりプログラムを解読実行させて機能させることもできる。この場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
In the above description, each device can be made to function by causing a computer to decode and execute the program. In this case, the processing contents of the functions that each device should have are described by a program. The processing functions are realized on the computer by executing the program on the computer.
The program describing the processing contents can be recorded on a computer-readable recording medium. The computer-readable recording medium may be any medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, or a semiconductor memory. Specifically, for example, the magnetic recording device may be a hard disk device or a flexible Discs, magnetic tapes, etc. as optical disks, DVD (Digital Versatile Disc), DVD-RAM (Random Access Memory), CD-ROM (Compact Disc Read Only Memory), CD-R (Recordable) / RW (ReWritable), etc. As the magneto-optical recording medium, MO (Magneto-Optical disc) or the like can be used, and as the semiconductor memory, EEP-ROM (Electronically Erasable and Programmable-Read Only Memory) or the like can be used.
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。 The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、以上の処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its storage device. When executing the process, the computer reads the program stored in its own recording medium and executes the process according to the read program. As another execution form of the program, the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good. Note that the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).
Further, at least a part of the above processing contents may be realized by hardware.
Claims (4)
複数の生成多項式候補f(x)を生成する手段と、
生成多項式候補f(x)の1つを選択する選択手段と、
選択された候補f(x)が、既約であるか検査する検査手段と、
その検査手段が既約であると判定すると、生成多項式として上記選択された候補f(x)を出力する手段と、
上記検査手段が既約でないと判定すると上記選択手段と上記検査手段とを繰返させる手段とを備え、
当該装置はGF(q i )からGF(q i+1 )への2次拡大に用いられ、
上記生成多項式候補を生成する手段はv 1 が−1(ただし、v 0 ,v 1 はGF(q i )の元)であるx 2 +v 1 x+v 0 なる生成多項式候補f(x)を生成する手段であることを特徴とする多項式基底の生成多項式生成装置。 An apparatus for generating a generator polynomial used for performing m-order expansion from a finite field GF (q i ) (q i is a prime number or a power of a prime number) to GF (q i + 1 ),
Means for generating a plurality of generator polynomial candidates f (x) ;
Selecting means for selecting one of the generator polynomial candidates f (x);
Inspection means for inspecting whether the selected candidate f (x) is irreducible;
If it is determined that the checking means is irreducible, means for outputting the selected candidate f (x) as a generator polynomial;
A means for repeating the selection means and the inspection means when it is determined that the inspection means is not irreducible ,
The device is used for secondary expansion from GF (q i ) to GF (q i + 1 ),
The means for generating the generator polynomial candidate generates a generator polynomial candidate f (x) of v 2 + v 1 x + v 0 where v 1 is −1 (where v 0 and v 1 are elements of GF (q i )). A polynomial generating apparatus for generating a polynomial basis characterized by being a means .
複数の生成多項式候補f(x)を生成する手段と、
生成多項式候補f(x)の1つを選択する選択手段と、
選択された候補f(x)が、既約であるか検査する検査手段と、
その検査手段が既約であると判定すると、生成多項式として上記選択された候補f(x)を出力する手段と、
上記検査手段が既約でないと判定すると上記選択手段と上記検査手段とを繰返させる手段とを備え、
当該装置はGF(qi)からGF(qi+1)への2次拡大に用いられ、
上記生成多項式候補を生成する手段はv1が0(ただし、v0,v1はGF(qi)の元)であるx2+v1x+v0なる生成多項式候補を生成する手段であることを特徴とする多項式基底の生成多項式生成装置。 An apparatus for generating a generator polynomial used for performing m-order expansion from a finite field GF (q i ) (q i is a prime number or a power of a prime number) to GF (q i + 1 ),
Means for generating a plurality of generator polynomial candidates f (x);
Selecting means for selecting one of the generator polynomial candidates f (x);
Inspection means for inspecting whether the selected candidate f (x) is irreducible;
If it is determined that the checking means is irreducible, means for outputting the selected candidate f (x) as a generator polynomial;
A means for repeating the selection means and the inspection means when it is determined that the inspection means is not irreducible,
The device is used for secondary expansion from GF (q i ) to GF (q i + 1 ),
The means for generating the generator polynomial candidate is a means for generating a generator polynomial candidate of x 2 + v 1 x + v 0 where v 1 is 0 (where v 0 and v 1 are elements of GF (q i )). A polynomial generator for generating a characteristic polynomial basis.
上記生成多項式候補を生成する手段はv0がu2(ただし、uはGF(qi)の元)と表すことが出来る生成多項式候補を生成する手段であることを特徴とする多項式基底の生成多項式生成装置。 The generator polynomial generator according to claim 2 , wherein
Generating a polynomial basis characterized in that the means for generating the generator polynomial candidate is a means for generating a generator polynomial candidate in which v 0 can be expressed as u 2 (where u is an element of GF (q i )). Polynomial generator.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004262980A JP3935902B2 (en) | 2004-09-09 | 2004-09-09 | Generator polynomial generator and program recording medium thereof |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004262980A JP3935902B2 (en) | 2004-09-09 | 2004-09-09 | Generator polynomial generator and program recording medium thereof |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000016019A Division JP3638493B2 (en) | 2000-01-25 | 2000-01-25 | Elliptic curve square computing device and program recording medium |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2004355031A JP2004355031A (en) | 2004-12-16 |
| JP3935902B2 true JP3935902B2 (en) | 2007-06-27 |
Family
ID=34056538
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004262980A Expired - Lifetime JP3935902B2 (en) | 2004-09-09 | 2004-09-09 | Generator polynomial generator and program recording medium thereof |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3935902B2 (en) |
-
2004
- 2004-09-09 JP JP2004262980A patent/JP3935902B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JP2004355031A (en) | 2004-12-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Fried et al. | A kilobit hidden SNFS discrete logarithm computation | |
| JP2004279784A (en) | Finite field arithmetic device and finite field arithmetic program | |
| JP6766182B2 (en) | Secret calculation system, secret calculation device, secret calculation method, program | |
| US11190340B2 (en) | Efficient unified hardware implementation of multiple ciphers | |
| WO2018135563A1 (en) | Secure computing system, secure computing device, secure computing method, and program | |
| US20100268957A1 (en) | Signature generating apparatus, signature verifying apparatus, and methods and programs therefor | |
| JP2021140074A (en) | Number-theoretic transform processing device, number-theoretic transform processing method, and program | |
| JP5328993B2 (en) | Signature generation apparatus, signature generation method, and recording medium | |
| JPWO2020071187A1 (en) | Secret sigmoid function calculation system, secret logistic regression calculation system, secret sigmoid function calculation device, secret logistic regression calculation device, secret sigmoid function calculation method, secret logistic regression calculation method, program | |
| EP1069498B1 (en) | Apparatus for solving system of equations on finite field and apparatus for inverting element of extension field | |
| JP3935902B2 (en) | Generator polynomial generator and program recording medium thereof | |
| JP3935903B2 (en) | Generator polynomial generator and program recording medium thereof | |
| JP4856599B2 (en) | Pairing arithmetic device, program | |
| JP4901499B2 (en) | Data verification system, method thereof, identifier generation device, data verification device, program and recording medium | |
| JP3638493B2 (en) | Elliptic curve square computing device and program recording medium | |
| JP4861272B2 (en) | Elliptic curve cryptographic operation apparatus, method, and program | |
| KR102734750B1 (en) | Apparatus and method for variable RNS base moduli conversion operation | |
| JP4399280B2 (en) | Surplus device, surplus method, program, and recording medium | |
| KR102000914B1 (en) | General, Unconditional and Deterministic Primality Test and Factorization Method | |
| JP4612698B2 (en) | Polynomial multiplier, polynomial multiplication method and program | |
| KR102856750B1 (en) | Device for computing solutions of linear systems and its application to digital signature generations | |
| KR102595938B1 (en) | Polynomial inverse generating apparatus and method for an encryption system that encrypts and decrypts data using polynomials | |
| JP4629972B2 (en) | Vector computing device, divided value computing device, elliptic curve scalar multiplication device, elliptic cryptography computing device, vector computing method, program, and computer-readable recording medium recording the program | |
| JP3329440B2 (en) | Arithmetic device for multiple generators using pre-calculation and its program recording medium | |
| JP3604126B2 (en) | Cyclic window addition apparatus, method therefor and program recording medium therefor |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040909 |
|
| RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20061219 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061226 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070221 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070313 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070320 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 3935902 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110330 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110330 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120330 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130330 Year of fee payment: 6 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| EXPY | Cancellation because of completion of term |