JP2003208096A - 楕円曲線変換装置、楕円曲線変換方法、楕円曲線利用装置及び楕円曲線生成装置 - Google Patents
楕円曲線変換装置、楕円曲線変換方法、楕円曲線利用装置及び楕円曲線生成装置Info
- Publication number
- JP2003208096A JP2003208096A JP2002307370A JP2002307370A JP2003208096A JP 2003208096 A JP2003208096 A JP 2003208096A JP 2002307370 A JP2002307370 A JP 2002307370A JP 2002307370 A JP2002307370 A JP 2002307370A JP 2003208096 A JP2003208096 A JP 2003208096A
- Authority
- JP
- Japan
- Prior art keywords
- elliptic curve
- condition
- speed
- elliptic
- satisfying
- 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
Links
Abstract
ま、より計算量が削減される楕円曲線y^2=x^3−
3x+bに、極めて高い確率で、変換することができる
楕円曲線変換装置等を提供する。 【解決手段】 有限体F上の第1楕円曲線を有限体F上
の第2楕円曲線に変換する楕円曲線変換装置であって、
第1楕円曲線と位数が同じで、かつ、一定関係を有する
楕円曲線群であるL1次同種な楕円曲線群の中から、楕
円曲線上での演算の計算量が削減される高速化条件を満
たす楕円曲線を探索する楕円曲線生成部210と、楕円
曲線生成部210による探索により、高速化条件を満た
す楕円曲線が探索されたか否かを判定する楕円曲線条件
判定部220と、楕円曲線条件判定部220によって高
速化条件を満たす楕円曲線が探索されたと判断された場
合に、当該楕円曲線を出力する楕円曲線出力部230と
を備える。
Description
技術としての暗号技術に関し、特に、楕円曲線を用いる
秘密通信、デジタル署名及び鍵共有技術に関する。
信が広く普及してきており、このデータ通信において
は、秘密通信方式又はデジタル署名方式が用いられてい
る。ここで、秘密通信方式とは、特定の通信相手以外に
通信内容を漏らすことなく通信を行う方式である。また
デジタル署名方式とは、通信相手に通信内容の正当性を
示したり、発信者の身元を証明する通信方式である。
式には公開鍵暗号と呼ばれる暗号方式が用いられる。公
開鍵暗号は通信相手が多数の時、通信相手毎に異なる暗
号鍵を容易に管理するための方式であり、多数の通信相
手と通信を行うのに不可欠な基盤技術である。公開鍵暗
号を用いる秘密通信では、暗号化鍵と復号化鍵とが異な
り、復号化鍵は秘密にするが、暗号化鍵は公開する。
対数問題が用いられる。離散対数問題には、代表的なも
のとして、有限体上定義されるもの及び楕円曲線上定義
されるものがある(例えば、非特許文献1)。
円曲線上の離散対数問題とは、E(GF(p))を有限
体GF(p)上で定義された楕円曲線とし、楕円曲線E
の位数が大きな素数で割り切れる場合に、楕円曲線Eに
含まれる元Gをベースポイントとする。この時、楕円曲
線Eに含まれる与えられた元Yに対して、 (式1) Y=x*G となる整数xが存在するならば、xを求めよ、という問
題である。
を持つ有限体である。また、この明細書において、記号
*は、楕円曲線に含まれる元を複数回加算する演算を示
し、x*Gは、次式に示すように、楕円曲線に含まれる
元Gをx回加算することを意味する。
多くの元を有する有限体GF(p)に対して、上記問題
は極めて難しいからである。
エルガマル署名 以下に、上記楕円曲線上の離散対数問題を応用したエル
ガマル署名によるデジタル署名方式について、図11を
用いて、説明する。この図は、上記エルガマル署名によ
るデジタル署名方式の手順を示すシーケンス図である。
ユーザA11、管理センタ12及びユーザB13は、ネ
ットワークで接続されている。pを素数、有限体GF
(p)上の楕円曲線をEとする。Eのベースポイントを
Gとし、Eの位数をqとする。つまり、qは、 (式2) q*G=0 を満たす最小の正整数である。
∞)を無限遠点といい、0で表す。この0は、楕円曲線
を群とみた時に、無限遠点が加算における「零元」の役
割を果たす。
秘密鍵xAを用いて、式3に従って、ユーザA11の公
開鍵YAを生成する(ステップS141〜S142)。 (式3) YA=xA*G その後、管理センタ12は、素数p、楕円曲線E及びベ
ースポイントGをシステムパラメータとして公開し、ま
た、他のユーザB13にユーザA11の公開鍵YAを公
開する(ステップS143〜S144)。
5)。次に、ユーザA11は、 (式4) R1=(rx,ry)=k*G を計算し(ステップS146)、 (式5) s×k=m+rx×xA (mod q) から、sを計算する(ステップS147)。ここで、m
は、ユーザA11がユーザB13へ送信するメッセージ
である。さらに、ユーザA11は、得られた(R1、
s)を署名としてメッセージmと共に、ユーザB13へ
送信する(ステップS148)。
ユーザA11の身元を確認する(ステップS149)。
これは、 (式7) s*R1={((m+rx×xA)/k)×k}*G =(m+rx×xA)*G =m*G+(rx×xA)*G =m*G+rx*YA となることから明らかである。
による計算量 上記に示した楕円曲線上の離散対数問題を応用したエル
ガマル署名によるデジタル署名方式における公開鍵の生
成、署名生成、署名検証のそれぞれにおいて、楕円曲線
上の点の冪倍の演算の計算が行われる。例えば、式3に
示す「xA*G」、式4に示す「k*G」、式6に示す
「s*R1」、「m*G」、「rx*YA」は、楕円曲
線上の点の冪倍の演算である。なお、楕円曲線の演算公
式については、非特許文献2に詳述されている。
する。楕円曲線の方程式をy^2= x^3 +a×x
+b とし、任意の点Pの座標を(x1,y1)とし、
任意の点Qの座標を(x2,y2)とする。ここで、R
=P+Qで定まる点Rの座標を(x3,y3)とする。
の演算となる。加算の公式を以下に示す。
=P+Qは、2倍算の演算となる。2倍算の公式を以下
に示す。 x3={(3x1^2+a)/2y1}^2−2x1 y3={(3x1^2+a)/2y1}(x1−x3)−y1
有限体上での演算である。上記に示すように、2項組座
標であるアフィン座標、即ち今まで述べてきた座標にお
いて、楕円曲線上の加算演算を行う場合に、楕円曲線上
の加算1回につき、1回の有限体上の逆数計算が必要と
なる。一般に、有限体上の逆数計算は、有限体上での乗
算計算と比較して、10倍程度の計算量を必要とする。
て、射影座標と呼ばれる3項組の座標が用いられる。射
影座標とは、3項組X、Y、Zからなる座標のことであ
って、座標(X,Y,Z)と座標(X’,Y’,Z’)
とに対して、ある数nが存在して、X’=nX、Y’=
nY、Z’=nZなる関係があるならば、(X,Y,
Z)=(X’,Y’,Z’)とするものである。アフィ
ン座標(x,y)と射影座標(X,Y,Z)とは、 (x,y) → (x,y,1) (X,Y,Z)→ (X/Y,Y/Z) (Z≠0の
時)なる関係で、互いに対応している。ここで、記号→
は、次に示す意味で用いている。集合S1の任意の元
に、集合S2の一つの元が対応する時、S1→S2と表
記する。
で行われるものとする。次に、射影座標上の楕円曲線の
加算公式、2倍公式について説明する。これらの公式
は、もちろん、前に述べたアフィン座標における加算公
式、2倍公式と整合性のあるものである。冪倍の演算
は、楕円曲線上の点の加算、2倍算の演算の繰り返しに
よって実現できる。この冪倍の演算のうち、加算の計算
量は、楕円曲線のパラメータに依存しないが、2倍算の
計算量は、楕円曲線のパラメータに依存する。
有限体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を以下のようにして、求める。
算 以下を計算する。 (式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
算 以下を計算する。 (式20) X3=T (式21) Y3=−8×Y1^4+M×(S−T) (式22) Z3=2×Y1×Z1
の計算量について説明する。ここで、有限体GF(p)
上の1回の乗算による計算量を1Mul、1回の2乗算
による計算量を1Sqで表す。なお、一般のマイクロプ
ロセッサにおいては、1Sq≒0.8Mulである。
ている楕円曲線上の加算の計算量は、式8〜式16にお
いて、乗算の回数及び2乗算の回数をカウントすること
により得られ、12Mul+4Sqである。これは、式
8、9、10、11、14、15、16における加算の
計算量は、それぞれ、1Mul+1Sq、1Mul+1
Sq、2Mul、2Mul、2Mul+2Sq、2Mu
l、2Mulであることから明らかである。
示されている楕円曲線上の2倍算の計算量は、式17〜
式22において、乗算の回数及び2乗算の回数をカウン
トすることにより得られ、4Mul+6Sqである。こ
れは、式17、18、19、21、22における2倍算
の計算量は、それぞれ、1Mul+1Sq、1Mul+
3Sq、1Sq、1Mul+1Sq、1Mulであるこ
とから明らかである。
ば、式14のH^3については、H^3=H^2×Hと
展開できるので、H^3の計算量は、1Mul+1Sq
とし、式18のZ1^4については、Z1^4=(Z1
^2)^2と展開できるので、Z1^4の計算量は、2
Sqとする。
H^3の計算のプロセスにおいて、H^2が算出されて
いるので、H^2の計算量は再度カウントしない。ま
た、乗算の回数のカウントの際、ある値に小さい値を乗
じて行われる乗算の回数は、カウントしない。その理由
を以下に説明する。ここで言う小さい値とは、式8〜式
22において、乗算の対象となる小さい固定値であり、
具体的には、2、3、4、8などの値である。これらの
値は、多くとも4ビットの2進数で表現できる。一方、
その他の変数は、通常、160ビットの値を有してい
る。
数と被乗数との乗算は、被乗数のシフトと加算の繰り返
しにより行われる。即ち、2進数で表現される乗数の各
ビット毎に、このビットが1であるならば、2進数で表
現される被乗数の最下位ビットが、このビットの存在す
る位置に一致するように、被乗数をシフトして、1つの
ビット列を得る。乗数の全ビットについて、このように
して得られた少なくとも1つのビット列を全て加算す
る。
トの被乗数との乗算においては、160ビットの被乗数
を160回シフトし、160個のビット列を得、得られ
た160個のビット列を加算する。一方、4ビットの乗
数と160ビットの被乗数との乗算においては、160
ビットの被乗数を4回シフトし、4個のビット列を得、
得られた4個のビット列を加算する。
で、乗算がある値に小さい値を乗じて行われる場合に
は、前記繰り返しの回数が少なくなる。従って、その計
算量は少ないと見なせるので、乗算の回数にカウントし
ない。以上説明したように、楕円曲線の2倍算を行う場
合において、式18には、楕円曲線のパラメータaが含
まれている。このパラメータaの値として、例えば、小
さい値を採用すると、楕円曲線上の2倍算の計算量は、
1Mul分削減でき、3Mul+6Sqとなる。なお、
加算に関しては、楕円曲線のパラメータを変化させて
も、計算量は変わらない。
する。なお、その詳細については、「IEEE P1363 Worki
ng draft」(1997年2月6日、IEEE発行)に詳
しく書かれている。暗号に適した楕円曲線は、以下のス
テップを繰り返すことにより得られる。
ここで、a、bは、式23を満たし、pは素数である。 (式23) 4×a^3+27×b^2 ≠0 (mod p) 選択されたa、bを用いて、楕円曲線をE:y^2=x
^3+a×x+bとする。
であるかどうかを判定するために、楕円曲線Eの元の個
数#E(GF(p))を計算し、 (条件1) #E(GF(p))が大きな素数で割り切
れ、かつ、 (条件2) #E(GF(p))−(p+1)≠0,−
1である場合に、楕円曲線Eを採用する。
ータaとして固定的に小さい値を選択すると、楕円曲線
の冪倍の演算において計算量を削減できるものの、パラ
メータを予め固定的に取ることにより、暗号に適した安
全な楕円曲線を選択しにくいという問題点がある。
方法を用いて、暗号に適した安全な楕円曲線を選択する
と、楕円曲線のパラメータaとして小さい値を選択でき
るとは限らず、計算量を削減できないという問題点があ
る。このように、暗号に適した安全な楕円曲線を選択
し、その楕円曲線での演算量を削減するためには、相互
に矛盾し対立する問題点を有する。
置、楕円曲線変換方法及び楕円曲線利用装置」として、
以下の楕円曲線変換装置が示されている(例えば、特許
第3050313号公報)。この従来の楕円曲線変換装
置は、入力された任意の楕円曲線E:y^2=x^3+
ax+bを、その位数を変えることなく、小さな係数a
(a=−3など)を持つ楕円曲線E:y^2=x^3+
ax+bに変換する装置である。つまり、安全性を維持
したまま、より計算量を削減することが可能な楕円曲線
を生成する。この装置は、入力の楕円曲線をそれと同型
な楕円曲線に変換している。
ように、パラメータ受信部110、変換係数取得部12
0、変換楕円曲線算出部130、パラメータ送出部14
0から構成される。
ら、楕円曲線のパラメータa、bと、前記楕円曲線上の
元Gと、素数pとを受信する。ここで、pは、160ビ
ットの素数である。
暗号装置、復号装置、デジタル署名装置、デジタル署名
検証装置、鍵共有装置などが含まれる。前記外部の装置
は、公開鍵暗号の安全性の根拠として楕円曲線上の離散
対数問題を用いており、前記楕円曲線を有している。こ
こで、有限体GF(p)上の任意に構成される前記楕円
曲線は、E:y^2=x^3+ax+bで示され、前記
元Gは、前記楕円曲線の任意に構成され、G=(x0,
y0)で表される。
有する。関数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、…の値を有する。
て、iの値を1ずつ加算しながら、 (式24) −2^31+1≦T(i)≦2^31−1 を満たし、かつ、 (式25) T(i)=t^4×a (mod p) となる変換係数tであって、有限体GF(p)上の元で
ある変換係数tを算出する。
以下になるように取られることを示している。なお、関
数T(i)は、i=0の時に、−3の値を有しており、
変換係数取得部120は、i=0から始めて、iの値を
1ずつ加算しながら、関数T(i)の値を参照するの
で、最初に−3の値が参照される。
3の値を有していることを除いて、絶対値の小さい値か
ら大きい値へと順に値を有しているので、絶対値の小さ
い値から順に参照することができる。
(p)上に構成される変換楕円曲線Et:y’^2=
x’^3+a’×x’+b’のパラメータa’、b’を
それぞれ次のようにして、算出する。 (式26) a’=a×t^4 (式27) b’=b×t^6
に対応する変換楕円曲線Et上の元Gt=(xt0,y
t0)を次のようにして、算出する。 (式28) xt0=t^2×x0 (式29) yt0=t^3×y0
ようにして生成されたパラメータa’、b’で定まる変
換楕円曲線Et上の1点に変換される。
た変換楕円曲線Etのパラメータa’、b’と、元Gt
(xt0,yt0)とを前記外部の装置へ送出する。こ
のような従来の楕円曲線変換装置100の動作は以下の
通りである。
ら素数pと、楕円曲線Eのパラメータa及びbとを受け
取り(ステップS151)、前記楕円曲線上の元Gを受
け取る(ステップS152)。次に、変換係数取得部1
20は、変換係数tを算出し(ステップS153)、変
換楕円曲線算出部130は、有限体GF(p)上に構成
される変換楕円曲線Etのパラメータa’、b’と、元
Gに対応する変換楕円曲線Et上の元Gt=(xt0,
yt0)を算出し(ステップS154)、パラメータ送
出部140は、前記算出された変換楕円曲線Etのパラ
メータa’、b’と、元Gt(xt0,yt0)とを前
記外部の装置へ送出する(ステップS155)。
は以下の通りである。変換係数取得部120は、iに0
の値を設定する(ステップS161)。次に、変換係数
取得部120は、関数T(i)について、 −2^31+1≦T(i)≦2^31−1 を満たすかどうかを判定し、満たさないならば(ステッ
プS162)、処理を終了する。満たすならば(ステッ
プS162)、 T(i)=t^4×a (mod p) となる変換係数tを算出し(ステップS163)、算出
された変換係数tが有限体GF(p)上の元であるかど
うかを判定し、有限体GF(p)上の元であるなら(ス
テップS164)、処理を終了する。有限体GF(p)
上の元でないなら(ステップS164)、iに1を加算
し(ステップS165)、再度ステップS162へ制御
を戻す。
の動作をする。変換楕円曲線算出部130は、有限体G
F(p)上に構成される変換楕円曲線Etのパラメータ
a’=a×t^4を算出し(ステップS171)、パラ
メータb’=b×t^6を算出する(ステップS17
2)。また、変換楕円曲線算出部130は、元Gに対応
する変換楕円曲線Et上の元Gt=(xt0,yt0)
として、xt0=t^2×x0を算出し(ステップS1
73)、yt0=t^3×y0を算出する(ステップS
174)。
楕円曲線をそれと同型な楕円曲線に変換している。ステ
ップS164において、T(i)=−3とした時、式2
3のtがGF(p)の元である場合のみ、y^2=x^
3−3x+bの方程式をもつ楕円曲線に変換できる。
は、−3/aのGF(p)における4乗根が存在しなけ
ればならない。任意のxについて、xがGF(p)で2
乗根が存在する確率は1/2であるので、4乗根が存在
する確率は「2乗根の2乗根が存在する確率」であるか
ら、1/2×1/2=1/4である。従って、上記tが
GF(p)の元である確率は、1/4と低く、y^2=
x^3−3x+bの方程式をもつ楕円曲線に必ずしも変
換できないという問題点がある。
3+a×x+bの形をしている楕円曲線だけを対象とし
ている。このような楕円曲線はワイヤーシュトラス型楕
円曲線と呼ばれる。
x^2+xの形をしている楕円曲線をモンゴメリ型楕円
曲線と呼ぶ。この楕円曲線は、点の加算や2倍算が高速
であることが知られており、それぞれの計算量は、4M
ul+2Sq、3Mul+2Sqになる。上記5で述べ
たようにワイヤーシュトラス型楕円曲線の点の加算、2
倍算の計算量は、それぞれ、12Mul+4Sq、4M
ul+6Sqである。よって、モンゴメリ型楕円曲線の
方が点の加算、2倍算が高速である(例えば、非特許文
献3)。
法において、位数計算を行い、安全であるかを判定する
ことによって安全な楕円曲線を生成することがある。こ
こでの位数計算で、使用する楕円曲線はワイヤーシュト
ラス型である。ゆえに、この方法で生成できる楕円曲線
もワイヤーシュトラス型に限る。
方で、楕円曲線の同型を利用することにより、ワイヤー
シュトラス型楕円曲線からモンゴメリ型楕円曲線に変換
することが考えられる。しかし、上記従来の楕円曲線変
換装置においてa=−3を満たす楕円曲線を捜したのと
同様で、必ずしも変換可能ではない。即ち、モンゴメリ
型楕円曲線に変換できないワイヤーシュトラス型楕円曲
線が存在する。上記のように同型を利用する場合は、文
献「楕円曲線暗号演算の計算法について」(伊豆 哲
也、SCIS’99、275〜280ページ)より、ワ
イヤーシュトラス型楕円曲線からモンゴメリ楕円曲線に
変換可能である確率は19/48程度であり、必ずしも
モンゴメリ型楕円曲線に変換できないという問題点があ
る。
ン ナンバア セオリイ アンド クリプトグラヒイ
“(Neal Koblitz,A Course in Number theory and Cry
ptography”,Springer-Verlag,1987)
tiation”(Miyaji, Ono, and Cohen著、Advances in c
ryptology-proceedings of ICICS, 97, Lecture notes
in computer science, 1997, Springer-verlag, 282-29
0.)
Curve Methods of Factorization”(P.L.Montgomery
著,Math. of Comp. 48,1987,pp.243-264)
楕円曲線変換装置は、入力された任意な楕円曲線を、そ
の安全性を維持したまま、より高速化が可能な楕円曲線
y^2=x^3−3x+b(ワイヤーシュトラス型楕円
曲線)に変換し得るものの、必ずしも変換可能とは限ら
ないという問題点がある。また、ワイヤーシュトラス型
楕円曲線からモンゴメリ型楕円曲線への変換について
も、必ずしも変換可能とは限らないという問題点があ
る。
その安全性を維持したまま、より計算量が削減される楕
円曲線y^2=x^3−3x+bに、極めて高い確率
で、変換することができる楕円曲線変換装置等を提供す
ることを目的とする。
ラス型楕円曲線を、その安全性を維持したまま、より計
算量が削減されるモンゴメリ型楕円曲線に、極めて高い
確率で、変換することができる楕円曲線変換装置等を提
供することをも目的とする。
に、本発明に係る楕円曲線変換装置は、有限体F上の第
1楕円曲線を有限体F上の第2楕円曲線に変換する楕円
曲線変換装置であって、前記第1楕円曲線と位数が同じ
で、かつ、一定関係を有する楕円曲線群であるL1次同
種な楕円曲線群の中から、楕円曲線上での演算の計算量
が削減される高速化条件を満たす楕円曲線を探索する探
索手段と、前記探索手段による探索により、前記高速化
条件を満たす楕円曲線が探索されたか否かを判定する判
定手段と、前記判定手段によって前記高速化条件を満た
す楕円曲線が探索されたと判断された場合に、当該楕円
曲線を前記第2楕円曲線として出力する出力手段とを備
えることを特徴とする。
よって前記高速化条件を満たす楕円曲線が探索されなか
ったと判断された場合には、前記高速化条件を満たす楕
円曲線の探索を繰り返してもよい。
よって前記高速化条件を満たす楕円曲線が探索されなか
ったと判断された場合には、前記第1楕円曲線とL2次
同種な楕円曲線群の中から、前記高速化条件を満たす楕
円曲線を探索してもよいし、前記探索手段は、前記第1
楕円曲線と位数が同じで、かつ、L1次同種な楕円曲線
群の中から、楕円曲線上での演算の計算量が削減される
高速化条件を満たす楕円曲線の候補となる暫定的な楕円
曲線を特定し、前記判定手段は、前記探索手段で特定さ
れた暫定的な楕円曲線が前記高速化条件を満たすか否か
を判定し、前記探索手段は、前記判定手段によって前記
暫定的な楕円曲線が前記高速化条件を満たさないと判断
された場合には、前記暫定的な楕円曲線を新たな第1楕
円曲線とし、その第1楕円曲線と位数が同じで、かつ、
一定関係を有する楕円曲線群であるL1次同種な楕円曲
線群の中から、楕円曲線上での演算の計算量が削減され
る高速化条件を満たす楕円曲線を探索してもよい。
方程式y^2=x^3+a×x+bにおいてa=−3を
満たすことであってもよいし、前記高速化条件は、前記
楕円曲線がモンゴメリ型楕円曲線であることであっても
よい。
楕円曲線変換装置で得られた楕円曲線を利用する楕円曲
線利用装置であって、前記楕円曲線を特定するパラメー
タを記憶する記憶手段と、有限体Fの構造と前記記憶手
段に記憶されているパラメータとで定まる楕円曲線を利
用する暗号、復号、デジタル署名、デジタル署名検証又
は鍵共有を行う利用手段とを備え、前記楕円曲線変換装
置は、有限体F上の第1楕円曲線を有限体F上の第2楕
円曲線に変換する楕円曲線変換装置であって、前記第1
楕円曲線と位数が同じで、かつ、一定関係を有する楕円
曲線群であるL1次同種な楕円曲線群の中から、楕円曲
線上での演算の計算量が削減される高速化条件を満たす
楕円曲線を探索する探索手段と、前記探索手段による探
索により、前記高速化条件を満たす楕円曲線が探索され
たか否かを判定する判定手段と、前記判定手段によって
前記高速化条件を満たす楕円曲線が探索されたと判断さ
れた場合に、当該楕円曲線を前記第2楕円曲線として出
力する出力手段とを備えることを特徴とする。
有限体F上の楕円曲線を生成する楕円曲線生成装置であ
って、有限体F上の第1楕円曲線を生成する生成手段
と、生成された前記第1楕円曲線と位数が同じで、か
つ、一定関係を有する楕円曲線群であるL1次同種な楕
円曲線群の中から、楕円曲線上での演算の計算量が削減
される高速化条件を満たす楕円曲線を探索する探索手段
と、前記探索手段による探索により、前記高速化条件を
満たす楕円曲線が探索されたか否かを判定する判定手段
と、前記判定手段によって前記高速化条件を満たす楕円
曲線が探索されたと判断された場合に、当該楕円曲線を
前記第2楕円曲線として出力する出力手段とを備えるこ
とを特徴とする。
楕円曲線利用装置及び楕円曲線生成装置として実現する
ことができるだけでなく、それらの装置が備える特徴的
な手段をステップとする楕円曲線変換方法、楕円曲線利
用方法及び楕円曲線生成方法として実現したり、それら
のステップをコンピュータに実行させるプログラムとし
て実現することもできる。そして、そのプログラムは、
CD−ROM等の記録媒体やインターネット等の伝送媒
体を介して広く流通させることができるのは言うまでも
ない。
施の形態1における楕円曲線変換装置200について説
明する。
換装置200の構成を示す機能ブロック図である。楕円
曲線変換装置200は、コンピュータ上で実行されるプ
ログラム又はLSI等の電子回路で実現される装置であ
り、機能的に、楕円曲線生成部210と、楕円曲線条件
判定部220と、楕円曲線出力部230から構成され
る。楕円曲線変換装置200は、有限体GF(p)上楕
円曲線EI:y^2=x^3+a×x+bのパラメータ
p,a,bと楕円曲線EIの位数mEIを入力とし、そ
れと同種なGF(p)上の楕円曲線EO:y^2=x^
3−3×x+b’のパラメータb’を出力する。「同
種」については後述する。ここで、x×yはxとyの積
を示す。
の楕円曲線を受け取り、その楕円曲線と同種な楕円曲線
を生成し、楕円曲線条件判定部220及び楕円曲線出力
部230に出力する。具体的には、楕円曲線生成部21
0は、有限体GF(p)上の楕円曲線EI:y^2=x
^3+a×x+bのパラメータp,a,bと楕円曲線E
Iの位数mEIを入力とし、それと同種な楕円曲線EI
2:y^2=x^3+a2×x+b2を決定し、そのパラ
メータa2,b2を楕円曲線条件判定部220及び楕円曲
線出力部230に出力する。
成部210が出力した楕円曲線が係数a2=−3を満た
すか否かを判定し、満たさない場合は、その旨を楕円曲
線生成部210に通知することで、楕円曲線生成部21
0に、いま出力した楕円曲線を新たな入力楕円曲線とし
て、再び同様の処理(新たな楕円曲線の生成)繰り返さ
せる。一方、満たす場合は、その旨を楕円曲線出力部2
30に通知する。
定部220から条件を満たす旨の通知を受け取った場合
に、楕円曲線生成部210から出力された楕円曲線を外
部に出力する。具体的には、最終的な楕円曲線EO:y
^2=x^3−3×x+b’のパラメータb’として、
楕円曲線生成部210から受け取った楕円曲線EI2の
パラメータb2を外部に出力する。
態における楕円曲線変換装置200の動作を説明する。
図2は、楕円曲線変換装置200の動作を示すフローチ
ャートである。楕円曲線生成部210は、入力された任
意の楕円曲線を受け取り(ステップS200)、その楕
円曲線と同種な楕円曲線を生成し(ステップS20
1)、生成した楕円曲線を楕円曲線条件判定部220及
び楕円曲線出力部230に出力する。楕円曲線条件判定
部220は、楕円曲線生成部210が出力した楕円曲線
がa2=−3を満たすか否かを判定する(ステップS2
02)。
は(ステップS202でNo)、楕円曲線条件判定部2
20は、その旨を楕円曲線生成部210に通知し、その
通知を受けた楕円曲線生成部210は、いま生成した楕
円曲線を入力の楕円曲線として、再び、同種な他の楕円
曲線の生成を繰り返す(ステップS201〜S20
2)。
合は(ステップS202でYes)、楕円曲線条件判定
部220は、その旨を楕円曲線出力部230に通知し、
その通知を受けた楕円曲線出力部230は、楕円曲線生
成部210から出力された楕円曲線EI2のパラメータ
b2をb’として外部に出力する(ステップS20
3)。
部210の処理(ステップS201)の詳細な手順を示
すフローチャートである。楕円曲線生成部210は、以
下の手順により、入力された楕円曲線EI:y^2=x
^3+a×x+bから、それと同種な楕円曲線EI2:
y^2=x^3+a2×x+b2を生成する。
線EIのj不変数jEIを求める。 jEI=1728×(4×a^3+27×b^2)/
(4×a^3) ステップS302:素数Lに初期値(2)をセットす
る。 ステップS303:素数Lに対応するモジュラー多項式
ΦL(X、Y)を読み出す。
Yを未定変数として、有限体GF(p)上で解く。 ステップS305(S305a、S305b):解が2
個以上ない場合は、素数Lに、次に大きな素数をセット
し、ステップS303へ。なお、素数Lについては、予
め記憶している素数の系列(2,3,5,7,・・・)
から小さい順に取り出した値をセットする。
び、Sとする。 ステップS307:ΦL(X、S)=0をXを未定変数
として、有限体GF(p)上で解く。 ステップS308:上記解の中でjEIと等しい解以外
の解を取り、jEI2とする。
I2)が法pで平方剰余であるか否かを判定する。平方
剰余である場合ステップS310へ。それ以外は、ステ
ップS312へ。 ステップS310:(1−1728/jEI2)のGF
(p)における平方根を求め、Rとする。 ステップS311:a2=−3,b2=2×Rとする。ス
テップS313へ。
びb2を求める。 a2=3×jEI2/(1728−jEI2) b2=2×jEI2/(1728−jEI2) ステップS313:楕円曲線y^2=x^3+a2×x
+b2上のGF(p)を座標としてもつ点を探索し、P
EI2とする。
b):mEI*PEI2=Oを満たすか否か判定する。
但し、OはEI2の零元であり、mEI*PEI2はPE
I2のmEI倍の点である。満たす場合は、a2,b2を
出力し終了。それ以外はステップS315へ。
b):法pで平方非剰余の元を選びcとする。以下の式
より楕円曲線y^2=x^3+a2×x+b2のtwis
t:y^2=x^3+a2’×x+b2’を求める。tw
istについては後述する。 a2’=c^2×a2 b2’=c^3×b2 ステップS316:a2’とb2’を、a2,b2として出
力し終了。
条件判定部220からa2≠3の通知を受けた場合に
は、直前に生成した楕円曲線EI2を新たに入力された
楕円曲線EIとして(ステップS320)、再び、同様
の処理(ステップS301〜S316)を繰り返す。
曲線生成部210及び楕円曲線条件判定部220での処
理の意義について、基盤となる数学用語とともに、説明
する。なお、以下の用語については、文献「The Arithm
etic of Elliptic Curves」(J.H.Silverman著、GTM
106、Springer-verlag、1986年)で詳述されて
いる。
E上の点を(X、Y)とする時、X、Yの両方の座標が
Fに属する時、その点をF有理点という。F有理点全体
に楕円曲線の群の零元Oを加えた集合をE(F)と書
く。E(F)は楕円曲線の加算について群をなすことが
知られている。E(F)の元の個数を楕円曲線の位数と
呼ぶ。現在の楕円曲線暗号の安全性は、使用する楕円曲
線の位数に依存している。即ち、有限体Fが同じ、かつ
楕円曲線の位数が同じである楕円曲線同士は安全性が等
しい。
Eの群E(F)と楕円曲線E’の群E’(F)が群準同
型であり、1対1対応する場合、楕円曲線EとE’は
「同型」であるという。E:y^2=x^3+a×x+
bに対し、有限体Fの元cによって与えられる楕円曲線
E’:y^2=x^3+c^4×a×x+c^6×b
は、(x,y)→(cx,cy)によって同型であるこ
とがいえる。
E:y^2=x^3+a×x+bに対し、楕円曲線の位
数がEと同じである楕円曲線E’’をEと同種な楕円曲
線と呼ぶ。また、楕円曲線EとE’’が位数が等しい場
合、楕円曲線EとE’’は同種であるという。同種につ
いては、上記文献でも触れられているが、特に、文献
「Isogeny cycles and the Schoof-Elkies-Atkin algor
ithm」(J.-M.Couveignes,L.Dewaghe and F.Morain
著,Research Report LIX/RR/96/03,Ecole Polytechni
que-LIX,1996)で詳述されている。
の楕円曲線の間には、同種写像が存在する。同種写像
φ:E→E’’において、E’’の零元O’’に上記写
像によって移るE上の点の個数をLとする時、φはL次
同種写像とよび、楕円曲線EとE’’はL次同種である
という。楕円曲線EとL次同種な楕円曲線を求めるため
にモジュラー多項式が使用できる。モジュラー多項式は
Lのみに依存する2変数多項式である。楕円曲線変換装
置200内の楕円曲線生成部210によるステップS3
04からS308では、モジュラー多項式を用いて楕円
曲線EIとL次同種な楕円曲線を求めている。モジュラ
ー多項式及びモジュラー多項式の求め方については、特
に、文献「Calcul du nombre de points sur une courb
e elliptique dans un corps fini: aspectsalgorithmi
ques」(F.Morain著,J. Theor. Nombres Bordeaux 7,
1995,255-282)、文献「Counting points on elliptic
curves over finite fields」(R.Schoof著,J. Theor.
Nombres Bordeaux 7,1995,219-254)で詳述されてい
る。
ータとしてj不変数がある。楕円曲線E:y^2=x^
3+a×x+bのj不変数は以下の式で与えられる。
+27×b^2) 楕円曲線Eと、それと同型な楕円曲線E’のj不変数は
等しい。
曲線EとE’のj不変数が等しい時は、EとE’が同型
であるか、または、E’がEのtwistであるかのど
ちらかである。楕円曲線E:y^2=x^3+a×x+
bに対し、有限体Fの元cによって与えられる楕円曲線
Et:y^2=x^3+a×c^2×x+b×c^3を
Eのtwistと呼ぶ。上記で述べたように、EとEt
のj不変数は等しい。EとEのtwistは、一般に位
数は異なる。
04からS308ではL次同種な楕円曲線EI2を求め
ているが、j不変数から楕円曲線を求めているため、求
めたいL次同種な楕円曲線EI2のtwistを求めて
いる可能性がある。ステップS314では、求めたいL
次同種な楕円曲線が得られているかを判定するため、入
力の楕円曲線EIと位数が等しいかをチェックしてい
る。そこで、等しいと判定されない場合に、y^2=x
^3+a2×x+b2のtwistを計算している。
号の安全性は位数に依存する。そして、本楕円曲線変換
装置200は、入力された楕円曲線を同種な楕円曲線、
即ち、位数が等しい楕円曲線に変換しているため、安全
性を保持した変換を行っていると言える。
従来の楕円曲線変換装置は、入力された楕円曲線に対し
て、a=−3を満たす楕円曲線に1/4の確率でしか変
換できなかったが、本実施の形態1の楕円曲線変換装置
200は、同種の楕円曲線、つまり、位数が等しい極め
て数多くの楕円曲線を対象として探索しているので、位
数が等しい楕円曲線の中にa=−3のものがあれば必ず
変換可能になる。
変換装置によって、任意の楕円曲線を、その安全性を維
持したまま、より計算量が削減される、a=−3の楕円
曲線に極めて高い確率で変換可能になる。 (実施の形態2)本発明に係る実施の形態2における楕
円曲線変換装置400について説明する。
換装置400の構成を示す機能ブロック図である。楕円
曲線変換装置400は、コンピュータ上で実行されるプ
ログラム又はLSI等の電子回路で実現される装置であ
り、機能的に、楕円曲線生成部410と、楕円曲線条件
判定部420と、楕円曲線出力部430から構成され
る。楕円曲線変換装置400は、有限体GF(p)上の
ワイヤーシュトラス型楕円曲線EI:y^2=x^3+
a×x+bのパラメータp,a,bとその楕円曲線EI
の位数mEIを入力とし、それと同種なGF(p)上の
モンゴメリ型楕円曲線EO:B’×y^2=x^3+
A’×x^2+xのパラメータA’,B’を出力する。
のワイヤーシュトラス型楕円曲線を受け取り、その楕円
曲線と同種なモンゴメリ型楕円曲線を探索し、あれば、
その楕円曲線を生成し、楕円曲線条件判定部420及び
楕円曲線出力部430に出力する。具体的には、楕円曲
線生成部410は、入力される任意のワイヤーシュトラ
ス型楕円曲線EI:y^2=x^3+a×x+bのパラ
メータp,a,bと楕円曲線EIの位数mEIを入力と
し、それと同種なモンゴメリ型楕円曲線EI2:B2×y
^2=x^3+A2×x^2+xを探索し、見つかった
場合に、その楕円曲線のA2、B2を出力し、見つからな
ければFalseを出力する。
成部410からの出力値が楕円曲線のパラメータである
かFalseであるかを判定し、Falseの場合に
は、その旨を楕円曲線生成部410に通知することで、
楕円曲線生成部410に、他の同種なモンゴメリ型楕円
曲線を再び生成させる。一方、Falseでない場合
は、その旨を楕円曲線出力部430に通知する。
定部420から楕円曲線生成部410の出力値がFal
seでない旨の通知を受け取った場合に、楕円曲線生成
部410から出力された楕円曲線EI2:B2×y^2=
x^3+A2×x^2+xのパラメータA2、B2を
A’、B’として外部に出力する。
態における楕円曲線変換装置400の動作を説明する。
図6は、楕円曲線変換装置400の動作を示すフローチ
ャートである。まず、楕円曲線生成部410は、入力さ
れたワイヤーシュトラス型楕円曲線を受け取り(ステッ
プS400)、その楕円曲線と同種なモンゴメリ型楕円
曲線を探索し(ステップS401)、見つかった場合に
はその楕円曲線(パラメータA2,B2)を、見つからな
かった場合にはその旨(False)を楕円曲線条件判
定部420及び楕円曲線出力部430に出力する。楕円
曲線条件判定部420は、楕円曲線生成部410でモン
ゴメリ型楕円曲線が探索されたか否か、つまり、楕円曲
線生成部410の出力がFalseであるか否かを判定
し(S402)、探索されなかった場合、つまり、Fa
lseである場合は(ステップS402でNo)、その
旨を楕円曲線生成部410に通知する。
は、入力されたワーヤーシュトラス型楕円曲線と同種な
他のモンゴメリ型楕円曲線の探索を繰り返す(S401
〜S402)。このとき、楕円曲線生成部410は、こ
れまでとは異なる次数の同種写像(L次同種写像)を用
いて、入力されたワイヤーシュトラス型楕円曲線から他
の同種なモンゴメリ型楕円曲線の生成を試みる。
成功した場合には(ステップS402でYes)、楕円
曲線条件判定部420は、その旨を楕円曲線出力部43
0に通知する。そして、その通知を受けた楕円曲線出力
部430は、楕円曲線生成部410から出力されている
モンゴメリ型楕円曲線EI2のパラメータA2、B2を
A’、B’として出力する(ステップS403)。
部410の処理(ステップS401)の詳細な手順を示
すフローチャートである。楕円曲線生成部410は、以
下の手順により、入力された楕円曲線EI:y^2=x
^3+a×x+bのパラメータa,bとその楕円曲線E
Iの位数mEIから、それと同種なモンゴメリ型楕円曲
線EI2:B2×y^2=x^3+A2×x^2+xを探
索し、探索できた場合には、その係数A2、B2を出力
し、なければFalseを出力する。
線EIのj不変数jEIを求める。jEI=1728×
(4×a^3+27×b^2)/(4×a^3) ステップS502:素数Lに初期値(2)をセットす
る。 ステップS503:素数Lに対応するモジュラー多項式
ΦL(X、Y)を読み出す。
Yを未定変数として、有限体GF(p)上で解く。 ステップS505(S505a、S505b):解が2
個以上ない場合は、素数Lに、次に大きな素数をセット
し、ステップS503へ。なお、素数Lについては、予
め記憶している素数の系列(2,3,5,7,・・・)
から小さい順に取り出した値をセットする。
び、Sとする。 ステップS507:ΦL(X、S)=0をXを未定変数
として、有限体GF(p)上で解く。 ステップS508:上記解の中でjEIと等しい解以外
の解を取り、jEI2とする。
(p)上で解く。 X^6−9×X^4+27×(1―jEI2/172
8)+27×(4×jEI2/1728−1)=0 ステップS510(S510a、S510b):上記式
の解がある場合は、解の一つをA2としてステップS5
11へ。それ以外は、ステップ512へ。
ップS513へ。 ステップS512:Falseを出力し終了。 ステップS513:楕円曲線y^2=x^3+A2×x
^2+x上のGF(p)を座標としてもつ点を探索し、
PEI2とする。 ステップS514(S514a、S514b):mEI
*PEI2=Oを満たすか否か判定する。但し、OはE
I2の零元である。満たす場合は、A2,B2を出力し終
了。それ以外はステップS515へ。
b):法pで平方非剰余の元を選びcとする。以下の式
より楕円曲線y^2=x^3+A2×x^2+xのtw
ist:B2’×y^2=x^3+A2’×x^2+xを
求める。 A2’=A2 B2’=c^3 ステップS516:A2’とB2’を、A2,B2として出
力し終了。
条件判定部420から楕円曲線生成部410の出力がF
alseである旨の通知を受けた場合には、直前の素数
Lの次に大きな素数を素数Lにセットした後に(ステッ
プS505b)、上記ステップS503からの処理を繰
り返す。
入力された楕円曲線を同種な楕円曲線、即ち、位数が等
しい楕円曲線に変換しているため、楕円曲線変換装置4
00は安全性を保持した変換を行っていると言える。
る従来の楕円曲線変換装置と同じ考えに基づき、入力さ
れたワイヤーシュトラス型楕円曲線を同型のモンゴメリ
型楕円曲線に変換した場合の変換方法と本実施の形態に
おける変換方法とを比較する。従来の楕円曲線変換装置
は、入力された楕円曲線をモンゴメリ型楕円曲線に19
/48の確率でしか変換できない。一方、本実施の形態
の楕円曲線変換装置400は、同種、即ち、位数が等し
い楕円曲線に変換するため、位数が等しい楕円曲線の中
にモンゴメリ型楕円曲線があれば必ず変換可能になる。
換装置によって、任意のワイヤーシュトラス型楕円曲線
を、その安全性を維持したまま、より計算量が削減され
る、モンゴメリ型楕円曲線に極めて高い確率で変換可能
になる。
に共通する本発明の基本的なアルゴリズムを上記特許第
3050313号に係る従来の楕円曲線変換装置と対比
して説明する。図9(a)は、上記従来の楕円曲線変換
装置による楕円曲線の探索手法を示す図であり、図9
(b)は、実施の形態1における楕円曲線変換装置20
0による楕円曲線の探索手法を示す図であり、図9
(c)は、実施の形態2における楕円曲線変換装置40
0による楕円曲線の探索手法を示す図である。なお、こ
れらの図において、外側に位置する大きな枠500は、
楕円曲線変換装置に入力された楕円曲線と同種の楕円曲
線の集合を示し、黒丸501は、楕円曲線変換装置に入
力された楕円曲線、枠502は、その楕円曲線501と
同型の楕円曲線の集合を示し、枠510〜512及び5
20〜522は、入力された楕円曲線501と図示され
ているようなL次同種の関係にある楕円曲線の集合を示
す。
曲線変換装置は、入力された楕円曲線501と同型な楕
円曲線群502の中から、一定条件(a2=−3)を満
たす楕円曲線を探索している。一方、本発明に係る実施
の形態1における楕円曲線変換装置200は、図9
(b)に示されるように、入力された楕円曲線501と
L1次同種な楕円曲線群510の中から、a2=−3とい
う高速化条件を満たす楕円曲線を探索し、見つからなか
った場合に、そのL1次同種な楕円曲線510とさらに
L1次同種な楕円曲線群511(つまり、楕円曲線50
1とL1^2次同種な楕円曲線の中から探索する、とい
う探索を同種な楕円曲線の範囲で繰り返している。
200は、同型という狭い範囲に属する楕円曲線群を対
象として目的の楕円曲線を探索する従来の楕円曲線変換
装置と異なり、同種というより広い範囲に属する楕円曲
線群を対象として目的の楕円曲線を探索しているので、
同種の楕円曲線群の中に目的の楕円曲線が存在する限
り、100%の確率で、目的の楕円曲線を探索し、生成
することができる。
L1次同種な写像を施して得られた楕円曲線510に対
して、再び、L1次同種な写像を施して得られる楕円曲
線511は、元の楕円曲線501に対してL1^2次同
種な写像を施すことに等しい。
明の実施の形態2における楕円曲線変換装置400は、
入力された楕円曲線501とL1次同種な楕円曲線群5
20の中から、モンゴメリ型楕円曲線という高速化条件
を満たす楕円曲線を探索し、見つからなかった場合に
は、今度は、入力された楕円曲線501をL2次同種な
楕円曲線群521の中から探索する、という探索を同種
な楕円曲線群500の範囲で繰り返している。
400は、同型という狭い範囲に属する楕円曲線群を対
象として目的の楕円曲線を探索する従来の楕円曲線変換
装置と異なり、同種というより広い範囲に属する楕円曲
線群を対象として目的の楕円曲線を探索しているので、
同種の楕円曲線群の中に目的の楕円曲線が存在する限
り、100%の確率で、目的の楕円曲線を探索し、生成
することができる。
いて、2つの実施の形態に基づいて説明したが、本発明
はこれらの実施の形態に限られないことは勿論である。
示される同種写像が用いられたが、図9(b)に示され
る同種写像を用いてよい。つまり、一旦生成された楕円
曲線を新たな入力楕円曲線として探索を繰り返すのでは
なく、最初に入力された楕円曲線に対して、異なる同種
写像を繰り返すことによって探索を行ってもよい。
生成部410によるステップS305、S505での判
定条件として、「解が2個である」としてもよい。さら
に、この時、ステップS302、S502では、それぞ
れ、ステップS305a、S505aで「解が2個であ
る」と判定された後は、その時のLの値に設定すること
としてもよい。つまり、ステップS305a、S505
aで「解が2個以上である」と判定された場合には、入
力された楕円曲線に対してその時のLによる同種(L次
同種)の写像を繰り返すことができる(写像後の楕円曲
線が必ず存在する)ことが保証されているので、図9
(b)に示されるような同一次数(L)のL次写像の繰
り返しが可能になる。
変換装置で得られた楕円曲線を利用する楕円曲線利用装
置として実現することもできる。楕円曲線利用装置の具
体的な例は、暗号化装置及び復号化装置からなる暗号通
信システム、デジタル署名装置及び署名検証装置からな
るデジタル署名システム、2つの装置が相互に相手の正
当性を認証し合うことによって秘密鍵の共有化を図る鍵
共有システム等である。
のように、本発明に係る楕円曲線変換装置を備える管理
センタCが、暗号通信システムで使用される楕円曲線
(例えば、a2=−3の楕円曲線)を生成し、ユーザA
1〜Anに提供したり、デジタル署名システムで使用さ
れる楕円曲線(例えば、モンゴメリ型楕円曲線)を生成
し、ユーザB1〜Bnに提供したりする。
定期間を経過したときに、管理センタCが、本発明に係
る楕円曲線変換装置を用いて新たな楕円曲線を生成し、
ユーザA1〜An及びユーザB1〜Bnに提供し、暗号
通信システム及びデジタル署名システムで使用される楕
円曲線を更新してもよい。また、ユーザA1〜Anの装
置が管理センタCの楕円曲線変換装置に対して、それま
で使用していた楕円曲線のパラメータ(p,a,b,m
EI)を通知し、そのパラメータを入力として管理セン
タCの楕円曲線変換装置が新たな楕円曲線を生成し、ユ
ーザA1〜Anに返信してもよい。そして、ユーザA1
〜Anの装置は、管理センタCの楕円曲線変換装置から
返信されてきた新たな楕円曲線を用いて暗号通信を行う
ことにする。これによって、暗号の基盤となる楕円曲線
が動的に変更される安全性の高い暗号システムが実現さ
れる。
変換装置を備える安全な楕円曲線のパラメータを生成す
る楕円曲線生成装置であってもよい。例えば、上記実施
の形態における楕円曲線変換装置への入力パラメータの
セットを一定手順で生成したり、複数の入力パラメータ
のセットを予め保持しておき、順次、楕円曲線変換装置
に出力する入力パラメータ生成部を設けることで、その
入力パラメータ生成部と楕円曲線変換装置とからなる楕
円曲線生成装置を実現することができる。
換装置は、楕円曲線の条件として、a=−3を満たす、
あるいは、モンゴメリ型楕円曲線である、としている
が、これら条件を満たす可能性のある条件、つまり、楕
円曲線上での演算の計算量が削減されるという高速化条
件であれば、どのようなものであってもよい。
換装置では、楕円曲線条件判定部によって一定の楕円曲
線の条件が満たされないと判断された場合には、楕円曲
線生成部による処理が繰り返されたが、このような繰り
返し処理を行わず、何も出力しないようにしてもよい。
また、一定回数を限度に繰り返すこととしてもよい。こ
れによって、一定の時間制約の下での楕円曲線変換が可
能となる。
円曲線変換装置が備える特徴的な構成要素をステップと
する楕円曲線変換方法として実現することもできる。
入力されたワイヤーシュトラス型楕円曲線に対して、そ
の楕円曲線と同種な楕円曲線の中にa=−3を満たす楕
円曲線、あるいは、モンゴメリ型楕円曲線が存在する限
り、そのような楕円曲線に変換することができる。した
がって、安全性を損なうことなく、より計算量が削減さ
れる楕円曲線を生成することが容易となり、楕円曲線を
用いる暗号通信システム、電子署名システム、あるい
は、鍵共有化システムに、特に、複数の楕円曲線を採用
するシステムや楕円曲線を動的に変更するようなシステ
ムに好適であり、高い安全性が要求される電子決済や秘
密通信、デジタル著作物保護等の基盤技術として、その
実用的価値は極めて大きい。
置の構成を示す機能ブロック図である。
トである。
S201)の詳細な手順を示すフローチャートの前半部
である。
S201)の詳細な手順を示すフローチャートの後半部
である。
置の構成を示す機能ブロック図である。
トである。
S401)の詳細な手順を示すフローチャートの前半部
である。
S401)の詳細な手順を示すフローチャートの後半部
である。
曲線の探索手法を示す図であり、(b)は、本発明に係
る楕円曲線変換装置による楕円曲線の探索手法を示す図
である。
す通信システムのシーケンス図である。
順を示すシーケンス図である。
る。
Claims (23)
- 【請求項1】 有限体F上の第1楕円曲線を有限体F上
の第2楕円曲線に変換する楕円曲線変換装置であって、 前記第1楕円曲線と位数が同じで、かつ、一定関係を有
する楕円曲線群であるL1次同種な楕円曲線群の中か
ら、楕円曲線上での演算の計算量が削減される高速化条
件を満たす楕円曲線を探索する探索手段と、 前記探索手段による探索により、前記高速化条件を満た
す楕円曲線が探索されたか否かを判定する判定手段と、 前記判定手段によって前記高速化条件を満たす楕円曲線
が探索されたと判断された場合に、当該楕円曲線を前記
第2楕円曲線として出力する出力手段とを備えることを
特徴とする楕円曲線変換装置。 - 【請求項2】 前記探索手段は、前記第1楕円曲線のj
不変数と素数Lに対応するモジュラー多項式とから前記
L1次同種な楕円曲線群を特定することを特徴とする請
求項1記載の楕円曲線変換装置。 - 【請求項3】 前記探索手段は、 前記第1楕円曲線のj不変数を算出するj不変数算出部
と、 素数Lを生成する素数生成部と、 生成された前記素数Lから計算可能なモジュラー多項式
Φ(X、Y)を生成する多項式生成部と、 生成された前記モジュラー多項式Φ(X、Y)と前記j
不変数とを用いて、方程式を生成する方程式生成部と、 生成された前記方程式について前記有限体F上における
解を算出する方程式求解部と、 算出された前記解の個数が予め与えられた個数条件を満
たすか否かを判定する解判定部と、 前記解の個数が前記個数条件を満たすまで、前記素数生
成部、前記多項式生成部、前記方程式生成部、前記方程
式求解部及び前記解判定部に対して、それぞれ、異なる
素数の生成、多項式の生成、方程式の生成、方程式の求
解及び解の個数の判定をするように制御する制御部とを
有することを特徴とする請求項2記載の楕円曲線変換装
置。 - 【請求項4】 前記素数生成部は、小さい素数から順に
生成することを特徴とする請求項3記載の楕円曲線変換
装置。 - 【請求項5】 前記探索手段は、前記解の個数が前記個
数条件を満たした後は、前記素数生成部に新たな素数を
生成させることなく、同一の素数を用いて、楕円曲線を
探索することを特徴とする請求項3記載の楕円曲線変換
装置。 - 【請求項6】 前記探索手段は、前記判定手段によって
前記高速化条件を満たす楕円曲線が探索されなかったと
判断された場合には、前記高速化条件を満たす楕円曲線
の探索を繰り返すことを特徴とする請求項1記載の楕円
曲線変換装置。 - 【請求項7】 前記探索手段は、前記判定手段によって
前記高速化条件を満たす楕円曲線が探索されなかったと
判断された場合には、前記第1楕円曲線とL2次同種な
楕円曲線群の中から、前記高速化条件を満たす楕円曲線
を探索することを特徴とする請求項6記載の楕円曲線変
換装置。 - 【請求項8】 前記探索手段は、前記第1楕円曲線のj
不変数と素数Lに対応するモジュラー多項式とから前記
L1次同種な楕円曲線群を特定し、前記判定手段によっ
て前記高速化条件を満たす楕円曲線が探索されなかった
と判断された場合には、前記素数Lを他の素数に換える
ことにより、前記L2次同種な楕円曲線を特定すること
を特徴とする請求項7記載の楕円曲線変換装置。 - 【請求項9】 前記探索手段は、前記第1楕円曲線と位
数が同じで、かつ、L1次同種な楕円曲線群の中から、
楕円曲線上での演算の計算量が削減される高速化条件を
満たす楕円曲線の候補となる暫定的な楕円曲線を特定
し、前記判定手段は、前記探索手段で特定された暫定的
な楕円曲線が前記高速化条件を満たすか否かを判定し、 前記探索手段は、前記判定手段によって前記暫定的な楕
円曲線が前記高速化条件を満たさないと判断された場合
には、前記暫定的な楕円曲線を新たな第1楕円曲線と
し、その第1楕円曲線と位数が同じで、かつ、一定関係
を有する楕円曲線群であるL1次同種な楕円曲線群の中
から、楕円曲線上での演算の計算量が削減される高速化
条件を満たす楕円曲線を探索することを特徴とする請求
項6記載の楕円曲線変換装置。 - 【請求項10】 前記探索手段は、前記第1楕円曲線の
j不変数と素数Lに対応するモジュラー多項式とから前
記L1次同種な楕円曲線群を特定し、前記判定手段によ
って前記高速化条件を満たす楕円曲線が探索されなかっ
たと判断された場合には、同一の素数を用いて、前記L
1次同種な楕円曲線を探索することを特徴とする請求項
9記載の楕円曲線変換装置。 - 【請求項11】 前記高速化条件は、前記楕円曲線の方
程式y^2=x^3+a×x+bにおいてa=−3を満
たすことであることを特徴とする請求項1記載の楕円曲
線変換装置。 - 【請求項12】 前記高速化条件は、前記楕円曲線がモ
ンゴメリ型楕円曲線であることであることを特徴とする
請求項1記載の楕円曲線変換装置。 - 【請求項13】 有限体F上の第1楕円曲線を有限体F
上の第2楕円曲線に変換する楕円曲線変換方法であっ
て、 前記第1楕円曲線と位数が同じで、かつ、一定関係を有
する楕円曲線群であるL1次同種な楕円曲線群の中か
ら、楕円曲線上での演算の計算量が削減される高速化条
件を満たす楕円曲線を探索する探索ステップと、 前記探索ステップでの探索により、前記高速化条件を満
たす楕円曲線が探索されたか否かを判定する判定ステッ
プと、 前記判定ステップにおいて前記高速化条件を満たす楕円
曲線が探索されたと判断された場合に、当該楕円曲線を
前記第2楕円曲線として出力する出力ステップとを備え
ることを特徴とする楕円曲線変換方法。 - 【請求項14】 前記探索ステップでは、前記判定ステ
ップで前記高速化条件を満たす楕円曲線が探索されなか
ったと判断された場合には、前記高速化条件を満たす楕
円曲線の探索を繰り返すことを特徴とする請求項13記
載の楕円曲線変換方法。 - 【請求項15】 前記探索ステップでは、前記判定ステ
ップで前記高速化条件を満たす楕円曲線が探索されなか
ったと判断された場合には、前記第1楕円曲線とL2次
同種な楕円曲線群の中から、前記高速化条件を満たす楕
円曲線を探索することを特徴とする請求項14記載の楕
円曲線変換方法。 - 【請求項16】 前記探索ステップでは、前記第1楕円
曲線と位数が同じで、かつ、L1次同種な楕円曲線群の
中から、楕円曲線上での演算の計算量が削減される高速
化条件を満たす楕円曲線の候補となる暫定的な楕円曲線
を特定し、 前記判定ステップでは、前記探索ステップで特定された
暫定的な楕円曲線が前記高速化条件を満たすか否かを判
定し、 前記探索ステップでは、前記判定ステップによって前記
暫定的な楕円曲線が前記高速化条件を満たさないと判断
された場合には、前記暫定的な楕円曲線を新たな第1楕
円曲線とし、その第1楕円曲線と位数が同じで、かつ、
一定関係を有する楕円曲線群であるL1次同種な楕円曲
線群の中から、楕円曲線上での演算の計算量が削減され
る高速化条件を満たす楕円曲線を探索することを特徴と
する請求項14記載の楕円曲線変換方法。 - 【請求項17】 有限体F上の第1楕円曲線を有限体F
上の第2楕円曲線に変換するためのプログラムであっ
て、 前記第1楕円曲線と位数が同じで、かつ、一定関係を有
する楕円曲線群であるL1次同種な楕円曲線群の中か
ら、楕円曲線上での演算の計算量が削減される高速化条
件を満たす楕円曲線を探索する探索ステップと、 前記探索ステップでの探索により、前記高速化条件を満
たす楕円曲線が探索されたか否かを判定する判定ステッ
プと、 前記判定ステップにおいて前記高速化条件を満たす楕円
曲線が探索されたと判断された場合に、当該楕円曲線を
前記第2楕円曲線として出力する出力ステップとをコン
ピュータに実行させることを特徴とするプログラム。 - 【請求項18】 楕円曲線変換装置で得られた楕円曲線
を利用する楕円曲線利用装置であって、 前記楕円曲線を特定するパラメータを記憶する記憶手段
と、 有限体Fの構造と前記記憶手段に記憶されているパラメ
ータとで定まる楕円曲線を利用する暗号、復号、デジタ
ル署名、デジタル署名検証又は鍵共有を行う利用手段と
を備え、 前記楕円曲線変換装置は、 有限体F上の第1楕円曲線を有限体F上の第2楕円曲線
に変換する楕円曲線変換装置であって、 前記第1楕円曲線と位数が同じで、かつ、一定関係を有
する楕円曲線群であるL1次同種な楕円曲線群の中か
ら、楕円曲線上での演算の計算量が削減される高速化条
件を満たす楕円曲線を探索する探索手段と、 前記探索手段による探索により、前記高速化条件を満た
す楕円曲線が探索されたか否かを判定する判定手段と、 前記判定手段によって前記高速化条件を満たす楕円曲線
が探索されたと判断された場合に、当該楕円曲線を前記
第2楕円曲線として出力する出力手段とを備えることを
特徴とする楕円曲線利用装置。 - 【請求項19】 前記楕円曲線利用装置は、さらに、 前記記憶手段に記憶されているパラメータを前記楕円曲
線変換装置に送信することによって、前記楕円曲線変換
装置に新たな楕円曲線を生成させるパラメータ送信手段
と、 前記楕円曲線変換装置で生成された楕円曲線を特定する
パラメータで前記記憶手段の内容を更新するパラメータ
更新手段とを備えることを特徴とする請求項18記載の
楕円曲線利用装置。 - 【請求項20】 有限体F上の楕円曲線を生成する楕円
曲線生成装置であって、 有限体F上の第1楕円曲線を生成する生成手段と、 生成された前記第1楕円曲線と位数が同じで、かつ、一
定関係を有する楕円曲線群であるL1次同種な楕円曲線
群の中から、楕円曲線上での演算の計算量が削減される
高速化条件を満たす楕円曲線を探索する探索手段と、 前記探索手段による探索により、前記高速化条件を満た
す楕円曲線が探索されたか否かを判定する判定手段と、 前記判定手段によって前記高速化条件を満たす楕円曲線
が探索されたと判断された場合に、当該楕円曲線を前記
第2楕円曲線として出力する出力手段とを備えることを
特徴とする楕円曲線生成装置。 - 【請求項21】 前記探索手段は、前記判定手段によっ
て前記高速化条件を満たす楕円曲線が探索されなかった
と判断された場合には、前記高速化条件を満たす楕円曲
線の探索を繰り返すことを特徴とする請求項20記載の
楕円曲線生成装置。 - 【請求項22】 前記高速化条件は、前記楕円曲線の方
程式y^2=x^3+a×x+bにおいてa=−3を満
たすことであることを特徴とする請求項20記載の楕円
曲線生成装置。 - 【請求項23】 前記高速化条件は、前記楕円曲線がモ
ンゴメリ型楕円曲線であることであることを特徴とする
請求項20記載の楕円曲線生成装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002307370A JP4225764B2 (ja) | 2001-10-25 | 2002-10-22 | 楕円曲線変換装置、楕円曲線変換方法、楕円曲線利用装置及び楕円曲線生成装置 |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001-327337 | 2001-10-25 | ||
| JP2001327337 | 2001-10-25 | ||
| JP2002307370A JP4225764B2 (ja) | 2001-10-25 | 2002-10-22 | 楕円曲線変換装置、楕円曲線変換方法、楕円曲線利用装置及び楕円曲線生成装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2003208096A true JP2003208096A (ja) | 2003-07-25 |
| JP4225764B2 JP4225764B2 (ja) | 2009-02-18 |
Family
ID=27666479
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002307370A Expired - Fee Related JP4225764B2 (ja) | 2001-10-25 | 2002-10-22 | 楕円曲線変換装置、楕円曲線変換方法、楕円曲線利用装置及び楕円曲線生成装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4225764B2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017126024A (ja) * | 2016-01-15 | 2017-07-20 | 三菱電機株式会社 | 暗号装置、暗号方法及び暗号プログラム |
| JP2020509695A (ja) * | 2017-02-28 | 2020-03-26 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | 楕円曲線の同種に基づくキー合意プロトコル |
-
2002
- 2002-10-22 JP JP2002307370A patent/JP4225764B2/ja not_active Expired - Fee Related
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017126024A (ja) * | 2016-01-15 | 2017-07-20 | 三菱電機株式会社 | 暗号装置、暗号方法及び暗号プログラム |
| JP2020509695A (ja) * | 2017-02-28 | 2020-03-26 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | 楕円曲線の同種に基づくキー合意プロトコル |
| JP7221872B2 (ja) | 2017-02-28 | 2023-02-14 | コーニンクレッカ フィリップス エヌ ヴェ | 楕円曲線の同種に基づくキー合意プロトコル |
Also Published As
| Publication number | Publication date |
|---|---|
| JP4225764B2 (ja) | 2009-02-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Jalali et al. | Supersingular isogeny Diffie-Hellman key exchange on 64-bit ARM | |
| Galbraith | Mathematics of public key cryptography | |
| Koziel et al. | Post-quantum cryptography on FPGA based on isogenies on elliptic curves | |
| EP1306749B1 (en) | Elliptic curve converting device | |
| Cohen et al. | Handbook of elliptic and hyperelliptic curve cryptography | |
| US20070291934A1 (en) | Method, system and computer program for polynomial based hashing and message authentication coding with separate generation of spectrums | |
| Ding et al. | The nested subset differential attack: a practical direct attack against luov which forges a signature within 210 minutes | |
| Wang et al. | A novel block cryptosystem based on the coupled chaotic map lattice | |
| CN101005350B (zh) | 加密处理设备和加密处理方法 | |
| Boruah et al. | Implementation of ElGamal Elliptic Curve Cryptography over prime field using C | |
| US6480606B1 (en) | Elliptic curve encryption method and system | |
| Gligoroski et al. | Edon-R, An Infinite Family of Cryptographic Hash Functions. | |
| Duong et al. | Structure of quaternion-type algebras and a post-quantum signature algorithm. | |
| US20160072622A1 (en) | Method and apparatus for scalar multiplication secure against differential power attacks | |
| Amounas | Elliptic curve digital signature algorithm using Boolean permutation based ECC | |
| Nawari et al. | Fpga based implementation of elliptic curve cryptography | |
| Ustymenko et al. | On the implementation of new symmetric ciphers based on non-bijective multivariate maps | |
| Taşkın et al. | Tmvp-friendly primes for efficient elliptic curve cryptography | |
| Sule | Local inversion of maps: A new attack on Symmetric encryption, RSA and ECDLP | |
| JP4225764B2 (ja) | 楕円曲線変換装置、楕円曲線変換方法、楕円曲線利用装置及び楕円曲線生成装置 | |
| JP3050313B2 (ja) | 楕円曲線変換装置、利用装置及び利用システム | |
| Realpe-Muñoz et al. | High-performance elliptic curve cryptoprocessors over GF (2 m) on Koblitz curves | |
| KR100341507B1 (ko) | 빠른 유한체 연산을 이용한 타원곡선 암호화 방법 및 전자서명 방법 | |
| Trung et al. | The comparison of several cryptosystems using the elliptic curve: a report | |
| JPH1152854A (ja) | 有限体上の四則演算装置及び楕円曲線上の群演算装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050705 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080722 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080829 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20081028 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081125 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111205 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4225764 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111205 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121205 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121205 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131205 Year of fee payment: 5 |
|
| LAPS | Cancellation because of no payment of annual fees |