JPH11316542A - Elliptic curve converting device, and device and system for utilization - Google Patents

Elliptic curve converting device, and device and system for utilization

Info

Publication number
JPH11316542A
JPH11316542A JP11056592A JP5659299A JPH11316542A JP H11316542 A JPH11316542 A JP H11316542A JP 11056592 A JP11056592 A JP 11056592A JP 5659299 A JP5659299 A JP 5659299A JP H11316542 A JPH11316542 A JP H11316542A
Authority
JP
Japan
Prior art keywords
elliptic curve
conversion coefficient
conversion
finite field
parameters
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP11056592A
Other languages
Japanese (ja)
Other versions
JP3050313B2 (en
Inventor
Mitsuko Miyaji
充子 宮地
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP11056592A priority Critical patent/JP3050313B2/en
Publication of JPH11316542A publication Critical patent/JPH11316542A/en
Application granted granted Critical
Publication of JP3050313B2 publication Critical patent/JP3050313B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/725Finite field arithmetic over elliptic curves

Abstract

PROBLEM TO BE SOLVED: To provide an elliptic curve converting device which converts an elliptic curve selected optionally as a safe elliptic curve suitable for ciphering into an elliptic curve having safety equivalent to that of the said elliptic curve and capable of decreasing the calculation quantity. SOLUTION: Relating to this converting device 200, a conversion coefficient acquisition part 220 uses parameters (a) and (b) and an element G of a received elliptic curve E to obtain a conversion coefficient (t) as an element on a finite body GF(p) so that t<4> ×a(mod p) is <=32 bits. A converted elliptic curve calculation part 230 calculates parameters a' and b' of an elliptic curve Et:y'<2> =x'<3> +a'×x'+b' constituted on the finite body GF(p) to calculate an element Gt on the elliptic curve Et. A parameter sending-out part 240 send out the calculated parameters a' and b' and element Gt(xt0, yt0).

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は情報セキュリテイ技
術としての暗号技術に関し、特に、楕円曲線を用いて実
現する暗号・復号技術、デジタル署名・検証技術及び鍵
共有技術に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an encryption technology as an information security technology, and more particularly, to an encryption / decryption technology realized by using an elliptic curve, a digital signature / verification technology, and a key sharing technology.

【0002】[0002]

【従来の技術】1.公開鍵暗号 近年、コンピュータ技術と通信技術とに基づくデータ通
信が広く普及してきており、このデータ通信において
は、秘密通信方式又はデジタル署名方式が用いられてい
る。ここで、秘密通信方式とは、特定の通信相手以外に
通信内容を漏らすことなく通信を行なう方式である。ま
たデジタル署名方式とは、通信相手に通信内容の正当性
を示したり、発信者の身元を証明する通信方式である。
2. Description of the Related Art Public key encryption In recent years, data communication based on computer technology and communication technology has become widespread, and in this data communication, a secret communication method or a digital signature method is used. Here, the secret communication method is a method of performing communication without leaking communication contents to a person other than a specific communication partner. The digital signature system is a communication system that shows the validity of communication contents to a communication partner or proves the identity of a caller.

【0003】これらの秘密通信方式又はデジタル署名方
式には公開鍵暗号とよばれる暗号方式が用いられる。公
開鍵暗号は通信相手が多数の時、通信相手ごとに異なる
暗号鍵を容易に管理するための方式であり、多数の通信
相手と通信を行なうのに不可欠な基盤技術である。公開
鍵暗号を用いる秘密通信では、暗号化鍵と復号化鍵とが
異なり、復号化鍵は秘密にするが、暗号化鍵は公開す
る。
[0003] For these secret communication systems or digital signature systems, an encryption system called public key encryption is used. Public key cryptography is a method for easily managing different encryption keys for each communication partner when there are many communication partners, and is a fundamental technology indispensable for communicating with many communication partners. In secret communication using public key cryptography, the encryption key and the decryption key are different, and the decryption key is kept secret but the encryption key is made public.

【0004】この公開鍵暗号の安全性の根拠として離散
対数問題が用いられる。離散対数問題には、代表的なも
のとして、有限体上定義されるもの及び楕円曲線上定義
されるものがある。なお、離散対数問題については、ニ
イルコブリッツ著 ”ア コウス イン ナンバア セ
オリイ アンド クリプトグラヒイ”(Neal Koblitz, "
A Course in Number theory and Cryptography", Spri
nger-Verlag,1987)に詳しく述べられている。 2.楕円曲線上の離散対数問題 楕円曲線上の離散対数問題について、以下に述べる。
[0004] The discrete logarithm problem is used as a basis for security of the public key cryptosystem. Typical discrete logarithmic problems include those defined on a finite field and those defined on an elliptic curve. For the discrete logarithm problem, see Neil Koblitz, "Acoustic in Nambaa Theory and Cryptography" (Neal Koblitz, "
A Course in Number theory and Cryptography ", Spri
nger-Verlag, 1987). 2. Discrete log problem on elliptic curve The discrete log problem on elliptic curve is described below.

【0005】楕円曲線上の離散対数問題とは、E(GF
(p))を有限体GF(p)上で定義された楕円曲線と
し、楕円曲線Eの位数が大きな素数で割り切れる場合
に、楕円曲線Eに含まれる元Gをベースポイントとす
る。このとき、楕円曲線Eに含まれる与えられた元Yに
対して、 (式1) Y=x*G となる整数xが存在するならば、xを求めよ、という問
題である。
The discrete logarithm problem on an elliptic curve is E (GF
(P)) is an elliptic curve defined on the finite field GF (p), and when the order of the elliptic curve E is divisible by a large prime number, an element G included in the elliptic curve E is set as a base point. At this time, if there is an integer x such that (Equation 1) Y = x * G with respect to a given element Y included in the elliptic curve E, the problem is to find x.

【0006】ここで、pは素数、GF(p)はp個の元
を持つ有限体である。また、この明細書において、記号
*は、楕円曲線に含まれる元を複数回加算する演算を示
し、x*Gは、次式に示すように、楕円曲線に含まれる
元Gをx回加算することを意味する。 x*G=G+G+G+・・・+G 離散対数問題を公開鍵暗号の安全性の根拠とするのは、
多くの元を有する有限体GF(p)に対して、上記問題
は極めて難しいからである。 3.楕円曲線上の離散対数問題を応用したエルガマル署
名 以下に、上記楕円曲線上の離散対数問題を応用したエル
ガマル署名によるデジタル署名方式について、図1を用
いて、説明する。
Here, p is a prime number, and GF (p) is a finite field having p elements. Further, in this specification, the symbol * indicates an operation of adding an element included in an elliptic curve a plurality of times, and x * G adds an element G included in an elliptic curve x times as shown in the following equation. Means that. x * G = G + G + G +... + G The security of public key cryptography is based on the discrete logarithm problem.
This is because the above problem is extremely difficult for a finite field GF (p) having many elements. 3. Elgamal Signature Applying Discrete Log Problem on Elliptic Curve A digital signature scheme based on Elgamal signature applying the discrete log problem on the elliptic curve will be described below with reference to FIG.

【0007】この図は、上記エルガマル署名によるデジ
タル署名方式の手順を示すシーケンス図である。ユーザ
A110、管理センタ120及びユーザB130は、ネ
ットワークで接続されている。pを素数、有限体GF
(p)上の楕円曲線をEとする。Eのベースポイントを
Gとし、Eの位数をqとする。つまり、qは、 (式2) q*G=0 を満たす最小の正整数である。
FIG. 1 is a sequence diagram showing a procedure of a digital signature scheme using the above-mentioned El Gamal signature. The user A 110, the management center 120, and the user B 130 are connected by a network. p is a prime number, finite field GF
(P) Let the upper elliptic curve be E. Let G be the base point of E and q be the order of E. That is, q is the smallest positive integer that satisfies (Equation 2) q * G = 0.

【0008】なお、x座標、y座標ともに∞である
(∞、∞)を無限遠点といい、0で表す。この0は、楕
円曲線を群とみたときに、無限遠点が加算における「零
元」の役割を果たす。 (1)管理センタ120による公開鍵の生成 管理センタ120は、予め通知されているユーザA11
0の秘密鍵xAを用いて、式3に従って、ユーザA11
0の公開鍵YAを生成する(ステップS141〜S14
2)。 (式3) YA=xA*G その後、管理センタ120は、素数p、楕円曲線E及び
ベースポイントGをシステムパラメータとして公開し、
また、他のユーザB130にユーザA110の公開鍵Y
Aを公開する(ステップS143〜S144)。
Note that (な お, ∞) in which both x and y coordinates are ∞ is called an infinity point and is represented by 0. When the elliptic curve is regarded as a group, the point at infinity serves as a "zero element" in addition. (1) Generation of Public Key by Management Center 120 The management center 120 sends the user A11
Using the secret key xA of 0, the user A11
A public key YA of 0 is generated (steps S141 to S14).
2). (Equation 3) YA = xA * G Thereafter, the management center 120 discloses the prime number p, the elliptic curve E, and the base point G as system parameters,
Further, the public key Y of the user A110 is given to another user B130.
A is made public (steps S143 to S144).

【0009】(2)ユーザA110による署名生成 ユーザA110は、乱数kを生成する(ステップS14
5)。次に、ユーザA110は、 (式4) R1=(rx,ry)=k*G を計算し(ステップS146)、 (式5) s×k=m+rx×xA (mod q) から、sを計算する(ステップS147)。ここで、m
は、ユーザA110がユーザB130へ送信するメッセ
ージである。
(2) Signature generation by user A110 User A110 generates a random number k (step S14).
5). Next, the user A110 calculates (Equation 4) R1 = (rx, ry) = k * G (Step S146), and calculates (s) from (Equation 5) s × k = m + rx × xA (mod q). (Step S147). Where m
Is a message transmitted from the user A110 to the user B130.

【0010】さらに、ユーザA110は、得られた(R
1、s)を署名としてメッセージmとともに、ユーザB
130へ送信する(ステップS148)。 (3)ユーザB130による署名検証 ユーザB130は、 (式6) s*R1=m*G+rx*YA が成立するかどうか判定することにより、送信者である
ユーザA110の身元を確認する(ステップS14
9)。これは、 (式7) s*R1={((m+rx×xA)/k)×k}*G =(m+rx×xA)*G =m*G+(rx×xA)*G =m*G+rx*YA となることから明らかであるである。 4.楕円曲線上の点の加算、2倍算の演算による計算量 上記に示した楕円曲線上の離散対数問題を応用したエル
ガマル署名によるデジタル署名方式における公開鍵の生
成、署名生成、署名検証のそれぞれにおいて、楕円曲線
上の点の冪倍の演算の計算が行われる。例えば、式3に
示す「xA*G」、式4に示す「k*G」、式6に示す
「s*R1」、「m*G」、「rx*YA」は、楕円曲
線上の点の冪倍の演算である。
Further, the user A110 obtains the obtained (R
1, s) with the message m with the signature
130 (step S148). (3) Signature Verification by User B130 User B130 confirms the identity of user A110, which is the sender, by determining whether or not s * R1 = m * G + rx * YA (step S14).
9). This is expressed by the following equation (7): s * R1 = {((m + rx × xA) / k) × k} * G = (m + rx × xA) * G = m * G + (rx × xA) * G = m * G + rx * This is clear from the fact that YA is obtained. 4. Addition of points on an elliptic curve, computational complexity of doubling calculation In each of generation of a public key, signature generation, and signature verification in a digital signature scheme using Elgamal signature that applies the discrete logarithm problem on the elliptic curve described above. , A calculation of a power of a point on the elliptic curve is performed. For example, "xA * G" shown in Equation 3, "k * G" shown in Equation 4, "s * R1", "m * G", and "rx * YA" shown in Equation 6 are points on the elliptic curve. Is an operation of a power of.

【0011】楕円曲線の演算公式については、"Efficie
nt elliptic curve exponentiation"(Miyaji, Ono, an
d Cohen著、Advances in cryptology-proceedings of I
CICS'97, Lecture notes incomputer science, 1997,
Springer-verlag, 282-290.)に詳しく説明されてい
る。
For the calculation formula of the elliptic curve, see "Efficie
nt elliptic curve exponentiation "(Miyaji, Ono, an
d Cohen, Advances in cryptology-proceedings of I
CICS'97, Lecture notes incomputer science, 1997,
Springer-verlag, 282-290.).

【0012】楕円曲線の演算公式について、以下に説明
する。楕円曲線の方程式をy^2 = x^3 +a×
x+b とし、任意の点Pの座標を(x1,y1)と
し、任意の点Qの座標を(x2,y2)とする。ここ
で、R=P+Qで定まる点Rの座標を(x3,y3)と
する。
The calculation formula of the elliptic curve will be described below. The equation of the elliptic curve is expressed as y ^ 2 = x ^ 3 + a ×
x + b, the coordinates of an arbitrary point P are (x1, y1), and the coordinates of an arbitrary point Q are (x2, y2). Here, the coordinates of the point R determined by R = P + Q are (x3, y3).

【0013】なお、この明細書において、記号^は、冪
乗の演算を示し、例えば、2^3は、2×2×2を意味
する。P≠Qの場合、R=P+Qは、加算の演算とな
る。加算の公式を以下に示す。 x3={(y2−y1)/(x2−x1)}^2−x1
−x2 y3={(y2−y1)/(x2−x1)}(x1−x
3)−y1 P=Qの場合、R=P+Q=P+P=2×Pとなり、R
=P+Qは、2倍算の演算となる。2倍算の公式を以下
に示す。
In this specification, the symbol ^ indicates a power operation, for example, 2 ^ 3 means 2 × 2 × 2. In the case of PRQ, R = P + Q is an addition operation. The addition formula is shown below. x3 = {(y2-y1) / (x2-x1)} 2-x1
−x2 y3 = {(y2-y1) / (x2-x1)} (x1-x
3) When -y1 P = Q, R = P + Q = P + P = 2 × P, and R
= P + Q is a doubling operation. The doubling formula is shown below.

【0014】 x3={(3x1^2+a)/2y1}^2−2x1 y3={(3x1^2+a)/2y1}(x1−x3)
−y1 なお、上記演算は、楕円曲線が定義される有限体上での
演算である。上記に示すように、2項組座標であるアフ
ィン座標、すなわち今まで述べてきた座標において、楕
円曲線上の加算演算を行う場合に、楕円曲線上の加算1
回につき、1回の有限体上の逆数計算が必要となる。一
般に、有限体上の逆数計算は、有限体上での乗算計算と
比較して、10倍程度の計算量を必要とする。
X3 = {(3x1 ^ 2 + a) / 2y1} ^ 2-2x1 y3 = {(3x1 ^ 2 + a) / 2y1} (x1-x3)
-Y1 The above operation is an operation on a finite field where an elliptic curve is defined. As described above, when the addition operation on the elliptic curve is performed at the affine coordinates, which are binary coordinates, that is, the coordinates described above, the addition 1 on the elliptic curve is performed.
Each time, one reciprocal calculation on a finite field is required. In general, reciprocal calculation on a finite field requires about 10 times as much calculation as multiplication calculation on a finite field.

【0015】そこで、計算量を削減することを目的とし
て、射影座標と呼ばれる3項組の座標が用いられる。射
影座標とは、3項組X、Y、Zからなる座標のことであ
って、座標(X,Y,Z)と座標(X’,Y’,Z’)
とに対して、ある数nが存在して、X’=nX、Y’=
nY、Z’=nZなる関係があるならば、(X,Y,
Z)=(X’,Y’,Z’)とするものである。
Therefore, for the purpose of reducing the amount of calculation, coordinates of a set of three terms called projective coordinates are used. The projective coordinates are coordinates composed of a set of three terms X, Y, and Z, and include coordinates (X, Y, Z) and coordinates (X ', Y', Z ').
, There exists a certain number n, and X ′ = nX, Y ′ =
If there is a relationship of nY, Z ′ = nZ, (X, Y,
Z) = (X ′, Y ′, Z ′).

【0016】アフィン座標(x,y)と射影座標(X,
Y,Z)とは、 (x,y) → (x,y,1) (X,Y,Z)→ (X/Y,Y/Z) (Z≠0のと
き) なる関係で、互いに対応している。ここで、記号→は、
次に示す意味で用いている。集合S1の任意の元に、集
合S2の一つの元が対応するとき、S1→S2と表記す
る。
Affine coordinates (x, y) and projective coordinates (X, y)
Y, Z) are (x, y) → (x, y, 1) (X, Y, Z) → (X / Y, Y / Z) (when Z ≠ 0) and correspond to each other doing. Here, the symbol →
It is used in the following sense. When one element of the set S2 corresponds to an arbitrary element of the set S1, it is described as S1 → S2.

【0017】以下、楕円曲線の演算は、すべて、射影座
標で行われるものとする。次に、射影座標上の楕円曲線
の加算公式、2倍公式について説明する。これらの公式
は、もちろん、前に述べたアフィン座標における加算公
式、2倍公式と整合性のあるものである。冪倍の演算
は、楕円曲線上の点の加算、2倍算の演算の繰り返しに
よって実現できる。この冪倍の演算のうち、加算の計算
量は、楕円曲線のパラメータに依存しないが、2倍算の
計算量は、楕円曲線のパラメータに依存する。
In the following, it is assumed that all calculations of the elliptic curve are performed on the projective coordinates. Next, the addition formula of the elliptic curve on the projective coordinates and the double formula will be described. These formulas are, of course, consistent with the addition and doubling formulas in affine coordinates described above. The multiplication operation can be realized by repeating addition and doubling of points on the elliptic curve. Among the multiplication operations, the calculation amount of addition does not depend on the parameters of the elliptic curve, but the calculation amount of doubling depends on the parameters of the elliptic curve.

