説明

ディジタル署名・検証システム、ディジタル署名・検証方法、署名装置、検証装置、及びそれらのプログラム

【課題】群要素メッセージに対するディジタル署名・検証システムにおいて、従来より公開鍵、署名の長さが短く、検証式の計算量が少なく、かつ、高い安全性が証明可能なディジタル署名・検証システムを提供する。
【解決手段】従来技術(AHO方式)における2つの検証式で共通して使用される署名要素の個数が多くなるように検証式を構成することで、署名の偽造に対する安全性を損なうことなく、検証式の一方から公開鍵の一部を除去して検証式を簡略化する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電気通信システムに関し、暗号プロトコル中で利用しやすい効率的なディジタル署名・検証システム、ディジタル署名・検証方法、署名装置、検証装置、及びそれらのプログラムに関する。
【背景技術】
【0002】
ディジタル署名はメッセージmに対して、公開鍵pkに対応する秘密鍵skを知る署名者が、メッセージmに対して秘密鍵skを正しく使ったときにのみ計算できる値sを算出し、これを電子的な署名として用いるものである。正しく計算された署名は誰でも公開鍵pkを用いてその正当性を検証することが可能であり、秘密鍵skを知らないいかなる第三者も正当な署名sを算出することはできない。
【0003】
ディジタル署名は電子現金やクレデンシャルシステムなど、様々な暗号プロトコルにおいて基本的な構成要素として利用されている。特に、利用者のプライバシーを必要とする応用においては、ゼロ知識証明と組み合わせることにより、署名sを明かさないまま、あるメッセージmに対する正しい署名sを保持しているという事実を任意の第三者に納得させるなど、高度な利用形態がしばしば見受けられる。
【0004】
近年のペアリング技術の進展により、群の要素がある関係を満たすという事実を効率的に証明するゼロ知識証明が構成可能となった(非特許文献1参照)。これによって、署名sが効率的なペアリングを持つ群Gの要素である場合、すなわちs∈Gである場合に、前述のように署名sを明かさないまま正しい署名sを保持しているという事実を証明することが可能となった。
【0005】
例えば、非特許文献2で開示されているCL-Signatureと呼ばれる方法では、メッセージm∈Zqに対する署名sは3つの群要素(a,b,c)∈G3から構成されている。
【0006】
しかしながらCL-Signatureのように、ランダムオラクルモデル等の理想化された構成要素を用いず、数論的な仮定のみにより安全性が証明できる既存の署名方法では、メッセージmが群Gの要素ではないため、メッセージmを秘匿した状態でその秘匿したメッセージに対する正しい電子署名を保持していることを証明するという応用には適さない。
【0007】
メッセージmが群Gの要素である場合にも安全な署名方法として、CL-Signatureを改良した方法が非特許文献3で開示されている。この方法はランダムメッセージ攻撃に対しても安全である。ただし、より強い攻撃である選択メッセージ攻撃に対する安全性は不明である。
【0008】
メッセージが群要素である場合に、選択メッセージ攻撃に強いことが保証されている方法(AHO方式)が非特許文献4で開示されている。このAHO方式による従来のディジタル署名・検証システム200について、以下、説明する。
【0009】
図1にディジタル署名・検証システム200の機能構成例を、図2にその処理フロー例(S1〜6)をそれぞれ示す。
ディジタル署名・検証システム200は、署名装置110と検証装置120とからなる。署名装置110と検証装置120との間は、任意のネットワーク50で結ばれる。
署名装置110は、生成元選択部111と公開情報生成部112と乱数生成部113と鍵生成部114と署名生成部115とを備える。
【0010】
生成元選択部111は、G1、G2がそれぞれ位数p(pは素数)の群であるとして、生成元g1とG1から、g2をG2から、grとhuを単位元を除くG1から、それぞれランダムに選択する(S1)。
公開情報生成部112は、公開情報Λ=(p,G1,G2,GT,e,g1,g2)を生成する(S2)。ここで、eはバイリニアマップであり、e:G1×G2→GTである。
【0011】
乱数生成部113は、1以上p−1以下のランダムな整数α、β、γz、δz、γi(i=1,・・・,k、kはセキュリティパラメータで2以上の整数)、δi、ζ、ρ、τ、ψ及びωを生成する(S3)。
鍵生成部114は、(gr,g2α)をランダマイズしてa00、a01、a10、a11を計算し、(hu,g2β)をランダマイズしてb00、b01、b10、b11を計算し、更に、
【0012】
【数1】

【0013】
を計算して、公開鍵vk=(gz,hz,gr,hu,g1,・・・,gk,h1,・・・,hk,a00,a01,a10,a11,b00,b01,b10,b11)及び秘密鍵sk=(vk,α,β,γzz1,・・・,γk1,・・・,δk)を生成し、公開鍵vkを公開する(S4)。なお、秘密鍵skは署名装置内に安全に格納される。
署名生成部115は、G2の1以外の元であるメッセージm=(m1,・・・,mk)が入力され、
【0014】
【数2】

