Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3935902B2 - Generator polynomial generator and program recording medium thereof - Google Patents
[go: Go Back, main page]

JP3935902B2 - Generator polynomial generator and program recording medium thereof - Google Patents

Generator polynomial generator and program recording medium thereof Download PDF

Info

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
Application number
JP2004262980A
Other languages
Japanese (ja)
Other versions
JP2004355031A (en
Inventor
鉄太郎 小林
和麻呂 青木
文学 星野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2004262980A priority Critical patent/JP3935902B2/en
Publication of JP2004355031A publication Critical patent/JP2004355031A/en
Application granted granted Critical
Publication of JP3935902B2 publication Critical patent/JP3935902B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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とし、
2=(−A0 21+(A0−A12(v0/v1))α
+(−A1 21+(A0−A12(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で−v10→L4を演算し、GF(qn-1)定数倍器27Gで(−v1-1(−v0)L3→L5を演算し、GF(qn-1)定数倍器27Hで−v12 →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 ) squarer 27D calculates A 1 2 → L 2 , GF (q n-1 ) squarer 27E calculates L 1 2 → L 3 , and GF (q n-1 ) The constant multiplier 27F calculates −v 1 L 0 → L 4 and the GF (q n−1 ) constant multiplier 27G calculates (−v 1 ) −1 (−v 0 ) L 3 → L 5 , The GF (q n-1 ) constant multiplier 27H calculates −v 1 L 2 → L 6 , the GF (q n−1 ) adder 27I calculates L 4 + L 5 → C 0 , and GF (q n -1 ) The adder 27J calculates L 5 + L 6 → C 1 to obtain A 2 = (C 0 , C 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 apparatus 100 shown in the figure outputs an element A 2 on GF (q n ) in response to an input of element A = (A 0 , A 1 ) on GF (q n ) = GF (q n−1 m ). 1 illustrates an example of a configuration of a device.

この装置の動作をプログラムで実現する場合は、図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 ) multiplier 100 includes a GF (q n-1 ) constant multiplier, a GF (q n-1 ) adder, a GF (q n-1 ) subtractor, and GF (q n− 1 ) It is composed of a multiplier, a controller 111 for controlling them, and a memory 112.
The GF (q n−1 ) subtractor 101 receives A 0 and A 1 as inputs, and the GF (q n−1 ) constant multiplier 102 receives the output L 1 of the subtractor 101 as input, and GF (q n−1 ). The adder 103 receives A 0 and the output L 5 of the constant multiplier 102, the GF (q n-1 ) subtractor 104 receives A 0 and L 5 , and the GF (q n-1 ) adder 105 L 5 and A 1 are input, the GF (q n−1 ) subtractor 106 receives L 5 and A 1 , and the GF (q n−1 ) multiplier 107 receives the output of the adder 103 and the subtractor 104. The output is input, the GF (q n−1 ) constant multiplier 108 receives the multiplier 107, and the GF (q n−1 ) multiplier 109 receives the output of the adder 105 and the output of the subtractor 106 as inputs. , GF (q n-1 ) constant multiplier 110 receives the output of multiplier 109 as an input.

この自乗器100は以下のように動作する。
入力値A=(A0,A1)を入力し、メモリ112に一時格納され、以下において特に述べないが演算に必要なデータはメモリ112から読出され、演算結果はメモリ112に記憶される。
Step1:GF(qn-1)減算器101は入力のA0 およびA1 に対して
1 ←A0−A1 を計算してL1 を出力する。
Step2:GF(qn-1)定数倍器102は入力のL1 に対して
5 ←(u/v1)L1 を計算してL5 を出力する。
The squarer 100 operates as follows.
An input value A = (A 0 , A 1 ) is input and temporarily stored in the memory 112. Although not specifically described below, data necessary for the operation is read from the memory 112, and the operation result is stored in the memory 112.
Step1: GF (q n-1 ) The subtractor 101 calculates the L 1 ← A 0 -A 1 outputs an L 1 with respect to A 0 and A 1 of the input.
Step 2: The GF (q n-1 ) constant multiplier 102 calculates L 5 <-(u / v 1 ) L 1 for the input L 1 and outputs L 5 .

Step3:GF(qn-1)加算器103は入力のL5,A0に対して
5 +A0 を計算して出力する。
Step4:GF(qn-1)減算器104は入力のL5,A0に対して
5−A0を計算して出力する。
Step5:GF(qn-1)加算器105は入力のL5,A1に対して
5 +A1 を計算して出力する。
Step6:GF(qn-1)減算器106は入力のL5,A1に対して
5 −A1 を計算して出力する。
Step 3: The GF (q n-1 ) adder 103 calculates and outputs L 5 + A 0 for the inputs L 5 and A 0 .
Step 4: The GF (q n-1 ) subtractor 104 calculates L 5 -A 0 for the input L 5 , A 0 and outputs it.
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 ) subtractor 106 calculates and outputs L 5 -A 1 for the input L 5 and A 1 .

Step7:GF(qn-1)乗算器107は入力の(L5+A0),(L5 −A0)に対して
0←(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)に対して
1←(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 ) constant multiplier 108 calculates −v 1 (L 5 + A 0 ) (L 5 −A 0 ) for the input (L 5 + A 0 ) (L 5 −A 0 ). And output as C 0 .
Step 9: The GF (q n-1 ) multiplier 109 calculates T 1 <-(L 5 + A 1 ) (L 5 -A 1 ) for the inputs (L 5 + A 1 ) and (L 5 -A 1 ). And output.
Step 10: The GF (q n-1 ) constant multiplier 110 calculates -v 1 (L 5 + A 1 ) (L 5 -A 1 ) for the input (L 5 + A 1 ) (L 5 -A 1 ). and outputs it as C 1 to.
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 apparatus 200 is configured by connecting a memory 202 and an irreducibility determination apparatus 203 to a control apparatus 201.

この装置の動作をプログラムで実現する場合は、図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 control device 201 inputs the input finite field GF (q n-1 ) and the expansion order m. Further, j generator polynomial candidates f i (x), (i = 1,..., J) are generated. i is initialized to 0.
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 irreducibility determination device 203 to check whether the f i (x) is irreducible.
Step 3: If irreducible, output f i (x) as generator polynomial g (x). If not irreducible, go back to Step 1 and try again.
The configuration of the irreducibility determination device 203 will be described later.

また、この装置の構成としては、以下のような構成、およびその組合せによる構成をすることもできる。
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 apparatus 300 is configured by connecting a memory 302, an irreducibility determination apparatus 303, and a regular determination apparatus 304 to a control apparatus 301.

この装置の動作をプログラムで実現する場合は、図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 irreducibility determination device 303 to check whether f i (x) is irreducible.

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 1 and start again.
Step 4: If irreducible, the regular decision device 304 is used to check whether f i (x) is regular. (This check method is described in, for example, “Cryptography / Zero Knowledge Proof / Number Theory” by Tatsuaki Okamoto and Kazuo Ota, Kyoritsu Shuppan pp.167)
Step 5: If it is not regular, return to Step 1 and try again. If regular, f i (x) is output as a generator polynomial f (x).
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 irreducibility determination apparatuses 203 and 303 in the apparatus shown in FIGS. The device 400 includes a control device 401 and a polynomial Euclidean mutual separation device 402.

この装置の動作をプログラムで実現する場合は、図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.

この発明のGF(qn)自乗器の実施例を示すブロック図。Block diagram illustrating an example of GF (q n) squaring unit of the present invention. この発明の多項式基底の生成多項式生成装置を示すブロック図。1 is a block diagram showing a polynomial basis generator for generating polynomial basis according to the present invention. FIG. この発明の正規多項式生成装置を示すブロック図。The block diagram which shows the normal polynomial production | generation apparatus of this invention. 図2、図3に用いた既約性判定装置の構成を示すブロック図。The block diagram which shows the structure of the irreducibility determination apparatus used for FIG. 2, FIG. 図1に示した実施例におけるGF(qn)自乗処理手順を示す流れ図。Flow diagram showing a GF (q n) squares procedure in the embodiment shown in FIG. 図2に示した実施例における多項式基底の生成多項式生成処理手順を示す流れ図。FIG. 3 is a flowchart showing a polynomial basis generation polynomial generation processing procedure in the embodiment shown in FIG. 2. 図3に示した実施例における正規多項式生成処理手順を示す流れ図。The flowchart which shows the normal polynomial production | generation procedure in the Example shown in FIG. 図4に示した装置の既約性判定処理手順を示す流れ図。5 is a flowchart showing an irreducibility determination processing procedure of the apparatus shown in FIG. 4. 先に提案したGF(qn)自乗器の機能構成を示す図。Shows a functional configuration of a previously proposed a GF (q n) squarer.

Claims (4)

有限体GF(qi)(qiは素数又は素数のべき乗である)からGF(qi+1)へのm次拡大を行うために用いる生成多項式を生成する装置であって、
複数の生成多項式候補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 .
有限体GF(q i )(q i は素数又は素数のべき乗である)からGF(q i+1 )へのm次拡大を行うために用いる生成多項式を生成する装置であって、
複数の生成多項式候補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.
請求項1からの何れかに記載の生成多項式生成装置としてコンピュータを機能させるためのプログラムを格納したコンピュータ読取り可能な記録媒体。 A computer-readable recording medium storing a program for causing a computer to function as the generator polynomial generator according to any one of claims 1 to 3 .
JP2004262980A 2004-09-09 2004-09-09 Generator polynomial generator and program recording medium thereof Expired - Lifetime JP3935902B2 (en)

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)

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