【0018】ここでは、pを160ビットの素数とし、
有限体GF(p)上の楕円曲線をE:y^2 = x^
3 +ax+b とし、楕円曲線E上の元P、Qをそれ
ぞれ、P=(X1,Y1,Z1)、 Q=(X2,Y
2,Z2)で表すとき、 R=(X3,Y3,Z3)=P+Q を以下のようにして、求める。
Here, p is a 160-bit prime number,
The elliptic curve on the finite field GF (p) is expressed as E: y ^ 2 = x ^
3 + ax + b, and the elements P and Q on the elliptic curve E are P = (X1, Y1, Z1), Q = (X2, Y
When expressed by (2, Z2), R = (X3, Y3, Z3) = P + Q is obtained as follows.

【0019】(i)P≠Qの場合 この場合、加算の演算となる。 (step 1-1) 中間値の計算 以下を計算する。 (式8) U1=X1×Z2^2 (式9) U2=X2×Z1^2 (式10) S1=Y1×Z2^3 (式11) S2=Y2×Z1^3 (式12) H=U2−U1 (式13) r=S2−S1 (step 1-2) R=(X3,Y3,Z3)の計算 以下を計算する。 (式14) X3=−H^3−2×U1×H^2+r^
2 (式15) Y3=−S1×H^3+r×(U1×H^
2−X3) (式16) Z3=Z1×Z2×H (ii)P=Qの場合(すなわち、R=2P) この場合、2倍算の演算となる。
(I) When P ≠ Q In this case, an addition operation is performed. (step 1-1) Calculation of the intermediate value The following is calculated. (Equation 8) U1 = X1 × Z2 ^ 2 (Equation 9) U2 = X2 × Z1 ^ 2 (Equation 10) S1 = Y1 × Z2 ^ 3 (Equation 11) S2 = Y2 × Z1 ^ 3 (Equation 12) H = U2-U1 (Equation 13) r = S2-S1 (step 1-2) Calculation of R = (X3, Y3, Z3) The following is calculated. (Equation 14) X3 = −H {3-2 × U1 × H {2 + r}
2 (Equation 15) Y3 = −S1 × H {3 + r × (U1 × H}
2-X3) (Equation 16) Z3 = Z1 * Z2 * H (ii) When P = Q (that is, R = 2P) In this case, the doubling operation is performed.

【0020】(step 2-1) 中間値の計算 以下を計算する。 (式17) S=4×X1×Y1^2 (式18) M=3×X1^2+a×Z1^4 (式19) T=−2×S+M^2 (step 2-2) R=(X3,Y3,Z3)の計算 以下を計算する。 (式20) X3=T (式21) Y3=−8×Y1^4+M×(S−T) (式22) Z3=2×Y1×Z1 次に、楕円曲線の加算、2倍算を行う場合の計算量につ
いて説明する。ここで、有限体GF(p)上の1回の乗
算による計算量を1Mul、1回の2乗算による計算量
を1Sqで表す。なお、一般のマイクロプロセッサにお
いては、1Sq≒0.8Mulである。
(Step 2-1) Calculation of Intermediate Value The following is calculated. (Equation 17) S = 4 × X1 × Y1 ^ 2 (Equation 18) M = 3 × X1 ^ 2 + a × Z1 ^ 4 (Equation 19) T = −2 × S + M ^ 2 (step 2-2) R = (X3 , Y3, Z3) The following is calculated. (Equation 20) X3 = T (Equation 21) Y3 = −8 × Y1 ^ 4 + M × (S−T) (Equation 22) Z3 = 2 × Y1 × Z1 Next, when adding and doubling elliptic curves is performed. The calculation amount of will be described. Here, the calculation amount by one multiplication on the finite field GF (p) is represented by 1Mul, and the calculation amount by one squaring is represented by 1Sq. In a general microprocessor, 1Sq ≒ 0.8Mul.

【0021】上記の例によると、P≠Qの場合に示され
ている楕円曲線上の加算の計算量は、式8〜式16にお
いて、乗算の回数及び2乗算の回数をカウントすること
により得られ、12Mul+4Sqである。これは、式
8、9、10、11、14、15、16における加算の
計算量は、それぞれ、1Mul+1Sq、1Mul+1
Sq、2Mul、2Mul、2Mul+2Sq、2Mu
l、2Mulであることから明らかである。
According to the above example, the calculation amount of addition on the elliptic curve shown in the case of P ≠ Q is obtained by counting the number of multiplications and the number of squaring in Equations 8 to 16. 12Mul + 4Sq. This means that the calculation amount of the addition in Expressions 8, 9, 10, 11, 14, 15, and 16 is 1Mul + 1Sq and 1Mul + 1, respectively.
Sq, 2Mul, 2Mul, 2Mul + 2Sq, 2Mu
It is clear from the fact that they are 1, 2 Mul.

【0022】また、上記の例によると、P=Qの場合に
示されている楕円曲線上の2倍算の計算量は、式17〜
式22において、乗算の回数及び2乗算の回数をカウン
トすることにより得られ、4Mul+6Sqである。こ
れは、式17、18、19、21、22における2倍算
の計算量は、それぞれ、1Mul+1Sq、1Mul+
3Sq、1Sq、1Mul+1Sq、1Mulであるこ
とから明らかである。
Also, according to the above example, the calculation amount of the doubling on the elliptic curve shown when P = Q is given by the following equation (17).
In Expression 22, it is obtained by counting the number of times of multiplication and the number of times of squaring, which is 4Mul + 6Sq. This means that the calculation amount of the doubling in the equations 17, 18, 19, 21, and 22 is 1Mul + 1Sq and 1Mul +
This is apparent from 3Sq, 1Sq, 1Mul + 1Sq, and 1Mul.

【0023】なお、上記回数のカウントにおいて、例え
ば、式14のH^3については、 H^3=H^2×H と展開できるので、H^3の計算量は、1Mul+1S
qとし、式18のZ1^4については、 Z1^4=(Z1^2)^2 と展開できるので、Z1^4の計算量は、2Sqとす
る。
In the counting of the number of times, for example, for H ^ 3 in the expression 14, since H ^ 3 = H ^ 2 × H, the calculation amount of H ^ 3 is 1Mul + 1S
q, and Z1 ^ 4 in Equation 18 can be expanded as Z1 ^ 4 = (Z1 ^ 2) ^ 2, so the calculation amount of Z1 ^ 4 is 2Sq.

【0024】また、式14のH^2については、前述の
H^3の計算のプロセスにおいて、H^2が算出されて
いるので、H^2の計算量は再度カウントしない。ま
た、乗算の回数のカウントの際、ある値に小さい値を乗
じて行われる乗算の回数は、カウントしない。その理由
を以下に説明する。ここで言う小さい値とは、式8〜式
22において、乗算の対象となる小さい固定値であり、
具体的には、2、3、4、8などの値である。これらの
値は、多くとも4ビットの2進数で表現できる。一方、
その他の変数は、通常、160ビットの値を有してい
る。
As for H ^ 2 in Equation 14, since H ^ 2 has been calculated in the process of calculating H プ ロ セ ス 3, the calculation amount of H ^ 2 is not counted again. When counting the number of multiplications, the number of multiplications performed by multiplying a certain value by a small value is not counted. The reason will be described below. The small value here is a small fixed value to be multiplied in Expressions 8 to 22,
Specifically, it is a value such as 2, 3, 4, 8, or the like. These values can be represented by at most a 4-bit binary number. on the other hand,
Other variables typically have 160-bit values.

【0025】一般に、マイクロプロセッサにおいて、乗
数と被乗数との乗算は、被乗数のシフトと加算の繰り返
しにより行われる。すなわち、2進数で表現される乗数
の各ビット毎に、このビットが1であるならば、2進数
で表現される被乗数の最下位ビットが、このビットの存
在する位置に一致するように、被乗数をシフトして、1
つのビット列を得る。乗数の全ビットについて、このよ
うにして得られた少なくとも1つのビット列をすべて加
算する。
Generally, in a microprocessor, multiplication of a multiplier and a multiplicand is performed by repeatedly shifting and adding the multiplicand. That is, for each bit of the multiplier represented by the binary number, if this bit is 1, the multiplicand is set so that the least significant bit of the multiplicand represented by the binary number matches the position where the bit exists. Shift to 1
Get two bit strings. For all the bits of the multiplier, at least one bit string obtained in this way is added.

【0026】例えば、160ビットの乗数と160ビッ
トの被乗数との乗算においては、160ビットの被乗数
を160回シフトし、160個のビット列を得、得られ
た160個のビット列を加算する。一方、4ビットの乗
数と160ビットの被乗数との乗算においては、160
ビットの被乗数を4回シフトし、4個のビット列を得、
得られた4個のビット列を加算する。
For example, in a multiplication of a 160-bit multiplier and a 160-bit multiplicand, the 160-bit multiplicand is shifted 160 times to obtain 160 bit strings, and the obtained 160 bit strings are added. On the other hand, in the multiplication of the 4-bit multiplier and the 160-bit multiplicand, 160
Shift the multiplicand of bits four times to obtain four bit strings,
The obtained four bit strings are added.

【0027】乗算は、上記に示すようにして行われるの
で、乗算がある値に小さい値を乗じて行われる場合に
は、前記繰り返しの回数が少なくなる。従って、その計
算量は少ないと見なせるので、乗算の回数にカウントし
ない。以上説明したように、楕円曲線の2倍算を行う場
合において、式18には、楕円曲線のパラメータaが含
まれている。このパラメータaの値として、例えば、小
さい値を採用すると、楕円曲線上の2倍算の計算量は、
1Mul分削減でき、3Mul+6Sqとなる。なお、
加算に関しては、楕円曲線のパラメータを変化させて
も、計算量は変わらない。 5.暗号に適した楕円曲線の選択 次に暗号に適した楕円曲線を選択する方法について説明
する。なお、その詳細については、「IEEE P1363 Worki
ng draft」(1997年2月6日、IEEE発行) に
詳しく書かれている。
Since the multiplication is performed as described above, if the multiplication is performed by multiplying a certain value by a small value, the number of repetitions is reduced. Therefore, the calculation amount can be regarded as small, and is not counted in the number of multiplications. As described above, when doubling the elliptic curve is performed, Expression 18 includes the parameter a of the elliptic curve. For example, if a small value is adopted as the value of the parameter a, the calculation amount of the doubling on the elliptic curve becomes
The amount can be reduced by 1 Mul, which is 3 Mul + 6 Sq. In addition,
Regarding addition, the amount of calculation does not change even if the parameters of the elliptic curve are changed. 5. Selection of Elliptic Curve Suitable for Encryption Next, a method of selecting an elliptic curve suitable for encryption will be described. For details, see “IEEE P1363 Worki
ng draft "(published by IEEE on February 6, 1997).

【0028】暗号に適した楕円曲線は、以下のステップ
を繰り返すことにより得られる。 (step 1) 任意の楕円曲線の選択 有限体GF(p)上の任意のパラメータa、bを選ぶ。
ここで、a、bは、式23を満たし、pは素数である。 (式23) 4×a^3+27×b^2 ≠0 (mod p) 選択されたa、bを用いて、楕円曲線をE: y^2
= x^3 +a×x+b とする。
An elliptic curve suitable for encryption can be obtained by repeating the following steps. (step 1) Selection of Arbitrary Elliptic Curves Arbitrary parameters a and b on the finite field GF (p) are selected.
Here, a and b satisfy Expression 23, and p is a prime number. (Equation 23) 4 × a ^ 3 + 27 × b ^ 2 ≠ 0 (mod p) Using the selected a and b, the elliptic curve is expressed as E: y ^ 2
= X ^ 3 + a × x + b.

【0029】(step 2) 暗号に適した楕円曲線であるか
どうかを判定楕円曲線Eの元の個数#E(GF(p))
を計算し、 (条件1) #E(GF(p))が大きな素数で割り切
れ、かつ、 (条件2) #E(GF(p))−(p+1) ≠
0,−1である場合に、楕円曲線Eを採用する。条件1
又は条件2を満たさない場合は、楕円曲線Eを棄却し、
step 1に戻って、再度、任意の楕円曲線の選択と、判定
とを繰り返す。
(Step 2) Judgment as to whether or not the elliptic curve is suitable for cryptography The original number of elliptic curves E #E (GF (p))
(Condition 1) #E (GF (p)) is divisible by a large prime number, and (Condition 2) #E (GF (p)) − (p + 1) ≠
If the values are 0 and -1, the elliptic curve E is adopted. Condition 1
Or, when the condition 2 is not satisfied, the elliptic curve E is rejected,
Returning to step 1, selection of an arbitrary elliptic curve and determination are repeated again.

【0030】[0030]

【発明が解決しようとする課題】上記に説明したよう
に、楕円曲線のパラメータaとして固定的に小さい値を
選択すると、楕円曲線の冪倍の演算において計算量を削
減できるものの、パラメータを予め固定的に取ることに
より、暗号に適した安全な楕円曲線を選択しにくいとい
う問題点がある。
As described above, if a fixed small value is selected as the parameter a of the elliptic curve, the amount of calculation in the operation of multiplying the elliptic curve can be reduced, but the parameter is fixed in advance. In this case, there is a problem that it is difficult to select a secure elliptic curve suitable for encryption.

【0031】また逆に、上記に説明した楕円曲線の選択
方法を用いて、暗号に適した安全な楕円曲線を選択する
と、楕円曲線のパラメータaとして小さい値を選択でき
るとは限らず、計算量を削減できないという問題点があ
る。このように、暗号に適した安全な楕円曲線を選択
し、その楕円曲線での演算量を削減するためには、相互
に矛盾し対立する問題点を有する。
Conversely, when a secure elliptic curve suitable for encryption is selected by using the above-described method for selecting an elliptic curve, a small value cannot always be selected as the parameter a of the elliptic curve. There is a problem that cannot be reduced. As described above, in order to select a secure elliptic curve suitable for cryptography and reduce the amount of computation in the elliptic curve, there are mutually contradictory and conflicting problems.

【0032】本発明は、上記に示す問題点を解決し、暗
号に適した安全な楕円曲線として任意に選択された楕円
曲線を、この楕円曲線と等価な安全性を有し、かつ、計
算量を削減できる楕円曲線に変換する楕円曲線変換装
置、楕円曲線変換方法、及び楕円曲線変換プログラムを
記録している記録媒体を提供することを目的とする。ま
た、これにより安全でかつ高速に演算ができる暗号装
置、復号装置、デジタル署名装置、デジタル署名検証装
置、鍵共有装置などの利用装置及び前記利用装置と前記
楕円曲線変換装置とから構成される利用システムを提供
することを目的とする。
The present invention solves the above-described problems, and converts an elliptic curve arbitrarily selected as a secure elliptic curve suitable for cryptography into an elliptic curve having security equivalent to the elliptic curve and having a computational complexity of It is an object of the present invention to provide an elliptic curve conversion device, an elliptic curve conversion method, and a recording medium that stores an elliptic curve conversion program that converts an elliptic curve into an elliptic curve that can reduce the number of elliptic curves. In addition, a use device such as an encryption device, a decryption device, a digital signature device, a digital signature verification device, a key sharing device, and the like, which can perform operations safely and at a high speed, and a use device comprising the use device and the elliptic curve conversion device The purpose is to provide a system.

【0033】[0033]

【課題を解決するための手段】上記の問題点を解決する
ために、本発明は、1つの楕円曲線Eを変換して他の1
つの楕円曲線Etを生成する楕円曲線変換装置であっ
て、外部から、素数pと、楕円曲線Eのパラメータa及
びパラメータbと、ベースポンイトとしての元Gとを受
信する手段であって、楕円曲線Eは、有限体GF(p)
上で定義され、y^2=x^3+ax+bで表され、元
Gは、楕円曲線E上に存在し、G=(x0,y0)で表
される受信手段と、有限体GF(p)上に存在する変換
係数tを取得する手段であって、変換係数tは、t≠0
であり、かつ、t^4×a (mod p)は、素数p
と比較して桁数が小さい、という条件を満たす変換係数
取得手段と、前記取得された変換係数tを用いて、次式
により、楕円曲線Etのパラメータa’及びb’と、新
たなベースポイント元Gtとを算出する手段であって、
a’=a×t^4、b’=b×t^6、xt0=t^2
×x0、yt0=t^3×y0、楕円曲線Etは、有限
体GF(p)上で定義され、y’^2 = x’^3
+a’×x’+b’で表され、xt0、yt0は、それ
ぞれ元Gtのx座標値、y座標値である楕円曲線算出手
段と、前記算出されたパラメータa’及びb’と、元G
tとを外部へ出力する出力手段とを備えることを特徴と
する。
In order to solve the above-mentioned problems, the present invention converts one elliptic curve E into another elliptic curve.
An elliptic curve conversion device for generating two elliptic curves Et, which is a means for externally receiving a prime number p, parameters a and b of the elliptic curve E, and an element G as a base point. E is a finite field GF (p)
Defined above, represented by y ^ 2 = x ^ 3 + ax + b, the element G exists on the elliptic curve E, and the receiving means represented by G = (x0, y0) and the finite field GF (p) Is a means for acquiring a conversion coefficient t existing in the following equation:
And t ^ 4 × a (mod p) is a prime number p
A conversion coefficient obtaining unit that satisfies the condition that the number of digits is smaller than the above, and using the obtained conversion coefficient t, the parameters a ′ and b ′ of the elliptic curve Et and a new base point Means for calculating the element Gt,
a ′ = a × t ^ 4, b ′ = b × t ^ 6, xt0 = t ^ 2
× x0, yt0 = t ^ 3 × y0, the elliptic curve Et is defined on a finite field GF (p), and y ′ ^ 2 = x ′ ^ 3
+ A ′ × x ′ + b ′, where xt0 and yt0 are elliptic curve calculation means that are the x coordinate value and y coordinate value of the element Gt, the calculated parameters a ′ and b ′, and the element Gt, respectively.
and output means for outputting t to the outside.

【0034】ここで、pは、160ビットの素数であ
り、前記変換係数取得手段は、t^4×a (mod
p)が32ビット以下の数になる、という条件を満たす
変換係数tを取得するように構成してもよい。ここで、
前記変換係数取得手段は、t^4×a (mod p)
が−3となる、という条件を満たす変換係数tを取得す
るように構成してもよい。
Here, p is a 160-bit prime number, and the transform coefficient obtaining means determines that t ^ 4 × a (mod
The conversion coefficient t satisfying the condition that p) is a number of 32 bits or less may be obtained. here,
The conversion coefficient acquiring means is t ^ 4 × a (mod p)
May be configured to acquire a conversion coefficient t that satisfies the condition that is -3.

【0035】ここで、前記変換係数取得手段は、変数T
として、初期値を−3とし、初期値以外の値について
は、桁数の小さい値から大きい値へ順に取ることと、T
=t^4×a (mod p)という条件を満たすかど
うかを判定することとを繰り返すことにより、変換係数
tを取得するように構成してもよい。また、本発明は、
1つの楕円曲線Eを変換して他の1つの楕円曲線Etを
生成する楕円曲線変換装置と、生成された楕円曲線Et
を利用する利用装置とからなる楕円曲線利用システムで
あって、前記利用装置は、第1出力手段と第1受信手段
と利用手段とを備え、前記楕円曲線変換装置は、第2受
信手段と変換係数取得手段と楕円曲線算出手段と第2出
力手段とを備え、前記第1出力手段は、素数pと、楕円
曲線Eのパラメータa及びパラメータbと、ベースポイ
ントとしての元Gとを前記楕円曲線変換装置へ出力し、
ここで、楕円曲線Eは、有限体GF(p)上で定義さ
れ、y^2=x^3+ax+bで表され、元Gは、楕円
曲線E上に存在し、G=(x0,y0)で表され、前記
第2受信手段は、前記利用装置から、素数pと、楕円曲
線Eのパラメータa及びパラメータbと、元Gとを受信
し、前記変換係数取得手段は、有限体GF(p)上に存
在する変換係数tを取得し、ここで、変換係数tは、t
≠0であり、かつ、t^4×a (mod p)は、素
数pと比較して桁数が小さい、という条件を満し、前記
楕円曲線算出手段は、前記取得された変換係数tを用い
て、次式により、楕円曲線Etのパラメータa’及び
b’と、新たなベースポイントとしての元Gtとを算出
し、a’=a×t^4、b’=b×t^6、xt0=t
^2×x0、yt0=t^3×y0、ここで、楕円曲線
Etは、有限体GF(p)上で定義され、y’^2 =
x’^3+a’×x’+b’で表され、xt0、yt
0は、それぞれ元Gtのx座標値、y座標値であり、前
記第2出力手段は、前記算出されたパラメータa’及び
b’と、元Gtとを前記利用装置へ出力し、前記第1受
信手段は、前記出力されたパラメータa’及びb’と、
元Gtとを受信し、前記利用手段は、素数pと、前記受
信したパラメータa’及びb’とで定まる楕円曲線と、
ベースポイントとしての元Gtとを用いて、有限体GF
(p)上で定義される楕円曲線上での演算に基づき、離
散対数問題を安全性の根拠とする暗号、復号、デジタル
署名、デジタル署名検証又は鍵共有を行うことを特徴と
する。
Here, the conversion coefficient obtaining means includes a variable T
, The initial value is set to -3, and values other than the initial value are taken in order from the smaller number of digits to the larger value.
= T ^ 4 × a (mod p) to determine whether or not the condition is satisfied, thereby obtaining the conversion coefficient t. Also, the present invention
An elliptic curve converter for converting one elliptic curve E to generate another elliptic curve Et, and a generated elliptic curve Et
An elliptic curve utilization system comprising: a utilization device that uses the first elliptic curve conversion device; a first output unit, a first reception unit, and a utilization unit; A coefficient obtaining unit, an elliptic curve calculating unit, and a second output unit, wherein the first output unit converts the prime number p, the parameters a and b of the elliptic curve E, and the element G as a base point into the elliptic curve. Output to the converter,
Here, the elliptic curve E is defined on a finite field GF (p) and is represented by y ^ 2 = x ^ 3 + ax + b. The element G exists on the elliptic curve E, and G = (x0, y0). The second receiving means receives a prime number p, a parameter a and a parameter b of an elliptic curve E, and an element G from the utilization device, and the transformation coefficient obtaining means obtains a finite field GF (p) Obtain the transform coefficient t present above, where the transform coefficient t is t
≠ 0, and t ^ 4 × a (mod p) satisfies the condition that the number of digits is smaller than that of the prime number p, and the elliptic curve calculation unit calculates the obtained conversion coefficient t The parameters a ′ and b ′ of the elliptic curve Et and the element Gt as a new base point are calculated using the following equation, and a ′ = a × t ^ 4, b ′ = b × t ^ 6, xt0 = t
^ 2 × x0, yt0 = t ^ 3 × y0, where the elliptic curve Et is defined on a finite field GF (p), and y ′ ^ 2 =
x ′ ^ 3 + a ′ × x ′ + b ′, xt0, yt
0 is an x coordinate value and ay coordinate value of the element Gt, respectively, and the second output means outputs the calculated parameters a ′ and b ′ and the element Gt to the utilization device, and Receiving means, the output parameters a ′ and b ′;
Receiving the element Gt, the utilization means comprises an elliptic curve defined by the prime number p and the received parameters a ′ and b ′,
Using the element Gt as the base point, the finite field GF
(P) Based on an operation on an elliptic curve defined above, encryption, decryption, digital signature, digital signature verification, or key sharing based on the discrete logarithm problem is performed.

【0036】また、本発明は、第2受信手段と変換係数
取得手段と楕円曲線算出手段と第2出力手段とを備え、
1つの楕円曲線Eを変換して他の1つの楕円曲線Etを
生成する楕円曲線変換装置から、前記生成された楕円曲
線Etを受信して利用する利用装置であって、前記利用
装置は、第1出力手段と第1受信手段と利用手段とを備
え、前記第1出力手段は、素数pと、楕円曲線Eのパラ
メータa及びパラメータbと、ベースポイントとしての
元Gとを前記楕円曲線変換装置へ出力し、ここで、楕円
曲線Eは、有限体GF(p)上で定義され、y^2=x
^3+ax+bで表され、元Gは、楕円曲線E上に存在
し、G=(x0,y0)で表され、前記第2受信手段
は、前記利用装置から、素数pと、楕円曲線Eのパラメ
ータa及びパラメータbと、元Gとを受信し、前記変換
係数取得手段は、有限体GF(p)上に存在する変換係
数tを取得し、ここで、変換係数tは、t≠0であり、
かつ、t^4×a (mod p)は、素数pと比較し
て桁数が小さい、という条件を満し、前記楕円曲線算出
手段は、前記取得された変換係数tを用いて、次式によ
り、楕円曲線Etのパラメータa’及びb’と、元Gt
とを算出し、a’=a×t^4、b’=b×t^6、x
t0=t^2×x0、yt0=t^3×y0、ここで、
楕円曲線Etは、有限体GF(p)上で定義され、y’
^2 = x’^3 +a’×x’+b’で表され、x
t0、yt0は、それぞれ元Gtのx座標値、y座標値
であり、前記第2出力手段は、前記算出されたパラメー
タa’及びb’と、元Gtとを前記利用装置へ出力し、
前記第1受信手段は、前記出力されたパラメータa’及
びb’と、元Gtとを受信し、前記利用手段は、素数p
と、前記受信したパラメータa’及びb’とで定まる楕
円曲線と、ベースポンイトとしての元Gtとを用いて、
有限体GF(p)上で定義される楕円曲線上での演算に
基づき、離散対数問題を安全性の根拠とする暗号、復
号、デジタル署名、デジタル署名検証又は鍵共有を行う
ことを特徴とする。
Further, the present invention comprises a second receiving means, a transform coefficient obtaining means, an elliptic curve calculating means, and a second output means,
A usage device that receives and uses the generated elliptic curve Et from an elliptic curve conversion device that converts one elliptic curve E to generate another elliptic curve Et, wherein the usage device includes a 1 output means, first receiving means, and utilization means, wherein the first output means converts the prime number p, the parameters a and b of the elliptic curve E, and the element G as a base point into the elliptic curve conversion device. Where the elliptic curve E is defined on a finite field GF (p) and y ^ 2 = x
元 3 + ax + b, the element G exists on the elliptic curve E, and is represented by G = (x0, y0), and the second receiving unit sends a prime number p and a parameter of the elliptic curve E from the utilization device. a and the parameter b and the element G are received, and the transform coefficient acquiring means acquires a transform coefficient t existing on the finite field GF (p), where the transform coefficient t is t ≠ 0. ,
In addition, t ^ 4 × a (mod p) satisfies the condition that the number of digits is smaller than that of the prime number p, and the elliptic curve calculation means uses the obtained conversion coefficient t to obtain the following equation: , The parameters a ′ and b ′ of the elliptic curve Et and the element Gt
A ′ = a × t ^ 4, b ′ = b × t ^ 6, x
t0 = t ^ 2 × x0, yt0 = t ^ 3 × y0, where
The elliptic curve Et is defined on a finite field GF (p), and y ′
^ 2 = x ′ ^ 3 + a ′ × x ′ + b ′, x
t0 and yt0 are the x coordinate value and the y coordinate value of the element Gt, respectively, and the second output means outputs the calculated parameters a ′ and b ′ and the element Gt to the use device,
The first receiving unit receives the output parameters a ′ and b ′ and the element Gt, and the using unit generates a prime p
And an elliptic curve defined by the received parameters a ′ and b ′ and an element Gt as a base point,
Based on an operation on an elliptic curve defined on a finite field GF (p), encryption, decryption, digital signature, digital signature verification, or key sharing based on the discrete logarithm problem is performed. .

【0037】[0037]

【発明の実施の形態】本発明に係る1つの実施の形態と
しての楕円曲線変換装置200について、図を用いて説
明する。 1.楕円曲線変換装置200の構成 楕円曲線変換装置200は、図2に示すように、パラメ
ータ受信部210、変換係数取得部220、変換楕円曲
線算出部230、パラメータ送出部240から構成され
る。 (パラメータ受信部210)パラメータ受信部210
は、外部の装置から、楕円曲線のパラメータa、bと、
前記楕円曲線上の元Gと、素数pとを受信する。ここ
で、pは、160ビットの素数である。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An elliptic curve conversion device 200 according to one embodiment of the present invention will be described with reference to the drawings. 1. Configuration of Elliptic Curve Converter 200 As shown in FIG. 2, the elliptic curve converter 200 includes a parameter receiving unit 210, a conversion coefficient acquiring unit 220, a converted elliptic curve calculating unit 230, and a parameter sending unit 240. (Parameter receiving unit 210) Parameter receiving unit 210
From the external device, the parameters a and b of the elliptic curve,
An element G on the elliptic curve and a prime number p are received. Here, p is a 160-bit prime number.

【0038】前記外部の装置には、公開鍵暗号を用いる
暗号装置、復号装置、デジタル署名装置、デジタル署名
検証装置、鍵共有装置などが含まれる。前記外部の装置
は、公開鍵暗号の安全性の根拠として楕円曲線上の離散
対数問題を用いており、前記楕円曲線を有している。こ
こで、有限体GF(p)上の任意に構成される前記楕円
曲線は、E:y^2 = x^3 +ax+b で示さ
れ、前記元Gは、前記楕円曲線の任意に構成され、 G=(x0,y0) で表される。 (変換係数取得部220)変換係数取得部220は、図
3に示すように、関数T(i)を有する。関数T(i)
は、i=0、1、2、3、4のとき、それぞれ、−3、
1、−1、2、−2の値を有する。また、関数T(i)
は、i=5、6、7、8、9、10、11、・・・のと
き、3、4、−4、5、−5、6、−6、・・・の値を
有する。
The external device includes an encryption device using public key encryption, a decryption device, a digital signature device, a digital signature verification device, a key sharing device, and the like. The external device uses the discrete logarithm problem on an elliptic curve as a basis for security of public key cryptography, and has the elliptic curve. Here, the elliptic curve arbitrarily configured on the finite field GF (p) is represented by E: y ^ 2 = x ^ 3 + ax + b, and the element G is arbitrarily configured of the elliptic curve; = (X0, y0). (Transform Coefficient Acquisition Unit 220) The transform coefficient acquisition unit 220 has a function T (i) as shown in FIG. Function T (i)
Is -3, when i = 0, 1, 2, 3, 4, respectively.
It has values of 1, -1, 2, and -2. Also, the function T (i)
Has values 3, 4, -4, 5, -5, 6, -6,... When i = 5, 6, 7, 8, 9, 10, 11,.

【0039】変換係数取得部220は、i=0から始め
て、iの値を1ずつ加算しながら、 (式24) −2^31+1≦T(i)≦2^31−1 を満たし、かつ、 (式25) T(i)=t^4×a (mod p) となる変換係数tであって、有限体GF(p)上の元で
ある変換係数tを算出する。
The conversion coefficient acquisition unit 220 satisfies (Equation 24) −2 ^ 31 + 1 ≦ T (i) ≦ 2 ^ 31-1 while adding the value of i one by one, starting from i = 0. (Equation 25) A conversion coefficient t that satisfies T (i) = t ^ 4 × a (mod p) and is an element on the finite field GF (p) is calculated.

【0040】ここで、式24は、T(i)が32ビット
以下になるように取られることを示している。なお、関
数T(i)は、i=0のときに、−3の値を有してお
り、変換係数取得部220は、i=0から始めて、iの
値を1ずつ加算しながら、関数T(i)の値を参照する
ので、最初に−3の値が参照される。
Here, equation 24 indicates that T (i) is taken to be 32 bits or less. Note that the function T (i) has a value of −3 when i = 0, and the conversion coefficient acquisition unit 220 starts from i = 0 and adds the value of i one by one to the function T (i). Since the value of T (i) is referred to, the value of -3 is referred first.

【0041】また、関数T(i)は、i=0のときに、
−3の値を有していることを除いて、絶対値の小さい値
から大きい値へと順に値を有しているので、絶対値の小
さい値から順に参照することができる。(変換楕円曲線
算出部230)変換楕円曲線算出部230は、有限体G
F(p)上に構成される変換楕円曲線Et:y’^2
= x’^3 +a’×x’+b’のパラメータa’、
b’をそれぞれ次のようにして、算出する。 (式26) a’=a×t^4 (式27) b’=b×t^6 また、変換楕円曲線算出部230は、元Gに対応する変
換楕円曲線Et上の元Gt=(xt0,yt0)を次の
ようにして、算出する。 (式28) xt0=t^2×x0 (式29) yt0=t^3×y0 なお、楕円曲線E上の任意の点は、以上のようにして生
成されたパラメータa’、b’で定まる変換楕円曲線E
t上の1点に変換される。 (パラメータ送出部240)パラメータ送出部240
は、前記算出された変換楕円曲線Etのパラメータ
a’、b’と、元Gt(xt0,yt0)とを前記外部
の装置へ送出する。 2.楕円曲線変換装置200の動作 (楕円曲線変換装置200の全体の動作)楕円曲線変換
装置200の全体の動作について、図4に示すフローチ
ャートを用いて、説明する。
The function T (i) is given by
Except for having a value of -3, since the values have values in order from a small absolute value to a large value, they can be referred to in order from a value with a small absolute value. (Conversion Elliptic Curve Calculation Unit 230) The conversion elliptic curve calculation unit 230
Transformed elliptic curve Et: y ′ ^ 2 constructed on F (p)
= X '^ 3 + a' x x '+ b' parameter a ',
b ′ is calculated as follows. (Equation 26) a ′ = a × t ^ 4 (Equation 27) b ′ = b × t ^ 6 Further, the conversion elliptic curve calculation unit 230 calculates the element Gt = (xt0) on the conversion elliptic curve Et corresponding to the element G. , Yt0) is calculated as follows. (Equation 28) xt0 = t ^ 2 × x0 (Equation 29) yt0 = t ^ 3 × y0 Note that an arbitrary point on the elliptic curve E is determined by the parameters a ′ and b ′ generated as described above. Transformed elliptic curve E
Converted to one point on t. (Parameter Sending Unit 240) Parameter Sending Unit 240
Sends the calculated parameters a ′ and b ′ of the converted elliptic curve Et and the element Gt (xt0, yt0) to the external device. 2. Operation of Elliptic Curve Converter 200 (Overall Operation of Elliptic Curve Converter 200) The overall operation of the elliptic curve converter 200 will be described with reference to the flowchart shown in FIG.

【0042】パラメータ受信部210は、外部の装置か
ら素数pと、楕円曲線Eのパラメータa及びbとを受け
取り(ステップS301)、前記楕円曲線上の元Gを受
け取る(ステップS302)。次に、変換係数取得部2
20は、変換係数tを算出し(ステップS303)、変
換楕円曲線算出部230は、有限体GF(p)上に構成
される変換楕円曲線Etのパラメータa’、b’と、元
Gに対応する変換楕円曲線Et上の元Gt=(xt0,
yt0)を算出し(ステップS304)、パラメータ送
出部240は、前記算出された変換楕円曲線Etのパラ
メータa’、b’と、元Gt(xt0,yt0)とを前
記外部の装置へ送出する(ステップS305)。 (変換係数取得部220の動作)次に、変換係数取得部
220の動作について、図5に示すフローチャートを用
いて説明する。
The parameter receiving section 210 receives a prime number p and parameters a and b of the elliptic curve E from an external device (step S301), and receives an element G on the elliptic curve (step S302). Next, the conversion coefficient acquisition unit 2
20 calculates a conversion coefficient t (step S303), and the conversion elliptic curve calculation unit 230 calculates the conversion elliptic curve Et corresponding to the parameters a ′ and b ′ of the conversion elliptic curve Et formed on the finite field GF (p) and the element G. Gt = (xt0,
yt0) (step S304), and the parameter sending unit 240 sends the calculated parameters a ′ and b ′ of the converted elliptic curve Et and the original Gt (xt0, yt0) to the external device (step S304). Step S305). (Operation of Conversion Coefficient Acquisition Unit 220) Next, the operation of the conversion coefficient acquisition unit 220 will be described with reference to the flowchart shown in FIG.