【0015】
を計算して、署名σ=(z,r,s,t,u,v,w)を生成し、メッセージm=(m1,・・・,mk)とともに送信する(S5)。メッセージmの長さは、セキュリティパラメータkに依存して決定され、短いメッセージに対しては明示的に1でパディングされるものとする。
【0016】
検証装置120は、署名σ=(z,r,s,t,u,v,w)とメッセージm=(m1,・・・,mk)を受信し、公開鍵vk=(gz,hz,gr,hu,g1,・・・,gk,h1,・・・,hk,a00,a01,a10,a11,b00,b01,b10,b11)を用いて、2つの検証式
【0017】
【数3】

【0018】
の成否を計算し、共に成立すれば署名は正しく、改ざんされていないとの検証結果(例えばそれを意味する数値である1)を出力し、それ以外の場合は署名は正しくないとの検証結果(例えばそれを意味する数値である0)を出力する(S6)。
【先行技術文献】
【非特許文献】
【0019】
【非特許文献1】Jens Groth and Amit Sahai, "Efficient Non-interactive Proof Systems for Bilinear Groups", Eurocrypt2008, LNCS 2965, p.415-432
【非特許文献2】Jan Camenisch and Anna Lysyanskaya,"Signature Schemes and Anonymous Credentials from Bilinear Maps", Crypto 2004, LNCS 3152, p.56-72
【非特許文献3】Matthew Green and Susan Hohenberger,"Universally Composable Adaptive Oblivious Transfer", IACR e-Print archive, 2008, [2010年10月4日検索]、インターネット<URL: http://eprint.iacr.org/2008/163.pdf>
【非特許文献4】Masayuki Abe, Kristiyan Haralambiev, Miyako Ohkubo,"Signing on Elements in Bilinear Groups for Modular Protocol Design", IACR e-Print archive, 2010, [2010年10月4日検索]、インターネット<URL: http://eprint.iacr.org/2010/133.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0020】
従来技術(AHO方式)では、署名が7つの群要素からなることに加え、検証時には10+2k個のペアリング演算を要するため、署名長、演算量共に多い。
【0021】
本発明の目的は、群要素メッセージに対するディジタル署名・検証方式において、従来より公開鍵、署名の長さが短く、検証式の計算量が少なく、かつ、高い安全性が証明可能なディジタル署名・検証システム、ディジタル署名・検証方法、署名装置、検証装置、及びそのプログラムを提供することにある。
【課題を解決するための手段】
【0022】
本発明のディジタル署名・検証システムは、署名装置と検証装置とからなる。 署名装置は、生成元選択部と公開情報生成部と乱数生成部と鍵生成部と署名生成部とを備える。
生成元選択部は、G1、G2がそれぞれ位数pの群(pは素数)であるとして、生成元g1をG1から、g2をG2から、それぞれランダムに選択する。
【0023】
公開情報生成部は、公開情報Λ=(p,G1,G2,GT,e,g1,g2)を生成する。ここで、eはバイリニアマップであり、e:G1×G2→GTである。
乱数生成部は、1以上p−1以下のランダムな整数δu、α、γz、δz、γi(i=1,・・・,k、kは2以上の整数)、δi、ζ,ρ,及びτを生成する。
鍵生成部は、
【0024】
【数4】

【0025】
を計算し、公開鍵vk=(Λ,gz,hz,gr,hu,a,g1,・・・,gk,h1,・・・,hk)及び秘密鍵sk=(vk,α,γzzu1,・・・,γk1,・・・,δk)を生成し、公開鍵vkを公開する。
署名生成部は、G2の1以外の元であるメッセージm=(m1,・・・,mk)が入力され、
【0026】
【数5】

【0027】
を計算して、署名σ=(z,r,s,t,u)を生成し、メッセージm=(m1,・・・,mk)とともに送信する。
検証装置は、署名σ=(z,r,s,t,u)とメッセージm=(m1,・・・,mk)を受信し、公開鍵vk=(Λ,gz,hz,gr,hu,a,g1,・・・,gk,h1,・・・,hk)を用いて、2つの検証式
【0028】
【数6】

