JP2003263110A - 楕円曲線上の有理点群の部分群の元生成装置、そのプログラム及び記録媒体 - Google Patents
楕円曲線上の有理点群の部分群の元生成装置、そのプログラム及び記録媒体Info
- Publication number
- JP2003263110A JP2003263110A JP2002063054A JP2002063054A JP2003263110A JP 2003263110 A JP2003263110 A JP 2003263110A JP 2002063054 A JP2002063054 A JP 2002063054A JP 2002063054 A JP2002063054 A JP 2002063054A JP 2003263110 A JP2003263110 A JP 2003263110A
- Authority
- JP
- Japan
- Prior art keywords
- elliptic curve
- subgroup
- rational point
- point group
- elliptic
- 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
Abstract
(57)【要約】
【課題】 演算コストを減少させる。
【解決手段】 ランダム元生成部20で楕円曲線定義体
GF(p)の元x1 をランダムに発生させ、それを楕円
曲線定義方程式のxの値として代入して、y1 の解を確
率的に決定し、楕円曲線上の有理点群のランダムな元P
=(x1 ,y1)を求める。楕円曲線上の有理点群E(G
F(p))のシステムが要求する部分群の位数qでE
(GF(p))の位数sを割った値c(qと互いに素)
でPを楕円スカラー倍し、cPを部分群上のランダムな
元Qとして出力する。
GF(p)の元x1 をランダムに発生させ、それを楕円
曲線定義方程式のxの値として代入して、y1 の解を確
率的に決定し、楕円曲線上の有理点群のランダムな元P
=(x1 ,y1)を求める。楕円曲線上の有理点群E(G
F(p))のシステムが要求する部分群の位数qでE
(GF(p))の位数sを割った値c(qと互いに素)
でPを楕円スカラー倍し、cPを部分群上のランダムな
元Qとして出力する。
Description
【0001】
【発明の属する技術分野】この発明は例えば楕円曲線暗
号あるいは一般に代数曲線暗号などの情報セキュリティ
技術に利用され、楕円曲線あるいは一般の代数曲線の有
理点群の部分群の元をランダムに生成する装置、そのプ
ログラム及びその記録媒体に関する。
号あるいは一般に代数曲線暗号などの情報セキュリティ
技術に利用され、楕円曲線あるいは一般の代数曲線の有
理点群の部分群の元をランダムに生成する装置、そのプ
ログラム及びその記録媒体に関する。
【0002】
【従来の技術】楕円曲線を用いた公開鍵暗号やデジタル
署名などの情報セキュリティ技術を実現する場合、シス
テムの想定している群が、楕円上の有理点群自身ではな
く、その真部分群である場合がある。従来、例えば暗号
などの目的とするシステムに使用できる部分群上のラン
ダムな点Qは、該当する部分群の生成元P及びランダム
な正整数rを用いて楕円スカラー倍演算Q=rPにより
生成していた。つまり部分群の生成元Pをスカラー倍し
たものはその部分群に必ず属するからである。Oを楕円
曲線上の有理点群の単位元とする楕円スカラー倍演算
は、従来においては楕円加算及び楕円2倍算により構成
される。この従来の手法による部分群のランダムな元の
生成処理手順を図5に、その機能構成を図6に示す。有
限体GF(p)(pは素数)上で定義された楕円曲線上
の有理点群の目的と対応した部分群の元Pが知られてい
るとする。
署名などの情報セキュリティ技術を実現する場合、シス
テムの想定している群が、楕円上の有理点群自身ではな
く、その真部分群である場合がある。従来、例えば暗号
などの目的とするシステムに使用できる部分群上のラン
ダムな点Qは、該当する部分群の生成元P及びランダム
な正整数rを用いて楕円スカラー倍演算Q=rPにより
生成していた。つまり部分群の生成元Pをスカラー倍し
たものはその部分群に必ず属するからである。Oを楕円
曲線上の有理点群の単位元とする楕円スカラー倍演算
は、従来においては楕円加算及び楕円2倍算により構成
される。この従来の手法による部分群のランダムな元の
生成処理手順を図5に、その機能構成を図6に示す。有
限体GF(p)(pは素数)上で定義された楕円曲線上
の有理点群の目的と対応した部分群の元Pが知られてい
るとする。
【0003】ステップS1:乱数生成部11から乱数r
∈GF(p)を生成する。 ステップS2:2進展開部12において、r=Σri 2
i なるrの2進表現r i ∈{0,1}をi∈{0,…,
[log2 r]}に関して求める。Σはi=0から[log2
r]までの総和、[A]はA以下の最大の整数を表わ
す。 ステップS3:Qを単位元Oに、iを[log2 r]に初
期化する。 ステップS4:楕円2倍算部13により、Qを楕円2倍
算して、その結果をQとする。 ステップS5:ri =1であるかを調べ、 ステップS6:ri =1であれば楕円加算部14でQ+
Pの楕円加算を行い、その結果をQとする。 ステップS7:ステップS6の後又はステップS5でr
i =1でなければi=0であるかを調べる。 ステップS8:ステップS7でi=0でなければiを−
1してステップS4に戻る。 ステップS9:ステップS7でi=0であればその時の
Q=rPをランダムな元として出力する。
∈GF(p)を生成する。 ステップS2:2進展開部12において、r=Σri 2
i なるrの2進表現r i ∈{0,1}をi∈{0,…,
[log2 r]}に関して求める。Σはi=0から[log2
r]までの総和、[A]はA以下の最大の整数を表わ
す。 ステップS3:Qを単位元Oに、iを[log2 r]に初
期化する。 ステップS4:楕円2倍算部13により、Qを楕円2倍
算して、その結果をQとする。 ステップS5:ri =1であるかを調べ、 ステップS6:ri =1であれば楕円加算部14でQ+
Pの楕円加算を行い、その結果をQとする。 ステップS7:ステップS6の後又はステップS5でr
i =1でなければi=0であるかを調べる。 ステップS8:ステップS7でi=0でなければiを−
1してステップS4に戻る。 ステップS9:ステップS7でi=0であればその時の
Q=rPをランダムな元として出力する。
【0004】なお図6中において制御部15は各部を制
御して図5に示した処理を行う。また入力部16、出力
部17、動作用記憶部18なども備える。単位元の楕円
2倍算と、単位元への楕円加算の演算コスト(以下単に
コストと記す)を0とすれば、上記の場合楕円スカラー
倍演算Q←rPは[log2 r]回の楕円2倍算と平均[l
og2 r]/2回の楕円加算とで構成される。一般に楕円
スカラー倍演算の平均演算コストは[log2 r]回の楕
円加算のコストにほぼ比例するとしても良い。部分群上
のランダムな点を求める為には、その部分群の位数をq
とするとrはr∈{0,…,q−1}のランダムな整数
となる。此の時楕円スカラー倍演算Q←rPの平均演算
コストは[log2 q]回の楕円加算のコストに比例して
大きくなる。
御して図5に示した処理を行う。また入力部16、出力
部17、動作用記憶部18なども備える。単位元の楕円
2倍算と、単位元への楕円加算の演算コスト(以下単に
コストと記す)を0とすれば、上記の場合楕円スカラー
倍演算Q←rPは[log2 r]回の楕円2倍算と平均[l
og2 r]/2回の楕円加算とで構成される。一般に楕円
スカラー倍演算の平均演算コストは[log2 r]回の楕
円加算のコストにほぼ比例するとしても良い。部分群上
のランダムな点を求める為には、その部分群の位数をq
とするとrはr∈{0,…,q−1}のランダムな整数
となる。此の時楕円スカラー倍演算Q←rPの平均演算
コストは[log2 q]回の楕円加算のコストに比例して
大きくなる。
【0005】
【発明が解決しようとする課題】システムが想定する部
分群の位数をqとすると、従来の技術では部分群上のラ
ンダムな元を生成するのに[log2 q]回の楕円加算の
コストに比例する演算コストが必要であった。楕円曲線
を用いた公開鍵暗号やデジタル署名等の情報セキュリテ
ィ技術を実現する場合、情報セキュリティ技術の暗号学
的安全性はlog2qに比例して大きくなると考えられてお
り、より大きな安全性を得るためには、log2 qをより
大きくしなくてはならない。従ってこの明細書ではlog
2 qをセキュリティパラメータと呼ぶ。例えば160b
itの楕円曲線上で上記方法を用いて楕円スカラー倍演
算を行う為には、およそ80回の楕円加算と160回の
楕円2倍算が必要であり、この部分の演算コスト(楕円
加算及び楕円2倍算合わせておよそ240回)が大きい
という問題点があった。
分群の位数をqとすると、従来の技術では部分群上のラ
ンダムな元を生成するのに[log2 q]回の楕円加算の
コストに比例する演算コストが必要であった。楕円曲線
を用いた公開鍵暗号やデジタル署名等の情報セキュリテ
ィ技術を実現する場合、情報セキュリティ技術の暗号学
的安全性はlog2qに比例して大きくなると考えられてお
り、より大きな安全性を得るためには、log2 qをより
大きくしなくてはならない。従ってこの明細書ではlog
2 qをセキュリティパラメータと呼ぶ。例えば160b
itの楕円曲線上で上記方法を用いて楕円スカラー倍演
算を行う為には、およそ80回の楕円加算と160回の
楕円2倍算が必要であり、この部分の演算コスト(楕円
加算及び楕円2倍算合わせておよそ240回)が大きい
という問題点があった。
【0006】
【課題を解決するための手段】この発明の一面によれば
楕円曲線上の有理点群のランダムな元Pを生成し、その
楕円曲線上の有理点群の位数sを目的と対応する、つま
りシステムが想定する部分群の位数qで割った値を1以
上の整数倍した値で、上記元Pを楕円スカラー倍して上
記部分群のランダムな元として出力する。楕円曲線上の
有理点群の位数をsとする。楕円曲線上の有理点群が非
自明な部分群を持つとしその位数をqとする。有限群の
性質によりsはqの倍数となり、s=qcとすることが
出来る。正整数cを補助因子と呼ぶ。通常は暗号学的安
全性を確保するためにqとして(例えば160bit以
上の)大きな素数が選ばれる。一方cはセキュリティパ
ラメタとは無関係に選ぶことが出来る。従ってqとcは
互いに素とすることが出来、またc<<qとすることが出
来る。
楕円曲線上の有理点群のランダムな元Pを生成し、その
楕円曲線上の有理点群の位数sを目的と対応する、つま
りシステムが想定する部分群の位数qで割った値を1以
上の整数倍した値で、上記元Pを楕円スカラー倍して上
記部分群のランダムな元として出力する。楕円曲線上の
有理点群の位数をsとする。楕円曲線上の有理点群が非
自明な部分群を持つとしその位数をqとする。有限群の
性質によりsはqの倍数となり、s=qcとすることが
出来る。正整数cを補助因子と呼ぶ。通常は暗号学的安
全性を確保するためにqとして(例えば160bit以
上の)大きな素数が選ばれる。一方cはセキュリティパ
ラメタとは無関係に選ぶことが出来る。従ってqとcは
互いに素とすることが出来、またc<<qとすることが出
来る。
【0007】qとcが互いに素ならば楕円曲線上の有理
点群の任意の元Pに対して、Q=cPなるQは有限巡回
群の性質により必ず想定した位数qの部分群に含まれ
る。つまり上記この発明の一面により目的と対応した部
分群の元をランダムに生成できることになる。部分群上
の元Q=cPを求める為のこの平均演算コストは[log
2 c]回の楕円加算コストに比例するとして良く、[lo
g2 c]<<[log2 q]となるように楕円曲線のパラメタ
を選んでおけば此の部分の演算コストは[log2 q]b
itの楕円スカラー倍の演算コストと比べて無視するこ
とが出来る。従って、例えば楕円曲線上の有理点群のラ
ンダムな元Pが十分高速に計算できれば、[log2 c]<
<[log2 q]の場合に部分群上のランダムな元Q=cP
も高速に計算出来る。
点群の任意の元Pに対して、Q=cPなるQは有限巡回
群の性質により必ず想定した位数qの部分群に含まれ
る。つまり上記この発明の一面により目的と対応した部
分群の元をランダムに生成できることになる。部分群上
の元Q=cPを求める為のこの平均演算コストは[log
2 c]回の楕円加算コストに比例するとして良く、[lo
g2 c]<<[log2 q]となるように楕円曲線のパラメタ
を選んでおけば此の部分の演算コストは[log2 q]b
itの楕円スカラー倍の演算コストと比べて無視するこ
とが出来る。従って、例えば楕円曲線上の有理点群のラ
ンダムな元Pが十分高速に計算できれば、[log2 c]<
<[log2 q]の場合に部分群上のランダムな元Q=cP
も高速に計算出来る。
【0008】この発明の他面によれば、素数pの有限体
GF(p)上で定義された楕円曲線上のm次拡大体GF
(pm)上の元Pをランダムに生成し、この元Pに対する
フロベニウス写像をφとして(φ−1)Pを演算し、そ
の結果を上記部分群上のランダムな元として出力する。
楕円曲線あるいは代数曲線上の有理点群の中には、特別
に少ない演算コストで実行できる自己準同型写像をもつ
ものがある。有限体GF(p)上で定義された楕円曲線
をE/GF(p)と表記する。E/GF(p)上のm次
拡大体GF(p m)上の有理点の集合をE(GF(pm))
と表わす。このE(GF(pm))に対して、以下のよう
なフロベニウス写像φを用いた演算を定義できる。P=
(x,y)に対する自己準同型写像 φ:(x,y)→(xp ,yp) をフロベニウス写像と呼ぶ。フロベニウス写像φは、楕
円曲線上の自己準同型写像であり、一般に楕円加算など
と比べて少ない演算コストで実行できる。写像φ i は上
記フロベニウス写像φをi回(iは整数)適用する演算
で、
GF(p)上で定義された楕円曲線上のm次拡大体GF
(pm)上の元Pをランダムに生成し、この元Pに対する
フロベニウス写像をφとして(φ−1)Pを演算し、そ
の結果を上記部分群上のランダムな元として出力する。
楕円曲線あるいは代数曲線上の有理点群の中には、特別
に少ない演算コストで実行できる自己準同型写像をもつ
ものがある。有限体GF(p)上で定義された楕円曲線
をE/GF(p)と表記する。E/GF(p)上のm次
拡大体GF(p m)上の有理点の集合をE(GF(pm))
と表わす。このE(GF(pm))に対して、以下のよう
なフロベニウス写像φを用いた演算を定義できる。P=
(x,y)に対する自己準同型写像 φ:(x,y)→(xp ,yp) をフロベニウス写像と呼ぶ。フロベニウス写像φは、楕
円曲線上の自己準同型写像であり、一般に楕円加算など
と比べて少ない演算コストで実行できる。写像φ i は上
記フロベニウス写像φをi回(iは整数)適用する演算
で、
【数1】
である。一見写像φi の演算コストはφの演算コストの
i倍のように思えるが、通常、このi回分の計算をまと
めて行うことが可能で、φi の演算コストをφの演算コ
ストと等しくすることが可能である。従ってφi も一般
に楕円加算などと比べて少ない演算コストで実行でき
る。E/GF(p)上のGF(pm)有理点の集合E(G
F(pm))は、定義によりE/GF(p)上のGF
(p)有理点の集合E(GF(p))を部分群に持つ。
P∈E(GF(p))なるE(GF(pm))の元P=
(x,y)に対して、 φP=(xp ,yp)=(x,y)=P が成立しており(xp mod p=xであるから)、逆にE
(GF(pm))の元Pが φP=P を満たすなら、P∈E(GF(p))である。したがっ
て (φ−1):P→φP−P なる写像(φ−1)によりE(GF(pm))は E(GF(pm))=ker(φ−1)(+)Im(φ−1) のように直和分解できる。但しker(φ−1)は(φ−
1)P=OなるPの集合、即ちE(GF(p))の事で
あり、Im(φ−1)は、E(GF(pm))の写像(φ
−1)による像、即ちE(GF(pm))の元Pに対する
(φ−1)Pの集合である。従って、Im(φ−1)を
システムの想定する群であるとするなら、演算φ−1に
よってE(GF(pm))上の点を部分群Im(φ−1)
上の点に写像することが出来る。演算φ−1の演算コス
トはおよそ楕円加算1回分の演算コストと見積もること
ができ、従って、例えば楕円曲線上の有理点群のランダ
ムな元Pが十分高速に計算できれば、部分群上のランダ
ムな元Q=(φ−1)Pも高速に計算できる。
i倍のように思えるが、通常、このi回分の計算をまと
めて行うことが可能で、φi の演算コストをφの演算コ
ストと等しくすることが可能である。従ってφi も一般
に楕円加算などと比べて少ない演算コストで実行でき
る。E/GF(p)上のGF(pm)有理点の集合E(G
F(pm))は、定義によりE/GF(p)上のGF
(p)有理点の集合E(GF(p))を部分群に持つ。
P∈E(GF(p))なるE(GF(pm))の元P=
(x,y)に対して、 φP=(xp ,yp)=(x,y)=P が成立しており(xp mod p=xであるから)、逆にE
(GF(pm))の元Pが φP=P を満たすなら、P∈E(GF(p))である。したがっ
て (φ−1):P→φP−P なる写像(φ−1)によりE(GF(pm))は E(GF(pm))=ker(φ−1)(+)Im(φ−1) のように直和分解できる。但しker(φ−1)は(φ−
1)P=OなるPの集合、即ちE(GF(p))の事で
あり、Im(φ−1)は、E(GF(pm))の写像(φ
−1)による像、即ちE(GF(pm))の元Pに対する
(φ−1)Pの集合である。従って、Im(φ−1)を
システムの想定する群であるとするなら、演算φ−1に
よってE(GF(pm))上の点を部分群Im(φ−1)
上の点に写像することが出来る。演算φ−1の演算コス
トはおよそ楕円加算1回分の演算コストと見積もること
ができ、従って、例えば楕円曲線上の有理点群のランダ
ムな元Pが十分高速に計算できれば、部分群上のランダ
ムな元Q=(φ−1)Pも高速に計算できる。
【0009】
【発明の実施の形態】第1実施形態
図1にこの発明の第1実施形態の機能構成を示し、図2
にその処理手順を示す。ランダム元生成部20で楕円曲
線上の有理点群の元Pをランダムに生成する(S1)。
楕円曲線上の有理点群の位数sを、上記楕円曲線上の有
理点群上のシステム(例えば暗号方式)が想定している
部分群の位数qで割った値cを予め求めておき、つまり
この値cはシステムにより自動的に決る値である。ただ
しcとqは互いに素となるようにsとqを選んでおく。
楕円スカラー倍演算部30でランダム元生成部20より
の元Pをcの値で楕円スカラー倍し、その結果cPを求
めるランダム元Qとして出力する。
にその処理手順を示す。ランダム元生成部20で楕円曲
線上の有理点群の元Pをランダムに生成する(S1)。
楕円曲線上の有理点群の位数sを、上記楕円曲線上の有
理点群上のシステム(例えば暗号方式)が想定している
部分群の位数qで割った値cを予め求めておき、つまり
この値cはシステムにより自動的に決る値である。ただ
しcとqは互いに素となるようにsとqを選んでおく。
楕円スカラー倍演算部30でランダム元生成部20より
の元Pをcの値で楕円スカラー倍し、その結果cPを求
めるランダム元Qとして出力する。
【0010】この楕円スカラー倍演算は、例えば図6に
示した構成により、図5に示した手順と同様な処理を行
えばよい。従って、楕円スカラー倍演算部30は、図6
に示した構成と同様に例えば2進展開部32、楕円2倍
演算部33、楕円加算部34、制御部35、入力部3
6、出力部37、記憶部38などを備える。ランダム元
生成部20は楕円曲線上の有理点群のランダムな元Pを
確率的に発見するための演算を行う。ai(i=1,2,
3,4,6)を有限体GF(p)上の定数として楕円曲
線の定義方程式が次式であるとする。 y2 +a1 y+a3 =x3 +a2 x2 +a4 x+a6 (1) この時、ランダム元生成部20は例えば図1中に示すよ
うに乱数生成部21、方程式演算部22、方程式解演算
部23、1/2確率選択部24、制御部25、入力部2
6、出力部27、記憶部28を備え、例えば図3に示す
ような手順でランダム元Pの生成処理を行う。
示した構成により、図5に示した手順と同様な処理を行
えばよい。従って、楕円スカラー倍演算部30は、図6
に示した構成と同様に例えば2進展開部32、楕円2倍
演算部33、楕円加算部34、制御部35、入力部3
6、出力部37、記憶部38などを備える。ランダム元
生成部20は楕円曲線上の有理点群のランダムな元Pを
確率的に発見するための演算を行う。ai(i=1,2,
3,4,6)を有限体GF(p)上の定数として楕円曲
線の定義方程式が次式であるとする。 y2 +a1 y+a3 =x3 +a2 x2 +a4 x+a6 (1) この時、ランダム元生成部20は例えば図1中に示すよ
うに乱数生成部21、方程式演算部22、方程式解演算
部23、1/2確率選択部24、制御部25、入力部2
6、出力部27、記憶部28を備え、例えば図3に示す
ような手順でランダム元Pの生成処理を行う。
【0011】ステップS1:有限体GF(p)上のラン
ダムな元x1 を乱数生成部21により生成する。 ステップS2:その生成した元x1 を式(1)のxに代
入して式(1)の右辺を方程式演算部22で計算し、そ
の結果tを得る。 ステップS3:yに関する2次方程式y2 +a1 y+a
3 −t=0の解を方程式解演算部23で計算する。 ステップS4:yが有限体GF(p)上に解を持つか否
かを調べ、もたない場合ステップS1に戻る。 ステップS5:yが有限体上に唯一の解y1 を持つか否
かを調べ、 ステツプS6:唯一の解y1 の場合は1/2の確率でス
テップS1へ、1/2の確率でy1 をyとする。つまり
例えば1/2確率選択部24に0と1をランダムに発生
させ(S6−1)、0ならステップS1に戻り(S6−
2)、1ならy 1 をyにし、x1 をxとしてP=(x,
y)を出力する(S6−3)。 ステップS7:ステップS5でyが有限体上に2つの解
y1 ,y2 を持つと判定されると、1/2の確率でy1
をyとし、1/2の確率でy2 をyとする。つまり1/
2選択部24で0と1をランダムに発生し(S7−
1)、それが1であれば(S7−2)、x1 をxとし、
y1 をyとしてP=(x,y)を出力し(S7−3)、
0であれば、x1 をxとし、y2 をyとしてP=(x,
y)を出力する(S7−4)。
ダムな元x1 を乱数生成部21により生成する。 ステップS2:その生成した元x1 を式(1)のxに代
入して式(1)の右辺を方程式演算部22で計算し、そ
の結果tを得る。 ステップS3:yに関する2次方程式y2 +a1 y+a
3 −t=0の解を方程式解演算部23で計算する。 ステップS4:yが有限体GF(p)上に解を持つか否
かを調べ、もたない場合ステップS1に戻る。 ステップS5:yが有限体上に唯一の解y1 を持つか否
かを調べ、 ステツプS6:唯一の解y1 の場合は1/2の確率でス
テップS1へ、1/2の確率でy1 をyとする。つまり
例えば1/2確率選択部24に0と1をランダムに発生
させ(S6−1)、0ならステップS1に戻り(S6−
2)、1ならy 1 をyにし、x1 をxとしてP=(x,
y)を出力する(S6−3)。 ステップS7:ステップS5でyが有限体上に2つの解
y1 ,y2 を持つと判定されると、1/2の確率でy1
をyとし、1/2の確率でy2 をyとする。つまり1/
2選択部24で0と1をランダムに発生し(S7−
1)、それが1であれば(S7−2)、x1 をxとし、
y1 をyとしてP=(x,y)を出力し(S7−3)、
0であれば、x1 をxとし、y2 をyとしてP=(x,
y)を出力する(S7−4)。
【0012】制御部25は各部を制御し、必要に応じて
記憶部28を用い、図3に示した処理を実行させる。通
常ランダムなx座標に対して楕円曲線の定義方程式
(1)を満たすyが存在する確率はおよそ1/2であ
り、通常yの存在を確認するための平均演算コストは、
例えば平方剰余記号の平均演算コストとして見積もるこ
とが出来、十分小さいとして良い。従って楕円曲線の定
義方程式を満たすランダムな元P=(x,y)を求める
演算の平均演算コストは、有限体上で2次方程式を解く
平均演算コスト1回分であるとすることが出来る。有限
体上で2次方程式を解く平均演算コストは有限体上の指
数関数1回分の平均演算コストと見積もることができ
る。楕円スカラー倍演算は有限体GF(pm)上の演算で
行われ、これは[log2 q]bitであるから、前記2
次方程式を解く平均演算コストは楕円演算に換算して楕
円スカラー倍より1/10程度あるいはそれより少ない
として良いことになる。
記憶部28を用い、図3に示した処理を実行させる。通
常ランダムなx座標に対して楕円曲線の定義方程式
(1)を満たすyが存在する確率はおよそ1/2であ
り、通常yの存在を確認するための平均演算コストは、
例えば平方剰余記号の平均演算コストとして見積もるこ
とが出来、十分小さいとして良い。従って楕円曲線の定
義方程式を満たすランダムな元P=(x,y)を求める
演算の平均演算コストは、有限体上で2次方程式を解く
平均演算コスト1回分であるとすることが出来る。有限
体上で2次方程式を解く平均演算コストは有限体上の指
数関数1回分の平均演算コストと見積もることができ
る。楕円スカラー倍演算は有限体GF(pm)上の演算で
行われ、これは[log2 q]bitであるから、前記2
次方程式を解く平均演算コストは楕円演算に換算して楕
円スカラー倍より1/10程度あるいはそれより少ない
として良いことになる。
【0013】以上の説明から理解されるように、第1実
施形態によれば、ランダム生成部20でのランダム元P
の生成を高速に行うことができ、また課題を解決するた
めの手段の項で述べたようにPのc倍楕円スカラー演算
のコストは[log2 c]程度であり、従来のランダム元
生成演算コスト[log2 q]と比較して十分小さくする
ことができる。なお、部分群の元をスカラー倍したもの
はその部分群の元となるからPをcだけ楕円スカラー倍
する場合に限らず、cの2以上の整数倍した値をPに対
し楕円スカラー倍してもよい。つまりPをcの1以上の
整数値を楕円スカラー倍してもよい。ただ演算コストの
面からはスカラー倍する、スカラー値は小さい方がよ
い。図1中の制御部25と35を、入力部26と36
を、出力部27と37を、記憶部28と29をそれぞれ
一つを共通に使用するようにしてもよい。
施形態によれば、ランダム生成部20でのランダム元P
の生成を高速に行うことができ、また課題を解決するた
めの手段の項で述べたようにPのc倍楕円スカラー演算
のコストは[log2 c]程度であり、従来のランダム元
生成演算コスト[log2 q]と比較して十分小さくする
ことができる。なお、部分群の元をスカラー倍したもの
はその部分群の元となるからPをcだけ楕円スカラー倍
する場合に限らず、cの2以上の整数倍した値をPに対
し楕円スカラー倍してもよい。つまりPをcの1以上の
整数値を楕円スカラー倍してもよい。ただ演算コストの
面からはスカラー倍する、スカラー値は小さい方がよ
い。図1中の制御部25と35を、入力部26と36
を、出力部27と37を、記憶部28と29をそれぞれ
一つを共通に使用するようにしてもよい。
【0014】第2実施形態
図4にこの発明の第2実施形態を示す。ランダム元生成
部40において、有限体GF(p)上で定義された楕円
曲線上のm次拡大体GF(pm)上の有理点群の元Pをラ
ンダムに生成する。ランダム元生成部40における楕円
曲線上のランダムな元Pの生成は、図1中のランダム元
生成部20と同様な手法で生成すればよい。この場合、
乱数x1 として有限体GF(pm)の元をランダムに発生
させ、この乱数x1 を式(1)の定義式のxに代入し
て、yの2次方程式を解いて求める。このようにして生
成された、楕円曲線上のGF(pm)上有理点群のランダ
ムな元Pは(φ−1)倍演算部50で(φ−1)倍さ
れ、その結果は想定する部分群のランダムな元Qとして
出力される。
部40において、有限体GF(p)上で定義された楕円
曲線上のm次拡大体GF(pm)上の有理点群の元Pをラ
ンダムに生成する。ランダム元生成部40における楕円
曲線上のランダムな元Pの生成は、図1中のランダム元
生成部20と同様な手法で生成すればよい。この場合、
乱数x1 として有限体GF(pm)の元をランダムに発生
させ、この乱数x1 を式(1)の定義式のxに代入し
て、yの2次方程式を解いて求める。このようにして生
成された、楕円曲線上のGF(pm)上有理点群のランダ
ムな元Pは(φ−1)倍演算部50で(φ−1)倍さ
れ、その結果は想定する部分群のランダムな元Qとして
出力される。
【0015】この構成によれば、ランダム元生成部40
におけるランダム元Pの生成演算コストは、ランダム元
生成部20のランダム元Pの生成と同様に、楕円演算換
算で従来の楕円スカラー倍方法より10倍程度以上高速
に行うことができ、(φ−1)倍演算は先に述べたよう
に楕円加算1回分の演算コストと見積もることができ、
結果として、高速にランダムな元Qを求めることができ
る。図1及び図4に示した各装置は、コンピュータによ
りプログラムを実行させて機能させることもできる。こ
の場合は、そのコンピュータに、図1又は図4に示した
装置としてコンピュータを機能させるための楕円曲線上
の有理点群の部分群の元生成プログラムを、CD−RO
M、可撓性磁気ディスクなどの記録媒体からインストー
ルさせ、あるいは通信回線を介してダウンロードさせ
て、このコンピュータに実行させればよい。
におけるランダム元Pの生成演算コストは、ランダム元
生成部20のランダム元Pの生成と同様に、楕円演算換
算で従来の楕円スカラー倍方法より10倍程度以上高速
に行うことができ、(φ−1)倍演算は先に述べたよう
に楕円加算1回分の演算コストと見積もることができ、
結果として、高速にランダムな元Qを求めることができ
る。図1及び図4に示した各装置は、コンピュータによ
りプログラムを実行させて機能させることもできる。こ
の場合は、そのコンピュータに、図1又は図4に示した
装置としてコンピュータを機能させるための楕円曲線上
の有理点群の部分群の元生成プログラムを、CD−RO
M、可撓性磁気ディスクなどの記録媒体からインストー
ルさせ、あるいは通信回線を介してダウンロードさせ
て、このコンピュータに実行させればよい。
【0016】
【発明の効果】以上述べたようにこの発明によれば従来
の装置よりも、少ない演算コストで目的と対応する部分
群上の元をランダムに生成することができる。例えば楕
円定義体GF(p)のpを214−3、つまり式(1)の
各係数ai をGF(p)より選び、式(1)のx,yは
拡大体GF(p13)上の元とし、つまりqを約160b
itとした場合、従来装置によれば、楕円加算及び楕円
2倍算が合計約240回必要であったが、第1実施形態
によれば、合計21回、第2実施形態によれば1回に削
減され、従って楕円曲線上のランダムな元Pを生成する
演算コストを約楕円演算換算で約24回と見積もって
も、この発明によれば、部分群上のランダム元の生成に
必要な演算コストは従来装置の約1/5〜1/10にす
ることができる。
の装置よりも、少ない演算コストで目的と対応する部分
群上の元をランダムに生成することができる。例えば楕
円定義体GF(p)のpを214−3、つまり式(1)の
各係数ai をGF(p)より選び、式(1)のx,yは
拡大体GF(p13)上の元とし、つまりqを約160b
itとした場合、従来装置によれば、楕円加算及び楕円
2倍算が合計約240回必要であったが、第1実施形態
によれば、合計21回、第2実施形態によれば1回に削
減され、従って楕円曲線上のランダムな元Pを生成する
演算コストを約楕円演算換算で約24回と見積もって
も、この発明によれば、部分群上のランダム元の生成に
必要な演算コストは従来装置の約1/5〜1/10にす
ることができる。
【図1】この発明の第1実施形態の機能構成例を示す
図。
図。
【図2】図1に示した装置の処理手順を示す流れ図。
【図3】図1中のランダム元生成部20における処理手
順の例を示す流れ図。
順の例を示す流れ図。
【図4】この発明の第2実施形態の機能構成例を示す
図。
図。
【図5】従来の部分群のランダム元生成方法の手順の例
を示す図。
を示す図。
【図6】従来のランダム元生成装置の機能構成を示す
図。
図。
フロントページの続き
(72)発明者 小黒 博昭
東京都千代田区大手町二丁目3番1号 日
本電信電話株式会社内
Fターム(参考) 5J104 AA18 JA25 NA08 NA18
Claims (5)
- 【請求項1】 楕円曲線上の有理点群の目的と対応する
部分群の元をランダムに生成する装置において、 上記楕円曲線上の有理点群のランダムな元Pを生成する
元生成手段と、 上記楕円曲線上の有理点群の位数を上記部分群の位数で
割った値の1以上の整数倍値で上記元Pを楕円スカラー
倍して上記部分群の元を出力する楕円スカラー倍演算手
段と、 を具備することを特徴とする楕円曲線上の有理点群の部
分群の元生成装置。 - 【請求項2】 楕円曲線上の有理点群の目的と対応する
部分群の元をランダムに生成する装置において、 素数pの有限体GF(p)上で定義された上記楕円曲線
上のm次拡大体GF(pm)上の元Pをランダムに生成す
る元生成手段と、 上記元Pに対するフロベニウス写像φとして、(φ−
1)Pを演算し、その結果を上記部分群上の元Qとして
出力する(φ−1)倍演算手段と、 を具備する楕円曲線上の有理点群の部分群の元生成装
置。 - 【請求項3】 楕円曲線上の有理点群の目的と対応する
部分群の元をランダムに生成する装置において、 上記楕円曲線上の有理点群の元Pをランダムに生成する
元生成手段と、 上記元Pと、これに対する自己準同型写像を入力して上
記部分群上の元Qを出力する手段と、 を具備する楕円曲線上の有理点群の部分群上の元生成装
置。 - 【請求項4】 請求項1〜3の何れかに記載の元生成装
置として、コンピュータを機能させるための楕円曲線上
の有理点群の部分群の元生成プログラム。 - 【請求項5】 請求項4記載の楕円曲線上の有理点群の
部分群の元生成プログラムを記録したコンピュータ読み
取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002063054A JP2003263110A (ja) | 2002-03-08 | 2002-03-08 | 楕円曲線上の有理点群の部分群の元生成装置、そのプログラム及び記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002063054A JP2003263110A (ja) | 2002-03-08 | 2002-03-08 | 楕円曲線上の有理点群の部分群の元生成装置、そのプログラム及び記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003263110A true JP2003263110A (ja) | 2003-09-19 |
Family
ID=29196520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002063054A Pending JP2003263110A (ja) | 2002-03-08 | 2002-03-08 | 楕円曲線上の有理点群の部分群の元生成装置、そのプログラム及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2003263110A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007187958A (ja) * | 2006-01-16 | 2007-07-26 | Sony Corp | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
JP2009301070A (ja) * | 2009-09-30 | 2009-12-24 | Okayama Univ | スカラー倍算の演算装置及びべき乗算の演算装置 |
JP2009301071A (ja) * | 2009-09-30 | 2009-12-24 | Okayama Univ | スカラー倍算の演算プログラム及びべき乗算の演算プログラム |
-
2002
- 2002-03-08 JP JP2002063054A patent/JP2003263110A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007187958A (ja) * | 2006-01-16 | 2007-07-26 | Sony Corp | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
JP4682852B2 (ja) * | 2006-01-16 | 2011-05-11 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
JP2009301070A (ja) * | 2009-09-30 | 2009-12-24 | Okayama Univ | スカラー倍算の演算装置及びべき乗算の演算装置 |
JP2009301071A (ja) * | 2009-09-30 | 2009-12-24 | Okayama Univ | スカラー倍算の演算プログラム及びべき乗算の演算プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Costello et al. | Efficient algorithms for supersingular isogeny Diffie-Hellman | |
Khalique et al. | Implementation of elliptic curve digital signature algorithm | |
US8458471B2 (en) | Digital signature generation apparatus, digital signature verification apparatus, and key generation apparatus | |
EP2395424B1 (en) | Accelerated verification of digital signatures and public keys | |
US7904498B2 (en) | Modular multiplication processing apparatus | |
JP6697506B2 (ja) | 関連付けられた秘密鍵部分を用いた高速公開鍵暗号化のためのシステムおよび方法 | |
US20060251247A1 (en) | Encryption apparatus, decryption apparatus, key generation apparatus, program and method therefor | |
JP2004501385A (ja) | 楕円曲線暗号化方法 | |
US6480606B1 (en) | Elliptic curve encryption method and system | |
US9590805B1 (en) | Ladder-based cryptographic techniques using pre-computed points | |
US20050135610A1 (en) | Identifier-based signcryption | |
JP2003263110A (ja) | 楕円曲線上の有理点群の部分群の元生成装置、そのプログラム及び記録媒体 | |
Howe et al. | Compact and provably secure lattice-based signatures in hardware | |
EP3166013A1 (en) | Modular exponentiation using randomized addition chains | |
Kim et al. | Decryption speed up of ElGamal with composite modulus | |
US12003636B2 (en) | Device and method for certifying reliability of public key, and program therefor | |
JP3886384B2 (ja) | 多基底離散対数検証方法、この方法を実施する装置、プログラムおよびプログラムを記憶した記憶媒体 | |
Huang et al. | FleS: A Compact and Parameter-Flexible Supersingular Isogeny Based Public Key Encryption Scheme | |
Moldovyan et al. | Digital signature scheme set in a hidden cyclic group | |
JP3966714B2 (ja) | 暗号処理方法、そのプログラム及びその記録媒体 | |
JP2003216029A (ja) | 離散対数検証方法、この方法を実施する装置、プログラムおよびプログラムを記憶した記憶媒体 | |
WO2023235096A1 (en) | Systems and methods of improved modular inversion with digital signatures | |
JP4904981B2 (ja) | 公開鍵暗号システム構築方法、暗号演算方法、および情報処理装置、並びにコンピュータ・プログラム | |
JP2003228285A (ja) | 楕円曲線スカラ倍演算装置 | |
JP2005284111A (ja) | 楕円曲線暗号の高速演算処理方法および装置 |