説明

署名・検証システム、署名・検証方法、署名装置、検証装置、プログラム、記録媒体

【課題】署名長が短く、検証式の計算量がより少なく、高い安全性が証明可能な、群要素メッセージに対するデジタル署名方法であり、さらに、従来のようなメッセージの制約がなく、任意のメッセージに対して署名を生成できる署名方法を提供する。
【解決手段】署名・検証システムは、異なる群からなる双線形写像を利用し、群Gから群Gへの写像が困難であることを仮定する。そして、異なる生成元の指数部を求めることが難しい性質を利用し、2つの異なる群上でのメッセージを署名のアウトプットとする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、主に電気通信を介したメッセージの授受の際に用いる署名・検証システム、署名・検証方法、署名装置、検証装置、プログラム、記録媒体に関する。
【背景技術】
【0002】
デジタル署名はメッセージmに対して、公開鍵pkに対応する秘密鍵skを知る署名者が、メッセージmに対して秘密鍵skを正しく使ったときにのみ計算できる値sを算出し、これを電子的な署名として用いるものである。正しく計算された署名は誰でも公開鍵pkを用いてその正当性を検証でき、秘密鍵skを知らないいかなる第三者も正当な署名sを算出することはできない。
【0003】
デジタル署名は、電子現金やクレデンシャルシステムなど様々な暗号プロトコルにおいて基本的な構成要素として利用されている。特に、利用者のプライバシーを必要とする応用においては、ゼロ知識証明と組み合わせることにより署名sを明かさないまま、あるメッセージmに対する正しい署名sを保持しているという事実を任意の第三者に納得させるなど、高度な利用形態がしばしば見受けられる。
【0004】
近年のペアリング技術の進展によって、群の要素がある関係を満たすという事実を効率的に証明するゼロ知識証明が構成可能になった(非特許文献1)。これによって、署名sが効率的なペアリングを持つ群Gの要素である場合、即ちs∈Gである場合、前述のように署名sを明かさないまま、正しい署名sを保持しているという事実を証明することが可能である。例えば、非特許文献2に示されている、いわゆるCL-Signatureと呼ばれる方法では、メッセージm∈Zに対する署名sは3つの群要素(a,b,c)∈Gから構成されている。
【0005】
しかしながら、CL-signatureのように、ランダムオラクル等の(実現不可能と知られている)理想化された構成要素を用いず、数論的な仮定のみによって安全性が証明できる既存の署名方法では、メッセージmが群Gの要素ではない。そのため、メッセージを秘匿した状態で、その秘匿したメッセージに対する正しい署名を保持していることを証明するという応用には供さない。メッセージが群Gの要素である場合にも安全な署名方法として、上記のCL-Signatureを改良した方式が非特許文献3に示されており、ランダムメッセージ攻撃に対して安全であることが示されているが、より強い選択メッセージ攻撃に対する安全性は不明である。
【0006】
メッセージが群要素であって、選択メッセージ攻撃に強いことが証明されている方法として、非特許文献4に示された方法がある。この方法を以下に説明する。図1は署名・検証システムの構成例を示す図であり、図2は署名装置の処理フローを示す図、図3は検証装置の処理フローを示す図である。署名・検証システムは、ネットワーク800に接続された署名装置700と検証装置900で構成される。
【0007】
v=(q,G,G,e,g)を公開パラメータとする。qは大きな素数、G,Gは位数qの群、eはG×G→Gの効率的な計算が可能なペアリング、gを群Gの任意の生成元、F,H,K,Tを群Gの生成元とする。また、メッセージは群要素の対(M,N)∈Gであって、e(M,H)=e(g,N)を満たすものに限られているとする。
【0008】
署名装置700は、1以上q−1以下のランダムな整数xを生成する(S710)。そして、X=xg、Y=xHを計算し(S720)、(v,xg,xH)を公開鍵pkとし、xを秘密鍵skとする(S730)。
【0009】
署名装置700は、1以上q−1以下の乱数c,rを生成し(S750)、
【0010】
【数1】