【0029】
の成否を計算し、共に成立すれば署名は正しいとの検証結果を出力し、それ以外の場合は署名は正しくないとの検証結果を出力する。
【発明の効果】
【0030】
本発明のディジタル署名・検証システム、ディジタル署名・検証方法、署名装置、検証装置、及びそのプログラムによれば、群要素メッセージに対するディジタル署名・検証方式について、従来より公開鍵、署名の長さが短く、検証式の計算量が少なく、かつ、高い安全性が証明可能な、効率のよいディジタル署名・検証方式を提供することができる。
【図面の簡単な説明】
【0031】
【図1】本発明のディジタル署名・検証システムの機能構成例を示す図。
【図2】本発明のディジタル署名・検証システムの処理フロー例を示す図。
【発明を実施するための形態】
【0032】
以下、本発明の実施の形態について、詳細に説明する。
【実施例1】
【0033】
本発明の特徴は、従来技術(AHO方式)における2つの検証式で共通して使用される署名要素の個数が多くなるように検証式を構成する点にある。これにより、攻撃者が署名要素の一部を改ざんしても、両方の検証式を同時に満たすことが一層困難になるため、署名の偽造に対する安全性を損なうことなく、検証式の一方から公開鍵の一部を除去して検証式を簡略化することが可能となる。そして、検証式の簡略化により、公開鍵、署名ともに不必要な要素を除去することができ、従来より公開鍵、署名の長さを短くすることができる。
【0034】
以下、具体的な構成例について説明する。
図1に本発明のディジタル署名・検証システム100の機能構成例を、図2にその処理フロー例(S1〜6)をそれぞれ示す。
本発明のディジタル署名・検証システム100は、署名装置110と検証装置120とからなる。署名装置110と検証装置120との間は、任意のネットワーク50で結ばれる。
【0035】
署名装置110は、生成元選択部111と公開情報生成部112と乱数生成部113と鍵生成部114と署名生成部115とを備える。
生成元選択部111は、G1、G2がそれぞれ位数p(pは素数)の群であるとして、生成元g1をG1から、g2をG2から、それぞれランダムに選択する(S1)。なお、G1とG2は同一の群でも異なる群でも構わない。
【0036】
公開情報生成部112は、公開情報Λ=(p,G1,G2,GT,e,g1,g2)を生成する(S2)。ここで、eはバイリニアマップであり、e:G1×G2→GTである。
乱数生成部113は、1以上p−1以下のランダムな整数δu、α、γz、δz、γi(i=1,・・・,k、kはセキュリティパラメータで2以上の整数)、δi、ζ,ρ,及びτを生成する(S3)。
鍵生成部114は、
【0037】
【数7】

【0038】
を計算し、公開鍵vk=(Λ,gz,hz,gr,hu,a,g1,・・・,gk,h1,・・・,hk)及び秘密鍵sk=(vk,α,γzzu1,・・・,γk1,・・・,δk)を生成し、公開鍵vkを公開する(S4)。なお、秘密鍵skは署名装置内に安全に格納される。
署名生成部115は、G2の1以外の元であるメッセージm=(m1,・・・,mk)が入力され、
【0039】
【数8】

【0040】
を計算して、署名σ=(z,r,s,t,u)を生成し、メッセージm=(m1,・・・,mk)とともに送信する(S5)。メッセージmの長さは、セキュリティパラメータkに依存して決定され、短いメッセージに対しては明示的に1でパディングされるものとする。
【0041】
検証装置120は、署名σ=(z,r,s,t,u)とメッセージm=(m1,・・・,mk)を受信し、公開鍵vk=(Λ,gz,hz,gr,hu,a,g1,・・・,gk,h1,・・・,hk)を用いて、2つの検証式
【0042】
【数9】

