JP3939586B2 - Forward secure electronic signature method, apparatus, program, and recording medium - Google Patents
Forward secure electronic signature method, apparatus, program, and recording medium Download PDFInfo
- Publication number
- JP3939586B2 JP3939586B2 JP2002132765A JP2002132765A JP3939586B2 JP 3939586 B2 JP3939586 B2 JP 3939586B2 JP 2002132765 A JP2002132765 A JP 2002132765A JP 2002132765 A JP2002132765 A JP 2002132765A JP 3939586 B2 JP3939586 B2 JP 3939586B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- hash function
- signer
- calculating
- key
- 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.)
- Expired - Fee Related
Links
Images
Description
【0001】
【発明の属する技術分野】
この発明は、電子化された文書の稟議/決済、電子投票システム等で、電子的に署名/捺印を付与する電子署名方法、特にマスタ検証鍵を更新せずに、セッション署名鍵のみを更新する前方安全(Forward-Secure)署名方法、その装置及びそのプログラムと記録媒体に関する。
【0002】
【従来の技術】
従来技術として多数の電子署名方法が知られている。
最近、Forward-Secure(前方安全)署名と呼ばれる新たな電子署名が注目を浴びている[文献1〜4]。この署名の特徴は、マスタ検証鍵を更新せずに、セッション署名鍵のみを更新することが出来、更に、仮にあるセッションの署名鍵を盗まれたとしてもそのセッション以前の署名鍵によって作られた署名を安全に保てるという特徴がある。
まず、誰もが考えつく単純な方法を説明し、次に最初のForward-Secure署名である文献[2]に示すものとその他の方法について簡単に述べる。
単純な構成法
(その1) 署名者は、(pk1 ,sk1 ),…,(pkT ,skT )と検証鍵と署名鍵の対をT個作成し、検証鍵pk1 ,…,pkT を登録し、署名鍵(sk1 ,…,skT )を秘密に保持する。署名者は最初の期間はsk1 を署名鍵、pk1 をセッション検証鍵として署名をする。鍵の更新時には、署名鍵をski からski+1 に変更し、ski を破棄してしまう。
【0003】
この方法の欠点は、最初に多数の検証鍵と署名鍵を持つ必要がある上に、署名鍵更新回数が限られている。
(その2) 署名者は、(pk1 ,sk1 )を検証鍵と署名鍵の対として作成し、検証鍵pk1 を登録し、署名鍵sk1 を秘密に保持する。署名者は最初の期間はsk1 を署名鍵、pk1 をセッション検証鍵として署名をする。鍵の更新時には、新たに(pki+1 ,ski+1 )を作成し、直前のセッション検証鍵pki を用いて、pki+1 を承認する署名σi =sigski(pki+1 )を生成し、また署名鍵をski からski+1 に変更し、ski を破棄してしまう。
【0004】
pki+1 を検証するには、以前の全ての検証鍵を使ってσ1 ,…,σi を検証してやる必要がある。このため更新が進むにつれ、セッション検証鍵を検証するのに時間も情報量もかかることがこの方法の欠点である。
Bellare-Minerの構成法とその他
文献[2]の中で、Bellare-Minerは次のようにForward-Secure署名を構成した。
大きな異なる素数p,qからN=pqを作る。Z* nから乱数s1 ,…,sk を選び、1<i<kに対して、Ui =si^2T+1 mod N(ここでA^BはAB を表わす)を生成する。(U1 ,…,Uk N)をマスタ検証鍵として登録し、(s1 ,…,sk )を署名鍵として保存し、p,qを廃棄する。
【0005】
署名は、Feige-Fiat-Shamir署名で行う。鍵の更新は、セッションjでの署名鍵をSKj ={sk1 j,…,skk j}とすると(ski 1=si ),SKj+1 ={(sk1 j)2 mod N,…,(skk j)2 mod N}と更新する。
この方法は、上の2つの方法、特に(その1)と比べると優れているが、署名鍵更新回数が限られているという欠点がある。つまり鍵の更新をT回行うと、si^2T となり、T+1回目ではマスタ鍵となってしまう。
その他にも、文献[1,3,4]等に示す方法が存在するが、署名鍵更新回数が限られていたり、署名更新回数に応じて計算量が増えるなどの欠点が存在する。文献[4]に示す方法は、更新回数に制限が無い一般的なForward-Secure署名の構成法を提案しているが、この方法は非効率で署名の更新回数に依存して計算量が変化する。
【0006】
【発明が解決しようとする課題】
上記のように、従来の方法では署名鍵更新回数が限られていたり、署名更新回数に応じて計算量が増えるなどの欠点が存在する。この発明の目的は効率が、署名更新回数に依存せず、一度の署名も従来のFeige-Fiat-Shamir型署名の効率と同等であり、かつ署名鍵更新回数が限られないForward-Secure署名方法、その装置、そのプログラム及び記録媒体を提供することにある。
【0007】
【課題を解決するための手段】
Gを離散対数問題に利用される群として、その群演算を乗法で表すとき、署名者装置は、Gの元gに対して、h=gs とy=gx を満たすs,xを生成し、(h,y)をマスタ検証鍵として公開し、h,y,g,sに基づきセッション検証鍵を生成し、(s,x)をセッション署名鍵とし、これらのセッション鍵を保存し、
メッセージmに対して、セッション署名鍵(s,x)により署名を作成し、その署名とセッション検証鍵とメッセージを検証者装置に送信し、
セッション更新時には、h=g′s′,y=g′x′を満たすようなg′,s′,x′にg,s,xを変更し、上記セッション検証鍵の生成と、同様にしてh,y,g′,s′に基づき新しいセッション検証鍵を生成し、(s′,x′)を新しいセッション署名鍵として保存中のセッション鍵を更新する。
【0008】
【発明の実施の形態】
以下、この発明の実施形態を図を参照して説明する。
図1にこの発明方法が適用されるシステムの構成例を示す。署名者装置100と検証者装置200は安全でない通信路300を介して結合することができる。署名者装置100は登録センタ装置400に署名者装置の公開鍵を登録することができ、検証者装置200は登録センタ装置400から署名者装置100の公開鍵を取得することができる。
実施例1
この発明の実施例は有限体上の乗法群の離散対数問題に安全性の根拠を置くものである。つまり離散対数問題に利用される群としてその群演算を乗法で表す場合である。
(1)鍵の登録
大きな素数pとp−1を割る大きな素数qが公開パラメータとして登録センタ装置400に登録公開してある。署名者装置100の機能構成例を図2に示し、その処理手順を図3に示す。
【0009】
署名者装置100がシステムに加入するとき、マスタ鍵生成部101内の乱数生成部102によりZ* p(={1,…,p−1})から1以外の値g0 をランダムに生成し(S1)、そのg0 に対し(p−1)/q乗を剰余べき乗演算部103で計算する(S2)。その演算結果をg=g0 (p-1)/qmod pとする。
次に、乱数生成部104によりZq(={0,1,…,q−1})からランダムに二つの値s,xを生成する(S3)。剰余べき乗演算部105,106でそれぞれ、gのs乗、x乗をそれぞれ演算してマスタ公開検証鍵h=gs mod pとy=gx mod pを求める(S4)。これらマスタ公開検証鍵h,yを登録センタ装置400の公開検証鍵簿400aに登録する(S5)。公開検証鍵簿400aには署名者Aごとのマスタ公開検証鍵h,yが登録され、外部から誰れでもアクセス可能とされる。
(2)セッション署名鍵の作成
署名者装置100は乱数生成部104により乱数u∈Zq を生成し(S6)、セッション鍵生成部111におけるべき乗演算部112でgのu乗してa=gu を計算する(S7)。更にハッシュ関数演算部113でa,g、マスタ検証鍵h,y、公開パラメータp,qが入力され、e=H(a,h,y,p,q,g)を計算する(S8)。このハッシュ演算結果e、上記乱数u及びsを用いて、剰余乗算・減算部114でv=u−esmod qを計算する(S9)。
【0010】
(v,e,g)をセッション検証鍵、(s,x)をそのセッション署名鍵とし記憶部121に保存する(S10)。(s,x)は秘密情報である。
(3)署名の作成
以降では、署名者装置100がメッセージmに署名する場合について説明する。
メッセージmは入力部122から入力され、必要に応じて一旦記憶部121に格納される。メッセージmが入力され署名作成要求がなされたかを調べ(S11)、要求されていれば、まず乱数生成部104から乱数w∈Z* qを生成し(S12)、署名作成部131におけるべき乗演算部132でgをw乗してb=gw を計算する(S13)。その計算結果b、マスタ検証鍵h,y、上記g、メッセージmをハッシュ関数演算部133でハッシュ演算を施し、c=H(b,h,y,p,q,g,m)を計算する(S14)。この計算結果c、上記乱数w,c及びセッション署名鍵xを剰余乗算・減算部134に入力してz=w−cxmod qを計算する(S15)。この計算結果cと上記zをmに対する署名(c,z)として、m,(c,z)とセッション検証鍵(v,e,g)を検証者装置200に通信部141より送信する(S16)。
(4)署名の検査
検証者装置200は、図4に示すように通信部201にm,(c,z),(v,e,g)と共に検証要求が受信されると、必要に応じてこれら受信情報を記憶部202に一旦格納する。検証者装置200は、署名者A(署名者装置100)のマスタ公開検証鍵h,yを登録センタ装置400から取得し、これらh,yがh≠yであることを検証部203で、またh,y、及び受信したgが1でないことを検証部204で検証する。これらの条件は鍵登録時にg0 を1以外の値から選んだこと、2つのs,xを選んだことに基づく。
【0011】
更にセッション鍵検証部205のべき乗演算部206,207でそれぞれ受信したgを受信したvでべき乗し、またマスタ検証鍵hを受信したeでべき乗し、これらべき乗結果を乗算部208で乗算する。この乗算結果とh,y,p,q,gとをハッシュ関数演算部209に入力してハッシュ演算を施し、この演算結果H(gv he ,h,y,p,q,g)と受信したeとが一致するかを比較部211で確認する。
同様に署名検証部213において、べき乗演算部214,215でgz ,yc を演算し、これら結果を乗算部216で乗算し、この乗算結果と、h,y,p,q,g,mに対し、ハッシュ関数演算部217でハッシュ演算を施し、この結果が受信したcと一致するかを比較部218で確認する。
【0012】
検証部203,204,205,213の全ての検証に合格すれば、検証結果出力部219から、受信した(v,e,g)をマスタ検証鍵(h,y)に基づくセッション検証鍵であると認め、かつ(c,z)をメッセージmのセッション検証鍵(v,e,g)での署名と認め、合格(OK)を表わす信号を出力し、一つでも検証に合格しないものは、不正な署名として不合格(NG)を表わす信号を出力する。
なお、(v,e,g)が正しければ、v=u−es,h=gs であるからgv he =gu-esges=gu 、べき乗演算部112(図2)よりgu =aである。よって演算部209のハッシュ演算はH(a,h,y,p,q,g)となり、演算部113の演算結果eと一致する。同様に(c,z)が正しければ、z=w−cx,y=gx であるから、gz yc =gw- cxgcx=gw =bとなり、演算部217の演算はH(b,h,y,p,q,g,m)となり、演算部133の演算結果cと一致する。
(5)署名鍵の更新
セッション署名鍵を更新する時になると(図3、S17)、例えば、セッション署名鍵の生成後一定期間が過ぎた時あるいは所定回数使用した時などに署名者装置100(図2参照)は乱数生成部104で乱数r∈Zqを生成し(S18)、鍵更新部142におけるべき乗演算部143でg´=gr を演算し、剰余乗算部144,145でそれぞれ乱数rの逆数r-1とセッション署名鍵s,xとをそれぞれ剰余演算し、s´=r-1smod q,x´=r-1xmod qを求める(S19)。これら(s´,x´)にセッション署名鍵を更新する。
【0013】
新しいセッション検証鍵は以下のように作成する。乱数生成部104から乱数u′∈Z* qを生成し(S20)、a′=g′u′べき乗演算部146で計算し(S21)、ハッシュ関数演算部147を用いて、e′=H(a′,h,y,p,q,g′)を計算し(S22)、上記u′,e′及びs′を用いて、剰余乗算・減算部148でv′=u′−e′s′mod qを計算する(S23)。
(v′,e′,g′)を新しいセッション検証鍵、(s′,x′)を新しいセッション署名鍵として記憶部121に保存し、古いセッション署名鍵(s,x)は破棄してステップS11に戻る(S24)。ステップS17で更新時になければステップS11へ移る。よってその後のメッセージmに対する署名は(s′,x′)、(v′,e′,g′)を、署名作成部131でs,x,v,e,gとして用いて署名c,zの作成を行い、また検証者装置200へセッション検証鍵を(v,e,g)として送る。
【0014】
以上のようにセッション鍵を更新するため、何回でも更新を行うことができる。g及びその変更したg´=gr は外部へ出力するがg´,gからrを推定することは離散対数問題であって困難である。従って安全性は保持される。また仮にセッション署名鍵s´,x´が盗まれても、その前のセッション鍵をs=rs´,x=rx´により求めるにはrを知る必要があり、このrを知ることは困難であるため、盗まれる前に行われた署名について偽造されるおそれはない。
またy=hx/s mod p=hx´/s´mod pでありh=gs mod p,y=gx mod p,y=hx/s mod pの関係を知っている人のみがx´,s´を作ることができ、h=g´s ´ mod p,y=g´x´mod p,y=hx´/s´mod pの関係を満たすようにg´,s´,x´を更新すればよい。
【0015】
なお署名者装置100において各部は制御部149により順次動作させられる。検証者装置200においては制御部230により各部が動作させられる。
実施例2
この発明の実施例2は楕円曲線上の有理点が作る群上で構成できる離散対数問題を安全性の根拠とする場合である。
(1)鍵の登録
有限体Fp 上で定義される楕円曲線EのFp-有理点の作る群をE(Fp)とし、その群E(Fp)の位数を割る大きな素数qを位数に持つ部分群をGと置く(G⊂E(Fp)かつq|#E(Fp)である)。上記は公開パラメータとして登録センタ装置400に登録公開してある。図5に署名者装置100の機能構成例を示す。
【0016】
署名者装置100がシステムに加入するときマスタ鍵生成部150内の乱数生成部151でG−{0}({0}は単位元を表す)から値gをランダムに生成する。乱数生成部152により、Zq(={0,1,…,q−1})からランダムに二つの値s,xを生成し、楕円倍数演算部153,154でh=s・gとy=x・gを計算してマスタ検証鍵を求める。ただし、s・g,x・gは楕円曲線上の点gのs倍算、x倍算をそれぞれ表わしている。さらにg,h∈G上の加法演算をg+hで表わす。
これらマスタ検証鍵h,yを登録センタ装置400の公開検証鍵簿400aに登録する。
(2)セッション署名鍵の作成
署名者装置100は、乱数生成部152により乱数u∈Zq を生成し、セッション鍵生成部156内の楕円倍数演算部157でgをu倍算してa=u・gを計算し、その計算結果a、マスタ検証鍵h,y,g,Gをハッシュ関数演算部158に入力して、e=H(a,h,y,G,g)を計算し、上記u,e及びsを剰余乗算・減算部159に入力してv=u−es mod qを計算する。
【0017】
(v,e,g)をセッション検証鍵、(s,x)をそのセッション署名鍵として記憶部161に保存する。
(3)署名の作成
以降では、署名者装置100がメッセージmに署名する場合について説明する。
メッセージmは入力部162から入力され、必要に応じて一旦記憶部161に格納される。乱数生成部152から、乱数w∈Zq を生成し署名作成部163内の楕円倍数演算部164にw,gを入力してb=w・gを計算し、このbとh,y,G,g,mをハッシュ関数演算部165に入力して、c=H(b,h,y,G,g,m)を計算する。この計算結果c、上記w及びxを剰余乗算・減算部166に入力してz=w−cx mod qを計算し、その計算結果zとcを署名(c,z)として、セッション検証鍵(v,e,g)と共に検証者装置200と通信部167により送信する。
(4)署名の検査
検証者装置200は、図6に示すように通信部240にm,(c,Z)(v,e,g)が受信されると必要に応じて、これらを一旦記憶部241に格納する。署名者装置100のマスタ公開検証鍵h,yを登録センタ装置400から取得し、これらがh≠yであることを検証部242で検証し、またh,y,gが何れも0でないことを検証部243で検証する。更にセッション鍵検証部244内のハッシュ関数演算部253でH(v・g+e・h,h,y,G,g)を演算し、その演算結果が受信したeと一致するかを比較部256で確認し、署名検証部257内のハッシュ関数演算部258でH(z・g+c・h,h,y,G,g,m)を演算し、その結果がcと一致するかを比較部256で確認する。検証部242,243,244,257の各検証結果が検証結果出力部261に入力され、これらの検証結果が全て条件を満していれば(v,e,g)を検証鍵(h,y)のセッション検証鍵と認め、かつ(c,z)をメッセージmのセッション検証鍵(v,e,g)での署名と認めることを表わす合格情報OKを出力し、一つでも条件を満さない場合は不合格情報NGを出力する。
(5)署名鍵の更新
セッション鍵を更新する時になると署名者装置100は乱数生成部152から乱数r∈Zq を生成し、鍵更新部175内の楕円倍数演算部176でg′=r・gを演算し、更に剰余乗算部177,178でそれぞれs′=r-1smod q,x′=r-1x mod qを計算してこれら(s′,x′)を新しいセッション署名鍵として更新する。乱数生成部152から乱数u′∈Zq を生成し、楕円倍数演算部179でa′=u′・g′を計算し、更にハッシュ関数演算部181で、e′=H(a′,h,y,G,g′)を計算し、上記u′,e′及びs′を用いて、剰余乗算・減算部182でv′=u′−e′s′mod qを計算する。(v′,e′,g′)を新しいセッション検証鍵として(s′,x′)を新しいセッション署名鍵として記憶部161に保存し、古いセッション署名鍵(s,x)は破棄する。これら新しいセッション鍵(s′,x′),(v′,e′,g′)を用いてメッセージmに対する署名を作成するには、署名作成部163で(s′,x′)を(s,x)とし、(v′,e′,g′)を(v,e,g)として作成処理すればよい。
【0018】
以上のようにしてセッション鍵を何回でも更新することができる。外部へ漏れるのはg,g′であり、g′=r・gであるから楕円離散対数問題に基づき、rを推定することは困難である。よって安全性が保持される。また仮りにセッション署名鍵が盗まれても、rを推定できないためそれより以前のセッション署名鍵を推定することができず、盗まれる前になされた署名の安全性は保持される。
またこの場合もg,g′からrを推定することは困難であり、y=x・s‐1・h=x′・s′‐1・hとなりh=s・g,y=x・gなる関係を知っている人のみがセッション鍵を更新することができる。
【0019】
署名者装置100において、各部は制御部170により順次動作させられる。検証者装置200においては、各部は制御部263により順次動作させられる。
実施例1及び2において、マスタ検証鍵h,yを生成するための乱数s,xを最初のセッション署名鍵として使用したが最初のセッション署名鍵から鍵更新部142,165で生成してもよい。図2中の鍵更新部142中のa′,e′,v′を演算する演算部146,147,148はセッション鍵生成部111中の演算部112,113,114とそれぞれ同一の演算式を実行するものであるから、鍵更新時に生成したu′,g′,s′,x′をそれぞれu,g,s,xとして演算部112,113,114によりa′,e′,v′を演算し、つまり演算部146,147,148を省略してもよい。このことは実施例2中の図5に示した署名者装置についても云えることであり、演算部169〜171,172を省略することもできる。このような点から例えば図3に示した処理手順において、ステップS19からステップS6に移って、g′,s′,x′をg,s,xとして用いて新しいa′,e′,v′を生成するようにしてもよい。
【0020】
図2、図5に示した例において、べき乗算部、剰余乗算部、ハッシュ関数演算部、剰余乗算・減算部、楕円倍数演算部などを各1つずつ設け、これらを制御部149又は170の制御のもとに生成したいデータ元として必要とする各種データを入力して、各種データの生成に兼用するようにしてもよい。これらのことは図4、図6にそれぞれ示した検証者装置200についても同様に云えることである。
上述の説明から明らかなように、h=gs,y=gxを満たす又はh=s・g,y=x・gを満たすs,xを生成し、(h,y)をマスタ公開鍵とし、セッション署名鍵は(s,x)それ自体、これらは前述のような関係で更新したものを用い、セッション検証鍵はh,y,g,sから作成したものを用いればよく、そのセッション鍵の更新は、h=g′s′,y=g′x′又はh=s′・g′,y=x′・g′を満たすようなg′,s′,x′に変更すればよい。またセッション検証鍵は署名(c,z)の作成方法と同様な方法を、xの代わりにsを用いてh,y,g,sに対して適用しているといえる。
【0021】
実施例1及びこの各署名者装置100、利用者装置200はそれぞれコンピュータに機能させることもできる。その場合は、例えば図2に示した署名者装置100としてコンピュータを機能させるためのプログラムをコンピュータに、CD−ROM、可撓性磁気ディスクなどの記録媒体からインストールし、又は通信回線を介してダウンロードして、そのプログラムを実行させればよい。
署名作成法としては実施例1及び2に示した例に限らず、他の手法を用いてもよく、それに応じて、セッション検証鍵の生成法も変更される。
【0022】
【発明の効果】
以上述べたようにこの発明によれば離散対数問題を利用するため、安全でかつセッション鍵を無限に更新することができ、しかも文献[2]に示す従来のもっとも効率的なForward-Secure電子署名方法と比較すると、Bellare-Miner法はマスタ検証鍵として(U1 ,…,Uk ,N)を持つ必要があるが、この発明では(h,y)だけであるから実施例1では計算量で同じ、情報量で2/(k+1)である。実施例2では楕円曲線上の離散対数問題を利用するので、h,yのパラメータをさらに小さく出来、署名計算時間も短いから計算量で1/4、情報量で2/(k+1)以下である。
【図面の簡単な説明】
【図1】この発明方法が適用されるシステム構成の簡単な例を示す図。
【図2】この発明の実施例1における署名者装置100の機能構成例を示す図。
【図3】図2に示した装置の処理手順の例を示す流れ図。
【図4】実施例1における検証者装置200の機能構成例を示す図。
【図5】実施例2における署名者装置100の機能構成例を示す図。
【図6】実施例2における検証者装置200の機能構成例を示す図。
参考文献
[1] M.Abdalla and L.Reyzin. A new forward-secure digital signature scheme. In T.Okamoto,editor,Advances in Cryptology-ASIACRYPT2000,volume 1976 of Lecture Notes in Computer Science,pages 116-129. Springer-Verlag,2000.
[2] M.Bellare and S.Miner. A forward-secure digital signature scheme. In M.Wiener,editor,Advances in Cryptoloty-CRYPTO'99,volume 1666 of Lecture Notes in Computer Science,pages 431-448. Springer-Verlag,19999.
[3] H.Krawczyk. Simple forward-secure signatures from any signature scheme. In 7th ACM conference on Computer and Communications security,2000.
[4] T.Malkin,D.Micciancio,and S.Miner. Efficient generic forward-secure signatures with an unbounded number of time periods. In Advances in Cryptology-EUROCRYPT'02,Lecture Notes in Computer Science. Springer-Verlag,2002.[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an electronic signature method for electronically assigning a signature / seal with an electronic document deliberation / settlement, electronic voting system, etc., in particular, only a session signature key is updated without updating a master verification key. The present invention relates to a forward-secure signature method, an apparatus thereof, a program thereof, and a recording medium.
[0002]
[Prior art]
A number of electronic signature methods are known as prior art.
Recently, a new electronic signature called a Forward-Secure signature has attracted attention [
First, I will explain a simple method that anyone can think of, and then briefly describe the first Forward-Secure signature shown in document [2] and other methods.
Simple Construction Method (Part 1) The signer creates (pk 1 , sk 1 ),..., (Pk T , sk T ), T verification key / signature key pairs, and verifies the verification keys pk 1 ,. pk T is registered and the signature key (sk 1 ,..., sk T ) is kept secret. The signer signs for the first period using sk 1 as a signature key and pk 1 as a session verification key. At the time of key update, to change the signature key from sk i to sk i + 1, would destroy the sk i.
[0003]
The disadvantage of this method is that it requires a large number of verification keys and signature keys first, and the number of signature key updates is limited.
(Part 2) The signer creates (pk 1 , sk 1 ) as a pair of verification key and signature key, registers the verification key pk 1 , and keeps the signature key sk 1 secretly. The signer signs for the first period using sk 1 as a signature key and pk 1 as a session verification key. When updating the key, a new signature (pk i + 1 , sk i + 1 ) is created, and a signature σ i = sig ski (pk i +) that approves pk i + 1 using the immediately previous session verification key pk i. 1) to generate, also to change the signing key from sk i to sk i + 1, would destroy the sk i.
[0004]
In order to verify pk i + 1 , it is necessary to verify σ 1 ,..., σ i using all previous verification keys. For this reason, as the update progresses, it takes a long time and the amount of information to verify the session verification key.
In Bellare-Miner's construction method and other literature [2], Bellare-Miner constructed the Forward-Secure signature as follows.
Create N = pq from large different primes p and q. Z * n random numbers s 1 from ... to select s k, generating a relative 1 <i <k, U i = s i ^ 2 T + 1 mod N ( where A ^ B represents A B) To do. (U 1 ,..., U k N) are registered as master verification keys, (s 1 ,..., S k ) are stored as signature keys, and p and q are discarded.
[0005]
The signature is the Feige-Fiat-Shamir signature. The key is updated by assuming that the signature key in session j is SK j = {sk 1 j ,..., Sk k j } (sk i 1 = s i ), SK j + 1 = {(sk 1 j ) 2 mod N,..., (Sk k j ) 2 mod N}.
This method is superior to the above two methods, particularly (No. 1), but has the disadvantage that the number of signature key updates is limited. That is, if the key is updated T times, s i ^ 2 T is obtained , and the T + 1 time becomes the master key.
In addition, there are methods shown in the literature [1, 3, 4] and the like, but there are drawbacks such as a limited number of signature key updates and an increase in the amount of calculation according to the number of signature updates. The method shown in document [4] proposes a general Forward-Secure signature configuration method with no limit on the number of updates, but this method is inefficient and the amount of calculation changes depending on the number of signature updates. To do.
[0006]
[Problems to be solved by the invention]
As described above, the conventional methods have drawbacks such as a limited number of signature key updates and an increase in the amount of calculation according to the number of signature updates. The object of the present invention is a forward-secure signature method in which the efficiency does not depend on the number of signature updates, the signature is equivalent to the efficiency of a conventional Feige-Fiat-Shamir type signature, and the number of signature key updates is not limited The present invention provides an apparatus, a program thereof, and a recording medium.
[0007]
[Means for Solving the Problems]
When G is a group used for the discrete logarithm problem and the group operation is expressed by multiplication, the signer device generates s and x satisfying h = g s and y = g x for the element g of G. Publish (h, y) as a master verification key, generate a session verification key based on h, y, g, s, store (s, x) as a session signature key, store these session keys,
A signature is created for the message m using the session signature key (s, x), the signature, the session verification key, and the message are transmitted to the verifier device.
At the time of session update, g, s, x are changed to g ′, s ′, x ′ satisfying h = g ′ s ′, y = g ′ x ′, and similar to the generation of the session verification key. A new session verification key is generated based on h, y, g ′, and s ′, and the stored session key is updated using (s ′, x ′) as a new session signature key.
[0008]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 shows a configuration example of a system to which the method of the present invention is applied. The
Example 1
The embodiment of the present invention places safety grounds on the discrete logarithm problem of multiplicative groups over a finite field. That is, this is a case where the group operation is represented by multiplication as a group used for the discrete logarithm problem.
(1) Key Registration A large prime number q that divides a large prime number p and p−1 is registered and disclosed in the registration center apparatus 400 as a public parameter. An example of the functional configuration of the
[0009]
When the
Next, the random
(2) Creation of Session Signature Key The
[0010]
(V, e, g) is stored in the
(3) A case where the
The message m is input from the
(4) The signature
[0011]
Further, g received by the
Similarly, in the
[0012]
If all the verifications of the
Incidentally, (v, e, g) if the correct, v = u-es, h = from a g s g v h e = g u-es g es = g u, from the power calculation unit 112 (FIG. 2) g u = a. Therefore, the hash calculation of the
(5) Updating the signing key When it is time to update the session signing key (FIG. 3, S17), for example, when a certain period of time has passed after the generation of the session signing key, or when it has been used a predetermined number of times (see FIG. 2), the random
[0013]
A new session verification key is created as follows. A random number u′εZ * q is generated from the random number generation unit 104 (S20), calculated by a ′ = g ′ u ′ power calculation unit 146 (S21), and using a hash
(V ′, e ′, g ′) is stored as a new session verification key and (s ′, x ′) is stored as a new session signature key in the
[0014]
Since the session key is updated as described above, it can be updated any number of times. Although g and its changed g ′ = g r are output to the outside, it is difficult to estimate r from g ′ and g because it is a discrete logarithm problem. Therefore, safety is maintained. Even if the session signature key s ′, x ′ is stolen, it is necessary to know r in order to obtain the previous session key by s = rs ′, x = rx ′, and it is difficult to know r. As such, there is no risk of forgery of signatures made prior to being stolen.
Also, only those who know y = h x / s mod p = h x ′ / s ′ mod p and h = g s mod p , y = g x mod p , y = h x / s mod p Can create x ′ and s ′, and satisfy g ′ and s so that the relationship of h = g ′ s ′ mod p , y = g ′ x ′ mod p , and y = h x ′ / s ′ mod p is satisfied. 'And x' may be updated.
[0015]
In the
Example 2
The second embodiment of the present invention is a case where the basis of safety is a discrete logarithm problem that can be constructed on a group formed by rational points on an elliptic curve.
(1) A group formed by F p- rational points of an elliptic curve E defined on the key registration finite field F p is E (F p ), and a large prime q that divides the order of the group E (F p ) the placing subgroup having the position number and G (G⊂E (F p) and q | is #E (F p)). The above is registered and disclosed in the registration center apparatus 400 as a public parameter. FIG. 5 shows a functional configuration example of the
[0016]
When the
These master verification keys h and y are registered in the public verification
(2) Creation of Session Signature Key The
[0017]
(V, e, g) is stored in the
(3) A case where the
The message m is input from the
(4) When the verification /
(5) Updating the signature key When the session key is updated, the
[0018]
As described above, the session key can be updated any number of times. Since g and g ′ leak to the outside and g ′ = r · g, it is difficult to estimate r based on the elliptic discrete logarithm problem. Therefore, safety is maintained. Even if the session signing key is stolen, r cannot be estimated, so the previous session signing key cannot be estimated, and the security of the signature made before it is stolen is maintained.
Also in this case, it is difficult to estimate r from g and g ′, and y = x · s− 1 · h = x ′ · s′− 1 · h and h = s · g, y = x · g Only those who know the relationship can update the session key.
[0019]
In the
In the first and second embodiments, the random numbers s and x for generating the master verification keys h and y are used as the first session signature key, but may be generated by the
[0020]
In the example shown in FIG. 2 and FIG. 5, a power multiplication unit, a remainder multiplication unit, a hash function computation unit, a remainder multiplication / subtraction unit, an elliptic multiple computation unit, etc. are provided one by one. Various data required as a data source to be generated under control may be input and used for generation of various data. The same can be said for the
As is clear from the above description, s and x satisfying h = g s , y = g x or satisfying h = s · g and y = x · g are generated, and (h, y) is set as the master public key. And the session signature key (s, x) itself, those updated as described above are used, and the session verification key created from h, y, g, s may be used. If the key is updated to g ′, s ′, x ′ satisfying h = g ′ s ′, y = g ′ x ′ or h = s ′ · g ′, y = x ′ · g ′ Good. In addition, it can be said that the session verification key is applied to h, y, g, and s by using s instead of x and the same method as the signature (c, z) creation method.
[0021]
The first embodiment and the
The signature creation method is not limited to the examples shown in the first and second embodiments, and other methods may be used, and the session verification key generation method is changed accordingly.
[0022]
【The invention's effect】
As described above, according to the present invention, since the discrete logarithm problem is used, the session key can be updated infinitely, and the conventional and most efficient Forward-Secure electronic signature shown in the literature [2] can be used. Compared with the method, the Bellare-Miner method needs to have (U 1 ,..., U k , N) as a master verification key, but in the present invention, only (h, y) is required. The amount of information is 2 / (k + 1). Since the discrete logarithm problem on the elliptic curve is used in the second embodiment, the parameters of h and y can be further reduced, and the signature calculation time is short, so that the calculation amount is 1/4 and the information amount is 2 / (k + 1) or less. .
[Brief description of the drawings]
FIG. 1 is a diagram showing a simple example of a system configuration to which a method of the present invention is applied.
FIG. 2 is a diagram showing a functional configuration example of a
3 is a flowchart showing an example of a processing procedure of the apparatus shown in FIG.
FIG. 4 is a diagram illustrating a functional configuration example of a
FIG. 5 is a diagram illustrating a functional configuration example of a
6 is a diagram illustrating a functional configuration example of a
References
[1] M. Abdalla and L. Reyzin. A new forward-secure digital signature scheme. In T. Okamoto, editor, Advances in Cryptology-ASIACRYPT2000, volume 1976 of Lecture Notes in Computer Science, pages 116-129. Springer-Verlag 2000.
[2] M. Bellare and S. Miner. A forward-secure digital signature scheme. In M. Wiener, editor, Advances in Cryptoloty-CRYPTO'99, volume 1666 of Lecture Notes in Computer Science, pages 431-448. Springer- Verlag, 19999.
[3] H.Krawczyk. Simple forward-secure signatures from any signature scheme. In 7th ACM conference on Computer and Communications security, 2000.
[4] T. Malkin, D. Micciancio, and S. Miner. Efficient generic forward-secure signatures with an unbounded number of time periods. In Advances in Cryptology-EUROCRYPT'02, Lecture Notes in Computer Science. Springer-Verlag, 2002 .
Claims (13)
署名者装置の剰余べき乗演算部が、上記g 0 を用いてgをg=g 0 (p-1)/q mod p(qは素数でp−1の約数)により算出するステップと、
署名者装置の乱数生成部が、Z q (= { 0、1、・・・、q−1 } )からランダムに2つの値s,xを生成するステップと、
署名者装置の第1べき乗演算部が、h=g s mod pを算出するステップと、
署名者装置の第2べき乗演算部が、y=g x mod pを算出するステップと、
上記hと上記yとをマスタ検証鍵として、登録センタ装置に、その外部の装置からアクセス可能に保存するステップと、
署名者装置のセッション鍵生成部が、上記h,y,g,sを用いてセッション検証鍵を生成するステップと、
上記セッション検証鍵を署名者装置の記憶部に保存するステップと、
上記sと上記xとをセッション署名鍵とし、署名者装置の記憶部に保存するステップと、
署名者装置の署名作成部が、メッセージmに対して上記セッション署名鍵を用いて署名を作成するステップと、
署名者装置の通信部が、上記署名と上記セッション検証鍵と上記メッセージとを検証者装置に送信するステップと、
を実行し、
セッション更新時に、
署名者装置の鍵更新部が、h=g´ s ´ mod p,y=g´ x ´ mod pを満たすg´,s´,x´を算出するステップと、
署名者装置の鍵更新部が、上記h,y,g´,s´を用いて新しいセッション検証鍵を生成するステップと、
上記s´とx´とを新しいセッション署名鍵として署名者装置の記憶部に保存するステップと、
上記新しいセッション検証鍵を署名者装置の記憶部に保存するステップと、
を実行することを特徴とするフォワードセキュア電子署名方法。 A step in which the g 0 generation unit of the signer device randomly generates a value g 0 other than 1 from Z * p (= { 1,..., P−1 } , p is a prime number) ;
A step of calculating a power of g by g = g 0 (p−1) / q mod p (q is a prime number and a divisor of p−1) using the above g 0 , and
Comprising the steps of random number generation unit of the signer apparatus, Z q (= {0,1, ···, q-1}) from the random two to values s, to produce the x,
A first power calculation unit of the signer apparatus calculating h = g s mod p;
A second power calculator of the signer device calculating y = g x mod p;
And the h and the y as the master verification key, the registration center device, and storing from the external device accessibly,
A step of the session key generation unit of the signer apparatus generates a session verification key using the h, y, g, and s,
Storing the session verification key in the storage unit of the signer device;
A step of the above s and the x and session signature key, stored in the storage unit of the signer apparatus,
Signature maker of the signer's apparatus includes the steps of creating a signature using the session signature key for a message m,
The communication unit of the signer apparatus, and transmitting the said signature and said session verification key and the message to the verifier apparatus,
Run
When updating a session,
A key update unit of the signer device calculates g ′, s ′, x ′ satisfying h = g ′ s ′ mod p, y = g ′ x ′ mod p;
A key update unit of the signer device generates a new session verification key using h, y, g ′, and s ′;
And storing in a storage unit and the s'the x'a new session signature key signer apparatus,
Storing the new session verification key in the storage of the signer device;
Forward secure electronic signature method, characterized by the execution.
上記セッション検証鍵を生成するステップは、
署名者装置の乱数生成部が、乱数uを生成するステップと、
署名者装置の第3べき乗演算部が、a=guを計算するステップと、
署名者装置の第1ハッシュ関数演算部が、a,h,y,gのビット結合値に対しハッシュ関数Hによりハッシュ関数計算を行って、ハッシュ値e=H(a,h,y,g)を求めるステップと、
署名者装置の第1剰余乗算・減算部が、上記u,e及びsに対し、v=u−e・s mod qを計算するステップと、
を具備し、
上記セッション検証鍵は上記v,上記e,上記gであり、
上記署名を作成するステップは、
署名者装置の乱数生成部が、乱数wを生成するステップと、
署名者装置の第4べき乗演算部が、b=gwを計算するステップと、
署名者装置の第2ハッシュ関数演算部が、b,h,y,g,mのビット結合値に対しハッシュ関数Hによりハッシュ関数計算をして、ハッシュ値c=H(b,h,y,g,m)を求めるステップと、
署名者装置の第2剰余乗算・減算部が、上記w,c及びxに対し、z=w−c・x mod qを計算するステップと、
を具備し、
上記署名はcとzであり、
署名検証時に、
検証者装置の通信部が、上記メッセージと上記セッション検証鍵と上記署名とを受信するステップと、
検証者装置の第1検証部が、上記マスタ検証鍵を用い、hとyが等しくないことを検証するステップと、
検証者装置の第2検証部が、h,y,gがそれぞれ1でないことを検証するステップと、
検証者装置の第5べき乗演算部が、g v を計算するステップと、
検証者装置の第6べき乗演算部が、h e を計算するステップと、
検証者装置の第1乗算部が、g v とh e を乗算するステップと、
検証者装置の第3ハッシュ関数演算部が、g v h e ,h,y,gのビット結合値に対しハッシュ関数Hにより、H(gv he ,h,y,g)のハッシュ関数計算を行うステップと、
検証者装置の第1比較部が、上記第3ハッシュ関数演算部で算出されたハッシュ関数計算値とeとが等しいことを検証するステップと、
検証者装置の第7べき乗演算部が、g z を計算するステップと、
検証者装置の第8べき乗演算部が、y c を計算するステップと、
検証者装置の第2乗算部が、g z とy c を乗算するステップと、
検証者装置の第4ハッシュ関数演算部が、g z y c ,h,y,g,mのビット結合値に対しハッシュ関数Hにより、H(gz y c ,h,y,g,m)のハッシュ関数計算を行うステップと、
検証者装置の第2比較部が、上記第4ハッシュ関数演算部で算出されたハッシュ関数計算値とcとが等しいことを検証するステップと、
上記第1検証部がhとyが等しくないと判定し、上記第2検証部がh,y,gがそれぞれ1でないと判定し、上記第1比較部が上記第3ハッシュ関数演算部で算出されたハッシュ関数計算値とeとが等しいと判定し、第2比較部が上記第4ハッシュ関数演算部で算出されたハッシュ関数計算値とcとが等しいと判定した場合に、検証者装置の検証結果出力部が、上記v,上記e,上記gがマスタ検証鍵のセッション検証鍵であり、上記c,上記zが上記メッセージのセッション検証鍵による署名であると認める信号を出力するステップと、
を実行し、
上記h=g´ s ´ mod p,y=g´ x ´ mod pを満たすg´,s´,x´を算出するステップは、
署名者装置の乱数生成部が、乱数rを生成するステップと、
署名者装置の第9べき乗演算部が、g´=gr を計算するステップと、
署名者装置の第1剰余乗算部が、s´=r-1・s mod qを計算するステップと、
署名者装置の第2剰余乗算部が、x´=r-1・x mod qを計算するステップと、
を具備し、
上記新しいセッション検証鍵を生成するステップは、
署名者装置の乱数生成部が、乱数u´を生成するステップと、
署名者装置の第10べき乗演算部が、a´=g´u ´を計算するステップと、
署名者装置の第5ハッシュ関数演算部が、a´,h,y,g´のビット結合値に対しハッシュ関数Hによりハッシュ関数計算を行って、ハッシュ値e´=H(a´,h,y,g´)を求めるステップと、
署名者装置の第3剰余乗算・減算部が、上記u´,e´及びs´に対し、v´=u´−e´・s´mod qを計算するステップと、
を具備し、
上記新しいセッション検証鍵は上記v´,上記e´,上記g´である、
ことを特徴とする請求項1記載のフォワードセキュア電子署名方法。 The random number s, x is varies each other,
The step of generating the session verification key includes:
Random number generation unit of the signer's apparatus includes the steps of generating a random number u,
The third power calculation unit of the signer apparatus, calculating a a = g u,
The first hash function calculation unit of the signer apparatus performs a hash function calculation on the bit combination values of a, h, y, and g using the hash function H , and a hash value e = H (a, h, y, g) and step asking you to,
The first modular multiplier-subtractor unit of the signer apparatus, the u, with respect to e及beauty s, calculating the v = u-e · s mod q,
Comprising
The above session verification key is above v, the above-mentioned e, the g,
Step to create the signature,
Random number generation unit of the signer's apparatus includes the steps of generating a random number w,
The fourth power operation of the signer apparatus, calculating a b = g w,
The second hash function calculation unit of the signer apparatus calculates a hash function with the hash function H for the bit combination values of b, h, y, g, m , and the hash value c = H (b, h, y, g, and a step asking you to m),
A second remainder multiplication / subtraction unit of the signer apparatus calculates z = w−c · x mod q for w, c and x ;
Comprising
The signature is the c and z,
During signature verification,
The communication unit of the verifier apparatus, receiving the and the signature the message and the session verification key,
A step first verification unit of the verifier apparatus, which uses the master verification key to verify that the h and y are not equal,
The second verification unit of the verifier apparatus, and a step of verifying that h, y, g is not each 1,
A fifth power calculator of the verifier device calculating g v ;
Sixth exponentiation of verifier device, calculating a h e,
First multiplication unit of the verifier apparatus, and a step of multiplying the g v and h e,
Third hash function operation unit of the verifier apparatus, g v h e, h, y, by the hash function H to the bit coupling value of g, the hash function calculation of H (g v h e, h , y, g) and line cormorant steps,
A step of first comparing section verifier device verifies that the hash function calculated value calculated in the third hash function operation unit and the e are equal,
A seventh power calculator of the verifier device calculates g z ;
An eighth power operation unit of the verifier device calculating y c ;
A second multiplying unit of the verifier device multiplying g z and y c ;
The fourth hash function calculation unit of the verifier device performs the hash function H on the bit combination value of g z y c , h, y, g, m to H (g z y c , H, y, g, and row Cormorant step hash function calculations m),
A step of second comparison unit of the verifier device verifies that the fourth hash function calculated value calculated by the hash function operation unit and c are equal,
The first verification unit determines that h and y are not equal, the second verification unit determines that h, y, and g are not 1, and the first comparison unit calculates the third hash function calculation unit. If the hash function calculation value and e are determined to be equal, and the second comparison unit determines that the hash function calculation value calculated by the fourth hash function calculation unit and c are equal, step verification result output unit, the v, the e, a session verification key of the g master verification key, which the c, the z outputs a signal admitted to be signed by the session verification key of the message When,
Run
The step of calculating g ′, s ′, x ′ satisfying h = g ′ s ′ mod p, y = g ′ x ′ mod p,
Random number generation unit of the signer's apparatus includes the steps of generating a random number r,
Ninth exponentiation of the signer apparatus, calculating a g '= g r,
A first remainder multiplication unit of the signer device calculating s ′ = r −1 · s mod q;
A second remainder multiplication unit of the signer device calculates x ′ = r −1 · x mod q ;
Comprising
The step of generating the new session verification key is as follows:
Random number generation unit of the signer's apparatus includes the steps of generating a random number u',
A step of calculating a ′ = g ′ u ′ by a tenth power operation unit of the signer device ;
The fifth hash function calculation unit of the signer apparatus performs a hash function calculation with the hash function H on the bit combination values of a ′, h, y, g ′ , and the hash value e ′ = H (a ′, h, comprising the steps of: y, Ru seek g'),
A step of calculating v ′ = u′−e ′ · s′mod q for u ′, e ′ and s ′ by the third remainder multiplication / subtraction unit of the signer device ;
Comprising
The new session verification key is above v', the e', is the above g',
The forward secure electronic signature method according to claim 1.
署名者装置の乱数生成部が、ZThe random number generator of the signer device qq (=(= {{ 0、1、・・・、q−1)からランダムに2つの値s,xを生成するステップと、Generating two values s, x randomly from 0, 1, ..., q-1);
署名者装置の第1楕円倍数演算部が、上記楕円曲線E上での点gのs倍算値h=s・gを算出するステップと、A step of calculating a s multiplication value h = s · g of a point g on the elliptic curve E by a first elliptic multiplication unit of the signer apparatus;
署名者装置の第2楕円倍数演算部が、上記楕円曲線E上での点gのx倍算値y=x・gを算出するステップと、A step of calculating a x multiplication value y = x · g of a point g on the elliptic curve E by a second elliptic multiple calculation unit of the signer apparatus;
上記hと上記yとをマスタ検証鍵として、登録センタ装置に、その外部の装置からアクセス可能に保存するステップと、Storing the above h and y as master verification keys in a registration center device so as to be accessible from an external device;
署名者装置のセッション鍵生成部が、上記h,y,g,sを用いてセッション検証鍵を生成するステップと、A session key generation unit of the signer device generates a session verification key using the h, y, g, and s;
上記セッション検証鍵を署名者装置の記憶部に保存するステップと、Storing the session verification key in the storage unit of the signer device;
上記sと上記xとをセッション署名鍵とし、署名者装置の記憶部に保存するステップと、 Storing s and x as a session signature key in a storage unit of a signer device;
署名者装置の署名作成部が、メッセージmに対して上記セッション署名鍵を用いて署名を作成するステップと、A step in which a signature creation unit of the signer device creates a signature for the message m using the session signature key;
署名者装置の通信部が、上記署名と上記セッション検証鍵と上記メッセージとを検証者装置に送信するステップと、A communication unit of the signer device transmits the signature, the session verification key, and the message to the verifier device;
を実行し、Run
セッション更新時に、When updating a session,
署名者装置の鍵更新部が、h=s´・g´(上記楕円曲線E上での点g´のs´倍算),y=x´・g´(上記楕円曲線E上での点g´のx´倍算)を満たすg´,s´,x´を算出するステップと、The key update unit of the signer apparatus performs h = s ′ · g ′ (s ′ multiplication of the point g ′ on the elliptic curve E), y = x ′ · g ′ (the point on the elliptic curve E) g ′, s ′, x ′ satisfying x ′ multiplication of g ′);
署名者装置の鍵更新部が、上記h,y,g´,s´を用いて新しいセッション検証鍵を生成するステップと、A key update unit of the signer device generates a new session verification key using h, y, g ′, and s ′;
上記s´とx´とを新しいセッション署名鍵として署名者装置の記憶部に保存するステップと、Storing the above s ′ and x ′ as a new session signing key in the storage unit of the signer device;
上記新しいセッション検証鍵を署名者装置の記憶部に保存するステップと、Storing the new session verification key in the storage of the signer device;
を実行することを特徴とするフォワードセキュア電子署名方法。A forward secure electronic signature method characterized in that:
上記セッション検証鍵を生成するステップは、The step of generating the session verification key includes:
署名者装置の乱数生成部が、乱数uを生成するステップと、A random number generator of the signer device generates a random number u;
署名者装置の第3楕円倍数演算部が、上記楕円曲線E上での点gのu倍算値a=u・gを計算するステップと、A step of calculating a u multiplication value a = u · g of the point g on the elliptic curve E by a third elliptic multiple calculation unit of the signer apparatus;
署名者装置の第1ハッシュ関数演算部が、a,h,y,gのビット結合値に対しハッシュ関数Hによりハッシュ関数計算を行って、ハッシュ値e=H(a,h,y,g)を求めるステップと、The first hash function calculation unit of the signer device performs a hash function calculation on the bit combination values of a, h, y, and g using the hash function H, and a hash value e = H (a, h, y, g) A step of seeking
署名者装置の第1剰余乗算・減算部が、上記u,e及びsに対し、v=u−e・sThe first remainder multiplication / subtraction unit of the signer apparatus sets v = u−e · s for u, e and s. mod mod qを計算するステップと、calculating q;
を具備し、Comprising
上記セッション検証鍵は上記v,上記e,上記gであり、The session verification keys are v, e, and g,
上記署名を作成するステップは、The step of creating the signature is
署名者装置の乱数生成部が、乱数wを生成するステップと、A random number generator of the signer device generates a random number w;
署名者装置の第4楕円倍数演算部が、上記楕円曲線E上での点gのw倍算値b=w・gを計算するステップと、A step in which a fourth elliptic multiple calculation unit of the signer apparatus calculates a w multiplication value b = w · g of the point g on the elliptic curve E;
署名者装置の第2ハッシュ関数演算部が、b,h,y,g,mのビット結合値に対しハッシュ関数Hによりハッシュ関数計算をして、ハッシュ値c=H(b,h,y,g,m)を求めるステップと、The second hash function calculation unit of the signer apparatus calculates a hash function with the hash function H for the bit combination values of b, h, y, g, m, and the hash value c = H (b, h, y, g, m), and
署名者装置の第2剰余乗算・減算部が、上記w,c及びxに対し、z=w−c・xThe second remainder multiplication / subtraction unit of the signer apparatus sets z = w−c · x for w, c and x. mod mod qを計算するステップと、calculating q;
を具備し、Comprising
上記署名はcとzであり、The signature is c and z,
署名検証時に、During signature verification,
検証者装置の通信部が、上記メッセージと上記セッション検証鍵と上記署名とを受信するステップと、A communication unit of the verifier device receives the message, the session verification key, and the signature;
検証者装置の第1検証部が、上記マスタ検証鍵を用い、hとyとが等しくないことを検証するステップと、A first verification unit of the verifier device using the master verification key to verify that h and y are not equal;
検証者装置の第2検証部が、h,y,gがそれぞれ0でないことを検証するステップと、A second verification unit of the verifier device verifies that h, y, and g are not 0;
検証者装置の第3ハッシュ関数演算部が、v・g+e・h,h,y,gのビット結合値に対しハッシュ関数Hにより、H(v・g+e・h,h,y,g)のハッシュ関数計算を行うステップと、The third hash function calculation unit of the verifier device uses the hash function H for the bit combination value of v · g + e · h, h, y, and g to hash H (v · g + e · h, h, y, g). Performing a function calculation;
検証者装置の第1比較部が、上記第3ハッシュ関数演算部で算出されたハッシュ関数計算値とeとが等しいことを検証するステップと、The first comparison unit of the verifier device verifies that e is equal to the hash function calculation value calculated by the third hash function calculation unit;
検証者装置の第4ハッシュ関数演算部が、z・g+c・yThe fourth hash function calculation unit of the verifier device performs z · g + c · y ,h,y,g,mのビット結合値に対しハッシュ関数Hにより、H(z・g+c・y,h,y,g,m)のハッシュ関数計算を行うステップと、Performing a hash function calculation of H (z · g + c · y, h, y, g, m) with a hash function H on the bit combination values of h, y, g, m,
検証者装置の第2比較部が、上記第4ハッシュ関数演算部で算出されたハッシュ関数計算値とcとが等しいことを検証するステップと、The second comparison unit of the verifier apparatus verifies that the hash function calculation value calculated by the fourth hash function calculation unit is equal to c;
上記第1検証部がhとyが等しくないと判定し、上記第2検証部がh,y,gがそれぞれ1でないと判定し、上記第1比較部が上記第3ハッシュ関数演算部で算出されたハッシュ関数計算値とeとが等しいと判定し、第2比較部が上記第4ハッシュ関数演算部で算出されたハッシュ関数計算値とcとが等しいと判定した場合に、検証者装置の検証結果出力部が、上記v,上記e,上記gがマスタ検証鍵のセッション検証鍵であり、上記c,上記zが上記メッセージのセッション検証鍵による署名であると認める信号を出力するステップと、The first verification unit determines that h and y are not equal, the second verification unit determines that h, y, and g are not 1, and the first comparison unit calculates the third hash function calculation unit. If the hash function calculation value and e are determined to be equal, and the second comparison unit determines that the hash function calculation value calculated by the fourth hash function calculation unit and c are equal, A step of outputting a signal that the verification result output unit recognizes that v, e, and g are a session verification key of a master verification key, and c and z are signatures of a session verification key of the message;
を実行し、Run
上記h=s´・g´(上記楕円曲線E上での点g´のs´倍算),y=x´・g´(上記楕円曲線E上での点g´のx´倍算)を満たすg´,s´,x´を算出するステップは、H = s ′ · g ′ (s ′ multiplication of point g ′ on the elliptic curve E), y = x ′ · g ′ (x ′ multiplication of point g ′ on the elliptic curve E) The step of calculating g ′, s ′, x ′ satisfying
署名者装置の乱数生成部が、乱数rを生成するステップと、A random number generator of the signer device generates a random number r;
署名者装置の第5楕円倍数演算部が、上記楕円曲線E上での点gのr倍算値g´=r・gを計算するステップと、A step in which a fifth elliptic multiple computing unit of the signer apparatus calculates an r-multiplied value g ′ = r · g of the point g on the elliptic curve E;
署名者装置の第1剰余乗算部が、s´=rThe first remainder multiplication unit of the signer device is s ′ = r -1-1 ・s・ S mod mod qを計算するステップと、calculating q;
署名者装置の第2剰余乗算部が、x´=rThe second remainder multiplication unit of the signer device sets x ′ = r -1-1 ・x・ X mod mod qを計算するステップと、calculating q;
を具備し、Comprising
上記新しいセッション検証鍵を生成するステップは、The step of generating the new session verification key is as follows:
署名者装置の乱数生成部が、乱数u´を生成するステップと、A random number generator of the signer device generates a random number u ′;
署名者装置の第6楕円倍数演算部が、上記楕円曲線E上での点g´のu´倍算値a´=u´・g´を計算するステップと、A step of calculating a u ′ multiplication value a ′ = u ′ · g ′ of the point g ′ on the elliptic curve E by a sixth elliptic multiple calculation unit of the signer apparatus;
署名者装置の第5ハッシュ関数演算部が、a´,h,y,g´に対しハッシュ関数計算を行って、e´=H(a´,h,y,g´)を求めるステップと、A fifth hash function operation unit of the signer device calculates a hash function for a ′, h, y, g ′ to obtain e ′ = H (a ′, h, y, g ′);
署名者装置の第3剰余乗算・減算部が、上記u´,e´及びs´に対し、v´=u´−e´・s´The third remainder multiplication / subtraction unit of the signer apparatus applies v ′ = u′−e ′ · s ′ to u ′, e ′, and s ′. mod mod qを計算するステップと、calculating q;
を具備し、Comprising
上記新しいセッション検証鍵は上記v´,上記e´,上記g´である、The new session verification keys are v ′, e ′, and g ′.
ことを特徴とする請求項3記載のフォワードセキュア電子署名方法。The forward secure electronic signature method according to claim 3.
上記g 0 を用いてgをg=g 0 (p-1)/q mod p(qは素数でp−1の約数)により算出する剰余べき乗演算部と、
Z q (= { 0、1、・・・、q−1 } )からランダムに2つの値s,xを生成する乱数生成部と、
h=g s mod pを算出する第1べき乗演算部と、
y=g x mod pを算出する第2べき乗演算部と、
上記h,y,g,sを用いてセッション検証鍵を生成するセッション鍵生成部と、
メッセージmに対して上記セッション署名鍵を用いて署名を作成する署名作成部と、
上記署名と上記セッション検証鍵と上記メッセージとを検証者装置に送信する通信部と、
を実行し、
セッション更新時に、h=g´ s ´ mod p,y=g´ x ´ mod pを満たすg´,s´,x´を算出し、上記h,y,g´,s´を用いて新しいセッション検証鍵を生成する鍵更新部と、
上記sと上記xとをセッション署名鍵として、上記s´とx´とを新しいセッション署名鍵として、これらを上記セッション検証鍵、上記新しいセッション検証鍵と共に保存する記憶部と
を具備するフォワードセキュア電子署名の署名者装置。 A g 0 generator that randomly generates a value g 0 other than 1 from Z * p (= { 1,..., P−1 } , p is a prime number) ;
A power-of-residue calculating unit that calculates g by g = g 0 (p−1) / q mod p (q is a prime number and a divisor of p−1) using the above g 0 ;
A random number generator that randomly generates two values s and x from Z q (= { 0, 1,..., Q−1 } ) ;
a first power calculator for calculating h = g s mod p;
a second power calculator for calculating y = g x mod p;
A session key generation unit that generates a session verification key using h, y, g, and s ;
A signature creation unit that creates a signature for the message m using the session signature key ;
A communication unit that transmits the signature, the session verification key, and the message to the verifier device;
Run
At the time of session update, g ′, s ′ , x ′ satisfying h = g ′ s ′ mod p, y = g′x ′ mod p is calculated, and a new session is generated using the above h, y, g ′, s ′. A key update unit for generating a verification key ;
A storage unit for storing s and x as a session signing key, s 'and x' as a new session signing key, and storing them together with the session verification key and the new session verification key. signer apparatus of forward secure electronic signature.
上記セッション検証鍵生成部は、
乱数uを生成する乱数生成部と、
a=g u を計算する第3べき乗演算部と、
a,h,y,gのビット結合値に対しハッシュ関数Hによりハッシュ関数計算を行って、ハッシュ値e=H(a,h,y,g)を求める第1ハッシュ関数演算部と、
上記u,e及びsに対し、v=u−e・s mod qを計算する第1剰余乗算・減算部と、
を具備し、
上記セッション検証鍵は上記v,上記e,上記gであり、
上記署名作成部は、
乱数wを生成する乱数生成部と、
b=g w を計算する第4べき乗演算部と、
b,h,y,g,mのビット結合値に対しハッシュ関数Hによりハッシュ関数計算をして、ハッシュ値c=H(b,h,y,g,m)を求める第2ハッシュ関数演算部と、
上記w,c及びxに対し、z=w−c・x mod qを計算する第2剰余乗算・減算部と、
を具備し、
上記署名はcとzであり、
上記鍵更新部は、
乱数rと乱数u´とを生成する乱数生成部と、
g´=g r を計算する第9べき乗演算部と、
s´=r -1 ・s mod qを計算する第1剰余乗算部と、
x´=r -1 ・x mod qを計算する第2剰余乗算部と、
a´=g´ u ´ を計算する第10べき乗演算部と、
a´,h,y,g´のビット結合値に対しハッシュ関数Hによりハッシュ関数計算を行 って、ハッシュ値e´=H(a´,h,y,g´)を求める第5ハッシュ関数演算部と、
上記u´,e´及びs´に対し、v´=u´−e´・s´ mod qを計算する第3剰余乗算・減算部と、
を具備し、
上記新しいセッション検証鍵は上記v´,上記e´,上記g´である、
ことを特徴とする請求項5記載のフォワードセキュア電子署名の署名者装置。 The random numbers s and x are different from each other,
The session verification key generation unit
A random number generator for generating a random number u;
a third power calculator for calculating a = g u ;
a first hash function calculation unit that calculates a hash value e = H (a, h, y, g) by performing a hash function calculation on the bit combination values of a, h, y, and g using a hash function H;
A first modular multiplication / subtraction unit for calculating v = u−e · s mod q for u, e and s ;
Comprising
The session verification keys are v, e, and g ,
The signature creation part
A random number generator for generating a random number w;
a fourth power calculator for calculating b = g w ;
A second hash function computing unit that calculates a hash value c = H (b, h, y, g, m) by performing a hash function calculation with a hash function H on the bit combination values of b, h, y, g, m When,
A second modular multiplication / subtraction unit for calculating z = w−c · x mod q for w, c and x ;
Comprising
The signature is c and z,
The key update unit
A random number generator for generating a random number r and a random number u ′;
a ninth power calculating unit for calculating the g '= g r,
a first modular multiplication unit for calculating s ′ = r −1 · s mod q;
a second modular multiplication unit for calculating x ′ = r −1 · x mod q;
a tenth power calculation unit for calculating a ′ = g ′ u ′ ;
a', h, y, I row hash function calculated by the hash function H to the bit coupling value of g ', the hash value e'= H (a', h, y, g') fifth hash function for obtaining the An arithmetic unit ;
A third modular multiplication / subtraction unit for calculating v ′ = u′−e ′ · s ′ mod q for u ′, e ′ and s ′ ;
Comprising
The new session verification keys are v ′, e ′, and g ′.
6. The signer apparatus for a forward secure electronic signature according to claim 5 .
公開されているhとyとを用い、hとyとが等しくないことを検証する第1検証部と、
h,y,gがそれぞれ1でないことを検証する第2検証部と、
g v を計算する第5べき乗演算部と、
h e を計算する第6べき乗演算部と、
g v とh e を乗算する第1乗算部と、
g v h e ,h,y,gのビット結合値に対しハッシュ関数Hにより、H(g v h e ,h,y,g)のハッシュ関数計算を行う第3ハッシュ関数演算部と、
上記第3ハッシュ関数演算部で算出されたハッシュ関数計算値とeとが等しいことを検証するの第1比較部と、
g z を計算する第7べき乗演算部と、
y c を計算する第8べき乗演算部と、
g z とy c を乗算する第2乗算部と、
g z y c ,h,y,g,mのビット結合値に対しハッシュ関数Hにより、H(g z y c ,h,y,g,m)のハッシュ関数計算を行う第4ハッシュ関数演算部と、
上記第4ハッシュ関数演算部で算出されたハッシュ関数計算値とcとが等しいことを検証する第2比較部と、
上記第1検証部がhとyが等しくないと判定し、上記第2検証部がh,y,gがそれぞれ1でないと判定し、上記第1比較部が上記第3ハッシュ関数演算部で算出されたハッシュ関数計算値とeとが等しいと判定し、第2比較部が上記第4ハッシュ関数演算部で算出されたハッシュ関数計算値とcとが等しいと判定した場合に、上記v,上記e,上記gがマスタ検証鍵のセッション検証鍵であり、上記c,上記zが上記メッセージのセッション検証鍵による署名であると認める信号を出力する検証結果出力部と、
を備えるフォワードセキュア電子署名の検証者装置。 A communication unit that receives the message, the session verification key, and the signature;
A first verification unit that verifies that h and y are not equal, using publicly available h and y ;
a second verification unit that verifies that h, y, and g are not 1, respectively;
a fifth power calculator for calculating g v ;
a sixth power calculator for calculating h e ;
a first multiplication unit for multiplying the g v and h e,
g v h e, h, y , by the hash function H to the bit coupling value of g, and the third hash function operation unit for performing H (g v h e, h , y, g) a hash function calculations,
A first comparison unit that verifies that the hash function calculation value calculated by the third hash function calculation unit is equal to e;
a seventh power calculator for calculating g z ;
an eighth power operation unit for calculating y c ;
a second multiplier for multiplying g z and y c ;
g z y c, h, y , g, by the hash function H to the bit coupling values of m, H 4 hash function operation unit for performing (g z y c, h, y, g, m) hash function calculations When,
A second comparison unit for verifying that the hash function calculation value calculated by the fourth hash function calculation unit and c are equal;
The first verification unit determines that h and y are not equal, the second verification unit determines that h, y, and g are not 1, and the first comparison unit calculates the third hash function calculation unit. When the calculated hash function value and e are equal, and the second comparison unit determines that the hash function calculated value calculated by the fourth hash function calculation unit and c are equal, v, e, g is a session verification key of the master verification key, and c, z are verification result output units that output a signal that recognizes that the message is a signature by the session verification key of the message;
A forward secure electronic signature verifier device comprising:
Z q (= { 0、1、・・・、q−1 } )からランダムに2つの値s,xを生成する乱数生成部と、
上記楕円曲線E上での点gのs倍算値h=s・gを算出する第1楕円倍数演算部と、
上記楕円曲線E上での点gのx倍算値y=x・gを算出する第2楕円倍数演算部と、
上記h,y,g,sを用いてセッション検証鍵を生成するセッション鍵生成部と、
メッセージmに対して上記セッション署名鍵を用いて署名を作成する署名作成部と、
上記署名と上記セッション検証鍵と上記メッセージとを検証者装置に送信する通信部と、
を実行し、
セッション更新時に、h=s´・g´(上記楕円曲線E上での点g´のs´倍算),y=x´・g´(上記楕円曲線E上での点g´のx´倍算)を満たすg´,s´,x´を算出し、上記h,y,g´,s´を用いて新しいセッション検証鍵を生成する鍵更新部と、
上記sと上記xとをセッション署名鍵として、上記s´とx´とを新しいセッション署名鍵として、これらを上記セッション検証鍵、上記新しいセッション検証鍵と共に保存する記憶部と
を具備するフォワードセキュア電子署名の署名者装置。 A g generator for randomly generating a point g on the elliptic curve E defined on the finite field F p and excluding the unit element;
A random number generator that randomly generates two values s and x from Z q (= { 0, 1,..., Q−1 } ) ;
A first elliptic multiple calculation unit for calculating an s multiplication value h = s · g of the point g on the elliptic curve E;
A second elliptic multiple calculation unit for calculating an x multiplication value y = x · g of the point g on the elliptic curve E;
A session key generation unit that generates a session verification key using h, y, g, and s ;
A signature creation unit that creates a signature for the message m using the session signature key ;
A communication unit that transmits the signature, the session verification key, and the message to the verifier device;
Run
At the time of session update, h = s ′ · g ′ (s ′ multiplication of point g ′ on the elliptic curve E), y = x ′ · g ′ (x ′ of point g ′ on the elliptic curve E) A key update unit that calculates g ′, s ′, x ′ satisfying (multiplication) and generates a new session verification key using h, y, g ′, s ′ .
A storage unit for storing s and x as a session signature key, s ′ and x ′ as a new session signature key, and storing them together with the session verification key and the new session verification key;
A signer device for forward secure electronic signature comprising:
上記セッション検証鍵生成部は、
乱数uを生成する乱数生成部と、
上記楕円曲線E上での点gのu倍算値a=u・gを計算する第3楕円倍数演算部と、
a,h,y,gのビット結合値に対しハッシュ関数Hによりハッシュ関数計算を行って、ハッシュ値e=H(a,h,y,g)を求める第1ハッシュ関数演算部と、
上記u,e及びsに対し、v=u−e・s mod qを計算する第1剰余乗算・減算部と、
を具備し、
上記セッション検証鍵は上記v,上記e,上記gであり、
上記署名作成部は、
乱数wを生成する乱数生成部と、
上記楕円曲線E上での点gのw倍算値b=w・gを計算する第4楕円倍数演算部と、
b,h,y,g,mのビット結合値に対しハッシュ関数Hによりハッシュ関数計算をして、ハッシュ値c=H(b,h,y,g,m)を求める第2ハッシュ関数演算部と、
上記w,c及びxに対し、z=w−c・x mod qを計算する第2剰余乗算・減算部と、
を具備し、
上記署名はcとzであり、
上記鍵更新部は、
乱数rと乱数u´とを生成する乱数生成部と、
上記楕円曲線E上での点gのr倍算値g´=r・gを計算する第5楕円倍数演算部と、
s´=r -1 ・s mod qを計算する第1剰余乗算部と、
x´=r -1 ・x mod qを計算する第2剰余乗算部と、
上記楕円曲線E上での点g´のu´倍算値a´=u´・g´を計算する第6楕円倍数演算部と、
a´,h,y,g´のビット結合値に対しハッシュ関数Hによりハッシュ関数計算を行って、ハッシュ値e´=H(a´,h,y,g´)を求める第5ハッシュ関数演算部と、
上記u´,e´及びs´に対し、v´=u´−e´・s´ mod qを計算する第3剰余乗算・減算部と、
を具備し、
上記新しいセッション検証鍵は上記v´,上記e´,上記g´である、
ことを特徴とする請求項8記載のフォワードセキュア電子署名の署名者装置。 The random numbers s and x are different from each other,
The session verification key generation unit
A random number generator for generating a random number u;
A third elliptic multiple arithmetic unit for calculating a u multiplication value a = u · g of the point g on the elliptic curve E;
a first hash function calculation unit that calculates a hash value e = H (a, h, y, g) by performing a hash function calculation on the bit combination values of a, h, y, and g using a hash function H;
A first modular multiplication / subtraction unit for calculating v = u−e · s mod q for u, e and s ;
Comprising
The above session verification key is above v, the above-mentioned e, the g,
The signature creation part
A random number generator for generating a random number w;
A fourth elliptic multiple calculation unit for calculating the w multiplication value b = w · g of the point g on the elliptic curve E;
A second hash function computing unit that calculates a hash value c = H (b, h, y, g, m) by performing a hash function calculation with a hash function H on the bit combination values of b, h, y, g, m When,
A second modular multiplication / subtraction unit for calculating z = w−c · x mod q for w, c and x ;
Comprising
The signature is c and z,
The key update unit
A random number generator for generating a random number r and a random number u ′;
A fifth elliptic multiple computing unit for calculating an r-multiplied value g ′ = r · g of the point g on the elliptic curve E;
a first modular multiplication unit for calculating s ′ = r −1 · s mod q;
a second modular multiplication unit for calculating x ′ = r −1 · x mod q;
A sixth elliptic multiple calculation unit for calculating the u ′ multiplication value a ′ = u ′ · g ′ of the point g ′ on the elliptic curve E;
A fifth hash function operation for calculating a hash function e ′ = H (a ′, h, y, g ′) by performing a hash function calculation with a hash function H on the bit combination values of a ′, h, y, g ′ And
A third modular multiplication / subtraction unit for calculating v ′ = u′−e ′ · s ′ mod q for u ′, e ′ and s ′ ;
Comprising
The new session verification keys are v ′, e ′, and g ′.
9. The signer apparatus for a forward secure electronic signature according to claim 8.
公開されているhとyとを用い、hとyとが等しくないことを検証する第1検証部と、A first verification unit that verifies that h and y are not equal, using publicly available h and y;
h,y,gがそれぞれ0でないことを検証する第2検証部と、a second verification unit for verifying that h, y, and g are not 0,
v・g+e・h,h,y,gのビット結合値に対しハッシュ関数Hにより、H(v・g+e・h,h,y,g)のハッシュ関数計算を行う第3ハッシュ関数演算部と、a third hash function calculation unit that performs a hash function calculation of H (v · g + e · h, h, y, g) by a hash function H on the bit combination value of v · g + e · h, h, y, g;
上記第3ハッシュ関数演算部で算出されたハッシュ関数計算値とeとが等しいことを検証するの第1比較部と、A first comparison unit that verifies that the hash function calculation value calculated by the third hash function calculation unit is equal to e;
z・g+c・yz · g + c · y ,h,y,g,mのビット結合値に対しハッシュ関数Hにより、H(z・g+c・y,h,y,g,m)のハッシュ関数計算を行う第4ハッシュ関数演算部と、, H, y, g, m, a fourth hash function calculation unit that performs a hash function calculation of H (z · g + c · y, h, y, g, m) by a hash function H with respect to the bit combination value of
上記第4ハッシュ関数演算部で算出されたハッシュ関数計算値とcとが等しいことを検証する第2比較部と、A second comparison unit for verifying that the hash function calculation value calculated by the fourth hash function calculation unit and c are equal;
上記第1検証部がhとyが等しくないと判定し、上記第2検証部がh,y,gがそれぞれ1でないと判定し、上記第1比較部が上記第3ハッシュ関数演算部で算出されたハッシュ関数計算値とeとが等しいと判定し、第2比較部が上記第4ハッシュ関数演算部で算出The first verification unit determines that h and y are not equal, the second verification unit determines that h, y, and g are not 1, and the first comparison unit calculates the third hash function calculation unit. It is determined that the calculated hash function value is equal to e, and the second comparison unit calculates the fourth hash function calculation unit. されたハッシュ関数計算値とcとが等しいと判定した場合に、上記v,上記e,上記gがマスタ検証鍵のセッション検証鍵であり、上記c,上記zが上記メッセージのセッション検証鍵による署名であると認める信号を出力する検証結果出力部と、When it is determined that the calculated hash function value is equal to c, v, e, and g are session verification keys of the master verification key, and c and z are signatures of the message by the session verification key. A verification result output unit that outputs a signal that is recognized as
を備えるフォワードセキュア電子署名の検証者装置。A forward secure electronic signature verifier device comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002132765A JP3939586B2 (en) | 2002-05-08 | 2002-05-08 | Forward secure electronic signature method, apparatus, program, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002132765A JP3939586B2 (en) | 2002-05-08 | 2002-05-08 | Forward secure electronic signature method, apparatus, program, and recording medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003324426A JP2003324426A (en) | 2003-11-14 |
JP3939586B2 true JP3939586B2 (en) | 2007-07-04 |
Family
ID=29544624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002132765A Expired - Fee Related JP3939586B2 (en) | 2002-05-08 | 2002-05-08 | Forward secure electronic signature method, apparatus, program, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3939586B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101802826B1 (en) | 2016-10-27 | 2017-11-30 | 고려대학교 산학협력단 | Method for id-based authentication and key exchange |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4746406B2 (en) * | 2005-11-11 | 2011-08-10 | 日本放送協会 | Personal information protection system, signature key update method and personal information collection method, key management device and key generation program, signature key generation device and signature key generation program, personal information management device and personal information collection program, and content decryption device And personal information management program |
JP5227764B2 (en) * | 2008-12-02 | 2013-07-03 | 日本電信電話株式会社 | Electronic signature verification system, electronic signature device, verification device, electronic signature verification method, electronic signature method, verification method, electronic signature program, verification program |
KR101882578B1 (en) * | 2016-04-28 | 2018-08-24 | 한양대학교 산학협력단 | Forward-secure digital signature system and method with minimal secure zone |
-
2002
- 2002-05-08 JP JP2002132765A patent/JP3939586B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101802826B1 (en) | 2016-10-27 | 2017-11-30 | 고려대학교 산학협력단 | Method for id-based authentication and key exchange |
Also Published As
Publication number | Publication date |
---|---|
JP2003324426A (en) | 2003-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5328186B2 (en) | Data processing system and data processing method | |
EP2359523B1 (en) | Acceleration of key agreement protocols | |
US8543811B2 (en) | Efficient identity-based ring signature scheme with anonymity and system thereof | |
CN110637441A (en) | Encryption key generation for data deduplication | |
JP2001511912A (en) | Circular polynomial structure of discrete logarithmic cryptosystem over finite field | |
Brickell et al. | Enhanced privacy ID from bilinear pairing | |
US6212637B1 (en) | Method and apparatus for en-bloc verification of plural digital signatures and recording medium with the method recorded thereon | |
JP5099003B2 (en) | Group signature system and information processing method | |
Verma et al. | Efficient identity‐based blind message recovery signature scheme from pairings | |
US6959085B1 (en) | Secure user identification based on ring homomorphisms | |
Sarath et al. | A survey on elliptic curve digital signature algorithm and its variants | |
Daniel et al. | A forward secure signcryption scheme with ciphertext authentication for e-payment systems using conic curve cryptography | |
JP3939586B2 (en) | Forward secure electronic signature method, apparatus, program, and recording medium | |
Au et al. | Proof-of-knowledge of representation of committed value and its applications | |
JP2002323852A (en) | Method and device for elliptic curve ciphering, and program | |
KR101443935B1 (en) | Fast rsa signature verification | |
WO2009090519A1 (en) | Efficient reconstruction of a public key from an implicit certificate | |
JP2003318884A (en) | Signature method and device using homomorphic unidirectional function, and method and device for verifying signature | |
JP3331328B2 (en) | Multiple digital signature method, system, apparatus and program recording medium | |
Sahoo et al. | EASB: ECC based aggregate signature without bilinear pairing for blockchain | |
Sharma et al. | Adaptively secure strong designated signature | |
JP2003218858A (en) | Signature generation method and signature verification method, signature-generating apparatus and signature- verifying apparatus, signature generation program and signature verification program, and storage medium for storing signature generation program and storage medium for storing signature verification program | |
JPH0695590A (en) | Electronic signature system and electronic signature method | |
RU2325768C1 (en) | Method of generation and authenticity check of electronic digital signature, which certifies electronic document | |
JP2002328602A (en) | Blind signature method, device therefor, and program and recording medium therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040712 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20061004 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061128 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070129 |
|
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: 20070320 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070328 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110406 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120406 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |