(57)【要約】【課題】  高速なデジタル署名方法における楕円曲線のペアリング演算装置を提供する。【解決手段】  標数3の楕円曲線上で定義されるTateペアリングを計算する際に、(1)  3倍算に付随する直線を計算する際に必要となる逆元計算を直線を変形することにより削減する。(2)  中間データf１を計算するとき従来例ではf１を更新するたびに逆元計算を行う必要があったが、本発明ではf１=a/bとみなしaとbを独立に計算し最後にaをbで割ることによりf１を計算する際の複数の逆元計算を1回に削減する。これら2つの改良を行うことにより3倍算に付随して直線を計算する際の定義体上の逆元計算回数を０回および中間データf１を計算する際の逆元計算を1回に削減し、Tate ペアリングの計算速度に影響する逆元計算回数を大幅に削減する。【選択図】図３
2005241898.tif 000002
【特許請求の範囲】
【請求項１】
楕円曲線演算装置であって、
演算対象となる楕円曲線および演算対象データを入力する入力部と、
楕円曲線の情報を保持する楕円曲線情報保持部と、
演算対象データを保持する演算対象データ保持部と、
Tateペアリング演算を行うペアリング演算部と、
演算結果を保持する演算結果保持部と、
演算結果を出力する出力部と、を備え、
前記ペアリング演算部は、
前記ペアリング演算における3倍算に付随する直線を計算する際に定義体上の逆元計算を行わず、
中間データf1の計算を1回の逆元計算にて実行する
楕円曲線演算装置。
【請求項２】
請求項1記載の楕円曲線演算装置において、
前記楕円曲線は、標数3の有限体上の楕円曲線であって、
前記楕円曲線上のTateペアリングの点T1=(x1,y1)の3倍算において、計算する直線をλ2=1/y1を用いずに定義する
ことを特徴とする楕円曲線演算装置。
【請求項３】
請求項２記載の楕円曲線演算装置において、
前記３倍算に付随する前記直線は
l1(x,y)=y1y-x+(x1-y1 2)、
l2(x,y)=y1 2(x- x1)-1、
l'1(x,y)=y1y+(1-y1 4)x+(y1 4x1-x1-y1 2)、
l'2(x,y)=x-(x1+y1 2+y1 6)
である
ことを特徴とする楕円曲線演算装置。
【請求項４】
請求項1記載の楕円曲線演算装置において、
前記楕円曲線は、
標数3の定義体Fq(q=3m)上に定義された楕円曲線E:y2=x3-x+bである
ことを特徴とする請求項1記載の楕円曲線演算装置。
【請求項５】
請求項1記載の楕円曲線演算装置において、
前記楕円曲線上のTateペアリングのT1=(x1,y1)の3倍算における繰り返し計算において、
中間データf1をf1=a/bとみなし、
前記aとbを独立して計算し、
前記繰り返し計算後に、f1=a/bを計算する
ことを特徴とする楕円曲線演算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報セキュリティ技術としての暗号技術に関するものであり、特に、有限体上の楕円曲線を用いて定義されるTate ペアリングを用いて実現する暗号及びデジタル署名技術において必要な楕円曲線ペアリング高速演算装置に関する。
【背景技術】
【０００２】
より高い安全性が期待できるデジタル署名方法として、以下のような、楕円曲線上で定義されるペアリングの性質を用いた方法が提案されている（たとえば、非特許文献１参照）。
【０００３】
有限体Fq上の楕円曲線をE(Fq)、nねじれ群E[n]をE(Fq')の点の内、位数がnで割り切れる点の集合とする。ただしq'は正整数kを用いてq'=qkと表されかつ以下の2つの条件を満たすものとする。
1. nはq'-1を割り切る。
2. nはα=1,2,...,k-1に対してqα-1を割り切らない。
【０００４】
このとき、E[n]はZn×Znと同型となることが知られている。Tate ペアリングeはE[n]× E(Fq')/n E(Fq')からFq' */( Fq' *)ｎ.への写像で、以下の条件を満たす。
3. 任意のR1,∈E[n], R2∈n E(Fq')及びa,b∈Zに対してe(aR1,bR2)=e(R1,R2)ab.
4. R∈E[n]に対してe(R,R')≠1を満たすR'∈E(Fq')が存在する。
5. 任意のR1∈E[n],R2∈En (Fq')に対して、e(R1,R2)は多項式時間で計算できる。
【０００５】
次に上記楕円曲線のペアリングを用いたデジタル署名方法をまず述べる。
【０００６】
Fq上定義された楕円曲線をE(Fq)とし、そのnねじれ群の部分群をG1＝E[n]∩E(Fq),G2＝E(Fq')/nE(Fq'),署名対象データ{0,1}*からG1への写像をMTGとする。MTGはハッシュ関数を用いて構成される。
【０００７】
(1)鍵生成
G2の点をGとする。
ステップ1:ランダムに1<d<nを満たすdを選択し秘密鍵とする。
ステップ2:Q=dGを計算し公開鍵とする。
【０００８】
(2)署名生成
秘密鍵d、署名対象データM∈{0,1}*に対して以下の処理を行う。
ステップ1:R=MTG(M)∈G1を計算する。
ステップ2:σ=dRを計算する。
ステップ3:σのx座標s∈FqをMに対する署名とする。
【０００９】
(3)署名検証
公開鍵Q、メッセージM∈{0,1}*、デジタル署名sに対して以下の処理を行う
ステップ1:σ＝(s,y)がE(Fq)上で位数nとなるようなy∈Fqを見つける。もしそのようなyが無ければ「無効」を出力し終了する。
ステップ2:R=MTG(M)∈G1を計算する。
ステップ3:e(σ,G)=e(R,Q)またはe-1(σ,G)=e(R,Q)が成立するか検証し、成立する場合「有効」を出力、成立しない場合「無効」を出力する。
【００１０】
上述のように、楕円曲線を用いたデジタル署名方法では、署名検証時においてペアリングの計算が必要となる。
【００１１】
標数3の定義体Fq(q=3m)上に定義された楕円曲線y2=x3-x+bを用いた場合のTate ペアリングの計算方法が非特許文献２に示されている。
【００１２】
この場合、楕円曲線上の点をP=(x1,y1)とすると、Pにおいて楕円曲線と接する直線はλ2=1/y1を用いて
l1:y-λ2x+(λ2x1-y1)=0と表せる。
Pの2倍点2P=(x2,y2)はx2=λ2 2+x1,y2=-λ2 3-y1と表すことができる。
また2Pを通る垂線はl2:x-x2=0で表される。
Pと2Pを通る直線は
l'1:y+(λ2-y1 3)x+(y1 3x1-λ2x1-y1)=0と表せる。
Pの3倍点3P=(x3,y3)は
x3=x1+y1 2+y1 6、y3=-y1 9と表すことができ、3倍点の計算に逆元計算を必要しないという特徴がある。
また3Pを通る垂線はl'2:x-x3=0で表される。
【００１３】
非特許文献２に示す計算方法を以下に説明する。
【００１４】
入力: 標数3の楕円曲線y2=x3-x+b、n、部分群G1,G2、2点P∈G1,Q∈G2.
出力: Tate ペアリングe(P,Q).
ステップ1: S∈E(Fq)をランダムに選択しQ'=Q+Sを計算する。
【００１５】
ステップ2: P2=2Pおよび2((P)-(OE))=(P2)-(OE)+(f)を満たす有理関数fに対してf2=f((Q')-(S))を計算する。
【００１６】
ステップ3: nの3進展開を行いn=n0+n13+…+nr3r,nj∈{-1,0,1} (0≦j≦r-1),nr≠0とおく。
【００１７】
ステップ4: nr=1であればT1=P,f1=1,l nr=-1であればT1= P2,f1=f2とおく。
【００１８】
ステップ5: i=r-1とおく。
【００１９】
ステップ6: iが1以上の間、以下の処理を繰り返す。
【００２０】
ステップ6.1: 
(1) 直線l1,l2,l'1,l'2を求める。
(2) T1=3T1を計算する。
(3) f1=f1 3(l1/l2・l'1/l'2)((Q')-(S))を計算する。
(4) l=1であればステップ6.2、l=-1であればステップ6.3、
l=0であればステップ6.4に進む。
【００２１】
ステップ6.2:
(1) T1とPを通る直線l3、T1+Pを通る垂線l4を求める。
(2) T1=T1+P計算する。
(3) f1=f1(l3/l4)((Q')-(S))を計算する。
(4) ステップ6.4に進む。
【００２２】
ステップ6.3:
(1) T1と-Pを通る直線l3、T1-Pを通る垂線l4を求める。
(2) T1=T1-P計算する。
(3) f1=f1=(l3/l4)((Q')-(S))を計算する。
(4) ステップ6.4に進む。
【００２３】
ステップ6.4:i=i-1を計算する。
【００２４】
ステップ7: e=f1 (q'-1)/nを計算する。
【００２５】
ステップ8: eを出力する。
【００２６】
【非特許文献１】D.Boneh, B.Lynn, H.Shacha著 「Short Signatures from the Weil Pairing」Springer-Verlag,2001年, Proceedings Asiacrypt 2001, Lecture Notes in Computer Science 2248,p-514-532
【非特許文献２】S.Galbraith, K.Harrison, D.Soldera著 「Implemeting the Tate Pairing」Springer-Verlag,2002年, Proceedings of ANTS V, Lecture Notes in Computer Science 2369,p-324-337
【発明の開示】
【発明が解決しようとする課題】
【００２７】
楕円曲線上で定義されるペアリングを用いたデジタル署名方法では、ペアリング演算が必須である。署名検証の際のペアリング演算は、署名検証処理において負荷が大きいため、これを高速に行う必要がある。
【００２８】
ペアリング演算は、大きく分けて楕円曲線上の点同士の演算と、楕円曲線上の2点を通る直線および楕円曲線と1点で接する接線の計算と中間データの更新と、に分かれる。
【００２９】
標数3とした場合の楕円曲線上Tateペアリングの点の3倍算は、定義体上の乗算に比べて負荷の大きい逆元計算を行わなくても良いという特徴がある。しかし、上述の方法では、3倍算に付随した直線l1,l2,l'1,l'2を求める際に演算速度の面で不利な逆元を計算する必要が生じる。また、楕円曲線上の加算、減算、3倍算を行うと同時に中間データf1の値を更新していく必要があるが、この際必ず負担の大きい逆元計算を必ず行う必要がある。
【課題を解決するための手段】
【００３０】
本発明は上述の問題点を踏まえて行われたもので、標数3の楕円曲線上で定義されるTate ペアリングの計算速度に影響する逆元計算を大幅に削減する。
【００３１】
具体的には、
（１）3倍算に付随する直線を計算する際に必要となる逆元計算を行う必要を無くすために直線の式を変形する。
【００３２】
（２）f1を計算するとき、f1=a/bとみなしaとbを独立に計算し最後にaをbで割る。
【００３３】
の2つの改良を行うことにより、3倍算に付随する定義体上の逆元計算を無くし、中間データf1を計算する際の逆元計算を1回に削減する。
【００３４】
これらの改良により高速な暗号装置および署名装置を提供することが可能になる。
【発明の効果】
【００３５】
本発明により、高速なデジタル署名方法を可能にする楕円曲線デジタル署名装置を提供できるため、その実用的価値は大きい。
【発明を実施するための最良の形態】
【００３６】
図面を本発明の実施形態を説明する。
【００３７】
図1は本実施形態を実現する楕円曲線スカラー倍演算装置(以下、演算装置という)101の機能構成図である。演算装置101は、制御演算部102およびデータ保持部103から構成される。
【００３８】
制御演算部102は、楕円曲線のパラメータ、定義体情報、部分群情報、演算対象データを入力し、演算結果としてTate ペアリングe(P,Q)を出力する入出力部104、楕円曲線ペアリング演算装置101全体を制御する制御部105、ペアリング演算を行うペアリング演算部106から構成される。
【００３９】
データ保持部103は入出力部104により入力された演算対象データである楕円曲線の部分群G1,G2情報及び部分群の点P,Qを保持する演算対象データ保持部107、楕円曲線のパラメータ、定義体情報を保持する楕円曲線情報保持部108、ペアリング演算部106で用いられる中間データを保持する中間データ保持部109、制御演算部102で計算された演算結果を保持する演算結果保持部110から構成される。
【００４０】
次に各々の動作は制御部105により制御されているものとして動作の流れを説明する。
入出力手段104により入力された演算対象データは演算対象データ保持部107に保持される。入出力手段104により入力された楕円曲線パラメータ、定義体情報は楕円曲線情報保持部108に保持される。次にペアリング演算部106において演算対象データ保持部107、楕円曲線情報保持部108で保持されている情報を用いてペアリングを計算する。ペアリング演算における中間演算結果は必要に応じて中間データ保持部109において保持される。ペアリング演算は図2に示すフローチャートに従って行われるものとする。最後に楕円曲線ペアリング演算装置101は入出力装置104により演算結果を出力する。
【００４１】
上記の演算装置101は、CPUとメモリと、ハードディスク装置やその他の外部記憶装置と、キーボードなどの入力装置と、ディスプレイなどの出力装置と、外部記憶装置や入出力装置とのインターフェースを備えた、一般的な構成を有する情報処理装置上に構築することができる。
【００４２】
演算部102の各処理部104〜106は、CPUがメモリにロードされたプログラム(コード、モジュールともいう)を実行することで、情報処理装置上に具現化されるプロセスとして実現される。また、メモリや外部記憶装置がデータ保持部103の各保持部107〜110として使用される。
【００４３】
上述した各プログラムは、予め外部記憶装置に記憶され、必要に応じてメモリ上にロードされ、CPUにより実行される。上記プログラムは、可搬性の記憶媒体、例えばCD-ROMを扱う外部記憶装置を介して、必要に応じて、可搬性の記憶媒体からメモリにロードされても良いし、一旦、外部記憶装置を介して、可搬性の記憶媒体から外部記憶装置から外部記憶装置にインストールされた後、必要に応じて、外部記憶装置からメモリにロードされても良いし、さらには、図示していないネットワーク接続装置を介して、ネットワーク上の情報処理装置が読み取り可能な媒体の一種である伝送信号により、一旦外部記憶装置にダウンロードされてからメモリにロードされても良いし、あるいは、直接、ネットワーク経由でメモリにロードされても良い。
【００４４】
次に図2〜3を用いて本実施形態の動作を詳細に説明する。
【００４５】
図2は図1において行われている処理を説明するフローチャートである。
【００４６】
<ステップ201>
楕円曲線の情報として標数3の定義体Fq(q=3m)、楕円曲線E:y2=x3-x+b、以下の条件を満たすq',k,nを入力する。
1. q'は正整数kを用いてqkと表される。
2. nはq'-1を割り切る。
3. nはα=1,2,...,k-1に対してqα-1を割り切らない。
【００４７】
<ステップ202>
演算対象データとして楕円曲線の部分群G1,G2の情報、2点P∈G1,Q∈G2を入力する。
【００４８】
<ステップ203>
Tateペアリングe(P,Q)を計算する。
【００４９】
<ステップ204>
演算結果e(P,Q)を出力する。
【００５０】
上記ステップ203を、図3に示すペアリング演算部106の動作説明フローチャートを用いて詳細に説明を行う。
【００５１】
<ステップ301> 
S∈E(Fq')をランダムに選択しQ'=Q+Sを計算する。
【００５２】
<ステップ302> 
nの3進展開を行いn=n0+n13+…+nr3r,nj∈{-1,0,1} (0≦j≦r-1),nr≠0とおきnr=1であればステップ303に進み、nr=-1であればステップ304に進む。
【００５３】
<ステップ303>
T1=P,a=1,b=1とおきステップ305に進む。
【００５４】
<ステップ304> 
T1=2P,2((P)-(OE))=(2P)-(OE)+(f)を満たす有理関数fに対してf((Q')-(S))を計算し分子をa,分母をbとおきステップ305に進む。
【００５５】
<ステップ305>
i=r-1とおく。
【００５６】
<ステップ306>
T1=(x1,y1)とし、非特許文献２が示すλ2=1/y1を用いずに直線を定義する。具体的には、
l1(x,y)=y1y-x+(x1-y1 2)、l2(x,y)=y1 2(x-x1)-1、
l'1(x,y)=y1y+(1-y1 4)x+(y1 4x1-x1-y1 2)とl'2(x,y)=x-(x1+y1 2+y1 6)とそれぞれおく。
【００５７】
<ステップ307>
T1=3T1=(x1+y1 2+y1 6,-y1 9)を計算する。
【００５８】
<ステップ308>
a=a3(l1・l'1)((Q')-(S))およびb=b3(l2・l'2)((Q')-(S))を計算し、ni=0であればステップ313に進み、ni=1であればステップ309に進み、ni=-1であればステップ311に進む。
【００５９】
<ステップ309>
T1=(x1,y1),P=(xP,yP), T1=(x2,y2)=T1+P,としl3(x,y)=(xP-x1)(y-yP)-(yP-y1)(x-xP),l4(x,y)=x-x2求める。
【００６０】
<ステップ310>
a=al3((Q')-(S))およびb=bl4((Q')-(S))を計算しステップ313に進む。
【００６１】
<ステップ311>
T1=(x1,y1),P=(xP,yP),T1=(x2,y2)=T1-P,としl3(x,y)=(xP-x1)(y+yP)+(yP+y1)(x-xP),l4(x,y)=x-x2をそれぞれ求める。
【００６２】
<ステップ312>
a=al3((Q')-(S))及びb=bl4((Q')-(S))を計算しステップ313に進む。
【００６３】
<ステップ313>
i=i-1を計算しi≧1であればステップ306に進み、そうでなければステップ314に進む。
【００６４】
<ステップ314>
f１=a/bを計算する。
【００６５】
<ステップ315>
e(P,Q)=f１ (q'-1)/nを計算する。
【００６６】
<ステップ316> 
e(P,Q)を出力する。
【００６７】
以上述べたように、本実施形態によれば、3倍算（ステップ306〜308）に付随する直線を計算する際に、定義体上の逆元計算を無くし、中間データf1を計算する際（ステップ308,310,312,314）の逆元計算を1回に削減することが可能となる。
【００６８】
次に本実施形態を用いたデジタル署名を行う際必要となる鍵生成装置について、図4を用いて説明する。
【００６９】
鍵生成装置401は、制御演算部402およびデータ保持部403から構成される。制御演算部402は、楕円曲線、G2の元G及びn、定義体情報を入力し、生成された鍵情報を出力する入出力部404、鍵生成装置401全体を制御する制御部405、乱数を生成する乱数生成部406、点Gの整数倍を計算する楕円曲線スカラー倍演算部407から構成される。
【００７０】
データ保持部403は入出力部により入力された楕円曲線のパラメータ、ベースポイント及びその位数、定義体情報を保持する楕円曲線情報保持部408、制御演算部で生成された鍵情報及び楕円曲線の情報を保持する鍵情報保持部409から構成される。
【００７１】
次に各々の動作は制御部405により制御されているものとして動作の流れを説明する。入出力手段404により入力された楕円曲線パラメータ、点G、定義体情報は、楕円曲線情報保持部408と鍵情報保持部409に保持される。次に乱数生成部406は、0<d<nを満たす乱数dを生成し、これを秘密鍵として鍵情報保持部409で保持する。次に楕円曲線スカラー倍演算部407は、Gのd倍Q=dGを計算し、公開鍵として鍵情報保持部409で保持する。最後に鍵生成装置401は、入出力部404により楕円曲線情報、点G、定義体情報、秘密鍵d及び公開鍵Qを出力する。
【００７２】
次に本実施形態を用いた署名生成装置について、図5を用いて説明する。
【００７３】
署名生成装置501は、制御演算部502およびデータ保持部503から構成される。制御演算部502は、楕円曲線情報を入力し、生成されたデジタル署名を出力する入出力部504、署名生成装置501全体を制御する制御部505、デジタル署名生成処理を行う署名生成部506、また署名生成部は署名対象データより楕円曲線上の点を生成する楕円曲線点生成部507、楕円曲線上の点の整数倍を計算する楕円曲線スカラー倍演算部508から構成される。
【００７４】
データ保持部503は入出力部504により入力された署名生成データを保持する署名対象データ保持部509、同様に入出力部により入力された楕円曲線、部分群G1,G2、定義体情報を保持する楕円曲線情報保持部510、署名生成に用いる秘密鍵を保持する秘密鍵情報保持部511、制御演算部で生成されたデジタル署名を保持する署名保持部512から構成される。
【００７５】
次に各々の動作は制御部505により制御されているものとして動作の流れを説明する。入出力手段504により入力された署名対象データは、署名対象データ保持部509に保持される。入出力手段504により入力された楕円曲線、部分群G1,G2、定義体情報は、楕円曲線情報保持部510に保持される。入出力手段504により入力された秘密鍵情報は、秘密鍵情報保持部511に保持される。次に署名生成部506は、署名対象データ保持部509、楕円曲線情報保持部510、秘密鍵情報保持部511で保持されている情報を用いてデジタル署名生成処理を行い署名を作成する。上記デジタル署名生成処理は、図6に示すフローチャートに従って行われるものとする。署名生成装置501は、最後に署名生成部506で作成されたデジタル署名を、署名情報保持部512に保持するとともに入出力部504より出力する。
【００７６】
図5の署名生成部506で行われるデジタル署名生成処理のフローチャートを図6に示す。以下秘密鍵d、署名対象データM∈{0,1}*として説明を行う。
【００７７】
<ステップ601>
R=MTG(M)∈G1を計算する。
【００７８】
<ステップ602>
σ=dRを計算する。
【００７９】
<ステップ603>
σのx座標s∈FqをMに対する署名とする。
【００８０】
次に本実施形態を用いた署名検証装置について、図7を用いて説明する。
【００８１】
署名検証装置701は、制御演算部702およびデータ保持部703から構成される。制御演算部702は、楕円曲線情報、署名検証対象データ及びデジタル署名を入力し、検証結果を出力する入出力部704、署名検証装置701全体を制御する制御部705、署名検証を行う署名検証部706からなる。
【００８２】
署名検証部706は、与えられたデジタル署名に対応する楕円曲線上の点が存在するかどうかを検証する楕円曲線検証部707、署名検証対象データより楕円曲線上の点を生成する楕円曲線点生成部708、及び楕円曲線上のペアリングを計算するペアリング演算部709(図1のペアリング演算部106に相当)から構成される。
【００８３】
データ保持部703は入出力部704により入力された署名検証の対象である署名検証対象データを保持する署名検証対象データ保持部710、入出力部704により入力されたデジタル署名を保持する署名データ保持部711、入出力部704により入力された楕円曲線、部分群G1,G2、定義体情報を保持する楕円曲線情報保持部712（図1の楕円曲線情報保持部108に相当）、入出力部704により入力された署名検証に用いる公開鍵を保持する公開鍵情報保持部713、署名検証部706における署名検証結果を保持する署名検証結果保持部714から構成される。
【００８４】
次に各々の動作は制御部705により制御されているものとして動作の流れを説明する。入出力手段704により入力された署名検証対象データは署名検証対象データ保持部710に保持される。入出力手段704により入力されたデジタル署名は署名データ保持部711に保持される。入出力手段704により入力された楕円曲線パラメータ、部分群G1,G2、点G、定義体情報は楕円曲線情報保持部712に保持される。入出力手段704により入力された公開鍵情報は公開鍵情報保持部713に保持される。次に署名検証部706は、署名検証対象データ保持部710、署名データ保持部711、楕円曲線情報保持部712、公開鍵情報保持部713で保持されている情報を用いて署名検証処理を行い署名検証結果を生成する。署名検証処理は、図8に示すフローチャートに従って行われるものとする。最後に署名検証装置701は、署名検証部706における署名検証結果を、署名検証結果保持部714に保持するとともに入出力部704より出力する。
【００８５】
図8は図7の署名検証部706で行われる署名検証処理のフローチャートを示す。以下公開鍵Q、メッセージM∈{0,1}*、デジタル署名sとして説明を行う。
【００８６】
<ステップ801>
σ＝(s,y)がE(Fq)上で位数nの点となるようなy∈Fqを見つける。存在すればステップ802に進み、存在しなければステップ805に進む。
【００８７】
<ステップ802>
R=MTG(M)∈G1を計算する。
【００８８】
<ステップ803>
e(σ,G)、e(R,Q)を図2、3に示す方法によって計算し、
e(σ,G)=e(R,Q)またはe-1(σ,G)=e(R,Q)が成立するか検証する。
【００８９】
成立する場合ステップ804に進み、成立しない場合ステップ805に進む。
【００９０】
<ステップ804>
「有効」を出力する。
【００９１】
<ステップ805>
「無効」を出力する。
【図面の簡単な説明】
【００９２】
【図１】本実施形態のシステム機能構成図である。
【図２】本実施形態の動作説明フローチャートである。
【図３】本実施形態による楕円曲線上のペアリング演算動作説明フローチャートである。
【図４】本実施形態を用いた鍵生成装置の構成図である。
【図５】本実施形態を用いた署名生成装置の構成図である。
【図６】本実施形態を用いた署名生成装置の動作説明フローチャートである。
【図７】本実施形態を用いた署名検証装置の構成図である。
【図８】本実施形態を用いた署名検証装置の動作説明フローチャートである。
【符号の説明】
【００９３】
101:楕円曲線ペアリング高速演算装置、102:制御演算部、103:データ保持部、104:入出力部、105:制御部、106:ペアリング演算部、107:演算対象データ保持部、108:楕円曲線情報保持部、109:中間データ保持部、110:演算結果保持部、401:鍵生成装置、402:制御演算部、403:データ保持部、404:入出力部、405:制御部、406:乱数生成部、407:楕円曲線スカラー倍演算部、408:楕円曲線情報保持部、409:鍵情報保持部、501:署名生成装置、502:制御演算部、503:データ保持部、504:入出力部、505:制御部、506:署名生成部、507:楕円曲線点生成部、508:楕円曲線スカラー倍演算部、509:署名対象データ保持部、510:楕円曲線情報保持部、512:秘密鍵情報保持部、513:署名情報保持部、701:署名検証装置、702:制御演算部、703:データ保持部、704:入出力部、705:制御部、706:署名検証部、707:楕円曲線検証部、708:楕円曲線点生成部、709:ペアリング演算部、710:署名検証対象データ保持部、711:署名データ保持部、712:楕円曲線情報保持部、713:公開鍵情報保持部、714:署名検証結果保持部。
【図１】
2005241898.tif 000003
【図２】
2005241898.tif 000004
【図３】
2005241898.tif 000005
【図４】
2005241898.tif 000006
【図５】
2005241898.tif 000007
【図６】
2005241898.tif 000008
【図７】
2005241898.tif 000009
【図８】
2005241898.tif 000010