【0043】
の成否を計算し、共に成立すれば署名は正しく、改ざんされていないとの検証結果(例えばそれを意味する数値である1)を出力し、それ以外の場合は署名は正しくないとの検証結果(例えばそれを意味する数値である0)を出力する(S6)。
【0044】
以上のように、本発明においては、2つの検証式で共通して使用される署名要素を増やしたため、攻撃者が署名要素の一部を改ざんしても、両方の検証式を同時に満たすことが一層困難となる。そのため、署名の偽造に対する安全性を損なうことなく、検証式の一方から公開鍵の一部を除去して検証式を簡略化できる。そして、この簡略化により、公開鍵、署名ともに不必要な要素を除去することができ、署名の群要素の数を7個から5個に、検証時のペアリング演算の個数を10+2k個から6+2k個に減らすことができる。これにより、従来より公開鍵、署名の長さが短く、検証式の計算量が少なく、かつ、高い安全性が証明可能な、効率のよい署名方式を提供することができる。具体的には、署名長が短くなることで、通信帯域及びメモリを削減することができ、また、検証の計算量が少ないことにより、高速な署名検証が可能となる。
【0045】
なお、検証式で用いるペアリング演算e(a,g2)について、予め署名装置110の鍵生成部114でA=e(a,g2)と計算しておき、このAをaの代わりに公開鍵vkに含め、これをそのまま検証式で用いてもよい。このように構成することで、検証時に行うペアリング演算をさらに1個減らすことができる。ただし、この場合、aよりもAの方が表現が長いため、公開鍵vkの長さが長くなる。また、この署名をゼロ知識証明と組み合わせる場合、検証式はG1、G2の要素のみから成り立っていることが望ましいため、Aを直接検証式に使うことができず、e(a,g2)のようにaとg2とをバラにして提供する必要が生じる。もっとも、ゼロ知識証明よりもやや弱い証明系であるWitness-Indistinguishable証明を組み合わせる場合には、検証式にGTの要素が入っていても構わないため、その場合にはAのまま利用が可能である。従って、公開鍵としてaを含めるかAを含めるかは、ユーザが本発明の署名方式をどのように使いたいかにより任意に選択すればよい。
【実施例2】
【0046】
実施例1は、2つの群G1、G2は同一の群である場合も異なる群である場合も適用可能な構成である。一方、実施例2は、G1、G2が異なる群である場合に限定することで、更に鍵長の短縮、検証式の計算量の低減を図った構成である。
【0047】
以下、具体的な構成例について説明する。
図1に本発明のディジタル署名・検証システム100' の機能構成例を、図2にその処理フロー例(S1〜6)をそれぞれ示す。
本発明のディジタル署名・検証システム100' は、署名装置110と検証装置120とからなる。署名装置110と検証装置120との間は、任意のネットワーク50で結ばれる。
【0048】
署名装置110は、生成元選択部111と公開情報生成部112と乱数生成部113と鍵生成部114と署名生成部115とを備える。
生成元選択部111は、G1、G2がそれぞれ位数p(pは素数)の異なる群であるとして、生成元g1をG1から、g2をG2から、それぞれランダムに選択する(S1)。
【0049】
公開情報生成部112は、公開情報Λ=(p,G1,G2,GT,e,g1,g2)を生成する(S2)。ここで、eはバイリニアマップであり、e:G1×G2→GTである。
乱数生成部113は、1以上p−1以下のランダムな整数δu、α、γz、γi(i=1,・・・,k、kはセキュリティパラメータで2以上の整数)、ζ,ρ,及びτを生成する(S3)。
鍵生成部114は、
【0050】
【数10】

【0051】
を計算し、公開鍵vk=(Λ,gz,gr,hu,a,g1,・・・,gk)及び秘密鍵sk=(vk,α,γzu1,・・・,γk)を生成し、公開鍵vkを公開する(S4)。なお、秘密鍵skは署名装置内に安全に格納される。
署名生成部115は、G2の1以外の元であるメッセージm=(m1,・・・,mk)が入力され、
【0052】
【数11】

【0053】
を計算して、署名σ=(z,r,s,t,u)を生成し、メッセージm=(m1,・・・,mk)とともに送信する(S5)。メッセージmの長さは、セキュリティパラメータkに依存して決定され、短いメッセージに対しては明示的に1でパディングされるものとする。
【0054】
検証装置120は、署名σ=(z,r,s,t,u)とメッセージm=(m1,・・・,mk)を受信し、公開鍵vk=(Λ,gz,gr,hu,a,g1,・・・,gk)を用いて、2つの検証式
【0055】
【数12】

【0056】
の成否を計算し、共に成立すれば署名は正しく、改ざんされていないとの検証結果(例えばそれを意味する数値である1)を出力し、それ以外の場合は署名は正しくないとの検証結果(例えばそれを意味する数値である0)を出力する(S6)。
【0057】
以上より、本発明によれば、実施例1より更に公開鍵、秘密鍵の長さの短縮(要素が各1+k個減)、及び検証式の計算量の低減(ペアリング演算の個数が1+k個減)を図ることができるため、より効率的なディジタル署名方式を提供することができる。なお、実施例2においても実施例1と同様に、検証式で用いるペアリング演算e(a,g2)について、予め署名装置110の鍵生成部114でA=e(a,g2)と計算しておき、このAをaの代わりに公開鍵vkに含め、これをそのまま検証式で用いてもよい。
【実施例3】
【0058】
実施例1は、群要素メッセージmがG2に属する要素のみから成るものに対して適用可能な構成である。一方、実施例3は、群要素メッセージmがG1、G2の両方にまたがるものであっても適用可能な構成である。
【0059】
以下、具体的な構成例について説明する。
図1に本発明のディジタル署名・検証システム100'' の機能構成例を、図2にその処理フロー例(S1〜6)をそれぞれ示す。
【0060】
本発明のディジタル署名・検証システム100'' は、署名装置110と検証装置120とからなる。署名装置110と検証装置120との間は、任意のネットワーク50で結ばれる。
署名装置110は、生成元選択部111と公開情報生成部112と乱数生成部113と鍵生成部114と署名生成部115とを備える。
生成元選択部111は、G1、G2がそれぞれ位数p(pは素数)の異なる群であるとして、生成元g1をG1から、g2をG2から、それぞれランダムに選択する(S1)。
【0061】
公開情報生成部112は、公開情報Λ=(p,G1,G2,GT,e,g1,g2)を生成する(S2)。ここで、eはバイリニアマップであり、e:G1×G2→GTである。
乱数生成部113は、1以上p−1以下のランダムな整数δu、α、γz、δz、γi(i=1,・・・,k1、k1は2以上の整数)、δj(j=k1+1,・・・,k2、k2はセキュリティパラメータでk1より大きい整数)、ζ,ρ,τ,及びωを生成する(S3)。
鍵生成部114は、
【0062】
【数13】