【0011】
=cg
=cF
=rg
=rH
を計算する(S760)。そして、5つの組(a,a,a,a,a)∈Gを署名σとする(S770)。
【0012】
検証装置900は、ネットワーク800を介して署名σを受け取る(S910)。そして、メッセージ対(M,N)と署名σに対して、
e(a,X+a)=e(K+M,g)e(T,a)であること、
e(a,F)=e(g,a)であること、
e(a,H)=e(g,a)であること、
e(M,H)=e(g,N)であること、
e(X,H)=e(g,Y)であること
を確認する(S920)。そして、すべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する(S930)。
【先行技術文献】
【非特許文献】
【0013】
【非特許文献1】Jens Groth and Amit Sahai, “Efficient Non-interactive Proof Systems for Bilinear Groups”, Eurocrypt 2008, LNCS 2965, pp.415-432.
【非特許文献2】Jan Camenisch and Anna Lysyanskaya, “Signature Schemes and Anonymous Credentials from Bilinear Maps”, Crypto 2004, LNCS 3152, pp.56-72.
【非特許文献3】Matthew Green and Susan Hohenberger, “Universally Composable Adaptive Oblivious Transfer”, IACR e-Print archive, 2008/163 [平成22年2月5日検索]、インターネット<URL: http://eprint.iacr.org/cgi-bin/getfile.pl?entry=2008/163&version=20080806:150034&file=163.pdf>.
【非特許文献4】Georg Fuchsbauer, “Automorphic Signatures in Bilinear Groups”, IACR e-print 200/320 [平成22年2月5日検索]、インターネット<URL: http://eprint.iacr.org/2009/320.pdf>.
【発明の概要】
【発明が解決しようとする課題】
【0014】
しかしながら、従来技術は署名・検証システムでは、署名が群Gの5つの要素からなり、また、検証においては5つのペアリングの等式を確認するため、効率が悪いという課題がある。また、メッセージは群要素の対(M,N)∈Gであって、e(M,H)=e(g,N)を満たさなければならないという制約がある。
【0015】
そこで、本発明では、署名長が短く、検証式の計算量がより少なく、高い安全性が証明可能な、群要素メッセージに対するデジタル署名方法であり、さらに、従来のようなメッセージの制約がなく、任意のメッセージに対して署名を生成できる署名方法を提供することを目的とする。
【課題を解決するための手段】
【0016】
まず、G、GをGからGへの写像が困難な位数qの群、Gを位数qの群、eをG×G→Gの双線形写像、gを群Gの任意の生成元、gを群Gの任意の生成元とする。本発明の第1の署名・検証システムは、署名装置と検証装置で構成される。署名装置は、署名記録部、鍵乱数生成部、鍵計算部、鍵生成部、メッセージ取得部、署名乱数生成部、署名計算部、署名出力部を備える。検証装置は、検証入力部、検証確認部、検証出力部を備える。署名記録部は、q,G,G,G,e,g,gを記録する。鍵乱数生成部は、1以上q−1以下のランダムな整数α,β,x,yを生成する。鍵計算部は、
h=g
’=g
h=h
A=e(g,gα
B=e(h,gβ
を計算する。鍵生成部は、(q,G,G,G,e,g,g,A,B,h,g’,h’)を公開鍵pkとし、(pk,α,β,x,y)を秘密鍵skとする。メッセージ取得部は、群G上の1以外の元であるメッセージMを受け取る。署名乱数生成部は、1以上q−1以下のランダムな整数ζ,ρ,ν生成する。署名計算部は、
z=gζ
r=gρ
u=hν
s=(gα−x−11/ρ
v=(gα−x−11/ν
を計算する。署名出力部は、(r,s,u,v,z)を署名σとして出力する。検証入力部は、メッセージMと署名σとを受信する。検証確認部は、
A=e(g’,M)e(g,z)e(r,s)であること、
B=e(h’,M)e(h,z)e(u,v)であること、
を確認する。検証出力部は、検証確認部がすべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する。
【0017】
なお、ランダムな整数αとβを用いる代わりに、αのみを用いてもよい。
本発明の第2の署名・検証システムも、署名装置と検証装置で構成される。第2の署名・検証システムの署名装置は、署名記録部、鍵乱数生成部、鍵群要素選択部、鍵計算部、鍵生成部、メッセージ取得部、署名群要素選択部、署名計算部、署名出力部を備える。検証装置は、検証入力部、検証確認部、検証出力部を備える。署名記録部は、q,G,G,G,e,gを記録する。鍵乱数生成部は、1以上q−1以下のランダムな整数y,zを生成する。鍵群要素選択部は、群Gの任意の生成元r,sを選択する。鍵計算部は、
h=g
C=e(g,r)e(h,s)、
f=g
を計算する。鍵生成部は、(G,G,G,e,C,g,h,f)を公開鍵pkとし、(pk,r,s,y,z)を秘密鍵skとする。メッセージ取得部は、メッセージmを受け取る。署名群要素選択部は、群Gの任意の生成元rを選択する。署名計算部は、
s=(r−1−z1/y
を計算する。署名出力部は、(r,s)を署名σとして出力する。検証入力部は、メッセージmと署名σとを受信する。検証確認部は、
C=e(g,r)e(h,s)e(f,m)であること
を確認する。検証出力部は、検証確認部が条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する。
【発明の効果】
【0018】
本発明の署名・検証システムによれば、異なる群からなる双線形写像を利用し、群Gから群Gへの写像が困難であることが仮定されている。そして、異なる生成元の指数部を求めることが難しい性質を利用し、2つの異なる群上でのメッセージを署名のアウトプットとしている。本発明の署名・検証システムはこのような特徴を有するので、検証のときに確認する式の数を少なくできる。また、メッセージに対する制約条件はなく、任意のメッセージに対して署名生成が可能である。
【図面の簡単な説明】
【0019】
【図1】従来の署名・検証システムの構成例を示す図。
【図2】従来の署名装置の処理フローを示す図。
【図3】従来の検証装置の処理フローを示す図。
【図4】実施例1、実施例1変形例の署名・検証システムの構成例を示す図。
【図5】実施例1、実施例1変形例の署名装置の処理フローを示す図。
【図6】本発明の検証装置の処理フローを示す図。
【図7】実施例2の署名・検証システムの構成例を示す図。
【図8】実施例2の署名装置の処理フローを示す図。
【発明を実施するための形態】
【0020】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【実施例1】
【0021】
図4は実施例1の署名・検証システムの構成例を示す図、図5は署名装置の処理フローを示す図、図6は検証装置の処理フローを示す図である。実施例1の署名・検証システムは、署名装置100と検証装置200を含む。この図では、署名装置100と検証装置200とはネットワーク800によって接続されている。なお、署名装置100が出力した署名σを検証装置200に渡す方法は、ネットワークを用いる方法に限定する必要はない。例えば、記録媒体によって署名装置100から検証装置200に渡されてもよい。
【0022】
まず、G、GをGからGへの写像が困難な位数qの群、Gを位数qの群、eをG×G→Gの双線形写像、gを群Gの任意の生成元、gを群Gの任意の生成元とする。双線形写像の具体例としては、Weilペアリング、Bilinearペアリング、Tateペアリングなどがある。署名装置100は、署名記録部190、鍵乱数生成部110、鍵計算部120、鍵生成部130、メッセージ取得部140、署名乱数生成部150、署名計算部160、署名出力部170を備える。検証装置200は、検証入力部210、検証確認部220、検証出力部230、検証記録部290を備える。
【0023】
署名記録部190が、あらかじめq,G,G,G,e,g,gを記録しておく。そして、鍵乱数生成部110が、1以上q−1以下のランダムな整数α,x,yを生成する(S110)。鍵計算部120は、
h=g
’=g
h=h
A=e(g,gα
B=e(h,gα
を計算する(S120)。鍵生成部130は、(q,G,G,G,e,g,g,A,B,h,g’,h’)を公開鍵pkとし、(pk,α,x,y)を秘密鍵skとする(S130)。
【0024】
メッセージ取得部140は、群G上の1以外の元であるメッセージMを受け取る(S140)。なお、メッセージMを受け取るとは、署名装置100の外部からメッセージMが入力されることだけでなく、あらかじめ署名記録部190に記録されていたメッセージMを読み出すことなども含む。署名乱数生成部150は、1以上q−1以下のランダムな整数ζ,ρ,ν生成する(S150)。署名計算部160は、
z=gζ
r=gρ
u=hν
s=(gα−x−11/ρ
v=(gα−x−11/ν
を計算する(S160)。署名出力部170は、(r,s,u,v,z)を署名σとして出力する(S170)。
【0025】
検証入力部210は、メッセージMと署名σとを受信し、検証記録部290に保管する(S210)。検証確認部220は、
A=e(g’,M)e(g,z)e(r,s)であること、
B=e(h’,M)e(h,z)e(u,v)であること、
を確認する(S220)。検証出力部230は、検証確認部220がすべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する(S230)。例えば、署名が正しいことを示す情報として“1”を出力し、署名が正しくないことを示す情報として“0”を出力すればよい。
【0026】
本実施例の署名・検証システムによれば、異なる群からなる双線形写像を利用し、群Gから群Gへの写像が困難であることが仮定されている。そして、異なる生成元の指数部を求めることが難しい性質を利用し、2つの異なる群上でのメッセージを署名のアウトプットとしている。本発明の署名・検証システムはこのような特徴を有するので、検証のときに確認する式の数を少なくできる。また、メッセージに対する制約条件はなく、任意のメッセージに対して署名生成が可能である。
【0027】
[変形例]
実施例1では、ランダムな整数αを鍵計算部のA,Bの計算に用いた。本実施例では、鍵計算部のAの計算ではα、Bの計算ではβ(アルファとは別のランダムな整数)を用いる。
【0028】
図4は実施例1変形例の署名・検証システムの構成例を示す図、図5は署名装置の処理フローを示す図、図6は検証装置の処理フローを示す図である。実施例1変形例の署名・検証システムは、署名装置300と検証装置200を含む。この図では、署名装置300と検証装置200とはネットワーク800によって接続されている。なお、署名装置300が出力した署名σを検証装置200に渡す方法は、ネットワークを用いる方法に限定する必要はない。例えば、記録媒体によって署名装置300から検証装置200に渡されてもよい。
【0029】
まず、G、GをGからGへの写像が困難な位数qの群、Gを位数qの群、eをG×G→Gの双線形写像、gを群Gの任意の生成元、gを群Gの任意の生成元とする。署名装置300は、署名記録部390、鍵乱数生成部310、鍵計算部320、鍵生成部330、メッセージ取得部140、署名乱数生成部150、署名計算部160、署名出力部170を備える。検証装置200は、検証入力部210、検証確認部220、検証出力部230、検証記録部290を備える。
【0030】
まず、あらかじめ署名記録部390が、q,G,G,G,e,g,gを記録しておく。そして、鍵乱数生成部310が、1以上q−1以下のランダムな整数α,β,x,yを生成する(S310)。鍵計算部320は、
h=g
’=g
h=h
A=e(g,gα
B=e(h,gβ
を計算する(S320)。鍵生成部330は、(q,G,G,G,e,g,g,A,B,h,g’,h’)を公開鍵pkとし、(pk,α,β,x,y)を秘密鍵skとする(S330)。メッセージ取得部140、署名乱数生成部150、署名計算部160、署名出力部170の処理は実施例1の署名装置100と同じである。
【0031】
検証装置200は実施例1と同じである。つまり、検証入力部210は、メッセージMと署名σとを受信し、検証記録部290に保管する(S210)。検証確認部220は、
A=e(g’,M)e(g,z)e(r,s)であること、
B=e(h’,M)e(h,z)e(u,v)であること、
を確認する(S220)。検証出力部230は、検証確認部220がすべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する(S230)。
【0032】
本変形例でも、異なる群からなる双線形写像を利用し、群Gから群Gへの写像が困難であることが仮定されている。そして、異なる生成元の指数部を求めることが難しい性質を利用し、2つの異なる群上でのメッセージを署名のアウトプットとしている。本発明の署名・検証システムはこのような特徴を有するので、検証のときに確認する式の数を少なくできる。また、メッセージに対する制約条件はなく、任意のメッセージに対して署名生成が可能である。
【実施例2】
【0033】
図7は実施例2の署名・検証システムの構成例を示す図、図8は署名装置の処理フローを示す図、図6は検証装置の処理フローを示す図である。実施例2の署名・検証システムは、署名装置500と検証装置600を含む。この図では、署名装置500と検証装置600とはネットワーク800によって接続されている。なお、署名装置500が出力した署名σを検証装置600に渡す方法は、ネットワークを用いる方法に限定する必要はない。例えば、記録媒体によって署名装置500から検証装置600に渡されてもよい。
【0034】
本実施例の署名・検証システムは、署名装置500と検証装置600で構成される。署名・検証システムの署名装置500は、署名記録部590、鍵乱数生成部510、鍵群要素選択部515、鍵計算部520、鍵生成部530、メッセージ取得部540、署名群要素選択部555、署名計算部560、署名出力部570を備える。検証装置600は、検証入力部610、検証確認部620、検証出力部230、検証記録部690を備える。署名記録部590が、あらかじめq,G,G,G,e,gを記録しておく。そして、鍵乱数生成部510は、1以上q−1以下のランダムな整数y,zを生成する(S510)。鍵群要素選択部515は、群Gの任意の生成元r,sを選択する(S515)。鍵計算部520は、
h=g
C=e(g,r)e(h,s)、
f=g
を計算する(S520)。鍵生成部530は、(G,G,G,e,C,g,h,f)を公開鍵pkとし、(pk,r,s,y,z)を秘密鍵skとする(S530)。
【0035】
なお、ステップS510〜S530は、次のような順番としてもよい。まず、鍵乱数生成部510は、1以上q−1以下のランダムな整数yを生成する(S510’)。鍵群要素選択部515は、群Gの任意の生成元r,sを選択する(S515)。鍵計算部520は、
h=g
C=e(g,r)e(h,s)、
を計算する(S520’)。鍵生成部530は、(G,G,G,e,C,g,h)を公開鍵pk’とし、(pk’,r,s,y,z)を秘密鍵sk’とする(S530’)。そして、鍵乱数生成部510は、1以上q−1以下のランダムな整数zを生成する(S510”)。鍵計算部520は、
f=g
を計算する(S520”)。鍵生成部530は、(pk”,f)を公開鍵pkとし、(sk”,z)を秘密鍵skとする(S530”)。
【0036】
メッセージ取得部540は、メッセージmを受け取る(S540)。署名群要素選択部555は、群Gの任意の生成元rを選択する(S555)。署名計算部560は、
s=(r−1−z1/y
を計算する(S560)。署名出力部570は、(r,s)を署名σとして出力する(S570)。
【0037】
検証入力部610は、メッセージmと署名σとを受信し、検証記録部690に保管する(S610)。検証確認部620は、
C=e(g,r)e(h,s)e(f,m)であること
を確認する(S620)。検証出力部230は、検証確認部620が条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する(S230)。例えば、署名が正しいことを示す情報として“1”を出力し、署名が正しくないことを示す情報として“0”を出力すればよい。
【0038】
実施例2の署名・検証システムも、異なる群からなる双線形写像を利用し、群Gから群Gへの写像が困難であることが仮定されている。そして、異なる生成元の指数部を求めることが難しい性質を利用し、2つの異なる群上でのメッセージを署名のアウトプットとしている。したがって、検証のときに確認する式の数を少なくできる。また、メッセージに対する制約条件はなく、任意のメッセージに対して署名生成が可能である。
【0039】
プログラム、記録媒体
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【0040】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【0041】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0042】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0043】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【0044】
本発明は、電子データの正当性を証明するために利用することができる。
【符号の説明】
【0045】
100、300、500、700 署名装置
110、310、510 鍵乱数生成部
120、320、520 鍵計算部
130、330、530 鍵生成部
140、540 メッセージ取得部
150 署名乱数生成部 160、560 署名計算部
170、570 署名出力部
190、390、590 署名記録部
200、600 検証装置 210、610 検証入力部
220、620 検証確認部 230 検証出力部
290、690 検証記録部 515 鍵群要素選択部
555 署名群要素選択部 800 ネットワーク

【特許請求の範囲】
【請求項1】
、GをGからGへの写像が困難な位数qの群、Gを位数qの群、eをG×G→Gの双線形写像、gを群Gの任意の生成元、gを群Gの任意の生成元とし、
q,G,G,G,e,g,gを記録する署名記録部と、
1以上q−1以下のランダムな整数α,x,yを生成する鍵乱数生成部と、
h=g
’=g
h=h
A=e(g,gα
B=e(h,gα
を計算する鍵計算部と、
(q,G,G,G,e,g,g,A,B,h,g’,h’)を公開鍵pkとし、(pk,α,x,y)を秘密鍵skとする鍵生成部と、
群G上の1以外の元であるメッセージMを受け取るメッセージ取得部と、
1以上q−1以下のランダムな整数ζ,ρ,ν生成する署名乱数生成部と、
z=gζ
r=gρ
u=hν
s=(gα−x−11/ρ
v=(gα−x−11/ν
を計算する署名計算部と、
(r,s,u,v,z)を署名σとして出力する署名出力部と
を備える署名装置と、
メッセージMと署名σとを受信する検証入力部と、
A=e(g’,M)e(g,z)e(r,s)であること、
B=e(h’,M)e(h,z)e(u,v)であること、
を確認する検証確認部と、
前記検証確認部がすべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する検証出力部と
を備える検証装置と
を有する署名・検証システム。
【請求項2】
、GをGからGへの写像が困難な位数qの群、Gを位数qの群、eをG×G→Gの双線形写像、gを群Gの任意の生成元、gを群Gの任意の生成元とし、
q,G,G,G,e,g,gを記録する署名記録部と、
1以上q−1以下のランダムな整数α,β,x,yを生成する鍵乱数生成部と、
h=g
’=g
h=h
A=e(g,gα
B=e(h,gβ
を計算する鍵計算部と、
(q,G,G,G,e,g,g,A,B,h,g’,h’)を公開鍵pkとし、(pk,α,β,x,y)を秘密鍵skとする鍵生成部と、
群G上の1以外の元であるメッセージMを受け取るメッセージ取得部と、
1以上q−1以下のランダムな整数ζ,ρ,ν生成する署名乱数生成部と、
z=gζ
r=gρ
u=hν
s=(gα−x−11/ρ
v=(gα−x−11/ν
を計算する署名計算部と、
(r,s,u,v,z)を署名σとして出力する署名出力部と
を備える署名装置と、
メッセージMと署名σとを受信する検証入力部と、
A=e(g’,M)e(g,z)e(r,s)であること、
B=e(h’,M)e(h,z)e(u,v)であること、
を確認する検証確認部と、
前記検証確認部がすべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する検証出力部と
を備える検証装置と
を有する署名・検証システム。
【請求項3】
、GをGからGへの写像が困難な位数qの群、Gを位数qの群、eをG×G→Gの双線形写像、gを群Gの任意の生成元とし、
q,G,G,G,e,gを記録する署名記録部と、
1以上q−1以下のランダムな整数y,zを生成する鍵乱数生成部と、
群Gの任意の生成元r,sを選択する鍵群要素選択部と、
h=g
C=e(g,r)e(h,s)、
f=g
を計算する鍵計算部と、
(G,G,G,e,C,g,h,f)を公開鍵pkとし、(pk,r,s,y,z)を秘密鍵skとする鍵生成部と、
メッセージmを受け取るメッセージ取得部と、
群Gの任意の生成元rを選択する署名群要素選択部と、
s=(r−1−z1/y
を計算する署名計算部と、
(r,s)を署名σとして出力する署名出力部と
を備える署名装置と、
メッセージmと署名σとを受信する検証入力部と、
C=e(g,r)e(h,s)e(f,m)であること
を確認する検証確認部と、
前記検証確認部がすべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する検証出力部と
を備える検証装置と
を有する署名・検証システム。
【請求項4】
署名装置と検証装置とを含む署名・検証システムでの署名・検証方法であって、
、GをGからGへの写像が困難な位数qの群、Gを位数qの群、eをG×G→Gの双線形写像、gを群Gの任意の生成元、gを群Gの任意の生成元とし、
前記署名装置において、
署名記録部が、あらかじめq,G,G,G,e,g,gを記録しておき、
鍵乱数生成部が、1以上q−1以下のランダムな整数α,x,yを生成する鍵乱数生成ステップと、
鍵計算部が、
h=g
’=g
h=h
A=e(g,gα
B=e(h,gα
を計算する鍵計算ステップと、
鍵生成部が、(q,G,G,G,e,g,g,A,B,h,g’,h’)を公開鍵pkとし、(pk,α,x,y)を秘密鍵skとする鍵生成ステップと、
メッセージ取得部が、群G上の1以外の元であるメッセージMを受け取るメッセージ取得ステップと、
署名乱数生成部が、1以上q−1以下のランダムな整数ζ,ρ,ν生成する署名乱数生成ステップと、
署名計算部が、
z=gζ
r=gρ
u=hν
s=(gα−x−11/ρ
v=(gα−x−11/ν
を計算する署名計算ステップと、
署名出力部が、(r,s,u,v,z)を署名σとして出力する署名出力ステップと
を有し、
前記検証装置において、
検証入力部が、メッセージMと署名σとを受信する検証入力ステップと、
検証確認部が、
A=e(g’,M)e(g,z)e(r,s)であること、
B=e(h’,M)e(h,z)e(u,v)であること、
を確認する検証確認ステップと、
検証出力部が、前記検証確認部がすべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する検証出力ステップと
を有する署名・検証方法。
【請求項5】
署名装置と検証装置とを含む署名・検証システムでの署名・検証方法であって、
、GをGからGへの写像が困難な位数qの群、Gを位数qの群、eをG×G→Gの双線形写像、gを群Gの任意の生成元、gを群Gの任意の生成元とし、
前記署名装置において、
署名記録部が、あらかじめq,G,G,G,e,g,gを記録しておき、
鍵乱数生成部が、1以上q−1以下のランダムな整数α,β,x,yを生成する鍵乱数生成ステップと、
鍵計算部が、
h=g
’=g
h=h
A=e(g,gα
B=e(h,gβ
を計算する鍵計算ステップと、
鍵生成部が、(q,G,G,G,e,g,g,A,B,h,g’,h’)を公開鍵pkとし、(pk,α,β,x,y)を秘密鍵skとする鍵生成ステップと、
メッセージ取得部が、群G上の1以外の元であるメッセージMを受け取るメッセージ取得ステップと、
署名乱数生成部が、1以上q−1以下のランダムな整数ζ,ρ,ν生成する署名乱数生成ステップと、
署名計算部が、
z=gζ
r=gρ
u=hν
s=(gα−x−11/ρ
v=(gα−x−11/ν
を計算する署名計算ステップと、
署名出力部が、(r,s,u,v,z)を署名σとして出力する署名出力ステップと
を有し、
前記検証装置において、
検証入力部が、メッセージMと署名σとを受信する検証入力ステップと、
検証確認部が、
A=e(g’,M)e(g,z)e(r,s)であること、
B=e(h’,M)e(h,z)e(u,v)であること、
を確認する検証確認ステップと、
検証出力部が、前記検証確認部がすべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する検証出力ステップと
を有す署名・検証方法。
【請求項6】
署名装置と検証装置とを含む署名・検証システムでの署名・検証方法であって、
、GをGからGへの写像が困難な位数qの群、Gを位数qの群、eをG×G→Gの双線形写像、gを群Gの任意の生成元とし、
前記署名装置において、
署名記録部が、あらかじめq,G,G,G,e,gを記録しておき、
鍵乱数生成部が、1以上q−1以下のランダムな整数y,zを生成する鍵乱数生成ステップと、
鍵群要素選択部が、群Gの任意の生成元r,sを選択する鍵群要素選択ステップと、
鍵計算部が、
h=g
C=e(g,r)e(h,s)、
f=g
を計算する鍵計算ステップと、
鍵生成部が、(G,G,G,e,C,g,h,f)を公開鍵pkとし、(pk,r,s,y,z)を秘密鍵skとする鍵生成ステップと、
メッセージ取得部が、メッセージmを受け取るメッセージ取得ステップと、
署名群要素選択部が、群Gの任意の生成元rを選択する署名群要素選択ステップと、
署名計算部が、
s=(r−1−z1/y
を計算する署名計算ステップと、
署名出力部が、(r,s)を署名σとして出力する署名出力ステップと
を有し、
前記検証装置において、
検証入力部が、メッセージmと署名σとを受信する検証入力ステップと、
検証確認部が、
C=e(g,r)e(h,s)e(f,m)であること
を確認する検証確認ステップと、
検証出力部が、前記検証確認部がすべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する検証出力ステップと
を有する署名・検証方法。
【請求項7】
、GをGからGへの写像が困難な位数qの群、Gを位数qの群、eをG×G→Gの双線形写像、gを群Gの任意の生成元、gを群Gの任意の生成元とし、
q,G,G,G,e,g,gを記録する署名記録部と、
1以上q−1以下のランダムな整数α,x,yを生成する鍵乱数生成部と、
h=g
’=g
h=h
A=e(g,gα
B=e(h,gα
を計算する鍵計算部と、
(q,G,G,G,e,g,g,A,B,h,g’,h’)を公開鍵pkとし、(pk,α,x,y)を秘密鍵skとする鍵生成部と、
群G上の1以外の元であるメッセージMを受け取るメッセージ取得部と、
1以上q−1以下のランダムな整数ζ,ρ,ν生成する署名乱数生成部と、
z=gζ
r=gρ
u=hν
s=(gα−x−11/ρ
v=(gα−x−11/ν
を計算する署名計算部と、
(r,s,u,v,z)を署名σとして出力する署名出力部と
を備える署名装置。
【請求項8】
、GをGからGへの写像が困難な位数qの群、Gを位数qの群、eをG×G→Gの双線形写像、gを群Gの任意の生成元、gを群Gの任意の生成元とし、
q,G,G,G,e,g,gを記録する署名記録部と、
1以上q−1以下のランダムな整数α,β,x,yを生成する鍵乱数生成部と、
h=g
’=g
h=h
A=e(g,gα
B=e(h,gβ
を計算する鍵計算部と、
(q,G,G,G,e,g,g,A,B,h,g’,h’)を公開鍵pkとし、(pk,α,β,x,y)を秘密鍵skとする鍵生成部と、
群G上の1以外の元であるメッセージMを受け取るメッセージ取得部と、
1以上q−1以下のランダムな整数ζ,ρ,ν生成する署名乱数生成部と、
z=gζ
r=gρ
u=hν
s=(gα−x−11/ρ
v=(gα−x−11/ν
を計算する署名計算部と、
(r,s,u,v,z)を署名σとして出力する署名出力部と
を備える署名装置。
【請求項9】
、GをGからGへの写像が困難な位数qの群、Gを位数qの群、eをG×G→Gの双線形写像、gを群Gの任意の生成元とし、
q,G,G,G,e,gを記録する署名記録部と、
1以上q−1以下のランダムな整数y,zを生成する鍵乱数生成部と、
群Gの任意の生成元r,sを選択する鍵群要素選択部と、
h=g
C=e(g,r)e(h,s)、
f=g
を計算する鍵計算部と、
(G,G,G,e,C,g,h,f)を公開鍵pkとし、(pk,r,s,y,z)を秘密鍵skとする鍵生成部と、
メッセージmを受け取るメッセージ取得部と、
群Gの任意の生成元rを選択する署名群要素選択部と、
s=(r−1−z1/y
を計算する署名計算部と、
(r,s)を署名σとして出力する署名出力部と
を備える署名装置。
【請求項10】
、GをGからGへの写像が困難な位数qの群、Gを位数qの群、eをG×G→Gの双線形写像、gを群Gの任意の生成元、gを群Gの任意の生成元、(q,G,G,G,e,g,g,A,B,h,g’,h’)を公開鍵pkとし、
メッセージMと署名σ=(r,s,u,v,z)とを受信する検証入力部と、
A=e(g’,M)e(g,z)e(r,s)であること、
B=e(h’,M)e(h,z)e(u,v)であること、
を確認する検証確認部と、
前記検証確認部がすべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する検証出力部と
を備える検証装置。
【請求項11】
、GをGからGへの写像が困難な位数qの群、Gを位数qの群、eをG×G→Gの双線形写像、gを群Gの任意の生成元、(G,G,G,e,C,g,h,f)を公開鍵pkとし、
メッセージmと署名σ=(r,s)とを受信する検証入力部と、
C=e(g,r)e(h,s)e(f,m)であること
を確認する検証確認部と、
前記検証確認部がすべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する検証出力部と
を備える検証装置。
【請求項12】
請求項7から9のいずれかに記載の署名装置、もしくは請求項10または11記載の検証装置のいずれかの装置として、コンピュータを機能させるプログラム。
【請求項13】
請求項12記載のプログラムを記録した記録媒体。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−170246(P2011−170246A)
【公開日】平成23年9月1日(2011.9.1)
【国際特許分類】
【出願番号】特願2010−35928(P2010−35928)
【出願日】平成22年2月22日(2010.2.22)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】