JPH1152854A - 有限体上の四則演算装置及び楕円曲線上の群演算装置 - Google Patents
有限体上の四則演算装置及び楕円曲線上の群演算装置Info
- Publication number
- JPH1152854A JPH1152854A JP9206995A JP20699597A JPH1152854A JP H1152854 A JPH1152854 A JP H1152854A JP 9206995 A JP9206995 A JP 9206995A JP 20699597 A JP20699597 A JP 20699597A JP H1152854 A JPH1152854 A JP H1152854A
- Authority
- JP
- Japan
- Prior art keywords
- elliptic curve
- finite field
- calculating
- inverse
- group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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/72—Methods 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/724—Finite field arithmetic
- G06F7/725—Finite field arithmetic over elliptic curves
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
る青木の方法における正規基底を用いて有限体上の演算
を行なっていた部分を、別の基底を取ることより高速化
することが可能な有限体上の四則演算装置及び有限体上
の群演算装置を提供する。 【解決手段】 本発明は、有限体GF(22n)上の演算
を標準基底を用いる。つまり、有限体GF(2e2t )
は、部分体としてGF(2e2t-1 )を持ち、またGF
(2e2t-1 )のベクトル空間とみなすことができる。こ
のことからGF(2e2 t )上の演算をGF(2e2t-1 )
上の演算に帰着できることを利用して、加算、乗算、2
乗、逆元等の四則演算を行う。
Description
算装置及び楕円曲線上の群演算装置に係り、特に誤り訂
正符号(代数幾何符号など)や、楕円曲線上の群演算を
用いて構成される鍵配送や認証に代表される情報セキュ
リティ技術(楕円暗号など)を実現するための有限体上
の四則演算装置及び楕円曲線上の群演算装置に関する。
合「有限体」といえば標数2の有限体を指す)はデータ
構造を計算機に合わせ易く、また誤り訂正符号や暗号理
論で用いることができるので重要である。有限体GF
(2n )の個々の元は、GF(2)上n次の既約多項式
f(X)を用いて、
項式で表すことができる。つまり、多項式の係数GF
(2)をビットとみなすことにより、nビットの数でG
F(2n)を表せる。このように表現した場合、加算
(減算は標数2の体の場合は加算と同じであることに注
意)はnビットの排他的論理和で表すことができるので
容易かつ効率的に実装可能であるが、乗算や除算の実装
は素直にn−1次多項式の積を計算し、f(X)の剰余
を計算するより効率的な方法が考えられている。
上)割れる場合に青木の方法(文献「K. Aoki and K. O
hta: "Operations in F2 n y Software Implementati
on, "Proceedings of 1997 Symposium on Cryptography
and Inforamtion Security, SCIS'97'14A」)という効
率的な方法が示されている。この方法は、有限体GF
(22n)が、
=0の根としてGF(22n)をGF(2n )上の2次元
のベクトル空間とみなしたときの基底を正規基底[αα
+1]と取ったときに、式 (x1 α+y1 (α+1))×(x2 α+y2 (α+
1))=(x1 x2 +a(x1 +y1 )(x2 +
y2 ))α+(y1 y2 +a(x1 +y1 )(x2 +y
2 ))(α+1) より、GF(22n)上の乗算をGF(2n )上の四則演
算を用いて計算できることに基づいている。また特に2
乗の場合は、式 (xα+y(α+1))2=(x2 +a(x2 +
y2 ))α+(y2 +a(x2 +y2 ))(α+1) 逆元演算については、式 (xα+y(α+1))-1=(a(x+y)2 +xy)
-1(yα+x(α+1)) を用いて乗算と同様にして、GF(22n)上の演算をG
F(2n )上の四則演算を用いて計算できることに基づ
いている。
の逐次2次拡大を利用して高速化を計っている。しか
し、2次拡大を行なう場合の基底の取り方については最
適なものが使われているとの根拠はない。本発明では、
青木の方法では正規基底を用いて有限体上の演算を行な
っていた部分を別の基底を取ることより高速化すること
が可能な有限体上の四則演算装置及び有限体上の群演算
装置を提供することを目的とする。
F(22n)上で、GF(22n)=GF(2n )(α)と
なる
上の四則演算装置であって、式(x1 +y1 α)×(x
2 +y2 α)=(x1 x2 +ay1 y2 )+((x 1 +
y1 )(x2 +y2 )+x1 x2 )α(x1 ,x2 ,y
1 ,y2 ∈GF(2 n ))に基づき乗算を計算する乗算
手段を有する。第2の発明は、有限体GF(22n)上
で、GF(22n)=GF(2n )(α)となる
上の四則演算装置であって、式(x1 +y1 α)2 =
(x1 2 +ay1 2 )+y1 2 α(x1 ,x2 ∈GF
(2n ))に基づき2乗を計算する2乗計算手段を有す
る。第3の発明は、有限体GF(22n)上で、GF(2
2n)=GF(2n )(α)となる
上の四則演算装置であって、式(x1 +y1 α)-1=
(x1 (x1 +y1 )+ay1 2 )-1((x1 +y1)
+y1 α)(x1 ,y1 ∈GF(2n ))に基づき逆元
を計算する逆元計算手段を有する。第4の発明は、多項
式p,q∈GF(22n)[X1 ,X2 ,・・・,Xr ]
の計算中現れるGF(22n)上の乗算を乗算手段と2乗
計算手段を用いることにより計算し、qのGF(22n)
上の逆元q-1を逆元計算手段を用いて計算し、p,qを
計算したときと同じ方法によりp×q-1を計算すること
により有理式
の発明は、式(x1 +y1 α)×(x2 +y2 α)=
(x1 x2 +ay1y2 )+((x1 +y1 )(x2 +
y2 )+x1 x2 )α(x1 ,x2 ,y1 ,y2 ∈GF
(2n ))に基づき乗算を計算する乗算手段と、式(x
1 +y1 α)2 =(x1 2 +ay1 2 )+y1 2 α(x
1 ,y1 ∈GF(2n ))に基づき2乗を計算する2乗
計算手段と、式(x1 +y1 α)-1=(x1 (x1 +y
1 )+ay1 2 )-1((x1 +y 1 )+y1 α)
(x1 ,y1 ∈GF(2n ))に基づき逆元を計算する
逆元計算手段と、多項式p,q∈GF(22n)[X1 ,
X2 ,・・・,Xr ]の計算中現れるGF(22n)上の
乗算を乗算手段と2乗計算手段を用いることにより計算
し、qのGF(22n)上の逆元q-1を逆元計算手段を用
いて計算し、p,qを計算したときと同じ方法によりp
×q-1を計算することにより有理式
(22n)上の楕円曲線E(GF(22n))上の群の無限
遠点Οでない元をアフィン座標(x,y)で表したと
き、群の逆元(i,j)のi,jはx,yの有理式で表
せることから、有理式計算手段を用いて使い楕円曲線上
の群の元の逆元を求める楕円曲線上の元の逆元計算手段
を有する。
2 +y2 α)=(x1 x2 +ay1y2 )+((x1 +
y1 )(x2 +y2 )+x1 x2 )α(x1 ,x2 ,y
1 ,y2 ∈GF(2n ))に基づき乗算を計算する乗算
手段と、式(x1 +y1 α)2 =(x1 2 +ay1 2 )
+y1 2 α(x1 ,y1 ∈GF(2n ))に基づき2乗
を計算する2乗計算手段と、式(x1 +y1 α)-1=
(x1 (x1 +y1 )+ay1 2 )-1((x1 +y 1 )
+y1 α)(x1 ,y1 ∈GF(2n ))に基づき逆元
を計算する逆元計算手段と、有限体GF(22n)上の楕
円曲線E(GF(22n))上の群の無限遠点Οでない2
つの元をアフィン座標(x1 ,y1 ),(x2 ,y2 )
で表したとき、和(x3 ,y3 )=(x1 ,y1 )+
(x2 ,y2 )のx3 ,y3 は(x1 ,y1 )≠
(x2 ,y2 )かつ(x1 ,y1 )≠−(x2 ,y2 )
であるときx1 ,y1,x2 ,y2 の有理式で表せるこ
とから、逆元計算手段を用いて楕円曲線上の群の元の和
を求める加算手段を有する。
y1 y2 )+((x1 +y1 )(x2 +y2 )+x1 x
2 )α(x1 ,x2 ,y1 ,y2 ∈GF(2n )) に基づき乗算を計算する乗算手段と、式(x1 +y
1 α)2 =(x1 2 +ay1 2 )+y1 2 α(x1 ,y
1 ∈GF(2n ))に基づき2乗を計算する2乗計算手
段と、式(x1 +y1 α)-1=(x1 (x1 +y1 )+
ay1 2 )-1((x1 +y1)+y1 α)(x1 ,y1
∈GF(2n ))に基づき逆元を計算する逆元計算手段
と、有限体GF(22n)上の楕円曲線E(GF
(22n))上の群の無限遠点Οでない元をアフィン座標
(x,y)で表したとき、2倍(x3 ,y3 )=2
(x,y)のx3 ,y3 は(x1 ,y)≠−(x,y)
であるときx,yの有理式で表せることから、逆元計算
手段を用いて楕円曲線上の群の元の2倍を求める2倍算
手段を有する。
円曲線E(GF(22n))上の群の無限遠点Οでない元
をアフィン座標(x,y)で表したとき、自然数n倍
(x3,y3 )=n(x,y)のx3 ,y3 は、逆元、
加算、2倍算を組み合わせることにより計算可能である
ことを利用して、楕円曲線上の元の逆元計算手段、加算
手段、2倍算手段を用いて楕円曲線上の群の元の自然数
倍を求める自然数倍計算手段を有する。
う際に正規基底を用いている。本発明では標準基底を用
いることにより高速化を計っている。具体的には、有限
体GF(22n)が、
=0の根として、GF(22n)をGF(2n )上の2次
元のベクトル空間とみなしたときの基底を[1α]と取
ったときに、以下のように計算される。 加算: (x1 +y1 α)+(x2 +y2 α)=(x1 +x2 )+(y1 +y2 )α (1) 乗算: (x1 +y1 α)×(x2 +y2 α)=(x1 x2 +ay1 y2 )+((x1 + y1 )(x2 +y2 )+x1 x2 )α (2) 2乗: (x1 +y1 α)2 =(x1 2 +ay1 2 )+y1 2 α (3) 逆元: (x1 +y1 α)-1=(x1 (x1 +y1 )+ay1 2 )-1((x1 +y1 )+ y1 α) (4)
のことから
できる。それぞれの演算について帰着の方法は「課題を
解決するための手段」で述べた通りである。また、本発
明は有限体上の楕円曲線の演算の実施には効果がある。
適当な体Kを定めると楕円曲線上の群E(K)は E(K)={(x,y)∈K2 |f(x,y)=0}∪
{Ο} と書ける。ここでf(x,y)∈K[x,y]である
(但しf(x,y)は任意に選べるわけではなく、いく
つかの制約がある)。Pi ∈E(K)(i=1,2,
3)とおいたとき、楕円曲線上の群の演算はPi ≠Ο
(i=1,2,3)の場合にP3 =P1 +P2 が成り立
っているとすると適当な多項式 p(x1 ,x2 ,y1 ,y2 ),q(x1 ,x2 ,
y1 ,y2 ),r(x1 ,x2 ,y1 ,y2 ),s(x
1 ,x2 ,y1 ,y2 )∈K[x1 ,x 2 ,y1 ,
y2 ] を用いて、
したときにp,q,r,sは一定であるが、P1 =P2
の場合と、P1 ≠P2 の場合では多項式p,q,r,s
が異なることに注意。上記のことから楕円曲線上の群の
演算は体Kの四則演算から構成できることがわかる。
(2)に基づいてGF(2n )上の演算で計算する乗算
装置である。第2の発明はGF(22n)上の演算を式
(3)に基づいてGF(2n )上の演算で計算する2乗
装置である。第3の発明はGF(22n)上の演算を式
(4)に基づいてGF(2n )上の演算で計算する逆元
装置である。
2の発明の原理に基づく計算で、q-1の計算を第3の発
明の原理に基づく計算で求める装置である。第5の発明
は第4の発明の原理を用いて楕円曲線上の群の元の逆元
を求める装置である。第6の発明は第4の発明の原理を
用いて楕円曲線上の群の元の和を求める装置である。
円曲線上の群の元の2倍を求める装置である。第8の発
明は第5,第6,第7の発明の原理を用いて楕円曲線上
の群の元の自然数倍を求める装置である。
る。最初に有限体上の演算について説明する。 [有限体上の演算]本発明は、
GF(2e )上の演算で実現する。 〈GF(2e )上の加算装置〉最初に有限体上の演算に
おけるGF(2e )上の加算装置について説明する。図
1は、本発明の一実施例の有限体上の演算におけるGF
(2e )上の加算装置に構成を示す。以下、同図に従っ
て説明する。
装置20aを用いて入力xとyの排他的論理和値x+
(XOR)yを計算する。 ステップ102) eビット排他的論理和装置20aの
出力x+(XOR)yをx+yとして出力する。 〈GF(2e )上の乗算装置〉次に、有限体上の演算に
おけるGF(2e )上の乗算装置について説明する。
算におけるGF(2e )上の乗算装置の構成を示す。以
下、同図に従って説明する。ステップ201) 問い合
わせ装置21aは入力xとyを検索鍵として、乗算テー
ブル21bからxとyの積x×yを引き出す。 ステップ202) 問い合わせ装置21aは乗算テー
ブル21bから得たx×yを出力する。
(2e )上の2乗装置について説明する。GF(2e )
上の2乗装置は、図2のGF(2e )上の乗算装置の2
入力に同じ値を入れることにより実現する。 〈GF(2e )上の逆元装置〉図3は、本発明の一実施
例のGF(2e )上の逆元装置に構成を示す。
鍵として、逆元テーブル22bからxの逆元x-1を引き
出す。 ステップ302) 問い合わせ装置22aは逆元テーブ
ル22bから得たx-1を出力する。
(22n)上の加算装置について説明する。図4は、本発
明の一実施例のGF(22n)上の加算装置の構成を示
す。以下、同図に従って説明する。同図に示すGF(2
2n)上の加算装置23は、前述の式(1)を実現した装
置である。
装置23aは入力m1 =x1 +y1αのx1 と、m2 =
x2 +y2 αのx2 の和x3 を計算する。 ステップ402) GF(2n )上の加算装置23bは
入力m1 =x1 +y1αのy1 と、m2 =x2 +y2 α
のy2 の和y3 を計算する。 ステップ403) m3 =m1 +m2 を出力する。
(22n)上の乗算装置について説明する。図5は、本発
明の一実施例のGF(22n)上の乗算装置の構成を示
す。以下、同図に従って説明する。同図に示す構成は、
前述の式(2)を実現するための装置である。
4f,24h)はGF(2n )上の加算装置であり、m
ul装置(24b,24d,24e,24g)はGF
(2n)上の乗算装置である。 ステップ501) add装置24aは入力x1 とy1
の和t1 を計算しmul装置24eに出力する。
力x1 とy1 の積t2 を計算しadd装置24fに出力
する。 ステップ503) add装置24cは入力x2 とy2
の和t3 を計算しmul装置24eに出力する。 ステップ504) mul装置24dは入力x2 とy2
の積t4 を計算しadd装置24hに出力する。
力t1 とt3 の積t5 を計算しadd装置24fとmu
l装置24gに出力する。 ステップ506) add装置24fは入力t2 とt5
の和y3 を計算し装置24の出力する。 ステップ507) mul装置24gは入力t5 と定数
aの積t7 を計算しadd装置24hに出力する。
力t4 とt7 の和x3 を計算し装置24の出力する。 〈GF(22n)上の2乗装置〉次に、GF(22n)上の
2乗装置について説明する。図6は、本発明の一実施例
のGF(22n)上の2乗装置の構成を示す。
す装置は、前述の式(3)を実現するための装置であ
る。同図中、add装置(25d)はGF(2n )上の
加算装置であり、mul装置(25c)はGF(2n )
上の乗算装置であり、sqr装置(25a,25b)は
GF(2n )上の2乗装置である。
力x1 の2乗t1 を計算しadd装置25dに出力す
る。 ステップ602) sqr装置25bは入力y1 の2
乗t2 を計算しmul装置25cに出力する。 ステップ603) mul装置25cは入力t2 と定数
aの積y3 を計算しadd装置25dに出力し、また装
置25の出力ともする。
力t1 とy3 の和x3 を計算し装置25の出力とする。 〈GF(22n)上の逆元装置〉次に、GF(22n)上の
逆元装置について説明する。図7は、本発明の一実施例
のGF(22n)上の逆元装置の構成を示す。同図に示す
装置は、前述の式(4)を実現するための装置である。
GF(2n )上の加算装置であり、mul装置(26
b,26d,26g,26h)はGF(2n )上の乗算
装置であり、sqr装置(26c)はGF(2n )上の
2乗装置であり、inv装置(26f)はGF(2n )
上の逆元装置である。 ステップ701) add装置26aは入力x1 とy1
の和t1 を計算しmul装置26bとmul装置26g
に出力する。
入力x1 とt1 の積t2 を計算しadd装置26eに出
力する。 ステップ703) sqr装置26cは入力y1 の2
乗t3 を計算しmul装置26dに出力する。 ステップ704) mul装置26dは入力t3 と定
数aの積t4 を計算しadd装置26eに出力する。
力t2 とt4 の和t5 を計算しinv装置26fに出力
する。 ステップ706) inv装置26fは入力t5 の逆元
t6 を計算しmul装置26gとmul装置26hに出
力する。 ステップ707) mul装置26gは入力t1 とt6
の積x3 を計算し装置26に出力する。
力y1 とt6 の積y3 を計算し装置26に出力する。次
に、前述の各装置を楕円曲線に応用した例を説明する。
のように定義される。
(x3 ,y3 )=P1 +P2 は
演算についての詳細は例えば、文献「A. J. Menezes: "
ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS," KLUWER A
CADEMIC PUBLISHERS, pp.21-23, 1993」を参照)。
円曲線上の点は有限体上の元2つで表すことができるの
で、結局楕円曲線上の点は2e2t 桁のビット列で表す
ことができる。以下、楕円曲線上の点Pi などは、この
ように表されているとする。但し、
する。次に、楕円曲線上の群の元の逆元の例を説明す
る。図8は、本発明の一実施例の楕円曲線上の群の元の
逆元計算装置の構成を示す。同図に示す装置は、楕円曲
線上の群の元の逆元は前述の式(7)で計算できること
に基づいている。
用いて、入力の(x,y)を有限体の元の加算装置1b
に渡す。ステップ802) 有限体の元加算装置1bは
入力x,yの
算装置1bを用いて得られたx+yを用いて、楕円曲線
上の群の元の逆元(x,x+y)を出力する。楕円曲線
上の群の元の逆元計算装置中で用いられている有限体の
元の加算装置1bは、前述の図4の様に構成される。
明する。図9は、本発明の一実施例の楕円曲線上の群の
元の加算計算装置の構成を示す。同図に示す加算計算装
置は、楕円曲線上の加算が前述の式(5)により計算で
きることに基づいている。
楕円曲線上の群の元の比較装置3cを用いP1 =Οを調
べ、真の場合Q=P2 とし、ステップ908に進む。 ステップ902) 問い合わせ装置3aは楕円曲線上の
群の元の比較装置3cを用いP2 =Οを調べ、真の場合
Q=P1 とし、ステップ908に進む。 ステップ903) 問い合わせ装置3aは、楕円曲線上
の群の元の逆元計算装置3bに入力P1 を渡す。
逆元計算装置3bは入力P1 の逆元−P1 を計算しそれ
を返す。 ステップ905) 問い合わせ装置3aは、楕円曲線上
の群の元の逆元計算装置3bの出力−P1 と自分自身の
入力P2 を楕円曲線上の群の元の比較装置3cに渡す。
比較装置3cは入力−P1 ,P2 を比較し、一致したと
きT(真)を返し、そうでない場合F(偽)を返す。 ステップ907) 問い合わせ装置3aは、楕円曲線上
の群の元の比較装置3cの出力が真の場合Q=Οとし、
そうでない場合は楕円曲線上の群の元の特殊加算計算装
置3dにP1 ,P2 を渡し、結果Q=P1 +P2 を得
る。
Q(=P1 +P2 )を出力する。図10は、本発明の一
実施例の楕円曲線上の群の元の比較装置の構成を示す。
同図に示す装置は、楕円曲線上の群の元の加算計算装置
中で用いられている楕円曲線上の群の元の比較装置3c
の構成である。以下、図10に示す比較装置4の動作を
説明する。
はそれぞれ入力P1 =(x1 ,y1),P2 =(x2 ,
y2 )のビット列x1 ,y1 ,x2 ,y2 を結合したビ
ット列x1 ‖y1 ,x2 ‖y2 を
x2 ‖y2 を比較し、一致した場合T(真)、そうでな
い場合F(偽)を返す。 ステップ1003) 問い合わせ装置4aは、
値を出力する。楕円曲線上の群の元の加算計算装置中で
用いられている楕円曲線上の群の元の特殊加算計算装置
3dは、図11の様に構成される。図11中、addで
略される装置5a,5c,5f,5g,5h,5i,5
k,5lは有限体の元の加算計算装置であり、invで
略される装置5bは有限体の元の逆元計算装置であり、
mulで略される装置5d,5jは有限体の元の乗算計
算装置であり、sqrで略される装置5eは有限体の元
の2乗計算装置である。以下図11の特殊加算計算装置
5の動作を説明する。
力x1 ,x2 の和t1 (=x1 +x 2 )を計算し、in
v装置5bに出力する。 ステップ1102) inv装置5bとadd装置5g
は入力t1 の逆元t2(=(x1 +x2 )-1)を計算
し、mul装置5dとに出力する。 ステップ1103) add装置5cは入力y1 ,y2
の和t3 (=y1 +y 2 )を計算し、mul装置5dに
出力する。
力t2 ,t3 の積
f、mul装置5jに出力する。 ステップ1105) sqr装置5eは、入力λの2乗
t4 (=λ2 )を計算し、add装置5fに出力する。 ステップ1106) add装置5fは、入力λ,t4
の和t5 (=λ2 +λ)を計算し、add装置5gに出
力する。
入力t1 ,t5 の和t6 (=λ2 +λ+x1 +x2 )を
計算し、add装置5hに出力する。 ステップ1108) add装置5hは、入力t6 と定
数a2 の和x3 (=λ 2 +λ+x1 +x2 +a2 )を計
算し、add装置5i、add装置5kに出力し、また
特殊加算計算装置5の出力にもする。
入力x1 ,x3 の和t7 (=x1 +x3 )を計算し、m
ul装置5jに出力する。 ステップ1110) mul装置5jは、入力λ,t7
の積t8 (=λ(x1+x3 ))を計算し、add装置
5kに出力する。 ステップ1111) add装置5kは、入力t8 ,x
3 の和t9 (=λ(x 1 +3 )+x3 )を計算し、ad
d装置51に出力する。
入力y1 ,t9 の和y3 (=λ(x 1 +x3 )+x3 +
y1 )を計算し、装置5の出力とする。楕円曲線上の群
の元の特殊加算計算装置中で用いられているmulで記
されている有限体の元の乗算計算装置は図5の様に構成
される。楕円曲線上の群の元の特殊加算計算装置中で用
いられているsqrで記されている有限体の元の2乗計
算装置は有限体の元の乗算装置(図5)を用いても実現
できるが、2乗用の特別な装置を用いた方が高速に実装
できる。図6はその特別な装置の構成である。
で用いられているinvで記されている有限体の元の乗
算計算装置は図7の様に構成される。次に、楕円曲線上
の群の元の2倍算の例を説明する。図12は、本発明の
一実施例の楕円曲線上の群の元の2倍算計算装置の構成
を示す。以下、同図に従って説明する。
式(6)により計算できることに基づいている。 ステップ1201) 問い合わせ装置10aは、入力P
=(x,y)のx=0の場合Q=Οとし、そうでない場
合は楕円曲線上の群の元の特殊2倍算計算装置10bに
Pを渡し、結果Q=2Pを得る。
aは、Q(=2P)を出力する。楕円曲線上の群の元の
2倍算計算装置中で用いられるている楕円曲線上の群の
元の特殊2倍算計算装置10bについて説明する。図1
3は、本発明の一実施例の楕円曲線上の群の元の特殊2
倍算計算装置の構成を示す。同図中、addで略される
装置11d,11f,11g,11h,11jは有限体
の元の加算計算装置であり、invで略される装置11
bは有限体の元の逆元計算装置であり、mulで略され
る装置11c,11iは有限体の元の乗算計算装置であ
り、sqrで略される装置11a,11eは有限体の元
の2乗計算装置である。以下図13に示す装置の動作を
説明する。
入力xの2乗t1 (=x2 )を計算し、add装置11
jに出力する。 ステップ1302) inv装置11bは入力xの逆元
t2 (=x-1)を計算し、mul装置11cに出力す
る。 ステップ1303) mul装置11cは入力y,t2
の積t3 (=x-1×y)を計算し、add装置11dに
出力する。
入力x,t3 の和
11f,11hに出力する。 ステップ1305) sqr装置11eは入力λの2乗
t4 (=λ2 )を計算し、add装置11fに出力す
る。 ステップ1306) add装置11fは入力λ,t4
の和t5 (=λ2 +λ)を計算し、add装置11gに
出力する。
入力t5 と定数a2 との和x3 (=λ2 +λ+a2 )を
計算し、特殊2倍計算装置11の出力する。 ステップ1308) add装置11hは入力λと定数
1との和t6 (=λ+1)を計算し、mul装置11i
に出力する。 ステップ1309) mul装置11iは入力x3 ,t
6 の積t7 (=(λ+1)x3 )を計算し、add装置
11jに出力する。
入力t1 ,t7 の和y3 (=(λ+1)x3 +x1 2 )
を計算し、装置11の出力とする。次に、楕円曲線上の
群の元の自然数倍算について説明する。楕円曲線上の元
の自然数倍は色々な方法で実現できるが、ここでは2進
計算法(例えば文献「D. E. Knuth (中川桂介訳):
“準数値算法/算術演算(THE ART OF COMPUTER PROGRA
MMING 第4分冊),”pp.289−290、算法A、サ
イエンス社、1986」を参照)を用いた実装を図14
を用いて示す。
の群の元の自然数倍算計算装置の構成を示す。以下、同
図に基づいて楕円曲線上の群の元の自然数倍算計算装置
の動作を説明する。 ステップ1401) 制御装置12aは内部変数Q,R
を Q=Ο R=P と初期化する。
の値を調べ、0に一致したなら装置12の出力をQと
し、停止する。 ステップ1403) 制御装置1aは、nの値を調べ、
奇数の場合に n←n−1 とし、QとRの値を楕円曲線上の群の元の比較装置12
bを用いて比較し、一致した場合は楕円曲線上の群の元
の2倍算計算装置12dを用い、一致しない場合は楕円
曲線上の群の元の加算装置12cを用いて、 Q←Q+R を計算する。
群の元の2倍算計算装置12dを用いて、 R←2R を計算する。
態をステップ1402の状態とする。最後に、上記に示
した各装置は、暗号通信や電子マネー等に適用が可能で
ある。このような暗号通信や電子マネー等に本発明を適
用する場合における鍵共有法や、暗号、及び署名につい
て説明する。
鍵共有法について説明する。この例では、システムパラ
メータを楕円曲線E(GF(2n ))と、位数の大きな
元P∈E(GF(2n ))とする。このとき、鍵生成時
には、利用者Uは、正整数xU をランダムに生成し、 YU =xu P を計算する。なお、上記において、xU は秘密鍵を示
し、Yu は、公開鍵である。
考える。 ステップ1501) Aは何らかの方法で、Bの公開鍵
YB を入手する。 ステップ1502) Aは、 KA,B =xA YB を計算する。
A , B が共有されている。この方法に本発明の演算法を
適用することにより、処理速度の高速化を図ることが可
能となる。
いて説明する。システムパラメータを楕円曲線E(GF
(2n ))と、位数の大きな元P∈E(GF(2n ))
とする。鍵生成時には、利用者Uは、正整数xU をラン
ダムに生成し、 YU =xU P を計算する。上記において、xU は秘密鍵であり、YU
は公開鍵である。
信する状況を考える。 ステップ1601) 何等かの方法で公開鍵YA を入手
する。 ステップ1602) 正整数の乱数rを生成する。 ステップ1603) 暗号文(C1 ,C2 )を以下の式
で計算する。 C1 =rP C2 =M+rYA ステップ1604) ここで、受信者Aは、暗号文(C
1 ,C2 )の復号を以下の式いより行い平文を得る。
る。システムパラメータを楕円曲線E(GF(2n ))
と、位数の大きな元P∈E(GF(2n ))と、楕円曲
線の位数# E(GF(2n ))とし、一方向性ハッシュ
関数をhとして説明する。
をランダムに生成し、 YU =xU P を計算する。ここで、xU は秘密鍵であり、YU は公開
鍵である。次に、利用者Aがデータmに署名する状況を
考える。 ステップ1701) # E(GF(2n ))と互いに素
な正整数kをランダムに選択する。
(R,s)を計算する。 R=kP s=(m−xA h(r))k-1 mod #E(GF
(2n )) 次に、以下の式により署名の正当性を検証する。 mP=h(R)YA +R なお、本発明は、上記の実施例に限定されることなく、
特許請求の範囲内で種々変更・応用が可能である。
限体演算の性能を比較した。
外で全ての場合青木の方法より優れており、2乗では加
算数について青木の方法より優れている。従って、逆元
についても内部で2乗を使うので青木の方法より高速と
なる。
F(2e )上の加算装置の構成図である。
F(2e )上の乗算装置の構成図である。
の構成図である。
の構成図である。
の構成図である。
の構成図である。
の構成図である。
装置の構成図である。
計算装置の構成図である。
較装置の構成図である。
殊加算計算装置の構成図である。
倍算計算装置の構成図である。
殊2倍算計算装置の構成図である。
然数倍算計算装置の構成図である。
限体の元の加算計算装置 5b 有限体の元の逆元計算装置 5d,5j 有限体の元の乗算計算装置 5e 有限体の元の2乗計算装置 10 楕円曲線上の群の元の2倍算計算装置 10a 問い合わせ装置 10b 楕円曲線上の群の元の特殊2倍算計算装置 11 楕円曲線上の群の元の特殊2倍算計算装置 11d,11f,11h,11j 有限体の元の加算計
算装置 11b 有限体の元の逆元計算装置 11c,11i 有限体の元の乗算計算装置 11a,11e 有限体の元の2乗計算装置 12 楕円曲線上の群の元の自然数倍計算装置 12a 制御装置 12b 楕円曲線上の群の元の比較装置 12c 楕円曲線上の群の元の加算計算装置 12d 楕円曲線上の群の元の2倍算計算装置 20 GF(2e )上の加算装置 20a eビット排他的論理和装置 21 GF(2e )上の乗算装置 21a 問い合わせ装置 21b 乗算テーブル 22 GF(2e )上の逆元装置 22a 問い合わせ装置 22b 逆元テーブル 23 GF(22n)上の加算装置 23a GF(22n)上の加算装置 23b GF(22n)上の加算装置 24 GF(22n)上の乗算装置 24a,24c,24f,24h GF(2n )上の加
算装置 24b,24d,24e,24g GF(2n )上の乗
算装置 25 GF(22n)上の乗算装置 25d GF(2n )上の加算装置 25c GF(2n )上の乗算装置 25a,25b GF(2n )上の2乗装置 26 GF(2n )上の逆元装置 26a,26e GF(2n )上の加算装置 26b,26d,26g,26h GF(2n )上の乗
算装置 26c GF(2n )上の2乗装置 26f GF(2n )上の逆元装置
Claims (8)
- 【請求項1】 有限体GF(22n)上で、GF(22n)
=GF(2n )(α)となる 【数1】 を満たすαを用いて四則演算を行う有限体上の四則演算
装置であって、 式(x1 +y1 α)×(x2 +y2 α)=(x1 x2 +
ay1 y2 )+((x 1 +y1 )(x2 +y2 )+x1
x2 )α(x1 ,x2 ,y1 ,y2 ∈GF(2 n ))に
基づき乗算を計算する乗算手段を有することを特徴とす
る有限体上の四則演算装置。 - 【請求項2】 有限体GF(22n)上で、GF(22n)
=GF(2n )(α)となる 【数2】 を満たすαを用いて四則演算を行う有限体上の四則演算
装置であって、 式(x1 +y1 α)2 =(x1 2 +ay1 2 )+y1 2
α(x1 ,y1 ∈GF(2n ))に基づき2乗を計算す
る2乗計算手段を有することを特徴とする有限体上の四
則演算装置。 - 【請求項3】 有限体GF(22n)上で、GF(22n)
=GF(2n )(α)となる 【数3】 を満たすαを用いて四則演算を行う有限体上の四則演算
装置であって、 式(x1 +y1 α)-1=(x1 (x1 +y1 )+ay1
2 )-1((x1 +y1)+y1 α)(x1 ,y1 ∈GF
(2n ))に基づき逆元を計算する逆元計算手段を有す
ることを特徴とする有限体上の四則演算装置。 - 【請求項4】 多項式p,q∈GF(22n)[X1 ,X
2 ,・・・,Xr ]の計算中現れるGF(22n)上の乗
算を前記乗算手段と前記2乗計算手段を用いることによ
り計算し、qのGF(22n)上の逆元q-1を前記逆元計
算手段を用いて計算し、p,qを計算したときと同じ方
法によりp×q-1を計算することにより有理式 【数4】 を計算する有理式計算手段を有する請求項1、2及び3
記載の有限体上の四則演算装置。 - 【請求項5】 式(x1 +y1 α)×(x2 +y2 α)
=(x1 x2 +ay 1 y2 )+((x1 +y1 )(x2
+y2 )+x1 x2 )α(x1 ,x2 ,y1,y2 ∈G
F(2n ))に基づき乗算を計算する乗算手段と、 式(x1 +y1 α)2 =(x1 2 +ay1 2 )+y1 2
α(x1 ,y1 ∈GF(2n ))に基づき2乗を計算す
る2乗計算手段と、 式(x1 +y1 α)-1=(x1 (x1 +y1 )+ay1
2 )-1((x1 +y 1 )+y1 α)(x1 ,y1 ∈GF
(2n ))に基づき逆元を計算する逆元計算手段と、 多項式p,q∈GF(22n)[X1 ,X2 ,・・・,X
r ]の計算中現れるGF(22n)上の乗算を前記乗算手
段と前記2乗計算手段を用いることにより計算し、qの
GF(22n)上の逆元q-1を前記逆元計算手段を用いて
計算し、p,qを計算したときと同じ方法によりp×q
-1を計算することにより有理式 【数5】 を計算する有理式計算手段と、 有限体GF(22n)上の楕円曲線E(GF(22n))上
の群の無限遠点Οでない元をアフィン座標(x,y)で
表したとき、群の逆元(i,j)のi,jはx,yの有
理式で表せることから、前記有理式計算手段を用いて楕
円曲線上の群の元の逆元を求める楕円曲線上の元の逆元
計算手段を有することを特徴とする楕円曲線上の群演算
装置。 - 【請求項6】 式(x1 +y1 α)×(x2 +y2 α)
=(x1 x2 +ay 1 y2 )+((x1 +y1 )(x2
+y2 )+x1 x2 )α(x1 ,x2 ,y1,y2 ∈G
F(2n ))に基づき乗算を計算する乗算手段と、 式(x1 +y1 α)2 =(x1 2 +ay1 2 )+y1 2
α(x1 ,y1 ∈GF(2n ))に基づき2乗を計算す
る2乗計算手段と、 式(x1 +y1 α)-1=(x1 (x1 +y1 )+ay1
2 )-1((x1 +y 1 )+y1 α)(x1 ,y1 ∈GF
(2n ))に基づき逆元を計算する逆元計算手段と、 有限体GF(22n)上の楕円曲線E(GF(22n))上
の群の無限遠点Οでない2つの元をアフィン座標
(x1 ,y1 ),(x2 ,y2 )で表したとき、和(x
3 ,y3 )=(x1 ,y1 )+(x2 ,y2 )のx3 ,
y3 は(x1 ,y1 )≠(x2 ,y2 )かつ(x1 ,y
1 )≠−(x2 ,y2 )であるときx1 ,y1,x2 ,
y2 の有理式で表せることから、前記逆元計算手段を用
いて楕円曲線上の群の元の和を求める加算手段を有する
ことを特徴とする楕円曲線上の群演算装置。 - 【請求項7】 式(x1 +y1 α)×(x2 +y2 α)
=(x1 x2 +ay 1 y2 )+((x1 +y1 )(x2
+y2 )+x1 x2 )α(x1 ,x2 ,y1,y2 ∈G
F(2n ))に基づき乗算を計算する乗算手段と、 式(x1 +y1 α)2 =(x1 2 +ay1 2 )+y1 2
α(x1 ,y1 ∈GF(2n ))に基づき2乗を計算す
る2乗計算手段と、 式(x1 +y1 α)-1=(x1 (x1 +y1 )+ay1
2 )-1((x1 +y 1 )+y1 α)(x1 ,y1 ∈GF
(2n ))に基づき逆元を計算する逆元計算手段と、 有限体GF(22n)上の楕円曲線E(GF(22n))上
の群の無限遠点Οでない元をアフィン座標(x,y)で
表したとき、2倍(x3 ,y3 )=2(x,y)の
x3 ,y3 は(x1 ,y)≠−(x,y)であるとき
x,yの有理式で表せることから、前記逆元計算手段を
用いて楕円曲線上の群の元の2倍を求める2倍算手段を
有することを特徴とする楕円曲線上の群演算装置。 - 【請求項8】 有限体GF(22n)上の楕円曲線E(G
F(22n))上の群の無限遠点Οでない元をアフィン座
標(x,y)で表したとき、自然数n倍(x 3 ,y3 )
=n(x,y)のx3 ,y3 は、逆元、加算、2倍算を
組み合わせることにより計算可能であることを利用し
て、前記楕円曲線上の元の逆元計算手段、前記加算手
段、前記2倍算手段を用いて楕円曲線上の群の元の自然
数倍を求める自然数倍計算手段を有する請求項5、6、
及び7記載の楕円曲線上の群演算装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9206995A JPH1152854A (ja) | 1997-07-31 | 1997-07-31 | 有限体上の四則演算装置及び楕円曲線上の群演算装置 |
US09/014,891 US6038581A (en) | 1997-01-29 | 1998-01-28 | Scheme for arithmetic operations in finite field and group operations over elliptic curves realizing improved computational speed |
US09/484,896 US6202076B1 (en) | 1997-01-29 | 2000-01-18 | Scheme for arithmetic operations in finite field and group operations over elliptic curves realizing improved computational speed |
US09/638,322 US6266688B1 (en) | 1997-01-29 | 2000-08-14 | Scheme for arithmetic operations in finite field and group operations over elliptic curves realizing improved computational speed |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9206995A JPH1152854A (ja) | 1997-07-31 | 1997-07-31 | 有限体上の四則演算装置及び楕円曲線上の群演算装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1152854A true JPH1152854A (ja) | 1999-02-26 |
Family
ID=16532452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9206995A Pending JPH1152854A (ja) | 1997-01-29 | 1997-07-31 | 有限体上の四則演算装置及び楕円曲線上の群演算装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH1152854A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020086005A (ko) * | 2001-05-10 | 2002-11-18 | 학교법인 정석학원 | 타원곡선 암호 시스템을 위한 역원 연산기 |
JP2005141198A (ja) * | 2003-10-14 | 2005-06-02 | Matsushita Electric Ind Co Ltd | データ変換装置およびその方法 |
JP2010186129A (ja) * | 2009-02-13 | 2010-08-26 | Mitsubishi Electric Corp | 符号化通信方法および符号化通信装置 |
US8208626B2 (en) | 2006-08-04 | 2012-06-26 | Samsung Electronics Co., Ltd. | Apparatus for performing a fault detection operation and method thereof |
CN102713921A (zh) * | 2010-01-13 | 2012-10-03 | 微软公司 | 使用聚集的求逆来确定曲线上的配对 |
-
1997
- 1997-07-31 JP JP9206995A patent/JPH1152854A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020086005A (ko) * | 2001-05-10 | 2002-11-18 | 학교법인 정석학원 | 타원곡선 암호 시스템을 위한 역원 연산기 |
JP2005141198A (ja) * | 2003-10-14 | 2005-06-02 | Matsushita Electric Ind Co Ltd | データ変換装置およびその方法 |
US8208626B2 (en) | 2006-08-04 | 2012-06-26 | Samsung Electronics Co., Ltd. | Apparatus for performing a fault detection operation and method thereof |
JP2010186129A (ja) * | 2009-02-13 | 2010-08-26 | Mitsubishi Electric Corp | 符号化通信方法および符号化通信装置 |
CN102713921A (zh) * | 2010-01-13 | 2012-10-03 | 微软公司 | 使用聚集的求逆来确定曲线上的配对 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Khalique et al. | Implementation of elliptic curve digital signature algorithm | |
Amara et al. | Elliptic curve cryptography and its applications | |
US6266688B1 (en) | Scheme for arithmetic operations in finite field and group operations over elliptic curves realizing improved computational speed | |
Reyad | Text message encoding based on elliptic curve cryptography and a mapping methodology | |
US6480606B1 (en) | Elliptic curve encryption method and system | |
Oswald | Introduction to elliptic curve cryptography | |
Moon et al. | Fast VLSI arithmetic algorithms for high-security elliptic curve cryptographic applications | |
JPH1152854A (ja) | 有限体上の四則演算装置及び楕円曲線上の群演算装置 | |
Stogbauer | Efficient Algorithms for pairing-based cryptosystems | |
Sundararajan et al. | A comprehensive survey on lightweight asymmetric key cryptographic algorithm for resource constrained devices | |
JP2005055488A (ja) | 楕円曲線暗号におけるスカラー倍計算方法と、その装置およびそのプログラム | |
KR100341507B1 (ko) | 빠른 유한체 연산을 이용한 타원곡선 암호화 방법 및 전자서명 방법 | |
Realpe-Muñoz et al. | High-performance elliptic curve cryptoprocessors over GF (2^ m) GF (2 m) on Koblitz curves | |
JPH1152851A (ja) | 楕円曲線上の群演算装置 | |
Pesonen | Performance Evaluation of Optimal Ate Pairing on Low-Cost Single Microprocessor Platform | |
JP4752176B2 (ja) | 一方向性関数演算方法及び装置及びプログラム | |
JP2005316038A (ja) | 楕円曲線暗号におけるスカラー倍計算方法と、その装置およびプログラム | |
JP2004205870A (ja) | 超楕円曲線スカラー倍演算方法及び装置 | |
Lin | Research on information encryption and authentication in big data environment | |
JPH02273779A (ja) | ディジタル署名装置 | |
Kultinov | Software Implementations and Applications of Elliptic Curve Cryptography | |
Ray et al. | An Innovative Way to Increase the Speed and Efficiency of Reverse Mapping of Elliptic Curve Points | |
Ming et al. | Optimized Implementation of SM2 Algorithm Based on Mobile Platforms | |
JP5038364B2 (ja) | 部分群上元判定方法及び装置及びプログラム | |
Bhatta et al. | Performance analysis of various optimization techniques for elliptic curve cryptosystems on resource-constrained devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 7 Free format text: PAYMENT UNTIL: 20080719 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090719 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100719 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 10 Free format text: PAYMENT UNTIL: 20110719 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 11 Free format text: PAYMENT UNTIL: 20120719 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120719 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130719 Year of fee payment: 12 |