【0043】変換係数取得部220は、iに0の値を設
定する(ステップS311)。次に、変換係数取得部2
20は、関数T(i)について、 −2^31+1≦T(i)≦2^31−1 を満たすかどうかを判定し、満たさないならば(ステッ
プS312)、処理を終了する。満たすならば(ステッ
プS312)、 T(i)=t^4×a (mod p) となる変換係数tを算出し(ステップS313)、算出
された変換係数tが有限体GF(p)上の元であるかど
うかを判定し、有限体GF(p)上の元であるなら(ス
テップS314)、処理を終了する。有限体GF(p)
上の元でないなら(ステップS314)、iに1を加算
し(ステップS315)、再度ステップS312へ制御
を戻す。 (変換楕円曲線算出部230の動作)次に、変換楕円曲
線算出部230の動作について、図6に示すフローチャ
ートを用いて説明する。
The conversion coefficient obtaining unit 220 sets i to a value of 0 (step S311). Next, the conversion coefficient acquisition unit 2
20 determines whether the function T (i) satisfies −2 31 + 1 ≦ T (i) ≦ 2 ^ 31−1, and if not (step S312), terminates the process. If it satisfies (step S312), a transform coefficient t that satisfies T (i) = t ^ 4 × a (mod p) is calculated (step S313), and the calculated transform coefficient t is calculated on the finite field GF (p). It is determined whether or not the element is an element. If the element is an element on the finite field GF (p) (step S314), the process ends. Finite field GF (p)
If it is not the upper element (step S314), 1 is added to i (step S315), and control is returned to step S312 again. (Operation of Conversion Elliptic Curve Calculation Unit 230) Next, the operation of the conversion elliptic curve calculation unit 230 will be described with reference to the flowchart shown in FIG.

【0044】変換楕円曲線算出部230は、有限体GF
(p)上に構成される変換楕円曲線Etのパラメータ
a’=a×t^4を算出し(ステップS321)、パラ
メータb’=b×t^6を算出する(ステップS32
2)。また、変換楕円曲線算出部230は、元Gに対応
する変換楕円曲線Et上の元Gt=(xt0,yt0)
として、xt0=t^2×x0を算出し(ステップS3
23)、yt0=t^3×y0を算出する(ステップS
324)。 3.変換楕円曲線Etと楕円曲線Eとが同型である証明 ここでは、変換楕円曲線Et:y’^2=x’^3+a
×t^4×x’+b×t^6と、楕円曲線E:y^2=
x^3+a×x+bとが同型であることを証明する。な
お、以下において、楕円曲線上の演算は、アフィン座標
のものを取り扱う。
The conversion elliptic curve calculation unit 230 calculates the finite field GF
(P) Calculates the parameter a ′ = a × t 変 換 4 of the transformed elliptic curve Et (step S321), and calculates the parameter b ′ = b × t ^ 6 (step S32).
2). Further, the conversion elliptic curve calculation unit 230 calculates the element Gt on the conversion elliptic curve Et corresponding to the element G = (xt0, yt0).
Xt0 = t ^ 2 × x0 is calculated (step S3
23), yt0 = t ^ 3 × y0 is calculated (step S)
324). 3. Proof that the transformed elliptic curve Et and the elliptic curve E are isomorphic. Here, the transformed elliptic curve Et: y ′ ^ 2 = x ′ ^ 3 + a
× t ^ 4 × x ′ + b × t ^ 6 and the elliptic curve E: y ^ 2 =
Prove that x ^ 3 + a × x + b is isomorphic. In the following, the calculation on the elliptic curve is performed on affine coordinates.

【0045】楕円曲線E上の任意の点P(x0,y0)
を取る。このとき、点Pは、E上の点であるから、 (式30) y0^2=x0^3+a×x0+b を満たしている。この変換により、点Pは、点P’(x
0’,y0’)=(t^2×x0,t^3×y0)に変
換される。
An arbitrary point P (x0, y0) on the elliptic curve E
I take the. At this time, since the point P is a point on E, (Equation 30) satisfies y0 ^ 2 = x0 ^ 3 + a × x0 + b. By this conversion, the point P becomes the point P ′ (x
0 ′, y0 ′) = (t ^ 2 × x0, t ^ 3 × y0).

【0046】ここで、式30の両辺に、t^6をかける
と、 t^6×y0^2=t^6×x0^3+t^6×a×x
0+t^6×b が得られる。この式は、次のように変形できる。 (t^3×y0)^2=(t^2×x0)^3+a×t
^4×(t^2×x0)+b×t^6 この式は、さらに、次のように変形できる。
Here, when t ^ 6 is applied to both sides of Equation 30, t ^ 6 × y0 ^ 2 = t ^ 6 × x0 ^ 3 + t ^ 6 × a × x
0 + t ^ 6 × b is obtained. This equation can be modified as follows. (T ^ 3 × y0) ^ 2 = (t ^ 2 × x0) ^ 3 + a × t
{4 × (t ^ 2 × x0) + b × t ^ 6 This equation can be further modified as follows.

【0047】y0’^2=x0’^3+a×t^4×x
0’+b×t^6 これは、点P’が、変換楕円曲線Et上にあることを示
している。また、楕円曲線E上の点から変換楕円曲線E
t上の点への変換は、 (x,y)→(x’,y’)=(t^2×x,t^3×
y) により示される。ここで、t≠0であるので、以下に示
す変換楕円曲線Et上の点から楕円曲線E上への点の変
換は、上記変換の逆変換であることは容易に分かる。
Y0 '^ 2 = x0' ^ 3 + a × t ^ 4 × x
0 ′ + b × t ^ 6 This indicates that the point P ′ is on the transformed elliptic curve Et. In addition, from the point on the elliptic curve E, the transformed elliptic curve E
Conversion to a point on t is (x, y) → (x ′, y ′) = (t ^ 2 × x, t ^ 3 ×
y) is indicated by Here, since t ≠ 0, it is easily understood that the following transformation of a point from the point on the transformed elliptic curve Et to the point on the elliptic curve E is an inverse transformation of the above transformation.

【0048】(x’,y’)→(x,y)=(x’/
(t^2),y’/(t^3)) 以上のことから、楕円曲線E上の点と変換楕円曲線Et
上の点とは、1対1に対応していることが分かる。次
に、楕円曲線E上の任意の異なる2点P=(x1,y
1)、Q=(x2,y2)を取り、R=P+Qとし、R
の座標を(x3,y3)とする。このとき、前に述べた
ように、 x3={(y2−y1)/(x2−x1)}^2−x1
−x2 y3={(y2−y1)/(x2−x1)}(x1−x
3)−y1 となる。
(X ′, y ′) → (x, y) = (x ′ /
(T ^ 2), y ′ / (t ^ 3)) From the above, the points on the elliptic curve E and the transformed elliptic curve Et
It can be seen that the above points correspond one-to-one. Next, any two different points P = (x1, y) on the elliptic curve E
1), Q = (x2, y2), R = P + Q, R
Are (x3, y3). At this time, as described above, x3 = {(y2-y1) / (x2-x1)} 2-x1
−x2 y3 = {(y2-y1) / (x2-x1)} (x1-x
3) -y1

【0049】次に、本発明で用いた楕円曲線の変換によ
り、楕円曲線E上の点P、点Q、点Rが、それぞれ、変
換楕円曲線Et上の点P’、点Q’、点R’に変換され
るものとする。ここで、点P’、点Q’、点R’の座標
をそれぞれ、(x1’,y1’)、(x2’,y
2’)、(x3’,y3’)とする。このとき、 x1’=t^2×x1 y1’=t^3×y1 x2’=t^2×x2 y2’=t^3×y2 x3’=t^2×x3 y3’=t^3×y3 が成り立つ。
Next, by the transformation of the elliptic curve used in the present invention, the points P, Q and R on the elliptic curve E are changed to the points P ′, Q ′ and R on the transformed elliptic curve Et, respectively. '. Here, the coordinates of point P ′, point Q ′, and point R ′ are (x1 ′, y1 ′), (x2 ′, y
2 ′) and (x3 ′, y3 ′). At this time, x1 ′ = t ^ 2 × x1 y1 ′ = t ^ 3 × y1 x2 ′ = t ^ 2 × x2 y2 ′ = t ^ 3 × y2 x3 ′ = t ^ 2 × x3 y3 ′ = t ^ 3 × y3 holds.