【0063】
を計算し、公開鍵vk=(Λ,gz,hz,gr,hu,hv,a,g1,・・・,gk1,hk1+1,・・・,hk2)及び秘密鍵sk=(vk,α,γzzu1,・・・,γk1k1+1,・・・,δk2)を生成し、公開鍵vkを公開する(S4)。なお、秘密鍵skは署名装置内に安全に格納される。
署名生成部115は、G2の1以外の元であるm1,・・・,mk1とG1の1以外の元であるmk1+1,・・・,mk2とからなるメッセージm=(m1,・・・,mk1,mk1+1,・・・,mk2)が入力され、
【0064】
【数14】

【0065】
を計算して、署名σ=(z,r,s,t,u,v)を生成し、メッセージm=(m1,・・・,mk1,mk1+1,・・・,mk2)とともに送信する(S5)。メッセージmの長さは、セキュリティパラメータk2に依存して決定され、短いメッセージに対しては明示的に1でパディングされるものとする。
【0066】
検証装置120は、署名σ=(z,r,s,t,u,v)とメッセージm=(m1,・・・,mk1,mk1+1,・・・,mk2)を受信し、公開鍵vk=(Λ,gz,hz,gr,hu,hv,a,g1,・・・,gk1,hk1+1,・・・,hk2)を用いて、2つの検証式
【0067】
【数15】

【0068】
の成否を計算し、共に成立すれば署名は正しく、改ざんされていないとの検証結果(例えばそれを意味する数値である1)を出力し、それ以外の場合は署名は正しくないとの検証結果(例えばそれを意味する数値である0)を出力する(S6)。
【0069】
以上より、本発明によれば、群要素メッセージmがG1、G2の両方にまたがるものである場合においても、実施例1と同様に、従来より効率的なディジタル署名方式を提供することができる。なお、実施例3においても実施例1と同様に、検証式で用いるペアリング演算e(a,g2)について、予め署名装置110の鍵生成部114でA=e(a,g2)と計算しておき、このAをaの代わりに公開鍵vkに含め、これをそのまま検証式で用いてもよい。
【0070】
上記各実施例のディジタル署名・検証システムにおける各処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本発明のディジタル署名・検証システムの各機能は必要に応じ、併合・分割しても構わない。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【0071】
本発明のディジタル署名・検証システムの署名装置と検証装置をコンピュータによって実現する場合、装置及びその各部が有す機能の処理内容はプログラムによって記述される。そのプログラムは、例えば、ハードディスク装置に格納されており、実行時には必要なプログラムやデータがRAM(Random Access Memory)に読み込まれる。その読み込まれたプログラムがCPUにより実行されることにより、コンピュータ上で各処理内容が実現される。なお、処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

【特許請求の範囲】
【請求項1】
1、G2をそれぞれ位数pの群(pは素数)、バイリニアマップeをe:G1×G2→GTとし、
生成元g1をG1から、g2をG2から、それぞれランダムに選択する生成元選択部と、
公開情報Λ=(p,G1,G2,GT,e,g1,g2)を生成する公開情報生成部と、
1以上p−1以下のランダムな整数δu、α、γz、δz、γi(i=1,・・・,k、kは2以上の整数)、δi、ζ,ρ,及びτを生成する乱数生成部と、
【数16】


を計算し、公開鍵vk=(Λ,gz,hz,gr,hu,a,g1,・・・,gk,h1,・・・,hk)及び秘密鍵sk=(vk,α,γzzu1,・・・,γk1,・・・,δk)を生成し、公開鍵vkを公開する鍵生成部と、
2の1以外の元であるメッセージm=(m1,・・・,mk)が入力され、
【数17】


を計算して、署名σ=(z,r,s,t,u)を生成し、メッセージm=(m1,・・・,mk)とともに送信する署名生成部と、
を備える署名装置と、
署名σ=(z,r,s,t,u)とメッセージm=(m1,・・・,mk)を受信し、公開鍵vk=(Λ,gz,hz,gr,hu,a,g1,・・・,gk,h1,・・・,hk)を用いて、2つの検証式
【数18】


の成否を計算し、共に成立すれば署名は正しいとの検証結果を出力し、それ以外の場合は署名は正しくないとの検証結果を出力する検証装置と、
を備えるディジタル署名・検証システム。
【請求項2】
1、G2をそれぞれ位数pの異なる群(pは素数)、バイリニアマップeをe:G1×G2→GTとし、
生成元g1をG1から、g2をG2から、それぞれランダムに選択する生成元選択部と、
公開情報Λ=(p,G1,G2,GT,e,g1,g2)を生成する公開情報生成部と、
1以上p−1以下のランダムな整数δu、α、γz、γi(i=1,・・・,k、kは2以上の整数)、ζ,ρ,及びτを生成する乱数生成部と、
【数19】


を計算し、公開鍵vk=(Λ,gz,gr,hu,a,g1,・・・,gk)及び秘密鍵sk=(vk,α,γzu1,・・・,γk)を生成し、公開鍵vkを公開する鍵生成部と、
2の1以外の元であるメッセージm=(m1,・・・,mk)が入力され、
【数20】


を計算して、署名σ=(z,r,s,t,u)を生成し、メッセージm=(m1,・・・,mk)とともに送信する署名生成部と、
を備える署名装置と、
署名σ=(z,r,s,t,u)とメッセージm=(m1,・・・,mk)を受信し、公開鍵vk=(Λ,gz,gr,hu,a,g1,・・・,gk)を用いて、2つの検証式
【数21】


の成否を計算し、共に成立すれば署名は正しいとの検証結果を出力し、それ以外の場合は署名は正しくないとの検証結果を出力する検証装置と、
を備えるディジタル署名・検証システム。
【請求項3】
1、G2をそれぞれ位数pの異なる群(pは素数)、バイリニアマップeをe:G1×G2→GTとし、
生成元g1をG1から、g2をG2から、それぞれランダムに選択する生成元選択部と、
公開情報Λ=(p,G1,G2,GT,e,g1,g2)を生成する公開情報生成部と、
1以上p−1以下のランダムな整数δu、α、γz、δz、γi(i=1,・・・,k1、k1は2以上の整数)、δj(j=k1+1,・・・,k2、k2はk1より大きい整数)、ζ,ρ,τ,及びωを生成する乱数生成部と、
【数22】


を計算し、公開鍵vk=(Λ,gz,hz,gr,hu,hv,a,g1,・・・,gk1,hk1+1,・・・,hk2)及び秘密鍵sk=(vk,α,γzzu1,・・・,γk1k1+1,・・・,δk2)を生成し、公開鍵vkを公開する鍵生成部と、
2の1以外の元であるm1,・・・,mk1とG1の1以外の元であるmk1+1,・・・,mk2とからなるメッセージm=(m1,・・・,mk1,mk1+1,・・・,mk2)が入力され、
【数23】


を計算して、署名σ=(z,r,s,t,u,v)を生成し、メッセージm=(m1,・・・,mk1,mk1+1,・・・,mk2)とともに送信する署名生成部と、
を備える署名装置と、
署名σ=(z,r,s,t,u,v)とメッセージm=(m1,・・・,mk1,mk1+1,・・・,mk2)を受信し、公開鍵vk=(Λ,gz,hz,gr,hu,hv,a,g1,・・・,gk1,hk1+1,・・・,hk2)を用いて、2つの検証式
【数24】


の成否を計算し、共に成立すれば署名は正しいとの検証結果を出力し、それ以外の場合は署名は正しくないとの検証結果を出力する検証装置と、
を備えるディジタル署名・検証システム。
【請求項4】
1、G2をそれぞれ位数pの群(pは素数)、バイリニアマップeをe:G1×G2→GTとし、
署名装置の生成元選択部が、生成元g1をG1から、g2をG2から、それぞれランダムに選択する生成元選択ステップと、
署名装置の公開情報生成部が、公開情報Λ=(p,G1,G2,GT,e,g1,g2)を生成する公開情報生成ステップと、
署名装置の乱数生成部が、1以上p−1以下のランダムな整数δu、α、γz、δz、γi(i=1,・・・,k、kは2以上の整数)、δi、ζ,ρ,及びτを生成する乱数生成ステップと、
署名装置の鍵生成部が、
【数25】


を計算し、公開鍵vk=(Λ,gz,hz,gr,hu,a,g1,・・・,gk,h1,・・・,hk)及び秘密鍵sk=(vk,α,γzzu1,・・・,γk1,・・・,δk)を生成し、公開鍵vkを公開する鍵生成ステップと、
署名装置の署名生成部が、入力されたG2の1以外の元であるメッセージm=(m1,・・・,mk)を用いて、
【数26】