【0050】また、R”=P’+Q’とする。ただし、
ここにおける加算演算は、変換楕円曲線Et上の加算を
示す。R”の座標を(x3”,y3”)とすると、 x3”={(y2’−y1’)/(x2’−x1’)}
^2−x1’−x2’ y3”={(y2’−y1’)/(x2’−x1’)}
(x1’−x3’)−y1’ となる。
Also, R ″ = P ′ + Q ′, where
The addition operation here indicates addition on the transformed elliptic curve Et. Assuming that the coordinates of R ″ are (x3 ″, y3 ″), x3 ″ = {(y2′−y1 ′) / (x2′−x1 ′)}
{2-x1'-x2'y3 "= {(y2'-y1 ') / (x2'-x1')}
(X1'-x3 ')-y1'.

【0051】ここで、この式におけるx1’、y1’、
x2’、y2’を、それぞれ、上記のように、x1、y
1、x2、y2を用いて表すと、 x3”={(t^3×y2−t^3×y1)/(t^2×x2 −t^2×x1)}^2−t^2×x1−t^2×x2 ={t(y2−y1)/(x2−x1)}^2−t^2×x1 −t^2×x2 =t^2×{{(y2−y1)/(x2−x1)}^2−x1−x2} =t^2×x3 =x3’ y3”={(t^3×y2−t^3×y1)/(t^2×x2 −t^2×x1)}×(t^2×x1−t^2×x3) −t^3×y1 ={t(y2−y1)/(x2−x1)}×t^2(x1−x3) −t^3×y1 =t^3×{{(y2−y1)/(x2−x1)}×(x1−x3) −y1} =t^3×y3 =y3’ となる。従って、R’とR”とは、等しい点を表してい
ることが分かる。
Here, x1 ′, y1 ′,
x2 ′ and y2 ′ are respectively defined as x1 and y as described above.
When expressed using 1, x2, y2, x3 ″ = {(t ^ 3 × y2-t ^ 3 × y1) / (t ^ 2 × x2−t ^ 2 × x1)} ^ 2-t ^ 2 × x1-t ^ 2 × x2 = {t (y2-y1) / (x2-x1)} ^ 2-t ^ 2 × x1−t ^ 2 × x2 = t ^ 2 × {{(y2-y1) / ( x2-x1) {2-x1-x2} = t {2 × x3 = x3′y3 ″ = {(t ^ 3 × y2-t ^ 3 × y1) / (t ^ 2 × x2−t ^ 2 × x1)} × (t ^ 2 × x1-t ^ 2 × x3) −t ^ 3 × y1 = {t (y2-y1) / (x2-x1)} × t ^ 2 (x1-x3) −t ^ 3 × y1 = t {3 × {(y2-y1) / (x2-x1)} × (x1-x3) −y1} = t ^ 3 × y3 = y3 ′ Therefore, it can be seen that R ′ and R ″ represent the same point.

【0052】以上により、楕円曲線上の加算演算は、本
変換においても、保存されることが分かる。次に、Q=
Pの場合について、すなわち、2倍公式について、述べ
る。前と同様に、楕円曲線E上の任意の点Pに対して、
R=P+Pとし、本発明で用いた楕円曲線の変換によ
り、楕円曲線E上の点P、点Rが、それぞれ、変換楕円
曲線Et上の点P’、点R’に変換されるものとする。
ここで、点P、点R、点P’、点R’の座標をそれぞ
れ、(x1,y1)、(x3,y3)、(x1’,y
1’)、(x3’,y3’)とする。このとき、 x1’=t^2×x1 y1’=t^3×y1 x3’=t^2×x3 y3’=t^3×y3 が成り立つ。また、R”=P’+P’とする。
From the above, it can be seen that the addition operation on the elliptic curve is preserved in this conversion as well. Next, Q =
The case of P, that is, the doubling formula, will be described. As before, for any point P on the elliptic curve E,
It is assumed that R = P + P, and the points P and R on the elliptic curve E are converted into points P ′ and R ′ on the converted elliptic curve Et, respectively, by the conversion of the elliptic curve used in the present invention. .
Here, the coordinates of the point P, the point R, the point P ′, and the point R ′ are (x1, y1), (x3, y3), (x1 ′, y
1 ′) and (x3 ′, y3 ′). At this time, x1 ′ = t ^ 2 × x1 y1 ′ = t ^ 3 × y1 x3 ′ = t ^ 2 × x3 y3 ′ = t ^ 3 × y3. Also, it is assumed that R ″ = P ′ + P ′.

【0053】ただし、ここにおける2倍演算は、変換楕
円曲線Et上の2倍演算を示す。点R”の座標を(x
3”,y3”)とすると、 x3”={(3x1’^2+a)/2y1’}^2−2
x1’ y3”={(3x1’^2+a)/2y1’}(x1’
−x3’)−y1’ となる。ここで、x1’、y1’をそれぞれ、x1、y
1を用いて上記のように表すと、 x3”={{(t^2×3x1)^2+a}/(2×t^3×y1)}^2 −2×t^2×x1 =t^2{(3x1^2+a)/y1}^2−t^2×2x1 =t^2{{(3x1^2+a)/y1}^2−2x1} =t^2×x3 ={t(y2−y1)/(x2−x1)}^2−t^2×x1 −t^2×x2 =t^2{{(y2−y1)/(x2−x1)}^2 −x1−x2} =t^2×x3 =x3’ y3”={{(t^2×3x1)^2+a}/(2×t^3×y1)} ×(t^2×x1−t^2×x3)−t^3×y1 =t^3{(3x1^2+a)/2y1}(x1−x3) −t^3×y1 =t^3{{(3x1^2+a)/2y1}(x1−x3)−y1} =t^3×y3 =y3’ となる。従って、R’とR”とは、等しい点を表してい
ることが分かる。
However, the doubling operation here indicates a doubling operation on the transformed elliptic curve Et. The coordinates of point R ″ are (x
3 ″, y3 ″), x3 ″ = {(3x1 ′ ^ 2 + a) / 2y1 ′} ^ 2-2
x1′y3 ″ = {(3x1 ′ {2 + a) / 2y1 ′} (x1 ′
−x3 ′) − y1 ′. Here, x1 ′ and y1 ′ are respectively x1 and y
When expressed as above using 1, x3 ″ = {(t ^ 2 × 3x1) ^ 2 + a} / (2 × t ^ 3 × y1)} ^ 2−2 × t ^ 2 × x1 = t ^ 2 {(3x1 ^ 2 + a) / y1} ^ 2-t ^ 2 × 2x1 = t ^ 2 {{(3x1 ^ 2 + a) / y1} ^ 2-2x1} = t ^ 2 × x3 = {t (y2-y1 ) / (X2-x1) {2-t} 2 * x1-t {2 * x2 = t {2} (y2-y1) / (x2-x1) {2-x1-x2} = t} 2 × x3 = x3′y3 ″ = {(t ^ 2 × 3x1) ^ 2 + a} / (2 × t ^ 3 × y1)} × (t ^ 2 × x1-t ^ 2 × x3) −t ^ 3 × y1 = t ^ 3 {(3x1 ^ 2 + a) / 2y1} (x1−x3) −t ^ 3 × y1 = t ^ 3 {{(3x1 ^ 2 + a) / 2y1} (x1−x3) −y1} = t ^ 3 × y3 = y3 ′. Therefore, it can be seen that R ′ and R ″ represent the same point.

【0054】以上により、楕円曲線上の2倍演算は、本
変換においても、保存されることが分かる。以上に述べ
たことにより、楕円曲線Eと、本発明において用いる変
換により生成された変換楕円曲線Etとは、同型である
ことが証明できた。 4.変換楕円曲線Etを用いる場合の計算量の評価 上記の実施の形態によると、変換楕円曲線Etのパラメ
ータa’は、32ビット以下になるように取られるの
で、式18の計算量は、3Sqとなる。従って、楕円曲
線上の加算の計算量は、12Mul+4Sqとなり、2
倍算の計算量は、3Mul+6Sqとなる。このよう
に、楕円曲線Eのパラメータaが、160ビットに近い
値である場合とと比較すると2倍算において、1Mul
分の計算量が削減できることが分かる。
From the above, it can be seen that the doubling operation on the elliptic curve is preserved in this conversion as well. As described above, it has been proved that the elliptic curve E and the transformed elliptic curve Et generated by the transformation used in the present invention have the same shape. 4. Evaluation of Calculation Amount When Using Conversion Elliptic Curve Et According to the above embodiment, the parameter a ′ of the conversion elliptic curve Et is taken to be 32 bits or less. Become. Therefore, the calculation amount of the addition on the elliptic curve is 12Mul + 4Sq, which is 2
The calculation amount of the multiplication is 3Mul + 6Sq. In this way, when compared with the case where the parameter a of the elliptic curve E is a value close to 160 bits, 1Mul
It can be seen that the amount of calculation for each minute can be reduced.

【0055】上記に述べたように、関数T(i)は、i
=0のときに、−3の値を有していることを除いて、絶
対値の小さい値から大きい値へと順に値を有しており、
絶対値の小さい値から順に参照することができるので、
より計算量の少ない変換楕円曲線から順に、適切な変換
楕円曲線を選んでいくことができる。また、上記の実施
の形態によると、変換楕円曲線Etのパラメータa’
が、−3の場合、式18は、 M=3×X1^2+a’×Z1^4 =3×X1^2−3×Z1^4 =3×(X1+Z1^2)×(X1−Z1^2) と変形できる。
As described above, the function T (i) is i
When = 0, it has a value in order from a small absolute value to a large value except for having a value of -3,
Since you can refer to the values in ascending order of absolute value,
An appropriate conversion elliptic curve can be selected in order from the conversion elliptic curve with a smaller amount of calculation. According to the above embodiment, the parameter a ′ of the transformed elliptic curve Et is used.
Is −3, Expression 18 is expressed as follows: M = 3 × X1 ^ 2 + a ′ × Z1 ^ 4 = 3 × X1 ^ 2-3 × Z1 ^ 4 = 3 × (X1 + Z1 ^ 2) × (X1−Z1 ^ 2 ) And can be transformed.

【0056】最後の式において、計算量は、1Mul+
1Sqとなる。従って、楕円曲線上の加算の計算量は、
12Mul+4Sqとなり、2倍算の計算量は、4Mu
l+4Sqとなる。このように、従来と比較すると2倍
算において、2Sq分の計算量が削減できることが分か
る。上記に述べたように、関数T(i)は、i=0のと
きに、−3の値を有しており、変換係数取得部220
は、i=0から始めて、iの値を1ずつ加算しながら、
関数T(i)の値を参照するので、最初に−3の値が参
照される。従って、2倍算において、従来との比較で2
Sq分の計算量が削減できる場合が、最初に検証される
ので、最も適切な変換楕円曲線を1回で検出できる可能
性がある。
In the last equation, the calculation amount is 1 Mul +
1Sq. Therefore, the computational complexity of the addition on the elliptic curve is
It becomes 12Mul + 4Sq, and the calculation amount of the doubling is 4Mu.
1 + 4Sq. As described above, it can be seen that the amount of calculation for 2Sq can be reduced in the doubling operation as compared with the related art. As described above, the function T (i) has a value of -3 when i = 0, and the function
Starts from i = 0 and adds the value of i one by one,
Since the value of the function T (i) is referred to, the value of -3 is referred first. Therefore, in the doubling operation, compared to the conventional case,
Since the case where the calculation amount for Sq can be reduced is verified first, there is a possibility that the most appropriate transformed elliptic curve can be detected at one time.

【0057】このため、本実施の形態に示す変換楕円曲
線を用いると、楕円曲線上の計算を高速化することがで
きる。 5.変形例 変換係数取得部220は、次のようにして、変換係数t
を決定してもよい。変換係数取得部220は、乱数発生
部を備えており、前記乱数発生部は、有限体GF(p)
上の元u(u≠0)をランダムに発生する。次に、変換
係数取得部220は、元uが、 (式31) −2^31+1≦u^4×a(mod p)≦2^31−1 を満たすかどうかを判定する。元uが式31を満たすと
判定された場合は、元uを変換係数tとして採用する。
元uが式31を満たさないと判定された場合は、再度、
前記乱数発生部は、ランダムに元uを発生し、変換係数
取得部220は、元uが、式31を満たすかどうかを判
定する。
Therefore, by using the transformed elliptic curve shown in the present embodiment, the calculation on the elliptic curve can be speeded up. 5. Modification The conversion coefficient acquisition unit 220 calculates the conversion coefficient t as follows.
May be determined. The conversion coefficient acquisition unit 220 includes a random number generation unit, and the random number generation unit includes a finite field GF (p)
The above element u (u ≠ 0) is randomly generated. Next, the conversion coefficient acquisition unit 220 determines whether or not the element u satisfies (Equation 31) −2 ^ 31 + 1 ≦ u ^ 4 × a (mod p) ≦ 2 ^ 31-1. When it is determined that the element u satisfies Equation 31, the element u is adopted as the conversion coefficient t.
If it is determined that the element u does not satisfy the expression 31, again,
The random number generation unit randomly generates an element u, and the transform coefficient acquisition unit 220 determines whether the element u satisfies Equation 31.

【0058】変換係数取得部220は、式31を満たす
元uが見つかるまで、前記乱数発生部による元uの発生
と式31を満たすかどうかの判定を繰り返す。また、変
換係数取得部220は、式31の代わりに、 (式32) u^4×a(mod p)=−3 を用いるとしてもよい。 6.楕円曲線変換装置200の適用例 上記に説明した楕円曲線変換装置200を適用する鍵共
有シテスムを図7に示すシーケンス図を用いて説明す
る。
The transform coefficient acquiring section 220 repeats the generation of the element u by the random number generation section and the determination of whether or not the element 31 satisfies the equation 31 until an element u satisfying the equation 31 is found. Further, the transform coefficient acquisition unit 220 may use (Expression 32) u ^ 4 × a (mod p) = − 3 instead of Expression 31. 6. Example of Application of Elliptic Curve Transformation Device 200 A key sharing system to which the above-described elliptic curve transformation device 200 is applied will be described with reference to a sequence diagram shown in FIG.

【0059】ユーザA450、管理センタ460及びユ
ーザB470は、ネットワークで接続されている。 (1)管理センタ460による楕円曲線の選択 管理センタ460は、素数pを選択し、有限体GF
(p)上の楕円曲線Eを選択し、Eのベースポイントを
Gとし、Eの位数をqとする(ステップS411)。つ
まり、qは、 (式2) q*G=0 を満たす最小の正整数である。
User A 450, management center 460, and user B 470 are connected via a network. (1) Selection of Elliptic Curve by Management Center 460 The management center 460 selects a prime number p and generates a finite field GF
(P) The upper elliptic curve E is selected, the base point of E is set to G, and the order of E is set to q (step S411). That is, q is the smallest positive integer that satisfies (Equation 2) q * G = 0.

【0060】ここで、E: y^2 = x^3 +a
×x+b であり、G=(x0,y0)である。次に、
管理センタ460は、p、E、Gを楕円曲線変換装置2
00へ送出する(ステップS412)。
Here, E: y ^ 2 = x ^ 3 + a
× x + b, and G = (x0, y0). next,
The management center 460 converts p, E, and G into the elliptic curve conversion device 2
00 (step S412).

【0061】(2)楕円曲線変換装置200による変換
楕円曲線の生成 楕円曲線変換装置200は、変換楕円曲線Etを算出
し、元Gtを算出する(ステップS421)。ここで、 Et:y’^2 = x’^3 +a’×x’+b’、 a’=a×t^4、 b’=b×t^6、 Gt=(xt0,yt0)、 xt0=t^2×x0、 yt0=t^3×y0である。
(2) Generation of a Converted Elliptic Curve by the Elliptic Curve Converter 200 The elliptic curve converter 200 calculates a converted elliptic curve Et and calculates an element Gt (step S421). Here, Et: y ′ ^ 2 = x ′ ^ 3 + a ′ × x ′ + b ′, a ′ = a × t ^ 4, b ′ = b × t ^ 6, Gt = (xt0, yt0), xt0 = t ^ 2 × x0, yt0 = t ^ 3 × y0.

【0062】次に、楕円曲線変換装置200は、Et、
Gtを管理センタ460へ送出する(ステップS42
2)。管理センタ460は、P、Et、Gtを各ユーザ
へ送出する(ステップS413)。 (3)ユーザによる秘密鍵の設定と公開鍵の生成 ユーザA450は、秘密鍵xAを設定し(ステップS4
01)、ユーザB470は、秘密鍵xBを設定する(ス
テップS431)。
Next, the elliptic curve conversion device 200 calculates Et,
Gt is sent to the management center 460 (step S42).
2). The management center 460 sends P, Et, and Gt to each user (step S413). (3) Setting of secret key and generation of public key by user User A450 sets secret key xA (step S4).
01), the user B470 sets the secret key xB (step S431).

【0063】ユーザA450は、次式により、公開鍵Y
Aを算出し(ステップS402)、公開鍵YAをユーザ
B470へ送出する(ステップS403)。 YA=xA*Gt また、ユーザB470は、次式により、公開鍵YBを算
出し(ステップS432)、公開鍵YBをユーザA45
0へ送出する(ステップS433)。
The user A 450 obtains the public key Y from the following equation.
A is calculated (step S402), and the public key YA is sent to the user B470 (step S403). YA = xA * Gt Further, the user B 470 calculates the public key YB by the following equation (step S432), and transfers the public key YB to the user A45.
0 (step S433).

【0064】YB=xB*Gt (4)各ユーザによる共有鍵の生成 ユーザA450は、共有鍵をxA*YBにより算出する
(ステップS404)。また、ユーザB470は、共有
鍵をxB*YAにより算出する(ステップS434)。
YB = xB * Gt (4) Generation of Shared Key by Each User The user A450 calculates a shared key using xA * YB (step S404). Further, the user B470 calculates the shared key by xB * YA (step S434).

【0065】ここで、ユーザA450により算出された
共有鍵xA*YBは、 xA*YB=(xA×xB)*Gt のように変形できる。また、ユーザB470により算出
された共有鍵xB*YAは、 のように変形できる。
Here, the shared key xA * YB calculated by the user A450 can be transformed as xA * YB = (xA × xB) * Gt. The shared key xB * YA calculated by the user B470 is Can be transformed as follows.

【0066】従って、ユーザA450により算出された
共有鍵xA*YBと、ユーザB470により算出された
共有鍵xB*YAとが同じものであることは、明らかで
ある。7.その他の変形例別の実施の形態の一つは、上
記により示される楕円曲線変換方法であるとしてもよ
い。前記楕円曲線変換方法をコンピュータに実行させる
楕円曲線変換プログラムを含むコンピュータ読み取り可
能な記録媒体としてもよい。さらに、前記楕円曲線変換
プログラムを通信回線を介して伝送するとしてもよい。
Therefore, it is clear that the shared key xA * YB calculated by the user A450 is the same as the shared key xB * YA calculated by the user B470. 7. Another embodiment of another modified example may be the elliptic curve conversion method described above. A computer-readable recording medium including an elliptic curve conversion program for causing a computer to execute the elliptic curve conversion method may be used. Further, the elliptic curve conversion program may be transmitted via a communication line.

【0067】また、上記に説明した楕円曲線変換装置
を、暗号装置、復号装置、又は暗号装置と復号装置とか
らなる暗号システムに適用してもよい。また、上記に説
明した楕円曲線変換装置を、デジタル署名装置、デジタ
ル署名検証装置、又はデジタル署名装置とデジタル署名
検証装置とからなるデジタル署名システムに適用しても
よい。
The above-described elliptic curve conversion device may be applied to an encryption device, a decryption device, or an encryption system including an encryption device and a decryption device. In addition, the above-described elliptic curve conversion device may be applied to a digital signature device, a digital signature verification device, or a digital signature system including a digital signature device and a digital signature verification device.

【0068】また、暗号装置、復号装置、デジタル署名
装置、デジタル署名検証装置、又は鍵共有装置は、楕円
曲線変換装置により算出された楕円曲線のパラメータ
a’、b’と元Gtとを予め記憶しており、記憶してい
る楕円曲線のパラメータa’、b’と元Gtとを用い
て、暗号、復号、デジタル署名、デジタル署名検証、又
は鍵共有を行うとしてもよい。
Further, the encryption device, the decryption device, the digital signature device, the digital signature verification device, or the key sharing device previously stores the parameters a ′ and b ′ of the elliptic curve calculated by the elliptic curve conversion device and the element Gt. The encryption, decryption, digital signature, digital signature verification, or key sharing may be performed using the stored parameters a ′ and b ′ of the elliptic curve and the element Gt.

【0069】また、上記に示す実施の形態及びその複数
の変形例を組み合わせてもよい。
Further, the above-described embodiment and a plurality of modifications thereof may be combined.

【0070】[0070]

【発明の効果】本発明は、1つの楕円曲線Eを変換して
他の1つの楕円曲線Etを生成する楕円曲線変換装置で
あって、外部から、素数pと、楕円曲線Eのパラメータ
a及びパラメータbと、ベースポンイトとしての元Gと
を受信する手段であって、楕円曲線Eは、有限体GF
(p)上で定義され、y^2=x^3+ax+bで表さ
れ、元Gは、楕円曲線E上に存在し、G=(x0,y
0)で表される受信手段と、有限体GF(p)上に存在
する変換係数tを取得する手段であって、変換係数t
は、t≠0であり、かつ、t^4×a (mod p)
は、素数pと比較して桁数が小さい、という条件を満た
す変換係数取得手段と、前記取得された変換係数tを用
いて、次式により、楕円曲線Etのパラメータa’及び
b’と、新たなベースポイント元Gtとを算出する手段
であって、a’=a×t^4、b’=b×t^6、xt
0=t^2×x0、yt0=t^3×y0、楕円曲線E
tは、有限体GF(p)上で定義され、y’^2 =
x’^3 +a’×x’+b’で表され、xt0、yt
0は、それぞれ元Gtのx座標値、y座標値である楕円
曲線算出手段と、前記算出されたパラメータa’及び
b’と、元Gtとを外部へ出力する出力手段とを備え
る。
The present invention relates to an elliptic curve conversion apparatus for converting one elliptic curve E to generate another elliptic curve Et. The apparatus comprises a prime number p, a parameter a and a Means for receiving a parameter b and an element G as a base point, wherein the elliptic curve E is a finite field GF
(P), represented by y ^ 2 = x ^ 3 + ax + b, the element G exists on the elliptic curve E, and G = (x0, y
0) and a means for acquiring a transform coefficient t existing on the finite field GF (p), wherein the transform coefficient t
Is t ≠ 0 and t ^ 4 × a (mod p)
Is a conversion coefficient obtaining unit that satisfies the condition that the number of digits is smaller than the prime number p, and using the obtained conversion coefficient t, the parameters a ′ and b ′ of the elliptic curve Et by the following equation: Means for calculating a new base point source Gt, wherein a ′ = a × t ^ 4, b ′ = b × t ^ 6, xt
0 = t ^ 2 × x0, yt0 = t ^ 3 × y0, elliptic curve E
t is defined on a finite field GF (p), and y ′ ^ 2 =
x ′ ^ 3 + a ′ × x ′ + b ′, xt0, yt
Numeral 0 includes an elliptic curve calculation unit that is an x coordinate value and a y coordinate value of the element Gt, and an output unit that outputs the calculated parameters a ′ and b ′ and the element Gt to the outside.

【0071】この構成によると、ランダムに構成された
楕円曲線と同じ安全性を有し、利用装置において高速な
演算を可能にする楕円曲線を提供することができ、その
実用的価値は非常に大きい。ここで、pは、160ビッ
トの素数であり、前記変換係数取得手段は、t^4×a
(mod p)が32ビット以下の数になる、という
条件を満たす変換係数tを取得するとしてもよい。
According to this configuration, it is possible to provide an elliptic curve having the same security as a randomly configured elliptic curve and enabling high-speed operation in a utilization device, and its practical value is very large. . Here, p is a 160-bit prime number, and the transform coefficient obtaining unit calculates t ^ 4 × a
A conversion coefficient t that satisfies the condition that (mod p) is a number of 32 bits or less may be obtained.

【0072】この楕円曲線変換装置により変換された楕
円曲線を利用装置において用いると、楕円曲線上の2倍
算において、変換前の楕円曲線のパラメータaが、16
0ビットに近い値を取る場合と比較して、1Mul分の
計算量が削減できることが分かる。ここで、前記変換係
数取得手段は、t^4×a (mod p)が−3とな
る、という条件を満たす変換係数tを取得するとしても
よい。
When the elliptic curve converted by the elliptic curve converter is used in the utilization device, the parameter a of the elliptic curve before conversion is 16 in the doubling on the elliptic curve.
It can be seen that the amount of calculation for 1 Mul can be reduced as compared with the case where a value close to 0 bit is taken. Here, the conversion coefficient acquisition unit may acquire the conversion coefficient t that satisfies the condition that t ^ 4 × a (mod p) becomes −3.

【0073】この楕円曲線変換装置により変換された楕
円曲線を利用装置において用いると、楕円曲線上の2倍
算において、従来と比較して、2Sq分の計算量が削減
できることが分かる。ここで、前記変換係数取得手段
は、変数Tとして、初期値を−3とし、初期値以外の値
については、桁数の小さい値から大きい値へ順に取るこ
とと、T=t^4×a (mod p)という条件を満
たすかどうかを判定することとを繰り返すことにより、
変換係数tを取得するとしてもよい。
When the elliptic curve converted by the elliptic curve conversion device is used in the utilization device, it can be seen that, in the doubling on the elliptic curve, the calculation amount for 2Sq can be reduced as compared with the conventional case. Here, the conversion coefficient acquisition means sets the initial value as −3 as the variable T, and takes values other than the initial value in order from the smaller number of digits to the larger value, T = t ^ 4 × a By repeatedly determining whether or not the condition (mod p) is satisfied,
The conversion coefficient t may be obtained.

【0074】この構成によると、関数T(i)は、i=
0のときに、−3の値を有しており、変換係数取得部2
20は、i=0から始めて、iの値を1ずつ加算しなが
ら、関数T(i)の値を参照するので、最初に−3の値
が参照される。従って、2倍算において、従来との比較
で2Sq分の計算量が削減できる場合が、最初に検証さ
れるので、最も適切な変換楕円曲線を1回で検出できる
可能性がある。また、関数T(i)は、i=0のとき
に、−3の値を有していることを除いて、絶対値の小さ
い値から大きい値へと順に値を有しており、絶対値の小
さい値から順に参照することができるので、より計算量
の少ない変換楕円曲線から順に、適切な変換楕円曲線を
選んでいくことができる。
According to this configuration, the function T (i) is obtained when i =
When it is 0, it has a value of -3, and the conversion coefficient acquisition unit 2
20 starts with i = 0 and refers to the value of the function T (i) while adding the value of i one by one, so the value of -3 is referred to first. Therefore, in the doubling operation, the case where the amount of calculation for 2Sq can be reduced compared to the conventional case is verified first, so that there is a possibility that the most appropriate transformed elliptic curve can be detected at one time. Also, the function T (i) has a value in order from a small absolute value to a large value, except that the function T (i) has a value of −3 when i = 0. Can be referred to in ascending order, so that an appropriate transformed elliptic curve can be selected in order from the transformed elliptic curve with a smaller amount of calculation.

【0075】また、本発明は、1つの楕円曲線Eを変換
して他の1つの楕円曲線Etを生成する楕円曲線変換装
置と、生成された楕円曲線Etを利用する利用装置とか
らなる楕円曲線利用システムであって、前記利用装置
は、第1出力手段と第1受信手段と利用手段とを備え、
前記楕円曲線変換装置は、第2受信手段と変換係数取得
手段と楕円曲線算出手段と第2出力手段とを備え、前記
第1出力手段は、素数pと、楕円曲線Eのパラメータa
及びパラメータbと、ベースポイントとしての元Gとを
前記楕円曲線変換装置へ出力し、ここで、楕円曲線E
は、有限体GF(p)上で定義され、y^2=x^3+
ax+bで表され、元Gは、楕円曲線E上に存在し、G
=(x0,y0)で表され、前記第2受信手段は、前記
利用装置から、素数pと、楕円曲線Eのパラメータa及
びパラメータbと、元Gとを受信し、前記変換係数取得
手段は、有限体GF(p)上に存在する変換係数tを取
得し、ここで、変換係数tは、t≠0であり、かつ、t
^4×a (mod p)は、素数pと比較して桁数が
小さい、という条件を満し、前記楕円曲線算出手段は、
前記取得された変換係数tを用いて、次式により、楕円
曲線Etのパラメータa’及びb’と、新たなベースポ
イントとしての元Gtとを算出し、a’=a×t^4、
b’=b×t^6、xt0=t^2×x0、yt0=t
^3×y0、ここで、楕円曲線Etは、有限体GF
(p)上で定義され、y’^2 = x’^3+a’×
x’+b’で表され、xt0、yt0は、それぞれ元G
tのx座標値、y座標値であり、前記第2出力手段は、
前記算出されたパラメータa’及びb’と、元Gtとを
前記利用装置へ出力し、前記第1受信手段は、前記出力
されたパラメータa’及びb’と、元Gtとを受信し、
前記利用手段は、素数pと、前記受信したパラメータ
a’及びb’とで定まる楕円曲線と、ベースポイントと
しての元Gtとを用いて、有限体GF(p)上で定義さ
れる楕円曲線上での演算に基づき、離散対数問題を安全
性の根拠とする暗号、復号、デジタル署名、デジタル署
名検証又は鍵共有を行う。
Also, the present invention provides an elliptic curve conversion device that converts one elliptic curve E to generate another elliptic curve Et, and a utilization device that uses the generated elliptic curve Et. A utilization system, wherein the utilization device includes a first output unit, a first reception unit, and a utilization unit;
The elliptic curve conversion device includes a second receiving unit, a conversion coefficient obtaining unit, an elliptic curve calculation unit, and a second output unit, wherein the first output unit includes a prime number p and a parameter a of the elliptic curve E.
And the parameter b and the element G as a base point are output to the elliptic curve converter, where the elliptic curve E
Is defined on a finite field GF (p), and y ^ 2 = x ^ 3 +
ax + b, the element G exists on the elliptic curve E, and G
= (X0, y0), the second receiving means receives the prime number p, the parameters a and b of the elliptic curve E, and the element G from the utilization device, and the transform coefficient obtaining means , Obtain the transform coefficient t existing on the finite field GF (p), where the transform coefficient t is t ≠ 0 and t
^ 4 × a (mod p) satisfies the condition that the number of digits is smaller than that of the prime number p.
Using the obtained transform coefficient t, the parameters a ′ and b ′ of the elliptic curve Et and the element Gt as a new base point are calculated by the following equation, and a ′ = a × t ^ 4,
b ′ = b × t ^ 6, xt0 = t ^ 2 × x0, yt0 = t
^ 3 × y0, where the elliptic curve Et is a finite field GF
(P), defined as above, y ′ ^ 2 = x ′ ^ 3 + a ′ ×
xt + b ′, where xt0 and yt0 are elements G
t is the x-coordinate value and y-coordinate value, and the second output means is
The calculated parameters a ′ and b ′ and the original Gt are output to the use device, and the first receiving unit receives the output parameters a ′ and b ′ and the original Gt,
The use means uses an elliptic curve defined by the prime number p, the received parameters a ′ and b ′, and an element Gt as a base point to calculate an elliptic curve defined on a finite field GF (p). Performs encryption, decryption, digital signature, digital signature verification or key sharing based on the discrete logarithm problem as a basis for security.

【0076】この構成によると、ランダムに構成された
楕円曲線と同じ安全性を有し、高速な演算を可能にする
楕円曲線を利用することができ、その実用的価値は非常
に大きい。ここで、pは、160ビットの素数であり、
前記変換係数取得手段は、t^4×a (mod p)
が32ビット以下の数になる、という条件を満たす変換
係数tを取得するとしてもよい。
According to this configuration, an elliptic curve having the same security as a randomly configured elliptic curve and enabling high-speed calculation can be used, and its practical value is very large. Here, p is a 160-bit prime number,
The conversion coefficient acquiring means is t ^ 4 × a (mod p)
May be obtained as a conversion coefficient t that satisfies the condition that is less than or equal to 32 bits.

【0077】この構成によると、変換された楕円曲線を
用いるので、楕円曲線上の2倍算において、変換前の楕
円曲線のパラメータaが、160ビットに近い値を取る
場合と比較して、1Mul分の計算量が削減できること
が分かる。ここで、前記変換係数取得手段は、t^4×
a (mod p)が−3となる、という条件を満たす
変換係数tを取得するとしてもよい。
According to this configuration, since the converted elliptic curve is used, in the doubling on the elliptic curve, the parameter a of the elliptic curve before the conversion takes 1 Mul compared with the case where the parameter a of the elliptic curve takes a value close to 160 bits. It can be seen that the amount of calculation for each minute can be reduced. Here, the conversion coefficient acquiring means is t ^ 4 ×
A conversion coefficient t that satisfies the condition that a (mod p) becomes −3 may be obtained.

【0078】この構成によると、変換された楕円曲線を
用いるので、楕円曲線上の2倍算において、従来と比較
して、2Sq分の計算量が削減できることが分かる。こ
こで、前記変換係数取得手段は、変数Tとして、初期値
を−3とし、初期値以外の値については、桁数の小さい
値から大きい値へ順に取ることと、T=t^4×a
(mod p)という条件を満たすかどうかを判定する
こととを繰り返すことにより、変換係数tを取得すると
してもよい。
According to this configuration, since the transformed elliptic curve is used, it can be seen that the calculation amount for 2Sq can be reduced in the doubling on the elliptic curve as compared with the conventional case. Here, the conversion coefficient acquisition means sets the initial value as −3 as the variable T, and takes values other than the initial value in order from the smaller number of digits to the larger value, T = t ^ 4 × a
The determination of whether or not the condition (mod p) is satisfied may be repeated to obtain the conversion coefficient t.

【0079】この構成によると、関数T(i)は、i=
0のときに、−3の値を有しており、変換係数取得部2
20は、i=0から始めて、iの値を1ずつ加算しなが
ら、関数T(i)の値を参照するので、最初に−3の値
が参照される。従って、2倍算において、従来との比較
で2Sq分の計算量が削減できる場合が、最初に検証さ
れるので、最も適切な変換楕円曲線を1回で検出できる
可能性がある。また、関数T(i)は、i=0のとき
に、−3の値を有していることを除いて、絶対値の小さ
い値から大きい値へと順に値を有しており、絶対値の小
さい値から順に参照することができるので、より計算量
の少ない変換楕円曲線から順に、適切な変換楕円曲線を
選んでいくことができる。
According to this configuration, the function T (i) is obtained when i =
When it is 0, it has a value of -3, and the conversion coefficient acquisition unit 2
20 starts with i = 0 and refers to the value of the function T (i) while adding the value of i one by one, so the value of -3 is referred to first. Therefore, in the doubling operation, the case where the amount of calculation for 2Sq can be reduced compared to the conventional case is verified first, so that there is a possibility that the most appropriate transformed elliptic curve can be detected at one time. Also, the function T (i) has a value in order from a small absolute value to a large value, except that the function T (i) has a value of −3 when i = 0. Can be referred to in ascending order, so that an appropriate transformed elliptic curve can be selected in order from the transformed elliptic curve with a smaller amount of calculation.

【0080】また、本発明は、第2受信手段と変換係数
取得手段と楕円曲線算出手段と第2出力手段とを備え、
1つの楕円曲線Eを変換して他の1つの楕円曲線Etを
生成する楕円曲線変換装置から、前記生成された楕円曲
線Etを受信して利用する利用装置であって、前記利用
装置は、第1出力手段と第1受信手段と利用手段とを備
え、前記第1出力手段は、素数pと、楕円曲線Eのパラ
メータa及びパラメータbと、ベースポイントとしての
元Gとを前記楕円曲線変換装置へ出力し、ここで、楕円
曲線Eは、有限体GF(p)上で定義され、y^2=x
^3+ax+bで表され、元Gは、楕円曲線E上に存在
し、G=(x0,y0)で表され、前記第2受信手段
は、前記利用装置から、素数pと、楕円曲線Eのパラメ
ータa及びパラメータbと、元Gとを受信し、前記変換
係数取得手段は、有限体GF(p)上に存在する変換係
数tを取得し、ここで、変換係数tは、t≠0であり、
かつ、t^4×a (mod p)は、素数pと比較し
て桁数が小さい、という条件を満し、前記楕円曲線算出
手段は、前記取得された変換係数tを用いて、次式によ
り、楕円曲線Etのパラメータa’及びb’と、元Gt
とを算出し、a’=a×t^4、b’=b×t^6、x
t0=t^2×x0、yt0=t^3×y0、ここで、
楕円曲線Etは、有限体GF(p)上で定義され、y’
^2 = x’^3 +a’×x’+b’で表され、x
t0、yt0は、それぞれ元Gtのx座標値、y座標値
であり、前記第2出力手段は、前記算出されたパラメー
タa’及びb’と、元Gtとを前記利用装置へ出力し、
前記第1受信手段は、前記出力されたパラメータa’及
びb’と、元Gtとを受信し、前記利用手段は、素数p
と、前記受信したパラメータa’及びb’とで定まる楕
円曲線と、ベースポンイトとしての元Gtとを用いて、
有限体GF(p)上で定義される楕円曲線上での演算に
基づき、離散対数問題を安全性の根拠とする暗号、復
号、デジタル署名、デジタル署名検証又は鍵共有を行
う。
Further, the present invention comprises a second receiving means, a transform coefficient obtaining means, an elliptic curve calculating means, and a second output means,
A usage device that receives and uses the generated elliptic curve Et from an elliptic curve conversion device that converts one elliptic curve E to generate another elliptic curve Et, wherein the usage device includes a 1 output means, first receiving means, and utilization means, wherein the first output means converts the prime number p, the parameters a and b of the elliptic curve E, and the element G as a base point into the elliptic curve conversion device. Where the elliptic curve E is defined on a finite field GF (p) and y ^ 2 = x
元 3 + ax + b, the element G exists on the elliptic curve E, and is represented by G = (x0, y0), and the second receiving unit sends a prime number p and a parameter of the elliptic curve E from the utilization device. a and the parameter b and the element G are received, and the transform coefficient acquiring means acquires a transform coefficient t existing on the finite field GF (p), where the transform coefficient t is t ≠ 0. ,
In addition, t ^ 4 × a (mod p) satisfies the condition that the number of digits is smaller than that of the prime number p, and the elliptic curve calculation means uses the obtained conversion coefficient t to obtain the following equation: , The parameters a ′ and b ′ of the elliptic curve Et and the element Gt
A ′ = a × t ^ 4, b ′ = b × t ^ 6, x
t0 = t ^ 2 × x0, yt0 = t ^ 3 × y0, where
The elliptic curve Et is defined on a finite field GF (p), and y ′
^ 2 = x ′ ^ 3 + a ′ × x ′ + b ′, x
t0 and yt0 are the x coordinate value and the y coordinate value of the element Gt, respectively, and the second output means outputs the calculated parameters a ′ and b ′ and the element Gt to the use device,
The first receiving unit receives the output parameters a ′ and b ′ and the element Gt, and the using unit generates a prime p
And an elliptic curve defined by the received parameters a ′ and b ′ and an element Gt as a base point,
Based on an operation on an elliptic curve defined on a finite field GF (p), encryption, decryption, digital signature, digital signature verification, or key agreement based on the discrete logarithm problem is performed.

【0081】この構成によると、ランダムに構成された
楕円曲線と同じ安全性を有し、高速な演算を可能にする
楕円曲線を利用することができ、その実用的価値は非常
に大きい。また、本発明は、1つの楕円曲線Eを変換し
て生成された楕円曲線Etを利用する利用装置であっ
て、前記利用装置は、楕円曲線Etのパラメータa’及
びb’と、ベースポイントとしての元Gtとを記憶して
いる記憶手段と、pと、前記記憶しているパラメータ
a’及びb’とで定まる楕円曲線と、ベースポイントと
しての元Gtとを用いて、有限体GF(p)上で定義さ
れる楕円曲線上での演算に基づき、離散対数問題を安全
性の根拠とする暗号、復号、デジタル署名、デジタル署
名検証又は鍵共有を行う利用手段とを備え、ここで、パ
ラメータa’及びb’と、元Gtとは楕円曲線変換装置
により生成され、前記楕円曲線変換装置は、変換係数取
得手段、楕円曲線算出手段を備え、pは素数であり、楕
円曲線Eは、有限体GF(p)上で定義され、y^2=
x^3+ax+bで表され、ベースポンイトとしての元
Gが、楕円曲線E上に存在し、G=(x0,y0)で表
され、前記変換係数取得手段は、有限体GF(p)上に
存在する変換係数tを取得し、ここで、変換係数tは、
t≠0であり、かつ、t^4×a (mod p)は、
素数pと比較して桁数が小さい、という条件を満し、前
記楕円曲線算出手段は、前記取得された変換係数tを用
いて、次式により、楕円曲線Etのパラメータa’及び
b’と、新たなベースポイントとしての元Gtとを算出
し、a’=a×t^4、b’=b×t^6、xt0=t
^2×x0、yt0=t^3×y0、ここで、楕円曲線
Etは、有限体GF(p)上で定義され、y’^2 =
x’^3 +a’×x’+b’で表され、xt0、y
t0は、それぞれ元Gtのx座標値、y座標値である。
According to this configuration, an elliptic curve having the same security as a randomly configured elliptic curve and enabling high-speed calculation can be used, and its practical value is very large. In addition, the present invention is a use device that uses an elliptic curve Et generated by converting one elliptic curve E, wherein the use device includes parameters a ′ and b ′ of the elliptic curve Et and a base point. Finite element GF (p) using storage means for storing an element Gt of, an elliptic curve defined by the stored parameters a ′ and b ′, and an element Gt as a base point. And means for performing encryption, decryption, digital signature, digital signature verification or key agreement based on the discrete logarithm problem based on the operation on the elliptic curve defined above. a ′ and b ′ and the element Gt are generated by an elliptic curve conversion device, the elliptic curve conversion device includes a conversion coefficient acquisition unit and an elliptic curve calculation unit, p is a prime number, and the elliptic curve E is a finite Defined on the field GF (p) , Y ^ 2 =
x ^ 3 + ax + b, an element G as a base point exists on the elliptic curve E, G = (x0, y0), and the transform coefficient obtaining means exists on a finite field GF (p). To obtain a conversion coefficient t, where
t ≠ 0 and t ^ 4 × a (mod p)
The elliptic curve calculation unit satisfies the condition that the number of digits is smaller than the prime number p, and the elliptic curve calculation unit uses the acquired conversion coefficient t to calculate the parameters a ′ and b ′ of the elliptic curve Et according to the following equation. , An element Gt as a new base point, and a ′ = a × t ^ 4, b ′ = b × t × 6, xt0 = t
^ 2 × x0, yt0 = t ^ 3 × y0, where the elliptic curve Et is defined on a finite field GF (p), and y ′ ^ 2 =
x ′ ^ 3 + a ′ × x ′ + b ′, xt0, y
t0 is the x coordinate value and the y coordinate value of the original Gt, respectively.

【0082】この構成によると、ランダムに構成された
楕円曲線と同じ安全性を有し、高速な演算を可能にする
楕円曲線を利用することができ、その実用的価値は非常
に大きい。また、本発明は、1つの楕円曲線Eを変換し
て他の1つの楕円曲線Etを生成する楕円曲線変換方法
であって、外部から、素数pと、楕円曲線Eのパラメー
タa及びパラメータbと、ベースポンイトとしての元G
とを受信するステップであって、楕円曲線Eは、有限体
GF(p)上で定義され、y^2=x^3+ax+bで
表され、元Gは、楕円曲線E上に存在し、G=(x0,
y0)で表される受信ステップと、有限体GF(p)上
に存在する変換係数tを取得するステップであって、変
換係数tは、t≠0であり、かつ、t^4×a (mo
d p)は、素数pと比較して桁数が小さい、という条
件を満たす変換係数算出ステップと、前記取得された変
換係数tを用いて、次式により、楕円曲線Etのパラメ
ータa’及びb’と、新たなベースポイントとしての元
Gtとを算出するステップであって、a’=a×t^
4、b’=b×t^6、xt0=t^2×x0、yt0
=t^3×y0、楕円曲線Etは、有限体GF(p)上
で定義され、y’^2 =x’^3 +a’×x’+
b’で表され、xt0、yt0は、それぞれ元Gtのx
座標値、y座標値である楕円曲線算出ステップと、前記
算出されたパラメータa’及びb’と、元Gtとを外部
へ出力する出力ステップとを含む。
According to this configuration, an elliptic curve having the same security as a randomly configured elliptic curve and enabling high-speed calculation can be used, and its practical value is very large. The present invention also relates to an elliptic curve conversion method for converting one elliptic curve E to generate another elliptic curve Et. The method comprises the steps of: providing a prime number p, and parameters a and b of the elliptic curve E from the outside. , Ex-G as base ponto
Where the elliptic curve E is defined on the finite field GF (p) and is represented by y ^ 2 = x ^ 3 + ax + b, the element G exists on the elliptic curve E, and G = (X0,
y0) and a step of acquiring a transform coefficient t existing on the finite field GF (p), where the transform coefficient t is t ≠ 0 and t ^ 4 × a ( mo
d p) is calculated by the following equation using the conversion coefficient calculation step satisfying the condition that the number of digits is smaller than the prime number p, and the obtained conversion coefficient t. And an element Gt as a new base point, wherein a ′ = a × t ^
4, b ′ = b × t ^ 6, xt0 = t ^ 2 × x0, yt0
= T ^ 3 × y0, the elliptic curve Et is defined on a finite field GF (p), and y ′ ^ 2 = x ′ ^ 3 + a ′ × x ′ +
b ′, xt0 and yt0 are respectively x of the original Gt
An elliptic curve calculation step of coordinate values and y-coordinate values; and an output step of outputting the calculated parameters a ′ and b ′ and the element Gt to the outside.

【0083】この方法を用いると、ランダムに構成され
た楕円曲線と同じ安全性を有し、利用装置において高速
な演算を可能にする楕円曲線を生成することができ、そ
の実用的価値は非常に大きい。また、本発明は、1つの
楕円曲線Eを変換して他の1つの楕円曲線Etを生成す
る楕円曲線変換プログラムを記録しているコンピュータ
読み取り可能な記録媒体であって、前記プログラムは、
外部から、素数pと、楕円曲線Eのパラメータa及びパ
ラメータbと、ベースポイントとしての元Gとを受信す
るステップであって、楕円曲線Eは、有限体GF(p)
上で定義され、y^2=x^3+ax+bで表され、元
Gは、楕円曲線E上に存在し、G=(x0,y0)で表
される受信ステップと、有限体GF(p)上に存在する
変換係数tを取得するステップであって、変換係数t
は、t≠0であり、かつ、t^4×a (mod p)
は、素数pと比較して桁数が小さい、という条件を満た
す変換係数算出ステップと、前記取得された変換係数t
を用いて、次式により、楕円曲線Etのパラメータa’
及びb’と、新たなベースポイントとしての元Gtとを
算出するステップであって、a’=a×t^4、b’=
b×t^6、xt0=t^2×x0、yt0=t^3×
y0、楕円曲線Etは、有限体GF(p)上で定義さ
れ、y’^2 =x’^3 +a’×x’+b’で表さ
れ、xt0、yt0は、それぞれ元Gtのx座標値、y
座標値である楕円曲線算出ステップと、前記算出された
パラメータa’及びb’と、元Gtとを外部へ出力する
出力ステップとを含む。
Using this method, it is possible to generate an elliptic curve having the same security as a randomly configured elliptic curve and enabling a high-speed operation in a utilization device, and its practical value is extremely high. large. Further, the present invention is a computer-readable recording medium which stores an elliptic curve conversion program for converting one elliptic curve E to generate another elliptic curve Et, wherein the program comprises:
Externally receiving a prime number p, parameters a and b of the elliptic curve E, and an element G as a base point, wherein the elliptic curve E is a finite field GF (p)
Defined above, represented by y ^ 2 = x ^ 3 + ax + b, the element G exists on the elliptic curve E, a receiving step represented by G = (x0, y0), and a finite field GF (p) Obtaining a conversion coefficient t existing in the conversion coefficient t
Is t ≠ 0 and t ^ 4 × a (mod p)
Is a conversion coefficient calculating step that satisfies the condition that the number of digits is smaller than the prime number p, and the obtained conversion coefficient t
And the parameter a ′ of the elliptic curve Et by the following equation:
And b ′ and an element Gt as a new base point, wherein a ′ = a × t ^ 4, b ′ =
b × t ^ 6, xt0 = t ^ 2 × x0, yt0 = t ^ 3 ×
y0 and the elliptic curve Et are defined on a finite field GF (p) and are represented by y ′ ^ 2 = x ′ ^ 3 + a ′ × x ′ + b ′, where xt0 and yt0 are x coordinate values of the original Gt, respectively. , Y
An elliptic curve calculation step as a coordinate value, and an output step of outputting the calculated parameters a ′ and b ′ and the element Gt to the outside are included.

【0084】この媒体に記録されているプログラムをコ
ンピュータで実行することにより、ランダムに構成され
た楕円曲線と同じ安全性を有し、利用装置において高速
な演算を可能にする楕円曲線を生成することができ、そ
の実用的価値は非常に大きい。
By executing a program recorded on this medium by a computer, an elliptic curve which has the same security as a randomly constructed elliptic curve and enables high-speed operation in a utilization apparatus is generated. And its practical value is very large.

【図面の簡単な説明】[Brief description of the drawings]

【図1】エルガマル署名によるデジタル署名方式の手順
を示すシーケンス図である。
FIG. 1 is a sequence diagram showing a procedure of a digital signature scheme using an ElGamal signature.

【図2】本発明に係る1つの実施の形態としての楕円曲
線変換装置のブロック図である。
FIG. 2 is a block diagram of an elliptic curve conversion device as one embodiment according to the present invention.

【図3】図2に示す楕円曲線変換装置で用いられる関数
T(i)を説明する表である。
FIG. 3 is a table illustrating a function T (i) used in the elliptic curve conversion device shown in FIG. 2;

【図4】図2に示す楕円曲線変換装置の動作を示すフロ
ーチャートである。
4 is a flowchart showing the operation of the elliptic curve conversion device shown in FIG.

【図5】図2に示す楕円曲線変換装置の変換係数取得部
の動作を示すフローチャートである。
FIG. 5 is a flowchart showing an operation of a conversion coefficient acquisition unit of the elliptic curve conversion device shown in FIG.

【図6】図2に示す楕円曲線変換装置の変換楕円曲線算
出部の動作を示すフローチャートである。
6 is a flowchart showing the operation of a conversion elliptic curve calculation unit of the elliptic curve conversion device shown in FIG.

【図7】図2に示す楕円曲線変換装置を適用する鍵共有
システムの動作手順を示すシーケンス図である。
7 is a sequence diagram showing an operation procedure of a key sharing system to which the elliptic curve conversion device shown in FIG. 2 is applied.

【符号の説明】[Explanation of symbols]

200 楕円曲線変換装置 210 パラメータ受信部 220 変換係数取得部 230 変換楕円曲線算出部 240 パラメータ送出部 Reference Signs List 200 Elliptic curve conversion device 210 Parameter reception unit 220 Conversion coefficient acquisition unit 230 Conversion elliptic curve calculation unit 240 Parameter transmission unit

Claims (12)

【特許請求の範囲】[Claims] 【請求項1】 1つの楕円曲線Eを変換して他の1つの
楕円曲線Etを生成する楕円曲線変換装置であって、 外部から、素数pと、楕円曲線Eのパラメータa及びパ
ラメータbと、ベースポンイトとしての元Gとを受信す
る手段であって、楕円曲線Eは、有限体GF(p)上で
定義され、y^2=x^3+ax+bで表され、元G
は、楕円曲線E上に存在し、G=(x0,y0)で表さ
れる受信手段と、 有限体GF(p)上に存在する変換係数tを取得する手
段であって、変換係数tは、t≠0であり、かつ、t^
4×a (mod p)は、素数pと比較して桁数が小
さい、という条件を満たす変換係数取得手段と、 前記取得された変換係数tを用いて、次式により、楕円
曲線Etのパラメータa’及びb’と、新たなベースポ
イント元Gtとを算出する手段であって、 a’=a×t^4、 b’=b×t^6、 xt0=t^2×x0、 yt0=t^3×y0、 楕円曲線Etは、有限体GF(p)上で定義され、y’
^2 = x’^3 +a’×x’+b’で表され、x
t0、yt0は、それぞれ元Gtのx座標値、y座標値
である楕円曲線算出手段と、 前記算出されたパラメータa’及びb’と、元Gtとを
外部へ出力する出力手段とを備えることを特徴とする楕
円曲線変換装置。
1. An elliptic curve conversion device for converting one elliptic curve E to generate another elliptic curve Et, comprising: a prime number p; a parameter a and a parameter b of the elliptic curve E; A means for receiving an element G as a base point, wherein an elliptic curve E is defined on a finite field GF (p), represented by y ^ 2 = x ^ 3 + ax + b, and the element G
Is a receiving means that exists on the elliptic curve E and is represented by G = (x0, y0), and a means for acquiring the transform coefficient t that exists on the finite field GF (p), and the transform coefficient t is , T ≠ 0, and t ^
4 × a (mod p) is a conversion coefficient acquisition unit that satisfies the condition that the number of digits is smaller than the prime number p. Using the acquired conversion coefficient t, the parameter of the elliptic curve Et is calculated by the following equation. means for calculating a ′ and b ′ and a new base point source Gt, wherein a ′ = a × t ^ 4, b ′ = b × t ^ 6, xt0 = t ^ 2 × x0, yt0 = t ^ 3 × y0, the elliptic curve Et is defined on a finite field GF (p), and y ′
^ 2 = x ′ ^ 3 + a ′ × x ′ + b ′, x
t0 and yt0 are provided with an elliptic curve calculation unit that is an x coordinate value and a y coordinate value of the element Gt, respectively, and an output unit that outputs the calculated parameters a ′ and b ′ and the element Gt to the outside. An elliptic curve conversion device characterized by the above-mentioned.
【請求項2】 pは、160ビットの素数であり、 前記変換係数取得手段は、t^4×a (mod p)
が32ビット以下の数になる、という条件を満たす変換
係数tを取得することを特徴とする請求項1記載の楕円
曲線変換装置。
2. p is a 160-bit prime number, and said transform coefficient obtaining means is t ^ 4 × a (mod p)
2. The elliptic curve conversion device according to claim 1, wherein a conversion coefficient t that satisfies a condition that is smaller than or equal to 32 bits is obtained.
【請求項3】 前記変換係数取得手段は、t^4×a
(mod p)が−3となる、という条件を満たす変換
係数tを取得することを特徴とする請求項1記載の楕円
曲線変換装置。
3. The method according to claim 2, wherein the conversion coefficient acquiring unit is configured to be t ^ 4 × a.
2. The elliptic curve conversion device according to claim 1, wherein a conversion coefficient t that satisfies a condition that (mod p) is -3 is obtained.
【請求項4】 前記変換係数取得手段は、変数Tとし
て、初期値を−3とし、初期値以外の値については、桁
数の小さい値から大きい値へ順に取ることと、 T=t^4×a (mod p) という条件を満たすかどうかを判定することとを繰り返
すことにより、変換係数tを取得することを特徴とする
請求項1記載の楕円曲線変換装置。
4. The transform coefficient obtaining means sets an initial value to -3 as a variable T, and takes values other than the initial value in order from a smaller number of digits to a larger value, T = t ^ 4 The elliptic curve conversion device according to claim 1, wherein the conversion coefficient t is obtained by repeating determination of whether or not a condition of × a (mod p) is satisfied.
【請求項5】 1つの楕円曲線Eを変換して他の1つの
楕円曲線Etを生成する楕円曲線変換装置と、生成され
た楕円曲線Etを利用する利用装置とからなる楕円曲線
利用システムであって、 前記利用装置は、第1出力手段と第1受信手段と利用手
段とを備え、前記楕円曲線変換装置は、第2受信手段と
変換係数取得手段と楕円曲線算出手段と第2出力手段と
を備え、 前記第1出力手段は、素数pと、楕円曲線Eのパラメー
タa及びパラメータbと、ベースポイントとしての元G
とを前記楕円曲線変換装置へ出力し、 ここで、楕円曲線Eは、有限体GF(p)上で定義さ
れ、 y^2=x^3+ax+bで表され、 元Gは、楕円曲線E上に存在し、G=(x0,y0)で
表され、 前記第2受信手段は、前記利用装置から、素数pと、楕
円曲線Eのパラメータa及びパラメータbと、元Gとを
受信し、 前記変換係数取得手段は、有限体GF(p)上に存在す
る変換係数tを取得し、 ここで、変換係数tは、t≠0であり、かつ、t^4×
a (mod p)は、素数pと比較して桁数が小さ
い、という条件を満し、 前記楕円曲線算出手段は、前記取得された変換係数tを
用いて、次式により、楕円曲線Etのパラメータa’及
びb’と、新たなベースポイントとしての元Gtとを算
出し、 a’=a×t^4、 b’=b×t^6、 xt0=t^2×x0、 yt0=t^3×y0、 ここで、楕円曲線Etは、有限体GF(p)上で定義さ
れ、 y’^2 = x’^3 +a’×x’+b’で表さ
れ、 xt0、yt0は、それぞれ元Gtのx座標値、y座標
値であり、 前記第2出力手段は、前記算出されたパラメータa’及
びb’と、元Gtとを前記利用装置へ出力し、 前記第1受信手段は、前記出力されたパラメータa’及
びb’と、元Gtとを受信し、 前記利用手段は、素数pと、前記受信したパラメータ
a’及びb’とで定まる楕円曲線と、ベースポイントと
しての元Gtとを用いて、有限体GF(p)上で定義さ
れる楕円曲線上での演算に基づき、離散対数問題を安全
性の根拠とする暗号、復号、デジタル署名、デジタル署
名検証又は鍵共有を行うことを特徴とする楕円曲線利用
システム。
5. An elliptic curve utilization system comprising: an elliptic curve conversion device that converts one elliptic curve E to generate another elliptic curve Et; and a utilization device that uses the generated elliptic curve Et. The utilization device includes a first output unit, a first reception unit, and a utilization unit, and the elliptic curve conversion device includes a second reception unit, a conversion coefficient acquisition unit, an elliptic curve calculation unit, a second output unit, The first output means includes a prime number p, a parameter a and a parameter b of the elliptic curve E, and an element G as a base point.
Is output to the elliptic curve conversion device, where the elliptic curve E is defined on a finite field GF (p), represented by y ^ 2 = x ^ 3 + ax + b. Exists and is represented by G = (x0, y0), wherein the second receiving means receives a prime number p, a parameter a and a parameter b of an elliptic curve E, and an element G from the use device; The coefficient obtaining means obtains a conversion coefficient t existing on the finite field GF (p), where the conversion coefficient t is t ≠ 0 and t ^ 4 ×
a (mod p) satisfies the condition that the number of digits is smaller than the prime number p, and the elliptic curve calculation means uses the obtained conversion coefficient t to calculate the elliptic curve Et by the following equation: Calculate parameters a ′ and b ′ and an element Gt as a new base point, a ′ = a × t ^ 4, b ′ = b × t ^ 6, xt0 = t ^ 2 × x0, yt0 = t ^ 3 × y0, where the elliptic curve Et is defined on a finite field GF (p) and is represented by y ′ ^ 2 = x ′ ^ 3 + a ′ × x ′ + b ′. Xt0 and yt0 are respectively The x-coordinate value and the y-coordinate value of the element Gt, the second output means outputs the calculated parameters a ′ and b ′ and the element Gt to the use device, and the first receiving means Receiving the output parameters a ′ and b ′ and the element Gt, the use unit outputs a prime p and the received parameter Using the elliptic curve defined by the parameters a ′ and b ′ and the element Gt as a base point, the discrete logarithm problem is security based on an operation on the elliptic curve defined on the finite field GF (p). An elliptic curve utilization system characterized by performing encryption, decryption, digital signature, digital signature verification, or key sharing based on the above.
【請求項6】 pは、160ビットの素数であり、 前記変換係数取得手段は、t^4×a (mod p)
が32ビット以下の数になる、という条件を満たす変換
係数tを取得することを特徴とする請求項5記載の楕円
曲線利用システム。
6. p is a 160-bit prime number, and the transform coefficient obtaining means is t ^ 4 × a (mod p).
The elliptic curve utilization system according to claim 5, wherein a conversion coefficient t that satisfies a condition that が is a number of 32 bits or less is obtained.
【請求項7】 前記変換係数取得手段は、t^4×a
(mod p)が−3となる、という条件を満たす変換
係数tを取得することを特徴とする請求項5記載の楕円
曲線利用システム。
7. The method according to claim 1, wherein the conversion coefficient acquiring means is t ^ 4 × a
The elliptic curve utilization system according to claim 5, wherein a conversion coefficient t that satisfies a condition that (mod p) is -3 is acquired.
【請求項8】 前記変換係数取得手段は、変数Tとし
て、初期値を−3とし、初期値以外の値については、桁
数の小さい値から大きい値へ順に取ることと、 T=t^4×a (mod p) という条件を満たすかどうかを判定することとを繰り返
すことにより、変換係数tを取得することを特徴とする
請求項5記載の楕円曲線利用システム。
8. The transform coefficient obtaining means sets an initial value as -3 as a variable T, and takes values other than the initial value in order from a smaller number of digits to a larger value, T = t ^ 4 The elliptic curve utilization system according to claim 5, wherein the conversion coefficient t is obtained by repeatedly determining whether or not the condition of xa (mod p) is satisfied.
【請求項9】 第2受信手段と変換係数取得手段と楕円
曲線算出手段と第2出力手段とを備え、1つの楕円曲線
Eを変換して他の1つの楕円曲線Etを生成する楕円曲
線変換装置から、前記生成された楕円曲線Etを受信し
て利用する利用装置であって、 前記利用装置は、第1出力手段と第1受信手段と利用手
段とを備え、 前記第1出力手段は、素数pと、楕円曲線Eのパラメー
タa及びパラメータbと、ベースポイントとしての元G
とを前記楕円曲線変換装置へ出力し、 ここで、楕円曲線Eは、有限体GF(p)上で定義さ
れ、 y^2=x^3+ax+bで表され、 元Gは、楕円曲線E上に存在し、G=(x0,y0)で
表され、 前記第2受信手段は、前記利用装置から、素数pと、楕
円曲線Eのパラメータa及びパラメータbと、元Gとを
受信し、 前記変換係数取得手段は、有限体GF(p)上に存在す
る変換係数tを取得し、 ここで、変換係数tは、t≠0であり、かつ、t^4×
a (mod p)は、素数pと比較して桁数が小さ
い、という条件を満し、 前記楕円曲線算出手段は、前記取得された変換係数tを
用いて、次式により、楕円曲線Etのパラメータa’及
びb’と、元Gtとを算出し、 a’=a×t^4、 b’=b×t^6、 xt0=t^2×x0、 yt0=t^3×y0、 ここで、楕円曲線Etは、有限体GF(p)上で定義さ
れ、 y’^2 = x’^3 +a’×x’+b’で表さ
れ、 xt0、yt0は、それぞれ元Gtのx座標値、y座標
値であり、 前記第2出力手段は、前記算出されたパラメータa’及
びb’と、元Gtとを前記利用装置へ出力し、 前記第1受信手段は、前記出力されたパラメータa’及
びb’と、元Gtとを受信し、 前記利用手段は、素数pと、前記受信したパラメータ
a’及びb’とで定まる楕円曲線と、ベースポンイトと
しての元Gtとを用いて、有限体GF(p)上で定義さ
れる楕円曲線上での演算に基づき、離散対数問題を安全
性の根拠とする暗号、復号、デジタル署名、デジタル署
名検証又は鍵共有を行うことを特徴とする利用装置。
9. An elliptic curve conversion, comprising: a second receiving means, a conversion coefficient obtaining means, an elliptic curve calculating means, and a second output means, for converting one elliptic curve E to generate another elliptic curve Et. A utilization device that receives and uses the generated elliptic curve Et from a device, wherein the utilization device includes a first output unit, a first reception unit, and a utilization unit, wherein the first output unit includes: The prime number p, the parameters a and b of the elliptic curve E, and the element G as a base point
Is output to the elliptic curve conversion device, where the elliptic curve E is defined on a finite field GF (p), represented by y ^ 2 = x ^ 3 + ax + b. Exists and is represented by G = (x0, y0), wherein the second receiving means receives a prime number p, a parameter a and a parameter b of an elliptic curve E, and an element G from the use device; The coefficient obtaining means obtains a conversion coefficient t existing on the finite field GF (p), where the conversion coefficient t is t ≠ 0 and t ^ 4 ×
a (mod p) satisfies the condition that the number of digits is smaller than the prime number p, and the elliptic curve calculation means uses the obtained conversion coefficient t to calculate the elliptic curve Et by the following equation: The parameters a ′ and b ′ and the element Gt are calculated, a ′ = a × t ^ 4, b ′ = b × t ^ 6, xt0 = t ^ 2 × x0, yt0 = t ^ 3 × y0, where Where the elliptic curve Et is defined on a finite field GF (p) and is represented by y ′ ^ 2 = x ′ ^ 3 + a ′ × x ′ + b ′, where xt0 and yt0 are the x coordinate values of the element Gt, respectively. , Y coordinate values, the second output means outputs the calculated parameters a ′ and b ′ and the original Gt to the use device, and the first receiving means outputs the output parameter a 'And b' and the element Gt, and the use means determines an ellipse defined by the prime number p and the received parameters a 'and b' Using a line and an element Gt as a base point, an encryption, decryption, and digital signature based on a discrete logarithm problem based on an operation on an elliptic curve defined on a finite field GF (p) A verification device for performing digital signature verification or key sharing.
【請求項10】 1つの楕円曲線Eを変換して生成され
た楕円曲線Etを利用する利用装置であって、 前記利用装置は、 楕円曲線Etのパラメータa’及びb’と、ベースポイ
ントとしての元Gtとを記憶している記憶手段と、 pと、前記記憶しているパラメータa’及びb’とで定
まる楕円曲線と、ベースポイントとしての元Gtとを用
いて、有限体GF(p)上で定義される楕円曲線上での
演算に基づき、離散対数問題を安全性の根拠とする暗
号、復号、デジタル署名、デジタル署名検証又は鍵共有
を行う利用手段とを備え、 ここで、パラメータa’及びb’と、元Gtとは楕円曲
線変換装置により生成され、 前記楕円曲線変換装置は、変換係数取得手段、楕円曲線
算出手段を備え、 pは素数であり、 楕円曲線Eは、有限体GF(p)上で定義され、y^2
=x^3+ax+bで表され、 ベースポンイトとしての元Gが、楕円曲線E上に存在
し、G=(x0,y0)で表され、 前記変換係数取得手段は、有限体GF(p)上に存在す
る変換係数tを取得し、ここで、変換係数tは、t≠0
であり、かつ、t^4×a (mod p)は、素数p
と比較して桁数が小さい、という条件を満し、 前記楕円曲線算出手段は、前記取得された変換係数tを
用いて、次式により、楕円曲線Etのパラメータa’及
びb’と、新たなベースポイントとしての元Gtとを算
出し、 a’=a×t^4、 b’=b×t^6、 xt0=t^2×x0、 yt0=t^3×y0、 ここで、楕円曲線Etは、有限体GF(p)上で定義さ
れ、y’^2 = x’^3 +a’×x’+b’で表
され、 xt0、yt0は、それぞれ元Gtのx座標値、y座標
値であることを特徴とする利用装置。
10. A utilization device using an elliptic curve Et generated by converting one elliptic curve E, wherein the utilization device comprises: parameters a ′ and b ′ of the elliptic curve Et; A finite field GF (p) is obtained by using storage means for storing the element Gt, p, an elliptic curve defined by the stored parameters a 'and b', and the element Gt as a base point. A means for performing encryption, decryption, digital signature, digital signature verification or key sharing based on the discrete logarithm problem based on the operation on the elliptic curve defined above, wherein the parameter a 'And b' and the element Gt are generated by an elliptic curve converter, the elliptic curve converter includes a conversion coefficient acquisition unit and an elliptic curve calculation unit, p is a prime number, and the elliptic curve E is a finite field. Defined on GF (p) Is, y ^ 2
= X ^ 3 + ax + b, an element G as a base point exists on the elliptic curve E, and is represented by G = (x0, y0). Obtain the existing conversion coefficient t, where the conversion coefficient t is t ≠ 0
And t ^ 4 × a (mod p) is a prime number p
The elliptic curve calculation means satisfies the condition that the number of digits is smaller than the above, and the parameters a ′ and b ′ of the elliptic curve Et and the new And an element Gt as a base point is calculated as follows: a ′ = a × t ^ 4, b ′ = b × t ^ 6, xt0 = t ^ 2 × x0, yt0 = t ^ 3 × y0, where ellipse The curve Et is defined on a finite field GF (p) and is represented by y ′ ^ 2 = x ′ ^ 3 + a ′ × x ′ + b ′. Xt0 and yt0 are the x coordinate value and y coordinate of the original Gt, respectively. Use device characterized by being a value.
【請求項11】 1つの楕円曲線Eを変換して他の1つ
の楕円曲線Etを生成する楕円曲線変換方法であって、 外部から、素数pと、楕円曲線Eのパラメータa及びパ
ラメータbと、ベースポンイトとしての元Gとを受信す
るステップであって、楕円曲線Eは、有限体GF(p)
上で定義され、y^2=x^3+ax+bで表され、元
Gは、楕円曲線E上に存在し、G=(x0,y0)で表
される受信ステップと、 有限体GF(p)上に存在する変換係数tを取得するス
テップであって、変換係数tは、t≠0であり、かつ、
t^4×a (mod p)は、素数pと比較して桁数
が小さい、という条件を満たす変換係数算出ステップ
と、 前記取得された変換係数tを用いて、次式により、楕円
曲線Etのパラメータa’及びb’と、新たなベースポ
イントとしての元Gtとを算出するステップであって、 a’=a×t^4、 b’=b×t^6、 xt0=t^2×x0、 yt0=t^3×y0、 楕円曲線Etは、有限体GF(p)上で定義され、 y’^2 = x’^3 +a’×x’+b’で表さ
れ、xt0、yt0は、それぞれ元Gtのx座標値、y
座標値である楕円曲線算出ステップと、 前記算出されたパラメータa’及びb’と、元Gtとを
外部へ出力する出力ステップとを含むことを特徴とする
楕円曲線変換方法。
11. An elliptic curve conversion method for converting one elliptic curve E to generate another elliptic curve Et, comprising: a prime number p; a parameter a and a parameter b of the elliptic curve E; Receiving an element G as a base point, wherein the elliptic curve E is a finite field GF (p)
Defined above, represented by y ^ 2 = x ^ 3 + ax + b, the element G exists on the elliptic curve E, and a receiving step represented by G = (x0, y0), and a finite field GF (p) Obtaining a conversion coefficient t existing in the following equation, wherein the conversion coefficient t is t ≠ 0, and
t ^ 4 × a (mod p) is a conversion coefficient calculation step that satisfies the condition that the number of digits is smaller than the prime number p, and an elliptic curve Et is obtained by the following equation using the obtained conversion coefficient t. Calculating the parameters a ′ and b ′ and the original Gt as a new base point, where a ′ = a × t ^ 4, b ′ = b × t ^ 6, xt0 = t ^ 2 × x0, yt0 = t ^ 3 × y0, elliptic curve Et is defined on a finite field GF (p), and is represented by y ′ ^ 2 = x ′ ^ 3 + a ′ × x ′ + b ′, and xt0, yt0 are , The x coordinate value of the original Gt, y
An elliptic curve conversion method, comprising: an elliptic curve calculation step as coordinate values; and an output step of outputting the calculated parameters a ′ and b ′ and an element Gt to the outside.
【請求項12】 1つの楕円曲線Eを変換して他の1つ
の楕円曲線Etを生成する楕円曲線変換プログラムを記
録しているコンピュータ読み取り可能な記録媒体であっ
て、 前記プログラムは、 外部から、素数pと、楕円曲線Eのパラメータa及びパ
ラメータbと、ベースポイントとしての元Gとを受信す
るステップであって、楕円曲線Eは、有限体GF(p)
上で定義され、y^2=x^3+ax+bで表され、元
Gは、楕円曲線E上に存在し、G=(x0,y0)で表
される受信ステップと、 有限体GF(p)上に存在する変換係数tを取得するス
テップであって、変換係数tは、t≠0であり、かつ、
t^4×a (mod p)は、素数pと比較して桁数
が小さい、という条件を満たす変換係数算出ステップ
と、 前記取得された変換係数tを用いて、次式により、楕円
曲線Etのパラメータa’及びb’と、新たなベースポ
イントとしての元Gtとを算出するステップであって、 a’=a×t^4、 b’=b×t^6、 xt0=t^2×x0、 yt0=t^3×y0、楕円曲線Etは、有限体GF
(p)上で定義され、y’^2 = x’^3 +a’
×x’+b’で表され、xt0、yt0は、それぞれ元
Gtのx座標値、y座標値である楕円曲線算出ステップ
と、 前記算出されたパラメータa’及びb’と、元Gtとを
外部へ出力する出力ステップとを含むことを特徴とする
記録媒体。
12. A computer-readable recording medium recording an elliptic curve conversion program for converting one elliptic curve E to generate another elliptic curve Et, wherein the program is: Receiving a prime number p, parameters a and b of the elliptic curve E, and an element G as a base point, wherein the elliptic curve E has a finite field GF (p)
Defined above, represented by y ^ 2 = x ^ 3 + ax + b, the element G exists on the elliptic curve E, and a receiving step represented by G = (x0, y0), and a finite field GF (p) Obtaining a conversion coefficient t existing in the following equation, wherein the conversion coefficient t is t ≠ 0, and
t ^ 4 × a (mod p) is a conversion coefficient calculation step that satisfies the condition that the number of digits is smaller than the prime number p, and an elliptic curve Et is obtained by the following equation using the obtained conversion coefficient t. Calculating the parameters a ′ and b ′ and the original Gt as a new base point, where a ′ = a × t ^ 4, b ′ = b × t ^ 6, xt0 = t ^ 2 × x0, yt0 = t ^ 3 × y0, the elliptic curve Et is a finite field GF
(P), defined as above, y ′ ^ 2 = x ′ ^ 3 + a ′
× x ′ + b ′, where xt0 and yt0 are elliptic curve calculation steps that are the x-coordinate value and y-coordinate value of the element Gt, respectively, and the calculated parameters a ′ and b ′ and the element Gt An output step of outputting to a recording medium.
JP11056592A 1998-03-05 1999-03-04 Elliptic curve conversion device, utilization device and utilization system Expired - Lifetime JP3050313B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11056592A JP3050313B2 (en) 1998-03-05 1999-03-04 Elliptic curve conversion device, utilization device and utilization system

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP5320498 1998-03-05
JP10-53204 1998-03-05
JP11056592A JP3050313B2 (en) 1998-03-05 1999-03-04 Elliptic curve conversion device, utilization device and utilization system

Publications (2)

Publication Number Publication Date
JPH11316542A true JPH11316542A (en) 1999-11-16
JP3050313B2 JP3050313B2 (en) 2000-06-12

Family

ID=26393914

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11056592A Expired - Lifetime JP3050313B2 (en) 1998-03-05 1999-03-04 Elliptic curve conversion device, utilization device and utilization system

Country Status (1)

Country Link
JP (1) JP3050313B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001024439A1 (en) * 1999-09-29 2001-04-05 Hitachi, Ltd. Device, program or system for processing secret information
DE10057203C1 (en) * 2000-11-17 2002-06-06 Cv Cryptovision Gmbh Digital signal value calculation method for cryptography calculates scalar product from natural number and point along elliptical curve
EP1306749A3 (en) * 2001-10-25 2005-09-14 Matsushita Electric Industrial Co., Ltd. Elliptic curve converting device, elliptic curve converting method, elliptic curve utilization device and elliptic curve generating device

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001024439A1 (en) * 1999-09-29 2001-04-05 Hitachi, Ltd. Device, program or system for processing secret information
AU762650B2 (en) * 1999-09-29 2003-07-03 Hitachi Limited Device, program or system for processing secret information
US6873706B1 (en) 1999-09-29 2005-03-29 Hitachi, Ltd. Processing apparatus, program, or system of secret information
DE10057203C1 (en) * 2000-11-17 2002-06-06 Cv Cryptovision Gmbh Digital signal value calculation method for cryptography calculates scalar product from natural number and point along elliptical curve
EP1306749A3 (en) * 2001-10-25 2005-09-14 Matsushita Electric Industrial Co., Ltd. Elliptic curve converting device, elliptic curve converting method, elliptic curve utilization device and elliptic curve generating device
US7209555B2 (en) 2001-10-25 2007-04-24 Matsushita Electric Industrial Co., Ltd. Elliptic curve converting device, elliptic curve converting method, elliptic curve utilization device and elliptic curve generating device

Also Published As

Publication number Publication date
JP3050313B2 (en) 2000-06-12

Similar Documents

Publication Publication Date Title
KR100513127B1 (en) Elliptic curve transformation device, utilization device and utilization system
JP3862500B2 (en) High-speed elliptic curve encryption method and apparatus by direct embedding method
USRE43792E1 (en) Method and apparatus for computing a shared secret key
JP5297688B2 (en) Vector concealed inner product calculation system, vector concealed inner product calculation method, and encryption key sharing system
JP4842276B2 (en) A new trapdoor one-way function on an elliptic curve and its application to shorter signatures and asymmetric encryption
JP5329676B2 (en) Accelerating key agreement protocols
US7209555B2 (en) Elliptic curve converting device, elliptic curve converting method, elliptic curve utilization device and elliptic curve generating device
Vanstone et al. Elliptic curve cryptosystems using curves of smooth order over the ring Z/sub n
CA2246421C (en) Apparatus for operating bivector and encrypting system including the same
US6480606B1 (en) Elliptic curve encryption method and system
KR20120028432A (en) Calculating apparatus and method for elliptic curve cryptography
JP4690819B2 (en) Scalar multiplication calculation method and scalar multiplication calculation apparatus in elliptic curve cryptography
JP3050313B2 (en) Elliptic curve conversion device, utilization device and utilization system
JP3615405B2 (en) Method and apparatus for calculating points on elliptic curve on element body
JP4225764B2 (en) Elliptic curve conversion device, elliptic curve conversion method, elliptic curve utilization device, and elliptic curve generation device
JP2000137436A (en) Calculating method of point on elliptic curve on prime field and device therefor
JP4058152B2 (en) Elliptic curve calculation device
Martínez et al. A comparative analysis of hybrid encryption schemes based on elliptic curves
Muchtadi-Alamsyah et al. Implementation of elliptic curve25519 in cryptography
KR100363253B1 (en) Method for generating a secret key in communication and apparatus thereof
JP3518680B2 (en) Prime number generator
JP4105803B2 (en) Elliptic curve calculation device
JPWO2004070681A1 (en) Elliptic curve scalar multiplication method and apparatus
Abbas et al. Elliptic Curve Cryptosystem for Digital multimedia, General Review
KR100368204B1 (en) lnverse operation algorithm using normal basis

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000307

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

Free format text: PAYMENT UNTIL: 20080331

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090331

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100331

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110331

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20110331

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120331

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20130331

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20130331

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20140331

Year of fee payment: 14

EXPY Cancellation because of completion of term