を計算して、署名σ=(z,r,s,t,u)を生成し、メッセージm=(m1,・・・,mk)とともに送信する署名生成ステップと、
検証装置が、署名σ=(z,r,s,t,u)とメッセージm=(m1,・・・,mk)を受信し、公開鍵vk=(Λ,gz,hz,gr,hu,a,g1,・・・,gk,h1,・・・,hk)を用いて、2つの検証式
【数27】


の成否を計算し、共に成立すれば署名は正しいとの検証結果を出力し、それ以外の場合は署名は正しくないとの検証結果を出力する検証ステップと、
を実効するディジタル署名・検証方法。
【請求項5】
1、G2をそれぞれ位数pの異なる群(pは素数)、バイリニアマップeをe:G1×G2→GTとし、
署名装置の生成元選択部が、生成元g1をG1から、g2をG2から、それぞれランダムに選択する生成元選択ステップと、
署名装置の公開情報生成部が、公開情報Λ=(p,G1,G2,GT,e,g1,g2)を生成する公開情報生成ステップと、
署名装置の乱数生成部が、1以上p−1以下のランダムな整数δu、α、γz、γi(i=1,・・・,k、kは2以上の整数)、ζ,ρ,及びτを生成する乱数生成ステップと、
署名装置の鍵生成部が、
【数28】


を計算し、公開鍵vk=(Λ,gz,gr,hu,a,g1,・・・,gk)及び秘密鍵sk=(vk,α,γzu1,・・・,γk)を生成し、公開鍵vkを公開する鍵生成ステップと、
署名装置の署名生成部が、入力されたG2の1以外の元であるメッセージm=(m1,・・・,mk)を用いて、
【数29】


を計算して、署名σ=(z,r,s,t,u)を生成し、メッセージm=(m1,・・・,mk)とともに送信する署名生成ステップと、
検証装置が、署名σ=(z,r,s,t,u)とメッセージm=(m1,・・・,mk)を受信し、公開鍵vk=(Λ,gz,gr,hu,a,g1,・・・,gk)を用いて、2つの検証式
【数30】


の成否を計算し、共に成立すれば署名は正しいとの検証結果を出力し、それ以外の場合は署名は正しくないとの検証結果を出力する検証ステップと、
を実行するディジタル署名・検証方法。
【請求項6】
1、G2をそれぞれ位数pの異なる群(pは素数)、バイリニアマップeをe:G1×G2→GTとし、
署名装置の生成元選択部が、生成元g1をG1から、g2をG2から、それぞれランダムに選択する生成元選択ステップと、
署名装置の公開情報生成部が、公開情報Λ=(p,G1,G2,GT,e,g1,g2)を生成する公開情報生成ステップと、
署名装置の乱数生成部が、1以上p−1以下のランダムな整数δu、α、γz、δz、γi(i=1,・・・,k1、k1は2以上の整数)、δj(j=k1+1,・・・,k2、k2はk1より大きい整数)、ζ,ρ,τ,及びωを生成する乱数生成ステップと、
署名装置の鍵生成部が、
【数31】


を計算し、公開鍵vk=(Λ,gz,hz,gr,hu,hv,a,g1,・・・,gk1,hk1+1,・・・,hk2)及び秘密鍵sk=(vk,α,γzzu1,・・・,γk1k1+1,・・・,δk2)を生成し、公開鍵vkを公開する鍵生成ステップと、
署名装置の署名生成部が、入力されたG2の1以外の元であるm1,・・・,mk1とG1の1以外の元であるmk1+1,・・・,mk2とからなるメッセージm=(m1,・・・,mk1,mk1+1,・・・,mk2)を用いて、
【数32】


を計算して、署名σ=(z,r,s,t,u,v)を生成し、メッセージm=(m1,・・・,mk1,mk1+1,・・・,mk2)とともに送信する署名生成ステップと、
検証装置が、署名σ=(z,r,s,t,u,v)とメッセージm=(m1,・・・,mk1,mk1+1,・・・,mk2)を受信し、公開鍵vk=(Λ,gz,hz,gr,hu,hv,a,g1,・・・,gk1,hk1+1,・・・,hk2)を用いて、2つの検証式
【数33】


の成否を計算し、共に成立すれば署名は正しいとの検証結果を出力し、それ以外の場合は署名は正しくないとの検証結果を出力する検証ステップと、
を実行するディジタル署名・検証方法。
【請求項7】
1、G2をそれぞれ位数pの群(pは素数)、バイリニアマップeをe:G1×G2→GTとし、
生成元g1をG1から、g2をG2から、それぞれランダムに選択する生成元選択部と、
公開情報Λ=(p,G1,G2,GT,e,g1,g2)を生成する公開情報生成部と、
1以上p−1以下のランダムな整数δu、α、γz、δz、γi(i=1,・・・,k、kは2以上の整数)、δi、ζ,ρ,及びτを生成する乱数生成部と、
【数34】


を計算し、公開鍵vk=(Λ,gz,hz,gr,hu,a,g1,・・・,gk,h1,・・・,hk)及び秘密鍵sk=(vk,α,γzzu1,・・・,γk1,・・・,δk)を生成し、公開鍵vkを公開する鍵生成部と、
2の1以外の元であるメッセージm=(m1,・・・,mk)が入力され、
【数35】


を計算して、署名σ=(z,r,s,t,u)を生成し、メッセージm=(m1,・・・,mk)とともに送信する署名生成部と、
を備える署名装置。
【請求項8】
1、G2をそれぞれ位数pの異なる群(pは素数)、バイリニアマップeをe:G1×G2→GTとし、
生成元g1をG1から、g2をG2から、それぞれランダムに選択する生成元選択部と、
公開情報Λ=(p,G1,G2,GT,e,g1,g2)を生成する公開情報生成部と、
1以上p−1以下のランダムな整数δu、α、γz、γi(i=1,・・・,k、kは2以上の整数)、ζ,ρ,及びτを生成する乱数生成部と、
【数36】


を計算し、公開鍵vk=(Λ,gz,gr,hu,a,g1,・・・,gk)及び秘密鍵sk=(vk,α,γzu1,・・・,γk)を生成し、公開鍵vkを公開する鍵生成部と、
2の1以外の元であるメッセージm=(m1,・・・,mk)が入力され、
【数37】


を計算して、署名σ=(z,r,s,t,u)を生成し、メッセージm=(m1,・・・,mk)とともに送信する署名生成部と、
を備える署名装置。
【請求項9】
1、G2をそれぞれ位数pの異なる群(pは素数)、バイリニアマップeをe:G1×G2→GTとし、
生成元g1をG1から、g2をG2から、それぞれランダムに選択する生成元選択部と、
公開情報Λ=(p,G1,G2,GT,e,g1,g2)を生成する公開情報生成部と、
1以上p−1以下のランダムな整数δu、α、γz、δz、γi(i=1,・・・,k1、k1は2以上の整数)、δj(j=k1+1,・・・,k2、k2はk1より大きい整数)、ζ,ρ,τ,及びωを生成する乱数生成部と、
【数38】


を計算し、公開鍵vk=(Λ,gz,hz,gr,hu,hv,a,g1,・・・,gk1,hk1+1,・・・,hk2)及び秘密鍵sk=(vk,α,γzzu1,・・・,γk1k1+1,・・・,δk2)を生成し、公開鍵vkを公開する鍵生成部と、
2の1以外の元であるm1,・・・,mk1とG1の1以外の元であるmk1+1,・・・,mk2とからなるメッセージm=(m1,・・・,mk1,mk1+1,・・・,mk2)が入力され、
【数39】


を計算して、署名σ=(z,r,s,t,u,v)を生成し、メッセージm=(m1,・・・,mk1,mk1+1,・・・,mk2)とともに送信する署名生成部と、
を備える署名装置。
【請求項10】
1、G2をそれぞれ位数pの群(pは素数)、バイリニアマップeをe:G1×G2→GTとし、
署名σ=(z,r,s,t,u)とメッセージm=(m1,・・・,mk)を受信し、公開鍵vk=(Λ,gz,hz,gr,hu,a,g1,・・・,gk,h1,・・・,hk)を用いて、2つの検証式
【数40】


の成否を計算し、共に成立すれば署名は正しいとの検証結果を出力し、それ以外の場合は署名は正しくないとの検証結果を出力する検証装置。
【請求項11】
1、G2をそれぞれ位数pの異なる群(pは素数)、バイリニアマップeをe:G1×G2→GTとし、
署名σ=(z,r,s,t,u)とメッセージm=(m1,・・・,mk)を受信し、公開鍵vk=(Λ,gz,gr,hu,a,g1,・・・,gk)を用いて、2つの検証式
【数41】


の成否を計算し、共に成立すれば署名は正いとの検証結果を出力し、それ以外の場合は署名は正しくないとの検証結果を出力する検証装置。
【請求項12】
1、G2をそれぞれ位数pの異なる群(pは素数)、バイリニアマップeをe:G1×G2→GTとし、
署名σ=(z,r,s,t,u,v)とメッセージm=(m1,・・・,mk1,mk1+1,・・・,mk2)を受信し、公開鍵vk=(Λ,gz,hz,gr,hu,hv,a,g1,・・・,gk1,hk1+1,・・・,hk2)を用いて、2つの検証式
【数42】


の成否を計算し、共に成立すれば署名は正しいとの検証結果を出力し、それ以外の場合は署名は正しくないとの検証結果を出力する検証装置。
【請求項13】
請求項7乃至9のいずれかに記載の署名装置又は請求項10乃至12のいずれかに記載の検証装置としてコンピュータを機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate