電子署名検証システム、電子署名装置、検証装置、電子署名検証方法、電子署名方法、検証方法、電子署名プログラム、検証プログラム
【課題】本発明は、電子署名を構成する要素の数を少なくし、電子署名長が短く、情報量及び通信量が少なく、また、検証時の計算量の少ない電子署名検証方法及び装置を提供することを目的とする。
【解決手段】qを素数とし、G1,G2,GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、電子署名装置は、乱数x及びyとG1及びG2それぞれの生成元g1及びg2を用いて、X'=g2x、Y'=g2y、Y=g1yを計算し、公開鍵pkを生成する。g1、g2、乱数r、x、y及び平文mを用いて、b1=mryYr、b3=mrxyYrx、b5=g2ryを計算して電子署名σ=(b1、b3、b5)を生成する。検証装置は、公開鍵pk、電子署名σ及び平文mを用いて、e(b1、g2)=e(mg1、b5)とe(b3、g2)=e(b1、X')が成立するか判定することにより改竄等が行われていないか検証する。
【解決手段】qを素数とし、G1,G2,GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、電子署名装置は、乱数x及びyとG1及びG2それぞれの生成元g1及びg2を用いて、X'=g2x、Y'=g2y、Y=g1yを計算し、公開鍵pkを生成する。g1、g2、乱数r、x、y及び平文mを用いて、b1=mryYr、b3=mrxyYrx、b5=g2ryを計算して電子署名σ=(b1、b3、b5)を生成する。検証装置は、公開鍵pk、電子署名σ及び平文mを用いて、e(b1、g2)=e(mg1、b5)とe(b3、g2)=e(b1、X')が成立するか判定することにより改竄等が行われていないか検証する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電気通信システムで送信者の身元を確認する電子署名検証システム、電子署名装置、検証装置、その方法及びプログラムに関する。
【背景技術】
【0002】
電子署名はメッセージmに対して、公開鍵pkに対応する秘密鍵skを知る署名者が、メッセージmに対して秘密鍵skを正しく使ったときにのみ計算できる値σを算出し、これを電子的な署名として用いるものである。正しく計算された電子署名は誰でも公開鍵pkを用いてその正当性を検証することが可能である。一方、秘密鍵skを知らないいかなる第三者も正当な電子署名σを算出することはできない。電子署名は電子現金やクレデンシャルシステムなど、様々な暗号プロトコルにおいて基本的な構成要素として利用されている。
【0003】
電子署名は電子現金やクレデンシャルシステムなど、様々な暗号プロトコルにおいて基本的な構成要素として利用されている。特に、利用者のプライバシーを必要とする応用においては、ゼロ知識証明と組み合わせることにより、電子署名σを明かさないまま、あるメッセージに対する電子署名を保持しているという事実を任意の第三者に納得させるなど、高度な利用形態がある。例えば、非特許文献1のようにペアリング技術を用い、群の要素がある関係を満たすという事実を効率的に証明するゼロ知識証明が構成可能となった。これによって、電子署名σが効率的なバイリニアマップを持つ群の要素である、すなわち、σ∈Gである場合、前述のように、電子署名σを明かさないまま、正しい電子署名σを保持しているという事実を証明することが可能である。
【0004】
例えば、非特許文献2記載の技術、いわゆる、CL-Signatureと言われる技術では、メッセージm∈Zqに対する電子署名σは3つの群要素(a,b,c)∈G3から構成されている。
【0005】
しかしながら、CL-Signatureと言われる技術では、ランダムオラクルモデル等の理想化された構成要素を用いず、数論的な仮定のみによって安全性が証明できる既存の電子署名方法では、メッセージmが群Gの要素ではないため、メッセージmを秘匿した状態で、その秘匿したメッセージに対する正しい電子署名を保持していることを証明する、という応用には適さない。
メッセージmが群Gの要素である場合にも、安全な電子署名方法として、上記のCL-Signatureを改良した方式が非特許文献3に示されている。それについて以下に簡単に説明する。
【0006】
qを大きな素数とし、G1,G2,GTをそれぞれ位数qの群とし、eを効率的に計算可能なバイリニアマップe:G1×G2→GTとし、v=(q,G1,G2,GT,e)を公開パラメータとする。
【0007】
署名者は、G1及びG2からそれぞれ生成元g1及びg2を無作為に選択し、Zqに属する乱数r、x及びyを生成し、X=g2x、Y=g2yとする。また、pk=(v、g1、g2、X、Y)を公開鍵とし、sk=(x、y)を秘密鍵とする。
【0008】
メッセージm∈G1に対して、以下の5つの式
a1=g1r (1)
a2=mr (2)
a3=g1rxmrxy (3)
a4=mry (4)
a5=g2r (5)
を計算し、これら5つの値の組をメッセージmに対する電子署名σ=(a1,a2,a3,a4,a5)∈G14×G2とする。
【0009】
検証者は、与えられたメッセージ署名対(m、σ)に対し、公開鍵pk及び電子署名σを用いて、以下の4つのペアリング等式が成り立つことを確認し、電子署名の真正性及び完全性を検証する。
【0010】
e(g1,a5)=e(a1,g2) (6)
e(m,a5)=e(a2,g2) (7)
e(a2,Y)=e(a4,g2) (8)
e(a3,g2)=e(a1a4,X) (9)
【0011】
<検証方法>
式(6)は式(1)及び(5)を用いて、以下のように表すことができる。
e(g1,g2r)=e (g1r,g2) (6)'
これが成立することにより、バイリニアマップの性質から、両辺中の検証装置に知らされていない乱数rが同一であることを確認することができる。同様に、式(7)は式(1)及び(2)を用いて、以下のように表すことができる。
e(m,g2r)=e(mr,g2) (7)'
式(6)'でrの同一性が確認されたので、式(7)'が成立することにより、受信したmと署名の対象となったmが同一であることを確認することができる。式(8)は式(2)、(4)、Y=g2yを用いて、以下のように表すことができる。
e(mr,g2y)=e(mry,g2) (8)’
式(6)'と(7)'で乱数rの同一性とメッセージmの同一性が確認されたので、式(8)'が成り立つ場合には、乱数yが正しいことが確認できる。式(9)は、式(1)、(3)、(4)、X=g2xを用いて、以下のように表すことができる。
e(g1rxmrxy,g2)=e(g1rmry,g2x) (9)’
式(6)', (7)', (8)'で乱数r、メッセージm、及び乱数yが正しいことが確認できたので、式(9)'が成り立つ場合には、乱数xが正しいことが確認できる。これらの処理により、電子署名σを作成できるのは、秘密鍵sk=(x,y)を知っている署名者のみであることが確認できる。
【先行技術文献】
【非特許文献】
【0012】
【非特許文献1】Jens Groth, Amit Sahai, "Efficient Non-interactive Proof Systems for Bilinear Groups", Advances in Cryptology - EUROCRYPT 2008, Springer Berlin / Heidelberg, June 3,2008, Volume 4965/2008, p415-432
【非特許文献2】Jan Camenisch, Anna Lysyanskaya, " Signature Schemes and Anonymous Credentials from Bilinear Maps", Advances in Cryptology - CRYPTO 2004, Springer Berlin / Heidelberg, 2004, Volume 3152/2004, p.56-72
【非特許文献3】Matthew Green, Susan Hohenberger, "Universally Composable Adaptive Oblivious Transfer", [online], The Johns Hopkins University Information Security Institute, [平成20年11月19日], インターネット<URL:http://eprint.iacr.org/cgi-bin/getfile.pl?entry=2008/163&version=20080806:150034&file=163.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0013】
非特許文献3記載の電子署名検証方法及び装置では、電子署名を構成する要素の数が多く、電子署名長が長くなり、情報量及び通信量が多くなるという問題があった。また、検証時の計算量が多いという問題があった。本発明は、電子署名を構成する要素の数を少なくし、電子署名長が短く、情報量及び通信量が少ない電子署名検証方法及び装置を提供することを目的とし、また、検証時の計算量の少ない電子署名検証方法及び装置を提供することを目的とする。
【課題を解決するための手段】
【0014】
この発明の第1の観点による電子署名検証システムにおいては、
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、公開パラメータをv=(q,G1,G2,GT,e)とし、
前記電子署名装置は、G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する生成元選択部と、
Zqに属する乱数r、x及びyを生成する乱数生成部と、
前記x、y、g1及びg2が入力され、X'=g2x、Y'=g2y、Y=g1yを計算し、公開鍵pkをpk=(v,g1,g2,X',Y',Y)として生成する公開鍵生成部と、
前記g1、g2、r、x、y及び平文mが入力され、
b1=mryYr、
b3=mrxyYrx、
b5=g2ry
を計算し、電子署名σ=(b1,b3,b5)を生成する電子署名生成部とを有す。
前記検証装置は、前記電子署名装置から前記電子署名σ及び平文mを受け、前記公開鍵pk、電子署名σ及び平文mを使って、
式(1): e(b1,g2)=e(mg1,b5)
式(2): e(b3,g2)=e(b1,X')
を計算し、式(1)と(2)の等式全てが成立するか否かを判定し、成立する場合には受理し、成立しない場合には拒否する判定部を有する。
この発明の第2の観点による電子署名検証システムにおいては、
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、公開パラメータをv=(q,G1,G2,GT,e)とし、
前記電子署名装置は、G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する生成元選択部と、
Zqに属するn個の乱数ri, 但し、i=1,…, n、と乱数x及びyを生成する乱数生成部と、
前記x、y、g1及びg2が入力され、X'=g2x、Y'=g2y、Y=g1yを計算し、公開鍵pk=(v,g1,g2,X',Y',Y)を生成する公開鍵生成部と、
前記g1、g2、n個のri、x、y及びn個の平文miが入力され、i=1,…,nについて
b1i=miriyYri、
b3=(Πni=1miri)xy(Πni=1Yri)x、
b5i=g2riy
を計算し、電子署名σ=(b1i,b3,b5i)を生成する電子署名生成部とを有す。
前記検証装置は、前記電子署名装置から前記電子署名σ及びn個の平文miを受け、前記公開鍵pk、電子署名σ及びn個の平文miを使って、
式(1): e(b1i,g2)=e(mig1,b5i)
式(2): e(b3,g2)=e(Πni=1b1i,X')
を計算し、式(1)と(2)の等式全てが成立するか否かをi=1,…,nについて判定し、成立する場合には受理し、成立しない場合には拒否する判定部を有する。
この発明の第3の観点による電子署名検証システムにおいては、
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、公開パラメータをv=(q,G1,G2,GT,e)とし、
前記電子署名装置は、G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する生成元選択部と、
Zqに属する乱数r、x及びn個の乱数yi、但し、i=1,…,n、を生成する乱数生成部と、
前記x、yi、g1及びg2が入力され、X'=g2x、Y'i=g2yi、Yi=g1yiを計算し、公開鍵pk=(v,g1,g2,X',Y'i,Yi)を生成する公開鍵生成部と、
前記g1、g2、r、x、yi及びn個の平文miが入力され、
b1i=miryiYir、
b3=(Πni=1miyi)rx(Πni=1Yi)rx、
b5i=g2ryi
を計算し、電子署名σ=(b1i,b3,b5i)を生成する電子署名生成部とを有する。
前記検証装置は、前記電子署名装置から前記電子署名σ及びn個の平文miを受け、前記公開鍵pk、電子署名σ及びn個の平文miを使って
式(1): e(b1i,g2)=e(mig1,b5i)
式(2): e(b3,g2)=e(Πni=1b1i,X')
を計算し、式(1), (2)の等式全てがi=1,…,nについて成立するか否かを判定し、成立する場合には受理し、成立しない場合には拒否する判定部を有する。
【発明の効果】
【0015】
本発明の電子署名検証方法及び装置によれば、従来技術同様、真正性及び完全性を担保しながら、群の元を用いて電子署名を構成することができ、かつ、電子署名を構成する要素の数を少なくすることにより、電子署名長が短く、通信量が少なくすることができる。また、検証時の計算式の少なくすることにより、計算量を少なくすることができる。
【図面の簡単な説明】
【0016】
【図1】実施例1における電子署名検証システムの構成例を示す図。
【図2】電子署名検証システム1のシーケンス図の一例を示す図。
【図3】電子署名装置100の構成例を示す図。
【図4】電子署名装置100の処理フローの一例を示す図。
【図5】検証装置200の構成例を示す図。
【図6】検証装置200の処理フローの一例を示す図。
【図7】この発明の実施例2による電子署名検証システムの構成例を示す図。
【図8】実施例2における電子署名装置の構成例を示す図。
【図9】実施例2における検証装置の構成例を示す図。
【図10】実施例3における電子署名検証システムの構成例を示す図。
【図11】実施例3における電子署名装置の構成例を示す図。
【図12】実施例3における検証装置の構成例を示す図。
【図13】実施例1における電子署名装置のハードウェア構成を例示したブロック図。
【発明を実施するための形態】
【0017】
[発明の原理]
前述の非特許文献3の技術において、この発明では公開鍵として新たにY=g1yを加えpk=(v、g1、g2、X',Y',Y)とする。SXDH(asymmetric XDH)仮定を前提とし、その仮定の下ではY'=g2yとY=g1yとが公開されていたとしても互いに独立であり、互いの情報を一切漏らさない。更に、この発明では3つ要素の組(b1、b2、b3) ∈G12×G2、ただし、
b1=mryYr
b3=mrxyYrx
b5=g2ry
をメッセージmに対する署名σとする。即ち署名σは
σ=(mryYr,mryxYrx、g2ry)
である。メッセージ署名対(m、σ)に対する検証は、次の2つのペアリング等式、
e(b1,g2)=e(mg1,b5)
e(b3、g2)=e(b1、X')
が成立するかの判定による。
なお、SXDH仮定について述べる前にまずXDHについて述べる。XDHはThe External Diffie-Hellman (XDH) assumptionの略であり、いわゆる楕円のペアリングなどが存在する場合に、以下の3つの性質を持つことを想定した仮定である。
・The discrete logarithm problem (DLP)→離散対数問題
・The computational Diffie-Hellman problem (CDH)→いわゆるDH問題
・The computational co-Diffie-Hellman problem (co-DH)
上記のうち、co-DHとは以下のように双対の片方のグループの情報を与えられて、与えられたのとは別のグループのDHを計算する問題であり、これを解くのが難しいことを仮定している。具体的には、以下の通りである。
(G1; G2)上のThe co-Diffie-Hellman (co-DH) problemは:
G1, G2をそれぞれP1, P2により生成した位数Lの巡回群とする。(G1,G2)上のco-DH問題は(P1; aP1; P2)が与えられaP2を計算することである。
これを、ペアリングの双方のグループに対して仮定しているのがSXDHである。
【実施例1】
【0018】
[電子署名検証システム1]
図1は、電子署名検証システム1の構成例を示す図である。図2は、電子署名検証システム1のシーケンス図の一例を示す図である。電子署名検証システム1は、登録装置300と、電子署名装置100と、検証装置200からなる。
【0019】
qを大きな素数とし、G1,G2,GTを位数qの群とし、eを効率的に計算可能なバイリニアマップe:G1×G2→GTとし、v=(q,G1,G2,GT,e)を公開パラメータとする。なお、gaとは、g∈Gに対し、群Gで定義される演算をa回行うことを意味する。バイリニアマップとしては、例えば、WeilペアリングやTateペアリング等が考えられる。
【0020】
電子署名装置100は、登録装置300に対して、公開パラメータvを要求する(S10)。登録装置300は、vを電子署名装置100へ送る(S12)。電子署名装置100は、公開パラメータvから公開鍵pkを生成し、登録装置300へ送る(S14)。登録装置300は、公開鍵pkを登録及び公開する(S16)。なお、署名の生成ごとに公開パラメータを要求しなくとも、記憶している公開パラメータを利用して公開鍵を生成してもよい。さらに、メッセージ(以下、平文とも呼ぶ)m、公開鍵pk及び秘密鍵skを用いて、電子署名σを生成する。電子署名装置100は、電子署名σ及び平文mを検証装置へ送る(S18)。
【0021】
検証装置200は、電子署名σに対応する公開鍵pkを登録装置300へ要求する(S20)。登録装置300は、公開鍵pkを検証装置200へ送る(S22)。検証装置200は、電子署名σ、平文m、公開鍵pkを用いて、改竄及び成りすまし等が行われていないか検証する(S24)。以下、各装置及び各処理について詳細を説明する。
【0022】
[登録装置300]
登録装置300は、公開パラメータv=(q、G1,G2,GT,e)を登録及び公開している。例えば、登録装置300は、信頼できる第三者等が管理し、図示してない通信部と、記憶部と、制御部を有する。登録装置300は、通信部を介して、電子署名装置及び検証装置と通信する。通信部は、例えば、LANアダプタ等により構成され、LANやインターネット等からなる通信回線と接続される。但し、必ずしも通信部を有さずともよく、例えば、キーボード等の入力装置から公開パラメータを入力してもよいし、また、USBメモリ等の可搬媒体に公開パラメータを記憶し、それを入力してもよい。以下、同様に各装置(電子署名装置及び検証装置)は送信部を有さずともよく、装置間のデータの入出力は、通信以外の方法であってもよい。記憶部は、公開パラメータ、公開鍵等を記憶する。なお、上記「登録」とは、記憶部に記憶することを意味してもよい。また、「公開」とは、利用者の求めに応じて、情報(例えば、公開パラメータ)を閲覧可能、または、取得可能とすることを意味する。制御部は、各処理を制御する。
【0023】
[電子署名装置100]
図3は、電子署名装置100の構成例を示す図である。図4は、電子署名装置100の処理フローの一例を示す図である。電子署名装置100は、通信部101と、記憶部103と、制御部105と、生成元選択部120と、乱数生成部130と、公開鍵生成部140と、電子署名生成部150を有する。
【0024】
<制御部105及び通信部101>
本実施例の電子署名装置100は、制御部105の制御のもと各処理を実行する。電子署名装置100は、登録装置300から公開パラメータvを受け取る。例えば、通信部101は、登録装置300及び検証装置200と通信を行い、登録装置300から公開パラメータvを受信する(S101)。以下、特に記述しなくとも、登録装置300及び検証装置200と通信する際には、通信部101を介して行われるものとする。
【0025】
受信した公開パラメータvを記憶部103に記憶する(S103)。また、特に示さない限り、入出力される各データや演算過程の各データは、逐一、記憶部103に格納・読み出され、各演算処理が進められる。但し、必ずしも記憶部103に記憶しなければならないわけではなく、各部間で直接データを受け渡してもよい。
【0026】
<生成元選択部120、乱数生成部130及び記憶部103>
生成元選択部120は、公開パラメータv中の群G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する(S120)。生成元選択部120は、通信部101を介して、または、通信部101及び記憶部103を介して、公開パラメータvを入力され、生成元g1及びg2を公開鍵生成部140及び電子署名生成部150へ、出力する。乱数生成部130は、Zqに属する乱数r、x及びyを生成して出力する(S130)。乱数生成部130は、乱数x、yを公開鍵生成部140へ、乱数r、x、yを電子署名生成部150へ出力する。記憶部103は、乱数r、x及びyが記憶され、特にx、yは秘密鍵sk=(x,y)として秘密に記憶される(S133)。なお、秘密鍵skには、対応する公開鍵pkを含め、sk=(pk,x,y)としてもよい。他の実施例においても同様である。公開鍵pkについての詳細は後述する。
【0027】
<公開鍵生成部140>
公開鍵生成部140は、x、y、g1及びg2が入力され、X'=g2x、Y'=g2y、Y=g1yを計算し、公開鍵pk=(v,g1,g2,X',Y',Y)を生成する(S140)。公開鍵pkは、通信部101を介して、登録装置300へ送られる。なお、公開鍵pkには、利用した公開パラメータvの代わりに、それを表す鍵情報iを含めpk=(i,g1,g2,X',Y',Y)としてもよい。この場合には、以下で説明する検証装置200は、鍵情報iに基づいて、登録装置300に対応する公開パラメータviを要求する。また、登録装置300の記憶している公開パラメータの中から対応する公開パラメータvを特定することができる場合には、公開鍵pkに公開パラメータvや、公開パラメータを表示する鍵情報i等を含まなくともよく、検証装置200は、平文m及び電子署名σを受け付けた際に、登録装置300に公開パラメータvを要求する。
【0028】
<電子署名生成部150>
電子署名生成部150は、g1、g2、r、x、y及び平文m∈G1が入力され、
b1=mryYr (11)
b3=Yrxmrxy (12)
b5=g2ry (13)
を計算し、平文mに対する電子署名σ=(b1,b3,b5)を生成する(S150)。なお、平文m∈Zqであり、補助記憶装置やメモリ上のデータ等、もしくは、入力インターフェース、キーボード、マウス等から入力されるデータである。
【0029】
電子署名装置100は、公開鍵pkを登録装置300へ、電子署名σ及び平文mを検証装置200へ、送る。例えば、通信部101を介して、送信する(S153)。
【0030】
このような構成とすることで、電子署名σを構成する要素の数を5つから3つに少なくすることができる。これにより、例えば、電子署名σの各要素を生成する演算量が同一の場合には、演算量を40%軽減できる。また、例えば、電子署名σの各要素が同一の情報量を有している場合には、電子署名長を40%短く作成することができる。これにより電子署名σに要する通信量を軽減することもできる。
【0031】
[検証装置200]
図5は、検証装置200の構成例を示す。図6は、検証装置100の処理フローの一例を示す図である。検証装置200は、通信部201と、記憶部203と、制御部205と、判定部220を有する。
<制御部205、通信部201及び記憶部203>
本実施例の検証装置200は、制御部205の制御のもと各処理を実行する。検証装置は、登録装置から公開鍵pkを、電子署名装置から電子署名σ及び平文mを、受け取る。例えば、通信部201は、登録装置300及び検証装置100と通信を行う。登録装置300から公開鍵pkを受信する(S201)。電子署名装置100から電子署名σ及び平文mを受信する(S202)。機能、構成等は、通信部101と同様である。記憶部203は、公開鍵pk、電子署名σ及び平文mが記憶される(S203)。
【0032】
<判定部220>
判定部220は、以下の2つの等式が成立するか否かを判定する(S220)。成立する場合には受理し(S223)、成立しない場合には拒否する(S225)。
【0033】
e(b1,g2)=e(mg1,b5) (14)
e(b3,g2)=e(b1,X') (15)
判定部220は、通信部201を介して、または、通信部201及び記憶部203を介して、公開鍵pk、署名σ及び平文mが入力される。以下、上記の式(15), (16)による検証について説明する。
【0034】
<検証方法の妥当性>
式(14)は式(11)及び(13)、Y=g1yを用いて、以下のように表すことができる。
e((mg1)ry,g2)=e(mg1,g2ry) (14)’
これはバイリニアマップeの性質を示しているので、式(14)が成立する場合には、署名者が署名生成時に使用した乱数r及びyと、検証者が受信した署名の生成に使用されたであろう乱数r及びyが同一であることを確認できる。
式(15)は式(12), (11)、及びY=g1y,X'=g2xを用いて、以下のように表すことができる。
e((mryYr)x,g2)=e(mryYr,g2x) (15)’
これもバイリニアマップeの性質を示している。従って、式(14)の成立により乱数rとyの正当性が確認できていれば、式(15)が成立することにより平文mと乱数xの正当性が確認できる。即ち、前述の従来技術と同様に、電子署名σを作成できるのは、秘密鍵sk=(x,y)を知っている署名者のみであることが確認できる。このような構成とすることで、従来技術同様、真正性及び完全性を担保しながら、群の元を用いて電子署名を構成することができる。また、検証時の計算式を4つから2つに少なくすることにより、各計算式の計算量が同一の場合には、計算量を50%軽減することができる。
【実施例2】
【0035】
図7はこの発明の実施例2による電子署名検証システムの構成例を示し、図8はその電子署名装置の構成例を示し、図9は検証装置の構成例を示す。実施例2は実施例1における署名対象である平文mが複数の場合にも対処可能にしたものであり、実施例1と異なる部分についてのみ説明する。平文mi(i=1, …, n)の数nは1以上の整数である。n=1のときは実質的に実施例1と同じになるが、実施例2ではnが1のみならず2以上の値にも対応できるように構成されている。
【0036】
[電子署名検証システム1000]
図7に示す量に、電子署名検証システム1000は、登録装置300と、電子署名装置1100と、検証装置1200からなる。電子署名装置1100は、n個の平文miに対し電子署名を生成するために、まず登録装置300に対して、公開パラメータv=(q、G1,G2,GT,e)を要求する。登録装置300は、vを電子署名装置100へ送る。電子署名装置1100は、公開パラメータvから公開鍵pk=(v、g1,g2,X',Y',Y)を生成し、登録装置300へ送る。さらに、n個の平文mi、公開鍵pk及び秘密鍵skを用いて、電子署名σを生成する。電子署名装置1100は、電子署名σ及び平文miを検証装置1200へ送る。
【0037】
検証装置1200は、電子署名σに対応する公開鍵pkを登録装置300へ要求する。登録装置300は、pkを検証装置1200へ送る。検証装置1200は、電子署名σ、平文mi、公開鍵pkを用いて、改竄及び成りすまし等が行われていないか検証する。以下、電子署名装置1100及び検証装置1200について詳細を説明する。
【0038】
[電子署名装置1100]
図8に示すように、電子署名装置1100は、通信部101と、記憶部103と、制御部105と、生成元選択部120と、乱数生成部1130と、公開鍵生成部140と、電子署名生成部1150を有する。
【0039】
<乱数生成部1130及び記憶部103>
乱数生成部1130は、Zqに属するn個の乱数ri(i=1, …, n)、x及びyを生成して出力する。つまり、本実施例においては、n個の平文miに対応するn個の乱数riを生成する。乱数生成部1130は、乱数x、yを公開鍵生成部140へ、n個の乱数riとx、yを電子署名生成部1150へ出力する。記憶部103は、乱数ri、x及びyが記憶される。
<公開鍵生成部140>
公開鍵生成部140はX'=g2x、Y'=g2y、Y=g1yを計算し、公開鍵pk=(v、g1、g2、X'、Y'、Y)を生成する。
【0040】
<電子署名生成部1150>
電子署名生成部1150は、g1、g2、ri、x、y及び平文mi∈G1が入力され、
b1i=miriyYri (16)
b3=(Πni=1miri)xy(Πni=1Yri)x (17)
b5i=g2riy (18)
を計算し、電子署名σ=(b1i,b3,b5i)(i=1, …, n)を生成する。なお、式(16), (17), (18)において、riとは、上記乱数riのことを意味する。電子署名生成部1150は、生成元選択部120から生成元g1、g2を、乱数生成部1130から乱数ri、x、yを、さらに平文miを入力され、電子署名σを出力する。
【0041】
電子署名装置1100は、公開鍵pkを登録装置300へ、電子署名σ及び平文miを検証装置1200へ、送る。例えば、通信部101を介して、送信する。
【0042】
このような構成とすることで、実施例1同様、電子署名σを構成する要素の数を5つから3つに少なくすることができ、実施例1と同様の効果を得ることができる。さらに、1個又は複数の平文mi(i=1,…,n)に対して電子署名σを生成することができるため、実施例1の方法により複数の平文に対し、複数の電子署名を作成するのに比べ、処理を軽減することができる。また、電子署名の情報量、通信量を小さくすることができる。
【0043】
[検証装置1200]
図9に示すように、検証装置1200は、通信部201と、記憶部203と、制御部205と、判定部1220を有する。
【0044】
<判定部1220>
判定部1220は、以下の等式全てがi=1,…,nの全てについて成立するか否かを判定する。成立する場合には受理し、成立しない場合には拒否する。
e(b1i,g2)=e(mig1,b5i) (19)
e(b3,g2)=e(Πni=1b1i,X') (20)
判定部1220は、通信部201を介して、または、通信部201及び記憶部203を介して、公開鍵pk、署名σ及び平文miが入力される。
【0045】
このような構成とすることによって、検証時の計算式を4つから2つに少なくし、実施例1同様の効果が得られる。さらに、等式の両辺を乗算にてまとめることにより、実施例1の方法により複数の電子署名を検証するのに比べ、処理を軽減することができる。
式(19), (20)による検証の妥当性は実施例1の場合と同様に示すことができる。
【実施例3】
【0046】
図10はこの発明の第3実施例による電子署名検証システムの構成例を示し、図11はその電子署名装置の構成例を示し、図12は検証装置の構成例を示す。上述の実施例2ではn個の平文mi(i=1,…,n、nは1以上の整数)に対応してn個の乱数riを使用したが、以下に説明するこの実施例3では、実施例1と同様に乱数rは1つとし、n個の平文に対応してn個の乱数yiを使用する。n=1の場合は実質的に実施例1と同じになるが、実施例3ではn=1の場合のみならず、nが2以上の場合にも対応できるように構成されている。
【0047】
[電子署名検証システム2000]
図10に示すように、実施例3による電子署名検証システム2000は、登録装置300と、電子署名装置2100と、検証装置2200からなる。電子署名装置2100は、複数の平文miを検証装置2200に送る際に、電子署名σを添付するために、登録装置300に対して、公開パラメータvを要求する。登録装置300は、vを電子署名装置100へ送る。電子署名装置2100は、公開パラメータvから公開鍵pkを生成し、登録装置300へ送る。さらに、平文mi、公開鍵pk及び秘密鍵skを用いて、電子署名σを生成する。電子署名装置2100は、電子署名σ及び平文miを検証装置2200へ送る。
【0048】
検証装置2200は、電子署名σに対応する公開鍵pkを登録装置300へ要求する。登録装置300は、pkを検証装置2200へ送る。検証装置2200は、電子署名σ、平文mi、公開鍵pkを用いて、改竄及び成りすまし等が行われていないか検証する。以下、電子署名装置2100及び検証装置2200について詳細を説明する。
【0049】
[電子署名装置2100]
図11に示すように、電子署名装置2100は、通信部101と、記憶部2103と、制御部105と、生成元選択部120と、乱数生成部2130と、公開鍵生成部2140と、電子署名生成部2150を有する。
【0050】
<乱数生成部2130及び記憶部2103>
乱数生成部2130は、Zqに属する乱数r、x及びyiを生成して出力する。つまり、本実施例においては、複数の平文miに対応する複数の乱数yiを生成する。乱数生成部2130は、乱数x、yiを公開鍵生成部2140へ、乱数r、x、yiを電子署名生成部2150へ出力する。記憶部2103は、乱数r、x及びyiが記憶され、特にx、yiは秘密鍵sk=(x,yi)として秘密に記憶される。
【0051】
<公開鍵生成部2140>
公開鍵生成部2140は、x、yi、及びg2が入力され、X'=g2x、Yi'=g2yi、Yi=g1yi(但し、yiは、yiを表す)を計算し、公開鍵pk=(v,g1,g2,X',Yi',Yi)を生成する。
【0052】
<電子署名生成部2150>
電子署名生成部2150は、g1、g2、r、x、yi及び平文mi∈G1が入力され、
b1i=miryiYir (21)
b3=(Πni=1miyi)rx(Πni=1Yi)rx (22)
b5i=g2ryi (23)
を計算し、電子署名σ=(b1i,b3,b5i)を生成する。なお、式(21)〜(23)において、yiとは、上記乱数yiのことを意味する。電子署名生成部2150は、生成元選択部120から生成元g1、g2を、乱数生成部2130から乱数r、x、yiを、さらに平文miを入力され、電子署名σを出力する。
このような構成とすることで、実施例2と同様の効果が得られる。
【0053】
[検証装置2200]
図12に示すように、検証装置2200は、通信部201と、記憶部203と、制御部205と、判定部2220を有する。
【0054】
<判定部2220>
判定部2220は、以下の等式全てが成立するか否かを判定する。成立する場合には受理し、成立しない場合には拒否する。
【0055】
e(b1i,g2)=e(mig1,b5i) (24)
e(b3,g2)=e(Πni=1b1i,X') (25)
式(24), (25)による検証の妥当性は実施例1の場合と同様に示すことができる。
このような構成とすることによって、実施例2と同様の効果が得られる。
【0056】
<ハードウェア構成>
図13は、図1に示した実施例1における電子署名装置100のハードウェア構成を例示したブロック図である。検証装置200及び登録装置300も同様の構成を有する。
【0057】
図13に例示するように、この例の電子署名装置100、検証装置200、登録装置300は、それぞれCPU(Central Processing Unit)11、入力部12、出力部13、補助記憶装置14、ROM(Read Only Memory)15、RAM(Random Access Memory)16及びバス17を有している。
【0058】
この例のCPU11は、制御部11a、演算部11b及びレジスタ11cを有し、レジスタ11cに読み込まれた各種プログラムに従って様々な演算処理を実行する。また、入力部12は、データが入力される入力インターフェース、キーボード、マウス等であり、出力部13は、データが出力される出力インターフェース等である。補助記憶装置14は、例えば、ハードディスク、MO(Magneto-Optical disc)、半導体メモリ等であり、電子署名装置100、検証装置200及び登録装置300としてコンピュータを機能させるためのプログラムが格納されるプログラム領域14a及び各種データが格納されるデータ領域14bを有している。また、RAM16は、SRAM (Static Random Access Memory)、DRAM (Dynamic Random Access Memory)等であり、上記のプログラムが格納されるプログラム領域16a及び各種データが格納されるデータ領域16bを有している。また、バス17は、CPU11、入力部12、出力部13、補助記憶装置14、ROM15及びRAM16を通信可能に接続する。
【0059】
なお、このようなハードウェアの具体例としては、例えば、パーソナルコンピュータの他、サーバ装置やワークステーション等を例示できる。
【0060】
<プログラム構成>
上述のように、プログラム領域14a,16aには、本実施例の電子署名装置100、検証装置200、登録装置300の各処理を実行するための各プログラムが格納される。電子署名プログラム、検証プログラム及び登録プログラムを構成する各プログラムは、単一のプログラム列として記載されていてもよく、また、少なくとも一部のプログラムが別個のモジュールとしてライブラリに格納されていてもよい。また、各プログラムが単体でそれぞれの機能を実現してもよいし、各プログラムがさらに他のライブラリを読み出して各機能を実現するものでもよい。
【0061】
<ハードウェアとプログラムとの協働>
CPU11(図13)は、読み込まれたOS(Operating System)プログラムに従い、補助記憶装置14のプログラム領域14aに格納されている上述のプログラムをRAM16のプログラム領域16aに書き込む。同様にCPU11は、補助記憶装置14のデータ領域14bに格納されている各種データを、RAM16のデータ領域16bに書き込む。そして、このプログラムやデータが書き込まれたRAM16上のアドレスがCPU11のレジスタ11cに格納される。CPU11の制御部11aは、レジスタ11cに格納されたこれらのアドレスを順次読み出し、読み出したアドレスが示すRAM16上の領域からプログラムやデータを読み出し、そのプログラムが示す演算を演算部11bに順次実行させ、その演算結果をレジスタ11cに格納していく。
【0062】
前述の図3、5は、このようにCPU11に上述のプログラムが読み込まれて実行されることにより構成される電子署名装置100、検証装置200の機能構成を例示したブロック図である。
【0063】
ここで、記憶部103及び203は、補助記憶装置14、RAM16、レジスタ11c、その他のバッファメモリやキャッシュメモリ等の何れか、あるいはこれらを併用した記憶領域に相当する。また、通信部101と、記憶部103と、制御部105と、生成元選択部120と、乱数生成部130と、公開鍵生成部140と、電子署名生成部150は、CPU11に電子署名プログラムを実行させることにより構成されるものである。また、通信部201と、記憶部203と、制御部205と、判定部220は、CPU11に検証プログラムを実行させることにより構成されるものである。
【0064】
また、本形態の電子署名装置100、検証装置200及び登録装置300は、各制御部105及び205の制御のもと各処理を実行する。
図13を参照性説明したこの発明をコンピュータで実施する構成は、実施例2及び3にも適用できる。
【技術分野】
【0001】
本発明は、電気通信システムで送信者の身元を確認する電子署名検証システム、電子署名装置、検証装置、その方法及びプログラムに関する。
【背景技術】
【0002】
電子署名はメッセージmに対して、公開鍵pkに対応する秘密鍵skを知る署名者が、メッセージmに対して秘密鍵skを正しく使ったときにのみ計算できる値σを算出し、これを電子的な署名として用いるものである。正しく計算された電子署名は誰でも公開鍵pkを用いてその正当性を検証することが可能である。一方、秘密鍵skを知らないいかなる第三者も正当な電子署名σを算出することはできない。電子署名は電子現金やクレデンシャルシステムなど、様々な暗号プロトコルにおいて基本的な構成要素として利用されている。
【0003】
電子署名は電子現金やクレデンシャルシステムなど、様々な暗号プロトコルにおいて基本的な構成要素として利用されている。特に、利用者のプライバシーを必要とする応用においては、ゼロ知識証明と組み合わせることにより、電子署名σを明かさないまま、あるメッセージに対する電子署名を保持しているという事実を任意の第三者に納得させるなど、高度な利用形態がある。例えば、非特許文献1のようにペアリング技術を用い、群の要素がある関係を満たすという事実を効率的に証明するゼロ知識証明が構成可能となった。これによって、電子署名σが効率的なバイリニアマップを持つ群の要素である、すなわち、σ∈Gである場合、前述のように、電子署名σを明かさないまま、正しい電子署名σを保持しているという事実を証明することが可能である。
【0004】
例えば、非特許文献2記載の技術、いわゆる、CL-Signatureと言われる技術では、メッセージm∈Zqに対する電子署名σは3つの群要素(a,b,c)∈G3から構成されている。
【0005】
しかしながら、CL-Signatureと言われる技術では、ランダムオラクルモデル等の理想化された構成要素を用いず、数論的な仮定のみによって安全性が証明できる既存の電子署名方法では、メッセージmが群Gの要素ではないため、メッセージmを秘匿した状態で、その秘匿したメッセージに対する正しい電子署名を保持していることを証明する、という応用には適さない。
メッセージmが群Gの要素である場合にも、安全な電子署名方法として、上記のCL-Signatureを改良した方式が非特許文献3に示されている。それについて以下に簡単に説明する。
【0006】
qを大きな素数とし、G1,G2,GTをそれぞれ位数qの群とし、eを効率的に計算可能なバイリニアマップe:G1×G2→GTとし、v=(q,G1,G2,GT,e)を公開パラメータとする。
【0007】
署名者は、G1及びG2からそれぞれ生成元g1及びg2を無作為に選択し、Zqに属する乱数r、x及びyを生成し、X=g2x、Y=g2yとする。また、pk=(v、g1、g2、X、Y)を公開鍵とし、sk=(x、y)を秘密鍵とする。
【0008】
メッセージm∈G1に対して、以下の5つの式
a1=g1r (1)
a2=mr (2)
a3=g1rxmrxy (3)
a4=mry (4)
a5=g2r (5)
を計算し、これら5つの値の組をメッセージmに対する電子署名σ=(a1,a2,a3,a4,a5)∈G14×G2とする。
【0009】
検証者は、与えられたメッセージ署名対(m、σ)に対し、公開鍵pk及び電子署名σを用いて、以下の4つのペアリング等式が成り立つことを確認し、電子署名の真正性及び完全性を検証する。
【0010】
e(g1,a5)=e(a1,g2) (6)
e(m,a5)=e(a2,g2) (7)
e(a2,Y)=e(a4,g2) (8)
e(a3,g2)=e(a1a4,X) (9)
【0011】
<検証方法>
式(6)は式(1)及び(5)を用いて、以下のように表すことができる。
e(g1,g2r)=e (g1r,g2) (6)'
これが成立することにより、バイリニアマップの性質から、両辺中の検証装置に知らされていない乱数rが同一であることを確認することができる。同様に、式(7)は式(1)及び(2)を用いて、以下のように表すことができる。
e(m,g2r)=e(mr,g2) (7)'
式(6)'でrの同一性が確認されたので、式(7)'が成立することにより、受信したmと署名の対象となったmが同一であることを確認することができる。式(8)は式(2)、(4)、Y=g2yを用いて、以下のように表すことができる。
e(mr,g2y)=e(mry,g2) (8)’
式(6)'と(7)'で乱数rの同一性とメッセージmの同一性が確認されたので、式(8)'が成り立つ場合には、乱数yが正しいことが確認できる。式(9)は、式(1)、(3)、(4)、X=g2xを用いて、以下のように表すことができる。
e(g1rxmrxy,g2)=e(g1rmry,g2x) (9)’
式(6)', (7)', (8)'で乱数r、メッセージm、及び乱数yが正しいことが確認できたので、式(9)'が成り立つ場合には、乱数xが正しいことが確認できる。これらの処理により、電子署名σを作成できるのは、秘密鍵sk=(x,y)を知っている署名者のみであることが確認できる。
【先行技術文献】
【非特許文献】
【0012】
【非特許文献1】Jens Groth, Amit Sahai, "Efficient Non-interactive Proof Systems for Bilinear Groups", Advances in Cryptology - EUROCRYPT 2008, Springer Berlin / Heidelberg, June 3,2008, Volume 4965/2008, p415-432
【非特許文献2】Jan Camenisch, Anna Lysyanskaya, " Signature Schemes and Anonymous Credentials from Bilinear Maps", Advances in Cryptology - CRYPTO 2004, Springer Berlin / Heidelberg, 2004, Volume 3152/2004, p.56-72
【非特許文献3】Matthew Green, Susan Hohenberger, "Universally Composable Adaptive Oblivious Transfer", [online], The Johns Hopkins University Information Security Institute, [平成20年11月19日], インターネット<URL:http://eprint.iacr.org/cgi-bin/getfile.pl?entry=2008/163&version=20080806:150034&file=163.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0013】
非特許文献3記載の電子署名検証方法及び装置では、電子署名を構成する要素の数が多く、電子署名長が長くなり、情報量及び通信量が多くなるという問題があった。また、検証時の計算量が多いという問題があった。本発明は、電子署名を構成する要素の数を少なくし、電子署名長が短く、情報量及び通信量が少ない電子署名検証方法及び装置を提供することを目的とし、また、検証時の計算量の少ない電子署名検証方法及び装置を提供することを目的とする。
【課題を解決するための手段】
【0014】
この発明の第1の観点による電子署名検証システムにおいては、
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、公開パラメータをv=(q,G1,G2,GT,e)とし、
前記電子署名装置は、G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する生成元選択部と、
Zqに属する乱数r、x及びyを生成する乱数生成部と、
前記x、y、g1及びg2が入力され、X'=g2x、Y'=g2y、Y=g1yを計算し、公開鍵pkをpk=(v,g1,g2,X',Y',Y)として生成する公開鍵生成部と、
前記g1、g2、r、x、y及び平文mが入力され、
b1=mryYr、
b3=mrxyYrx、
b5=g2ry
を計算し、電子署名σ=(b1,b3,b5)を生成する電子署名生成部とを有す。
前記検証装置は、前記電子署名装置から前記電子署名σ及び平文mを受け、前記公開鍵pk、電子署名σ及び平文mを使って、
式(1): e(b1,g2)=e(mg1,b5)
式(2): e(b3,g2)=e(b1,X')
を計算し、式(1)と(2)の等式全てが成立するか否かを判定し、成立する場合には受理し、成立しない場合には拒否する判定部を有する。
この発明の第2の観点による電子署名検証システムにおいては、
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、公開パラメータをv=(q,G1,G2,GT,e)とし、
前記電子署名装置は、G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する生成元選択部と、
Zqに属するn個の乱数ri, 但し、i=1,…, n、と乱数x及びyを生成する乱数生成部と、
前記x、y、g1及びg2が入力され、X'=g2x、Y'=g2y、Y=g1yを計算し、公開鍵pk=(v,g1,g2,X',Y',Y)を生成する公開鍵生成部と、
前記g1、g2、n個のri、x、y及びn個の平文miが入力され、i=1,…,nについて
b1i=miriyYri、
b3=(Πni=1miri)xy(Πni=1Yri)x、
b5i=g2riy
を計算し、電子署名σ=(b1i,b3,b5i)を生成する電子署名生成部とを有す。
前記検証装置は、前記電子署名装置から前記電子署名σ及びn個の平文miを受け、前記公開鍵pk、電子署名σ及びn個の平文miを使って、
式(1): e(b1i,g2)=e(mig1,b5i)
式(2): e(b3,g2)=e(Πni=1b1i,X')
を計算し、式(1)と(2)の等式全てが成立するか否かをi=1,…,nについて判定し、成立する場合には受理し、成立しない場合には拒否する判定部を有する。
この発明の第3の観点による電子署名検証システムにおいては、
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、公開パラメータをv=(q,G1,G2,GT,e)とし、
前記電子署名装置は、G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する生成元選択部と、
Zqに属する乱数r、x及びn個の乱数yi、但し、i=1,…,n、を生成する乱数生成部と、
前記x、yi、g1及びg2が入力され、X'=g2x、Y'i=g2yi、Yi=g1yiを計算し、公開鍵pk=(v,g1,g2,X',Y'i,Yi)を生成する公開鍵生成部と、
前記g1、g2、r、x、yi及びn個の平文miが入力され、
b1i=miryiYir、
b3=(Πni=1miyi)rx(Πni=1Yi)rx、
b5i=g2ryi
を計算し、電子署名σ=(b1i,b3,b5i)を生成する電子署名生成部とを有する。
前記検証装置は、前記電子署名装置から前記電子署名σ及びn個の平文miを受け、前記公開鍵pk、電子署名σ及びn個の平文miを使って
式(1): e(b1i,g2)=e(mig1,b5i)
式(2): e(b3,g2)=e(Πni=1b1i,X')
を計算し、式(1), (2)の等式全てがi=1,…,nについて成立するか否かを判定し、成立する場合には受理し、成立しない場合には拒否する判定部を有する。
【発明の効果】
【0015】
本発明の電子署名検証方法及び装置によれば、従来技術同様、真正性及び完全性を担保しながら、群の元を用いて電子署名を構成することができ、かつ、電子署名を構成する要素の数を少なくすることにより、電子署名長が短く、通信量が少なくすることができる。また、検証時の計算式の少なくすることにより、計算量を少なくすることができる。
【図面の簡単な説明】
【0016】
【図1】実施例1における電子署名検証システムの構成例を示す図。
【図2】電子署名検証システム1のシーケンス図の一例を示す図。
【図3】電子署名装置100の構成例を示す図。
【図4】電子署名装置100の処理フローの一例を示す図。
【図5】検証装置200の構成例を示す図。
【図6】検証装置200の処理フローの一例を示す図。
【図7】この発明の実施例2による電子署名検証システムの構成例を示す図。
【図8】実施例2における電子署名装置の構成例を示す図。
【図9】実施例2における検証装置の構成例を示す図。
【図10】実施例3における電子署名検証システムの構成例を示す図。
【図11】実施例3における電子署名装置の構成例を示す図。
【図12】実施例3における検証装置の構成例を示す図。
【図13】実施例1における電子署名装置のハードウェア構成を例示したブロック図。
【発明を実施するための形態】
【0017】
[発明の原理]
前述の非特許文献3の技術において、この発明では公開鍵として新たにY=g1yを加えpk=(v、g1、g2、X',Y',Y)とする。SXDH(asymmetric XDH)仮定を前提とし、その仮定の下ではY'=g2yとY=g1yとが公開されていたとしても互いに独立であり、互いの情報を一切漏らさない。更に、この発明では3つ要素の組(b1、b2、b3) ∈G12×G2、ただし、
b1=mryYr
b3=mrxyYrx
b5=g2ry
をメッセージmに対する署名σとする。即ち署名σは
σ=(mryYr,mryxYrx、g2ry)
である。メッセージ署名対(m、σ)に対する検証は、次の2つのペアリング等式、
e(b1,g2)=e(mg1,b5)
e(b3、g2)=e(b1、X')
が成立するかの判定による。
なお、SXDH仮定について述べる前にまずXDHについて述べる。XDHはThe External Diffie-Hellman (XDH) assumptionの略であり、いわゆる楕円のペアリングなどが存在する場合に、以下の3つの性質を持つことを想定した仮定である。
・The discrete logarithm problem (DLP)→離散対数問題
・The computational Diffie-Hellman problem (CDH)→いわゆるDH問題
・The computational co-Diffie-Hellman problem (co-DH)
上記のうち、co-DHとは以下のように双対の片方のグループの情報を与えられて、与えられたのとは別のグループのDHを計算する問題であり、これを解くのが難しいことを仮定している。具体的には、以下の通りである。
(G1; G2)上のThe co-Diffie-Hellman (co-DH) problemは:
G1, G2をそれぞれP1, P2により生成した位数Lの巡回群とする。(G1,G2)上のco-DH問題は(P1; aP1; P2)が与えられaP2を計算することである。
これを、ペアリングの双方のグループに対して仮定しているのがSXDHである。
【実施例1】
【0018】
[電子署名検証システム1]
図1は、電子署名検証システム1の構成例を示す図である。図2は、電子署名検証システム1のシーケンス図の一例を示す図である。電子署名検証システム1は、登録装置300と、電子署名装置100と、検証装置200からなる。
【0019】
qを大きな素数とし、G1,G2,GTを位数qの群とし、eを効率的に計算可能なバイリニアマップe:G1×G2→GTとし、v=(q,G1,G2,GT,e)を公開パラメータとする。なお、gaとは、g∈Gに対し、群Gで定義される演算をa回行うことを意味する。バイリニアマップとしては、例えば、WeilペアリングやTateペアリング等が考えられる。
【0020】
電子署名装置100は、登録装置300に対して、公開パラメータvを要求する(S10)。登録装置300は、vを電子署名装置100へ送る(S12)。電子署名装置100は、公開パラメータvから公開鍵pkを生成し、登録装置300へ送る(S14)。登録装置300は、公開鍵pkを登録及び公開する(S16)。なお、署名の生成ごとに公開パラメータを要求しなくとも、記憶している公開パラメータを利用して公開鍵を生成してもよい。さらに、メッセージ(以下、平文とも呼ぶ)m、公開鍵pk及び秘密鍵skを用いて、電子署名σを生成する。電子署名装置100は、電子署名σ及び平文mを検証装置へ送る(S18)。
【0021】
検証装置200は、電子署名σに対応する公開鍵pkを登録装置300へ要求する(S20)。登録装置300は、公開鍵pkを検証装置200へ送る(S22)。検証装置200は、電子署名σ、平文m、公開鍵pkを用いて、改竄及び成りすまし等が行われていないか検証する(S24)。以下、各装置及び各処理について詳細を説明する。
【0022】
[登録装置300]
登録装置300は、公開パラメータv=(q、G1,G2,GT,e)を登録及び公開している。例えば、登録装置300は、信頼できる第三者等が管理し、図示してない通信部と、記憶部と、制御部を有する。登録装置300は、通信部を介して、電子署名装置及び検証装置と通信する。通信部は、例えば、LANアダプタ等により構成され、LANやインターネット等からなる通信回線と接続される。但し、必ずしも通信部を有さずともよく、例えば、キーボード等の入力装置から公開パラメータを入力してもよいし、また、USBメモリ等の可搬媒体に公開パラメータを記憶し、それを入力してもよい。以下、同様に各装置(電子署名装置及び検証装置)は送信部を有さずともよく、装置間のデータの入出力は、通信以外の方法であってもよい。記憶部は、公開パラメータ、公開鍵等を記憶する。なお、上記「登録」とは、記憶部に記憶することを意味してもよい。また、「公開」とは、利用者の求めに応じて、情報(例えば、公開パラメータ)を閲覧可能、または、取得可能とすることを意味する。制御部は、各処理を制御する。
【0023】
[電子署名装置100]
図3は、電子署名装置100の構成例を示す図である。図4は、電子署名装置100の処理フローの一例を示す図である。電子署名装置100は、通信部101と、記憶部103と、制御部105と、生成元選択部120と、乱数生成部130と、公開鍵生成部140と、電子署名生成部150を有する。
【0024】
<制御部105及び通信部101>
本実施例の電子署名装置100は、制御部105の制御のもと各処理を実行する。電子署名装置100は、登録装置300から公開パラメータvを受け取る。例えば、通信部101は、登録装置300及び検証装置200と通信を行い、登録装置300から公開パラメータvを受信する(S101)。以下、特に記述しなくとも、登録装置300及び検証装置200と通信する際には、通信部101を介して行われるものとする。
【0025】
受信した公開パラメータvを記憶部103に記憶する(S103)。また、特に示さない限り、入出力される各データや演算過程の各データは、逐一、記憶部103に格納・読み出され、各演算処理が進められる。但し、必ずしも記憶部103に記憶しなければならないわけではなく、各部間で直接データを受け渡してもよい。
【0026】
<生成元選択部120、乱数生成部130及び記憶部103>
生成元選択部120は、公開パラメータv中の群G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する(S120)。生成元選択部120は、通信部101を介して、または、通信部101及び記憶部103を介して、公開パラメータvを入力され、生成元g1及びg2を公開鍵生成部140及び電子署名生成部150へ、出力する。乱数生成部130は、Zqに属する乱数r、x及びyを生成して出力する(S130)。乱数生成部130は、乱数x、yを公開鍵生成部140へ、乱数r、x、yを電子署名生成部150へ出力する。記憶部103は、乱数r、x及びyが記憶され、特にx、yは秘密鍵sk=(x,y)として秘密に記憶される(S133)。なお、秘密鍵skには、対応する公開鍵pkを含め、sk=(pk,x,y)としてもよい。他の実施例においても同様である。公開鍵pkについての詳細は後述する。
【0027】
<公開鍵生成部140>
公開鍵生成部140は、x、y、g1及びg2が入力され、X'=g2x、Y'=g2y、Y=g1yを計算し、公開鍵pk=(v,g1,g2,X',Y',Y)を生成する(S140)。公開鍵pkは、通信部101を介して、登録装置300へ送られる。なお、公開鍵pkには、利用した公開パラメータvの代わりに、それを表す鍵情報iを含めpk=(i,g1,g2,X',Y',Y)としてもよい。この場合には、以下で説明する検証装置200は、鍵情報iに基づいて、登録装置300に対応する公開パラメータviを要求する。また、登録装置300の記憶している公開パラメータの中から対応する公開パラメータvを特定することができる場合には、公開鍵pkに公開パラメータvや、公開パラメータを表示する鍵情報i等を含まなくともよく、検証装置200は、平文m及び電子署名σを受け付けた際に、登録装置300に公開パラメータvを要求する。
【0028】
<電子署名生成部150>
電子署名生成部150は、g1、g2、r、x、y及び平文m∈G1が入力され、
b1=mryYr (11)
b3=Yrxmrxy (12)
b5=g2ry (13)
を計算し、平文mに対する電子署名σ=(b1,b3,b5)を生成する(S150)。なお、平文m∈Zqであり、補助記憶装置やメモリ上のデータ等、もしくは、入力インターフェース、キーボード、マウス等から入力されるデータである。
【0029】
電子署名装置100は、公開鍵pkを登録装置300へ、電子署名σ及び平文mを検証装置200へ、送る。例えば、通信部101を介して、送信する(S153)。
【0030】
このような構成とすることで、電子署名σを構成する要素の数を5つから3つに少なくすることができる。これにより、例えば、電子署名σの各要素を生成する演算量が同一の場合には、演算量を40%軽減できる。また、例えば、電子署名σの各要素が同一の情報量を有している場合には、電子署名長を40%短く作成することができる。これにより電子署名σに要する通信量を軽減することもできる。
【0031】
[検証装置200]
図5は、検証装置200の構成例を示す。図6は、検証装置100の処理フローの一例を示す図である。検証装置200は、通信部201と、記憶部203と、制御部205と、判定部220を有する。
<制御部205、通信部201及び記憶部203>
本実施例の検証装置200は、制御部205の制御のもと各処理を実行する。検証装置は、登録装置から公開鍵pkを、電子署名装置から電子署名σ及び平文mを、受け取る。例えば、通信部201は、登録装置300及び検証装置100と通信を行う。登録装置300から公開鍵pkを受信する(S201)。電子署名装置100から電子署名σ及び平文mを受信する(S202)。機能、構成等は、通信部101と同様である。記憶部203は、公開鍵pk、電子署名σ及び平文mが記憶される(S203)。
【0032】
<判定部220>
判定部220は、以下の2つの等式が成立するか否かを判定する(S220)。成立する場合には受理し(S223)、成立しない場合には拒否する(S225)。
【0033】
e(b1,g2)=e(mg1,b5) (14)
e(b3,g2)=e(b1,X') (15)
判定部220は、通信部201を介して、または、通信部201及び記憶部203を介して、公開鍵pk、署名σ及び平文mが入力される。以下、上記の式(15), (16)による検証について説明する。
【0034】
<検証方法の妥当性>
式(14)は式(11)及び(13)、Y=g1yを用いて、以下のように表すことができる。
e((mg1)ry,g2)=e(mg1,g2ry) (14)’
これはバイリニアマップeの性質を示しているので、式(14)が成立する場合には、署名者が署名生成時に使用した乱数r及びyと、検証者が受信した署名の生成に使用されたであろう乱数r及びyが同一であることを確認できる。
式(15)は式(12), (11)、及びY=g1y,X'=g2xを用いて、以下のように表すことができる。
e((mryYr)x,g2)=e(mryYr,g2x) (15)’
これもバイリニアマップeの性質を示している。従って、式(14)の成立により乱数rとyの正当性が確認できていれば、式(15)が成立することにより平文mと乱数xの正当性が確認できる。即ち、前述の従来技術と同様に、電子署名σを作成できるのは、秘密鍵sk=(x,y)を知っている署名者のみであることが確認できる。このような構成とすることで、従来技術同様、真正性及び完全性を担保しながら、群の元を用いて電子署名を構成することができる。また、検証時の計算式を4つから2つに少なくすることにより、各計算式の計算量が同一の場合には、計算量を50%軽減することができる。
【実施例2】
【0035】
図7はこの発明の実施例2による電子署名検証システムの構成例を示し、図8はその電子署名装置の構成例を示し、図9は検証装置の構成例を示す。実施例2は実施例1における署名対象である平文mが複数の場合にも対処可能にしたものであり、実施例1と異なる部分についてのみ説明する。平文mi(i=1, …, n)の数nは1以上の整数である。n=1のときは実質的に実施例1と同じになるが、実施例2ではnが1のみならず2以上の値にも対応できるように構成されている。
【0036】
[電子署名検証システム1000]
図7に示す量に、電子署名検証システム1000は、登録装置300と、電子署名装置1100と、検証装置1200からなる。電子署名装置1100は、n個の平文miに対し電子署名を生成するために、まず登録装置300に対して、公開パラメータv=(q、G1,G2,GT,e)を要求する。登録装置300は、vを電子署名装置100へ送る。電子署名装置1100は、公開パラメータvから公開鍵pk=(v、g1,g2,X',Y',Y)を生成し、登録装置300へ送る。さらに、n個の平文mi、公開鍵pk及び秘密鍵skを用いて、電子署名σを生成する。電子署名装置1100は、電子署名σ及び平文miを検証装置1200へ送る。
【0037】
検証装置1200は、電子署名σに対応する公開鍵pkを登録装置300へ要求する。登録装置300は、pkを検証装置1200へ送る。検証装置1200は、電子署名σ、平文mi、公開鍵pkを用いて、改竄及び成りすまし等が行われていないか検証する。以下、電子署名装置1100及び検証装置1200について詳細を説明する。
【0038】
[電子署名装置1100]
図8に示すように、電子署名装置1100は、通信部101と、記憶部103と、制御部105と、生成元選択部120と、乱数生成部1130と、公開鍵生成部140と、電子署名生成部1150を有する。
【0039】
<乱数生成部1130及び記憶部103>
乱数生成部1130は、Zqに属するn個の乱数ri(i=1, …, n)、x及びyを生成して出力する。つまり、本実施例においては、n個の平文miに対応するn個の乱数riを生成する。乱数生成部1130は、乱数x、yを公開鍵生成部140へ、n個の乱数riとx、yを電子署名生成部1150へ出力する。記憶部103は、乱数ri、x及びyが記憶される。
<公開鍵生成部140>
公開鍵生成部140はX'=g2x、Y'=g2y、Y=g1yを計算し、公開鍵pk=(v、g1、g2、X'、Y'、Y)を生成する。
【0040】
<電子署名生成部1150>
電子署名生成部1150は、g1、g2、ri、x、y及び平文mi∈G1が入力され、
b1i=miriyYri (16)
b3=(Πni=1miri)xy(Πni=1Yri)x (17)
b5i=g2riy (18)
を計算し、電子署名σ=(b1i,b3,b5i)(i=1, …, n)を生成する。なお、式(16), (17), (18)において、riとは、上記乱数riのことを意味する。電子署名生成部1150は、生成元選択部120から生成元g1、g2を、乱数生成部1130から乱数ri、x、yを、さらに平文miを入力され、電子署名σを出力する。
【0041】
電子署名装置1100は、公開鍵pkを登録装置300へ、電子署名σ及び平文miを検証装置1200へ、送る。例えば、通信部101を介して、送信する。
【0042】
このような構成とすることで、実施例1同様、電子署名σを構成する要素の数を5つから3つに少なくすることができ、実施例1と同様の効果を得ることができる。さらに、1個又は複数の平文mi(i=1,…,n)に対して電子署名σを生成することができるため、実施例1の方法により複数の平文に対し、複数の電子署名を作成するのに比べ、処理を軽減することができる。また、電子署名の情報量、通信量を小さくすることができる。
【0043】
[検証装置1200]
図9に示すように、検証装置1200は、通信部201と、記憶部203と、制御部205と、判定部1220を有する。
【0044】
<判定部1220>
判定部1220は、以下の等式全てがi=1,…,nの全てについて成立するか否かを判定する。成立する場合には受理し、成立しない場合には拒否する。
e(b1i,g2)=e(mig1,b5i) (19)
e(b3,g2)=e(Πni=1b1i,X') (20)
判定部1220は、通信部201を介して、または、通信部201及び記憶部203を介して、公開鍵pk、署名σ及び平文miが入力される。
【0045】
このような構成とすることによって、検証時の計算式を4つから2つに少なくし、実施例1同様の効果が得られる。さらに、等式の両辺を乗算にてまとめることにより、実施例1の方法により複数の電子署名を検証するのに比べ、処理を軽減することができる。
式(19), (20)による検証の妥当性は実施例1の場合と同様に示すことができる。
【実施例3】
【0046】
図10はこの発明の第3実施例による電子署名検証システムの構成例を示し、図11はその電子署名装置の構成例を示し、図12は検証装置の構成例を示す。上述の実施例2ではn個の平文mi(i=1,…,n、nは1以上の整数)に対応してn個の乱数riを使用したが、以下に説明するこの実施例3では、実施例1と同様に乱数rは1つとし、n個の平文に対応してn個の乱数yiを使用する。n=1の場合は実質的に実施例1と同じになるが、実施例3ではn=1の場合のみならず、nが2以上の場合にも対応できるように構成されている。
【0047】
[電子署名検証システム2000]
図10に示すように、実施例3による電子署名検証システム2000は、登録装置300と、電子署名装置2100と、検証装置2200からなる。電子署名装置2100は、複数の平文miを検証装置2200に送る際に、電子署名σを添付するために、登録装置300に対して、公開パラメータvを要求する。登録装置300は、vを電子署名装置100へ送る。電子署名装置2100は、公開パラメータvから公開鍵pkを生成し、登録装置300へ送る。さらに、平文mi、公開鍵pk及び秘密鍵skを用いて、電子署名σを生成する。電子署名装置2100は、電子署名σ及び平文miを検証装置2200へ送る。
【0048】
検証装置2200は、電子署名σに対応する公開鍵pkを登録装置300へ要求する。登録装置300は、pkを検証装置2200へ送る。検証装置2200は、電子署名σ、平文mi、公開鍵pkを用いて、改竄及び成りすまし等が行われていないか検証する。以下、電子署名装置2100及び検証装置2200について詳細を説明する。
【0049】
[電子署名装置2100]
図11に示すように、電子署名装置2100は、通信部101と、記憶部2103と、制御部105と、生成元選択部120と、乱数生成部2130と、公開鍵生成部2140と、電子署名生成部2150を有する。
【0050】
<乱数生成部2130及び記憶部2103>
乱数生成部2130は、Zqに属する乱数r、x及びyiを生成して出力する。つまり、本実施例においては、複数の平文miに対応する複数の乱数yiを生成する。乱数生成部2130は、乱数x、yiを公開鍵生成部2140へ、乱数r、x、yiを電子署名生成部2150へ出力する。記憶部2103は、乱数r、x及びyiが記憶され、特にx、yiは秘密鍵sk=(x,yi)として秘密に記憶される。
【0051】
<公開鍵生成部2140>
公開鍵生成部2140は、x、yi、及びg2が入力され、X'=g2x、Yi'=g2yi、Yi=g1yi(但し、yiは、yiを表す)を計算し、公開鍵pk=(v,g1,g2,X',Yi',Yi)を生成する。
【0052】
<電子署名生成部2150>
電子署名生成部2150は、g1、g2、r、x、yi及び平文mi∈G1が入力され、
b1i=miryiYir (21)
b3=(Πni=1miyi)rx(Πni=1Yi)rx (22)
b5i=g2ryi (23)
を計算し、電子署名σ=(b1i,b3,b5i)を生成する。なお、式(21)〜(23)において、yiとは、上記乱数yiのことを意味する。電子署名生成部2150は、生成元選択部120から生成元g1、g2を、乱数生成部2130から乱数r、x、yiを、さらに平文miを入力され、電子署名σを出力する。
このような構成とすることで、実施例2と同様の効果が得られる。
【0053】
[検証装置2200]
図12に示すように、検証装置2200は、通信部201と、記憶部203と、制御部205と、判定部2220を有する。
【0054】
<判定部2220>
判定部2220は、以下の等式全てが成立するか否かを判定する。成立する場合には受理し、成立しない場合には拒否する。
【0055】
e(b1i,g2)=e(mig1,b5i) (24)
e(b3,g2)=e(Πni=1b1i,X') (25)
式(24), (25)による検証の妥当性は実施例1の場合と同様に示すことができる。
このような構成とすることによって、実施例2と同様の効果が得られる。
【0056】
<ハードウェア構成>
図13は、図1に示した実施例1における電子署名装置100のハードウェア構成を例示したブロック図である。検証装置200及び登録装置300も同様の構成を有する。
【0057】
図13に例示するように、この例の電子署名装置100、検証装置200、登録装置300は、それぞれCPU(Central Processing Unit)11、入力部12、出力部13、補助記憶装置14、ROM(Read Only Memory)15、RAM(Random Access Memory)16及びバス17を有している。
【0058】
この例のCPU11は、制御部11a、演算部11b及びレジスタ11cを有し、レジスタ11cに読み込まれた各種プログラムに従って様々な演算処理を実行する。また、入力部12は、データが入力される入力インターフェース、キーボード、マウス等であり、出力部13は、データが出力される出力インターフェース等である。補助記憶装置14は、例えば、ハードディスク、MO(Magneto-Optical disc)、半導体メモリ等であり、電子署名装置100、検証装置200及び登録装置300としてコンピュータを機能させるためのプログラムが格納されるプログラム領域14a及び各種データが格納されるデータ領域14bを有している。また、RAM16は、SRAM (Static Random Access Memory)、DRAM (Dynamic Random Access Memory)等であり、上記のプログラムが格納されるプログラム領域16a及び各種データが格納されるデータ領域16bを有している。また、バス17は、CPU11、入力部12、出力部13、補助記憶装置14、ROM15及びRAM16を通信可能に接続する。
【0059】
なお、このようなハードウェアの具体例としては、例えば、パーソナルコンピュータの他、サーバ装置やワークステーション等を例示できる。
【0060】
<プログラム構成>
上述のように、プログラム領域14a,16aには、本実施例の電子署名装置100、検証装置200、登録装置300の各処理を実行するための各プログラムが格納される。電子署名プログラム、検証プログラム及び登録プログラムを構成する各プログラムは、単一のプログラム列として記載されていてもよく、また、少なくとも一部のプログラムが別個のモジュールとしてライブラリに格納されていてもよい。また、各プログラムが単体でそれぞれの機能を実現してもよいし、各プログラムがさらに他のライブラリを読み出して各機能を実現するものでもよい。
【0061】
<ハードウェアとプログラムとの協働>
CPU11(図13)は、読み込まれたOS(Operating System)プログラムに従い、補助記憶装置14のプログラム領域14aに格納されている上述のプログラムをRAM16のプログラム領域16aに書き込む。同様にCPU11は、補助記憶装置14のデータ領域14bに格納されている各種データを、RAM16のデータ領域16bに書き込む。そして、このプログラムやデータが書き込まれたRAM16上のアドレスがCPU11のレジスタ11cに格納される。CPU11の制御部11aは、レジスタ11cに格納されたこれらのアドレスを順次読み出し、読み出したアドレスが示すRAM16上の領域からプログラムやデータを読み出し、そのプログラムが示す演算を演算部11bに順次実行させ、その演算結果をレジスタ11cに格納していく。
【0062】
前述の図3、5は、このようにCPU11に上述のプログラムが読み込まれて実行されることにより構成される電子署名装置100、検証装置200の機能構成を例示したブロック図である。
【0063】
ここで、記憶部103及び203は、補助記憶装置14、RAM16、レジスタ11c、その他のバッファメモリやキャッシュメモリ等の何れか、あるいはこれらを併用した記憶領域に相当する。また、通信部101と、記憶部103と、制御部105と、生成元選択部120と、乱数生成部130と、公開鍵生成部140と、電子署名生成部150は、CPU11に電子署名プログラムを実行させることにより構成されるものである。また、通信部201と、記憶部203と、制御部205と、判定部220は、CPU11に検証プログラムを実行させることにより構成されるものである。
【0064】
また、本形態の電子署名装置100、検証装置200及び登録装置300は、各制御部105及び205の制御のもと各処理を実行する。
図13を参照性説明したこの発明をコンピュータで実施する構成は、実施例2及び3にも適用できる。
【特許請求の範囲】
【請求項1】
電子署名装置と、検証装置とを含む電子署名検証システムにおいて、
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、公開パラメータをv=(q,G1,G2,GT,e)とし、
前記電子署名装置は、G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する生成元選択部と、
Zqに属する乱数r、x及びyを生成する乱数生成部と、
前記x、y、g1及びg2が入力され、X'=g2x、Y'=g2y、Y=g1yを計算し、公開鍵pkをpk=(v,g1,g2,X',Y',Y)として生成する公開鍵生成部と、
前記g1、g2、r、x、y及び平文mが入力され、
b1=mryYr、
b3=mrxyYrx、
b5=g2ry
を計算し、電子署名σ=(b1,b3,b5)を生成する電子署名生成部と、を有し、
前記検証装置は、前記電子署名装置から前記電子署名σ及び平文mを受け、前記公開鍵pk、電子署名σ及び平文mを使って、
式(1): e(b1,g2)=e(mg1,b5)
式(2): e(b3,g2)=e(b1,X')
を計算し、式(1)と(2)の等式全てが成立するか否かを判定し、成立する場合には受理し、成立しない場合には拒否する判定部を有することを特徴とする電子署名検証システム。
【請求項2】
電子署名装置と、検証装置とを含む電子署名検証システムにおいて、
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、公開パラメータをv=(q,G1,G2,GT,e)とし、
前記電子署名装置は、G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する生成元選択部と、
Zqに属する1以上のn個の乱数ri, 但し、i=1,…, n、と乱数x及びyを生成する乱数生成部と、
前記x、y、g1及びg2が入力され、X'=g2x、Y'=g2y、Y=g1yを計算し、公開鍵pk=(v,g1,g2,X',Y',Y)を生成する公開鍵生成部と、
前記g1、g2、n個のri、x、y及びn個の平文miが入力され、i=1,…,nについて
b1i=miriyYri、
b3=(Πni=1miri)xy(Πni=1Yri)x、
b5i=g2riy
を計算し、電子署名σ=(b1i,b3,b5i)を生成する電子署名生成部と、を有し、
前記検証装置は、前記電子署名装置から前記電子署名σ及びn個の平文miを受け、前記公開鍵pk、電子署名σ及びn個の平文miを使って、
式(1): e(b1i,g2)=e(mig1,b5i)
式(2): e(b3,g2)=e(Πni=1b1i,X')
を計算し、式(1)と(2)の等式全てが成立するか否かをi=1,…,nについて判定し、成立する場合には受理し、成立しない場合には拒否する判定部を有することを特徴とする電子署名検証システム。
【請求項3】
電子署名装置と、検証装置からなる電子署名検証システムにおいて、
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、公開パラメータをv=(q,G1,G2,GT,e)とし、
前記電子署名装置は、G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する生成元選択部と、
Zqに属する乱数r、x及び1以上のn個の乱数yi、但し、i=1,…,n、を生成する乱数生成部と、
前記x、yi、g1及びg2が入力され、X'=g2x、Y'i=g2yi、Yi=g1yiを計算し、公開鍵pk=(v,g1,g2,X',Y'i,Yi)を生成する公開鍵生成部と、
前記g1、g2、r、x、yi及びn個の平文miが入力され、
b1i=miryiYir、
b3=(Πni=1miyi)rx(Πni=1Yi)rx、
b5i=g2ryi
を計算し、電子署名σ=(b1i,b3,b5i)を生成する電子署名生成部と、を有し、
前記検証装置は、前記電子署名装置から前記電子署名σ及びn個の平文miを受け、前記公開鍵pk、電子署名σ及びn個の平文miを使って
式(1): e(b1i,g2)=e(mig1,b5i)
式(2): e(b3,g2)=e(Πni=1b1i,X')
を計算し、式(1), (2)の等式全てがi=1,…,nについて成立するか否かを判定し、成立する場合には受理し、成立しない場合には拒否する判定部を有することを特徴とする電子署名検証システム。
【請求項4】
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、公開パラメータをv=(q,G1,G2,GT,e)とし、
G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する生成元選択部と、
Zqに属する乱数r、x及びyを生成する乱数生成部と、
前記x、y、g1及びg2が入力され、X'=g2x、Y'=g2y、Y=g1yを計算し、公開鍵pk=(v,g1,g2,X',Y',Y)を生成する公開鍵生成部と、
前記g1、g2、r、x、y及び平文mが入力され、
b1=mryYr、
b3=mrxyYrx、
b5=g2ry
を計算し、電子署名σ=(b1,b3,b5)を生成する電子署名生成部と、
を有し、前記電子署名σ及び平文mを検証装置へ送ることを特徴とする電子署名装置。
【請求項5】
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、公開パラメータをv=(q,G1,G2,GT,e)とし、
G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する生成元選択部と、
Zqに属する1以上のn個の乱数ri、但し、i=1,…,n、及び乱数xとyを生成する乱数生成部と、
前記x、y、g1及びg2が入力され、X'=g2x、Y'=g2y、Y=g1yを計算し、公開鍵pk=(v、g1、g2、X',Y',Y)を生成する公開鍵生成部と、
前記g1、g2、ri、x、y及びn個の平文miが入力され、
b1i=miriyYri、
b3=(Πni=1miri)xy(Πni=1Yri)x、
b5i=g2riy
を計算し、電子署名σ=(b1i,b3,b5i)を生成する電子署名生成部と、
を有し、電子署名σ及びn個の平文miを検証装置へ送ることを特徴とする電子署名装置。
【請求項6】
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、公開パラメータをv=(q,G1,G2,GT,e)とし、
G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する生成元選択部と、
Zqに属する乱数r、xと1以上のn個の乱数yi、但しi=1,…,n、を生成する乱数生成部と、
前記x、y、g1及びg2が入力され、X'=g2x、Yi'=g2yi、Yi=g1yiを計算し、公開鍵pk=(v、g1、g2、X',Yi',Yi)を生成する公開鍵生成部と、
前記g1、g2、r、x、n個のyi及びn個の平文miが入力され、
b1i=miryiYir、
b3=(Πni=1miyi)rx(Πni=1Yi)rx、
b5i=g2ryi
を計算し、電子署名σ=(b1i,b3,b5i)を生成する電子署名生成部と、
を有し、電子署名σ及びn個の平文miを検証装置へ送ることを特徴とする電子署名装置。
【請求項7】
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、g1及びg2、をそれぞれG,Gの生成元とし、公開パラメータvをv=(q,G1,G2,GT,e)とし、公開鍵pkをpk=(v,g1,g2,X',Y',Y)とし、X'=g2x、Y'=g2y、Y=g1yとし、x、yをZqに属する乱数とし、
電子署名装置から電子署名σ=(b1,b3,b5)及び平文mを受け、公開鍵pk、電子署名σ及び平文mを使って、
(1) e(b1,g2)=e(mg1,b5)
(2) e(b3,g2)=e(b1,X')
を計算し、式(1), (2)の等式全てが成立するか否かを判定し、成立する場合には受理し、成立しない場合には拒否する判定部を有することを特徴とする検証装置。
【請求項8】
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、g1及びg2、をそれぞれG,Gの生成元とし、公開パラメータvをv=(q,G1,G2,GT,e)とし、公開鍵pkをpk=(v,g1,g2,X',Y',Y)とし、X'=g2x、Y'=g2y、Y=g1yとし、x、yをZqに属する乱数とし、
電子署名装置から電子署名σ=(b1i,b3,b5i)及び1以上のn個の平文mi、但し、i=1,…,n、を受け、公開鍵pk、電子署名σ及びn個の平文miを使って、
(1) e(b1i,g2)=e(mig1,b5i)
(2) e(b3,g2)=e(Πni=1b1i,X')
を計算し、式(1), (2)の等式全てがi=1,…,nについて成立するか否かを判定し、成立する場合には受理し、成立しない場合には拒否する判定部を有することを特徴とする検証装置。
【請求項9】
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、g1及びg2、をそれぞれG,Gの生成元とし、公開パラメータvをv=(q,G1,G2,GT,e)とし、公開鍵pkをpk=(v,g1,g2,X',Yi',Yi)とし、X'=g2x、Yi'=g2yi、Yi=g1yiとし、x、yiをZqに属する乱数とし、
電子署名装置から電子署名σ=(b1i,b3,b5i)及び1以上のn個の平文miを受け、公開鍵pk、電子署名σ及びn個の平文miを使って、
(1) e(b1i,g2)=e(mig1,b5i)
(2) e(b3,g2)=e(Πni=1b1i,X')
を計算し、式(1), (2)の等式全てがi=1,…,nについて成立するか否かを判定し、成立する場合には受理し、成立しない場合には拒否する判定部を有することを特徴とする検証装置。
【請求項10】
電子署名装置と、検証装置を用いる電子署名検証方法であって、
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、公開パラメータをv=(q,G1,G2,GT,e)として、 前記電子署名装置が、G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する生成元選択ステップと、
前記電子署名装置が、Zqに属する乱数r、x及びyを生成する乱数生成ステップと、
前記電子署名装置が、前記x、y、g1及びg2を用いて、X'=g2x、Y'=g2y、及びY=g1yを計算し、公開鍵pk=(v、g1、g2、X',Y',Y)を生成して公開するステップと、
前記電子署名装置が、前記g1、g2、ri、x、y及び平文mを用いて、
b1=mryYr、
b3=mryxYrx、
b5=g2ry
を計算し、電子署名σ=(b1,b3,b5)を生成する電子署名生成ステップと、
前記検証装置が、前記公開鍵pkと、前記電子署名装置から受け取った前記電子署名σ及び平文mとを使って
前記検証装置が、
式(1): e(b1,g2)=e(mg1,b5)
式(2): e(b3,g2)=e(b1,X')
を計算し、式(1), (2)の等式全てが成立するか否かを判定し、成立する場合には受理し、成立しない場合には拒否する判定ステップを有する、
ことを特徴とする電子署名検証方法。
【請求項11】
電子署名装置と、検証装置を用いる電子署名検証方法であって、
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、公開パラメータをv=(q,G1,G2,GT,e)として、 前記電子署名装置が、G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する生成元選択ステップと、
前記電子署名装置が、Zqに属する1以上のn個の乱数ri、但し、i=1,…,nであり、x及びyを生成する乱数生成ステップと、
前記電子署名装置が、前記x、y、g1及びg2を用いて、X'=g2x、Y'=g2y、及びY=g1yを計算し、公開鍵pk=(v、g1、g2、X',Y',Y)を生成して公開するステップと、
前記電子署名装置が、前記g1、g2、n個のri、x、y及びn個の平文miを用いて、
b1i=miriyYri、
b3=(Πni=1miri)yx(Πni=1Yri)x、
b5i=g2riy
を計算し、電子署名σ=(b1i,b3,b5i)を生成する電子署名生成ステップと、
前記検証装置が、前記公開鍵pkと、前記電子署名装置から受け取った前記電子署名σ及びn個の平文miとを使って
前記検証装置が、
式(1): e(b1i,g2)=e(mig1,b5i)
式(2): e(b3,g2)=e(Πni=1b1i,X')
を計算し、式(1), (2)の等式全てがi=1,…,nについて成立するか否かを判定し、成立する場合には受理し、成立しない場合には拒否する判定ステップを有する、
ことを特徴とする電子署名検証方法。
【請求項12】
電子署名装置と、検証装置を用いる電子署名検証方法であって、
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、公開パラメータをv=(q,G1,G2,GT,e)として、 前記電子署名装置が、G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する生成元選択ステップと、
前記電子署名装置が、Zqに属する乱数r、x及び1以上のn個の乱数yi、但し、i=1,…,n、を生成する乱数生成ステップと、
前記電子署名装置が、前記x、yi、g1及びg2を用いて、X'=g2x、Yi'=g2yi、及びYi=g1yiを計算し、公開鍵pk=(v、g1、g2、X',Yi',Yi)を生成して公開するステップと、
前記電子署名装置が、前記g1、g2、r、x、n個のyi及びn個の平文miを用いて、
b1i=miryiYr、
b3=(Πni=1miyi)rx(Πni=1Yi)rx、
b5i=g2ryi
を計算し、電子署名σ=(b1i,b3,b5i)を生成する電子署名生成ステップと、
前記検証装置が、前記公開鍵pkと、前記電子署名装置から受け取った前記電子署名σ及びn個の平文miとを使って
前記検証装置が、
式(1): e(b1i,g2)=e(mig1,b5i)
式(2): e(b3,g2)=e(Πni=1b1i,X')
を計算し、式(1), (2)の等式全てがi=1,…,nについて成立するか否かを判定し、成立する場合には受理し、成立しない場合には拒否する判定ステップを有する、
ことを特徴とする電子署名検証方法。
【請求項13】
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、公開パラメータをv=(q,G1,G2,GT,e)として、 前記電子署名装置が、G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する生成元選択ステップと、
前記電子署名装置が、Zqに属する乱数r、x及びyを生成する乱数生成ステップと、
前記電子署名装置が、前記x、y、g1及びg2を用いて、X'=g2x、Y'=g2y,、Y=g1yを計算し、公開鍵pk=(v、g1,g2,X',Y',Y)を生成する公開鍵生成ステップと、
前記電子署名装置が、前記g1、g2、ri、x、y及び平文mを用いて、
b1=mryYr、
b3=mryxYrx、
b5=g2ry
を計算し、電子署名σ=(b1,b3,b5)を生成する電子署名生成ステップと、
を有する電子署名方法。
【請求項14】
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、公開パラメータをv=(q,G1,G2,GT,e)として、 前記電子署名装置が、G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する生成元選択ステップと、
前記電子署名装置が、Zqに属する1以上のn個の乱数ri、但し、i=1,…,n、と乱数x及びyを生成する乱数生成ステップと、
前記電子署名装置が、前記x、y、g1及びg2を用いて、X'=g2x、Y'=g2y,、Y=g1yを計算し、公開鍵pk=(v、g1,g2,X',Y',Y)を生成する公開鍵生成ステップと、
前記電子署名装置が、前記g1、g2、ri、x、y及びn個の平文miを用いて、
b1i=miriyYri、
b3=(Πni=1miri)yx(Πni=1Yri)x、
b5i=g2riy
を計算し、電子署名σ=(b1i,b3,b5i)を生成する電子署名生成ステップと、
を有する電子署名方法。
【請求項15】
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、公開パラメータをv=(q,G1,G2,GT,e)として、 前記電子署名装置が、G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する生成元選択ステップと、
前記電子署名装置が、Zqに属する乱数r、x及び1以上のn個の乱数yi、但し、i=1,…,n、を生成する乱数生成ステップと、
前記電子署名装置が、前記x、yi、g1及びg2を用いて、X'=g2x、Yi'=g2yi,、Yi=g1yiを計算し、公開鍵pk=(v、g1,g2,X',Yi',Yi)を生成する公開鍵生成ステップと、
前記電子署名装置が、前記g1、g2、r、x、n個のyi及びn個の平文miを用いて、
b1i=miryiYir、
b3=(Πni=1miyi)rx(Πni=1Yi)rx、
b5i=g2ryi
を計算し、電子署名σ=(b1i,b3,b5i)を生成する電子署名生成ステップと、
を有する電子署名方法。
【請求項16】
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、g1及びg2、をそれぞれG,Gの生成元とし、公開パラメータvをv=(q,G1,G2,GT,e)とし、公開鍵pkをpk=(v,g1,g2,X',Y',Y)とし、X'=g2x、Y'=g2y、Y=g1yとし、x、yをZqに属する乱数とし、
電子署名装置から電子署名σ=(b1,b3,b5)及び平文mを受け、公開鍵pk、電子署名σ及び平文mを使って、
(1) e(b1,g2)=e(mg1,b5)
(2) e(b3,g2)=e(b1,X')
を計算し、式(1), (2)の等式全てが成立するか否かを判定し、成立する場合には受理し、成立しない場合には拒否する判定ステップを有する検証方法。
【請求項17】
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、g1及びg2、をそれぞれG,Gの生成元とし、公開パラメータvをv=(q,G1,G2,GT,e)とし、公開鍵pkをpk=(v,g1,g2,X',Y',Y)とし、X'=g2x、Y'=g2y、Y=g1yとし、x、yをZqに属する乱数とし、
電子署名装置から電子署名σ=(b1i,b3,b5i)及びn個の平文miを受け、公開鍵pk、電子署名σ及び1以上のn個の平文mi、但し、i=1,…,n、を使って、
(1) e(b1i,g2)=e(mig1,b5i)
(2) e(b3,g2)=e(Πni=1b1i,X')
を計算し、式(1), (2)の等式全てがi=1,…,nについて成立するか否かを判定し、成立する場合には受理し、成立しない場合には拒否する判定ステップと、
を有する検証方法。
【請求項18】
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、g1及びg2、をそれぞれG,Gの生成元とし、公開パラメータvをv=(q,G1,G2,GT,e)とし、公開鍵pkをpk=(v,g1,g2,X',Yi',Yi)とし、X'=g2x、Yi'=g2yi、Yi=g1yiとし、x及びn個のyiをZqに属する乱数とし、
電子署名装置から電子署名σ=(b1i,b3,b5i)及び1以上のn個の平文miを受け、公開鍵pk、電子署名σ及び1以上のn個の平文mi、但し、i=1,…,n、を使って、
(1) e(b1i,g2)=e(mig1,b5i)
(2) e(b3,g2)=e(Πni=1b1i,X')
を計算し、式(1), (2)の等式全てがi=1,…,nについて成立するか否かを判定し、成立する場合には受理し、成立しない場合には拒否する判定ステップと、
を有する検証方法。
【請求項19】
請求項4,5又は6のいずれか記載の電子署名装置としてコンピュータを機能させるための電子署名プログラム。
【請求項20】
請求項7,8又は9のいずれか記載の検証装置としてコンピュータを機能させるための検証プログラム。
【請求項1】
電子署名装置と、検証装置とを含む電子署名検証システムにおいて、
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、公開パラメータをv=(q,G1,G2,GT,e)とし、
前記電子署名装置は、G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する生成元選択部と、
Zqに属する乱数r、x及びyを生成する乱数生成部と、
前記x、y、g1及びg2が入力され、X'=g2x、Y'=g2y、Y=g1yを計算し、公開鍵pkをpk=(v,g1,g2,X',Y',Y)として生成する公開鍵生成部と、
前記g1、g2、r、x、y及び平文mが入力され、
b1=mryYr、
b3=mrxyYrx、
b5=g2ry
を計算し、電子署名σ=(b1,b3,b5)を生成する電子署名生成部と、を有し、
前記検証装置は、前記電子署名装置から前記電子署名σ及び平文mを受け、前記公開鍵pk、電子署名σ及び平文mを使って、
式(1): e(b1,g2)=e(mg1,b5)
式(2): e(b3,g2)=e(b1,X')
を計算し、式(1)と(2)の等式全てが成立するか否かを判定し、成立する場合には受理し、成立しない場合には拒否する判定部を有することを特徴とする電子署名検証システム。
【請求項2】
電子署名装置と、検証装置とを含む電子署名検証システムにおいて、
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、公開パラメータをv=(q,G1,G2,GT,e)とし、
前記電子署名装置は、G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する生成元選択部と、
Zqに属する1以上のn個の乱数ri, 但し、i=1,…, n、と乱数x及びyを生成する乱数生成部と、
前記x、y、g1及びg2が入力され、X'=g2x、Y'=g2y、Y=g1yを計算し、公開鍵pk=(v,g1,g2,X',Y',Y)を生成する公開鍵生成部と、
前記g1、g2、n個のri、x、y及びn個の平文miが入力され、i=1,…,nについて
b1i=miriyYri、
b3=(Πni=1miri)xy(Πni=1Yri)x、
b5i=g2riy
を計算し、電子署名σ=(b1i,b3,b5i)を生成する電子署名生成部と、を有し、
前記検証装置は、前記電子署名装置から前記電子署名σ及びn個の平文miを受け、前記公開鍵pk、電子署名σ及びn個の平文miを使って、
式(1): e(b1i,g2)=e(mig1,b5i)
式(2): e(b3,g2)=e(Πni=1b1i,X')
を計算し、式(1)と(2)の等式全てが成立するか否かをi=1,…,nについて判定し、成立する場合には受理し、成立しない場合には拒否する判定部を有することを特徴とする電子署名検証システム。
【請求項3】
電子署名装置と、検証装置からなる電子署名検証システムにおいて、
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、公開パラメータをv=(q,G1,G2,GT,e)とし、
前記電子署名装置は、G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する生成元選択部と、
Zqに属する乱数r、x及び1以上のn個の乱数yi、但し、i=1,…,n、を生成する乱数生成部と、
前記x、yi、g1及びg2が入力され、X'=g2x、Y'i=g2yi、Yi=g1yiを計算し、公開鍵pk=(v,g1,g2,X',Y'i,Yi)を生成する公開鍵生成部と、
前記g1、g2、r、x、yi及びn個の平文miが入力され、
b1i=miryiYir、
b3=(Πni=1miyi)rx(Πni=1Yi)rx、
b5i=g2ryi
を計算し、電子署名σ=(b1i,b3,b5i)を生成する電子署名生成部と、を有し、
前記検証装置は、前記電子署名装置から前記電子署名σ及びn個の平文miを受け、前記公開鍵pk、電子署名σ及びn個の平文miを使って
式(1): e(b1i,g2)=e(mig1,b5i)
式(2): e(b3,g2)=e(Πni=1b1i,X')
を計算し、式(1), (2)の等式全てがi=1,…,nについて成立するか否かを判定し、成立する場合には受理し、成立しない場合には拒否する判定部を有することを特徴とする電子署名検証システム。
【請求項4】
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、公開パラメータをv=(q,G1,G2,GT,e)とし、
G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する生成元選択部と、
Zqに属する乱数r、x及びyを生成する乱数生成部と、
前記x、y、g1及びg2が入力され、X'=g2x、Y'=g2y、Y=g1yを計算し、公開鍵pk=(v,g1,g2,X',Y',Y)を生成する公開鍵生成部と、
前記g1、g2、r、x、y及び平文mが入力され、
b1=mryYr、
b3=mrxyYrx、
b5=g2ry
を計算し、電子署名σ=(b1,b3,b5)を生成する電子署名生成部と、
を有し、前記電子署名σ及び平文mを検証装置へ送ることを特徴とする電子署名装置。
【請求項5】
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、公開パラメータをv=(q,G1,G2,GT,e)とし、
G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する生成元選択部と、
Zqに属する1以上のn個の乱数ri、但し、i=1,…,n、及び乱数xとyを生成する乱数生成部と、
前記x、y、g1及びg2が入力され、X'=g2x、Y'=g2y、Y=g1yを計算し、公開鍵pk=(v、g1、g2、X',Y',Y)を生成する公開鍵生成部と、
前記g1、g2、ri、x、y及びn個の平文miが入力され、
b1i=miriyYri、
b3=(Πni=1miri)xy(Πni=1Yri)x、
b5i=g2riy
を計算し、電子署名σ=(b1i,b3,b5i)を生成する電子署名生成部と、
を有し、電子署名σ及びn個の平文miを検証装置へ送ることを特徴とする電子署名装置。
【請求項6】
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、公開パラメータをv=(q,G1,G2,GT,e)とし、
G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する生成元選択部と、
Zqに属する乱数r、xと1以上のn個の乱数yi、但しi=1,…,n、を生成する乱数生成部と、
前記x、y、g1及びg2が入力され、X'=g2x、Yi'=g2yi、Yi=g1yiを計算し、公開鍵pk=(v、g1、g2、X',Yi',Yi)を生成する公開鍵生成部と、
前記g1、g2、r、x、n個のyi及びn個の平文miが入力され、
b1i=miryiYir、
b3=(Πni=1miyi)rx(Πni=1Yi)rx、
b5i=g2ryi
を計算し、電子署名σ=(b1i,b3,b5i)を生成する電子署名生成部と、
を有し、電子署名σ及びn個の平文miを検証装置へ送ることを特徴とする電子署名装置。
【請求項7】
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、g1及びg2、をそれぞれG,Gの生成元とし、公開パラメータvをv=(q,G1,G2,GT,e)とし、公開鍵pkをpk=(v,g1,g2,X',Y',Y)とし、X'=g2x、Y'=g2y、Y=g1yとし、x、yをZqに属する乱数とし、
電子署名装置から電子署名σ=(b1,b3,b5)及び平文mを受け、公開鍵pk、電子署名σ及び平文mを使って、
(1) e(b1,g2)=e(mg1,b5)
(2) e(b3,g2)=e(b1,X')
を計算し、式(1), (2)の等式全てが成立するか否かを判定し、成立する場合には受理し、成立しない場合には拒否する判定部を有することを特徴とする検証装置。
【請求項8】
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、g1及びg2、をそれぞれG,Gの生成元とし、公開パラメータvをv=(q,G1,G2,GT,e)とし、公開鍵pkをpk=(v,g1,g2,X',Y',Y)とし、X'=g2x、Y'=g2y、Y=g1yとし、x、yをZqに属する乱数とし、
電子署名装置から電子署名σ=(b1i,b3,b5i)及び1以上のn個の平文mi、但し、i=1,…,n、を受け、公開鍵pk、電子署名σ及びn個の平文miを使って、
(1) e(b1i,g2)=e(mig1,b5i)
(2) e(b3,g2)=e(Πni=1b1i,X')
を計算し、式(1), (2)の等式全てがi=1,…,nについて成立するか否かを判定し、成立する場合には受理し、成立しない場合には拒否する判定部を有することを特徴とする検証装置。
【請求項9】
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、g1及びg2、をそれぞれG,Gの生成元とし、公開パラメータvをv=(q,G1,G2,GT,e)とし、公開鍵pkをpk=(v,g1,g2,X',Yi',Yi)とし、X'=g2x、Yi'=g2yi、Yi=g1yiとし、x、yiをZqに属する乱数とし、
電子署名装置から電子署名σ=(b1i,b3,b5i)及び1以上のn個の平文miを受け、公開鍵pk、電子署名σ及びn個の平文miを使って、
(1) e(b1i,g2)=e(mig1,b5i)
(2) e(b3,g2)=e(Πni=1b1i,X')
を計算し、式(1), (2)の等式全てがi=1,…,nについて成立するか否かを判定し、成立する場合には受理し、成立しない場合には拒否する判定部を有することを特徴とする検証装置。
【請求項10】
電子署名装置と、検証装置を用いる電子署名検証方法であって、
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、公開パラメータをv=(q,G1,G2,GT,e)として、 前記電子署名装置が、G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する生成元選択ステップと、
前記電子署名装置が、Zqに属する乱数r、x及びyを生成する乱数生成ステップと、
前記電子署名装置が、前記x、y、g1及びg2を用いて、X'=g2x、Y'=g2y、及びY=g1yを計算し、公開鍵pk=(v、g1、g2、X',Y',Y)を生成して公開するステップと、
前記電子署名装置が、前記g1、g2、ri、x、y及び平文mを用いて、
b1=mryYr、
b3=mryxYrx、
b5=g2ry
を計算し、電子署名σ=(b1,b3,b5)を生成する電子署名生成ステップと、
前記検証装置が、前記公開鍵pkと、前記電子署名装置から受け取った前記電子署名σ及び平文mとを使って
前記検証装置が、
式(1): e(b1,g2)=e(mg1,b5)
式(2): e(b3,g2)=e(b1,X')
を計算し、式(1), (2)の等式全てが成立するか否かを判定し、成立する場合には受理し、成立しない場合には拒否する判定ステップを有する、
ことを特徴とする電子署名検証方法。
【請求項11】
電子署名装置と、検証装置を用いる電子署名検証方法であって、
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、公開パラメータをv=(q,G1,G2,GT,e)として、 前記電子署名装置が、G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する生成元選択ステップと、
前記電子署名装置が、Zqに属する1以上のn個の乱数ri、但し、i=1,…,nであり、x及びyを生成する乱数生成ステップと、
前記電子署名装置が、前記x、y、g1及びg2を用いて、X'=g2x、Y'=g2y、及びY=g1yを計算し、公開鍵pk=(v、g1、g2、X',Y',Y)を生成して公開するステップと、
前記電子署名装置が、前記g1、g2、n個のri、x、y及びn個の平文miを用いて、
b1i=miriyYri、
b3=(Πni=1miri)yx(Πni=1Yri)x、
b5i=g2riy
を計算し、電子署名σ=(b1i,b3,b5i)を生成する電子署名生成ステップと、
前記検証装置が、前記公開鍵pkと、前記電子署名装置から受け取った前記電子署名σ及びn個の平文miとを使って
前記検証装置が、
式(1): e(b1i,g2)=e(mig1,b5i)
式(2): e(b3,g2)=e(Πni=1b1i,X')
を計算し、式(1), (2)の等式全てがi=1,…,nについて成立するか否かを判定し、成立する場合には受理し、成立しない場合には拒否する判定ステップを有する、
ことを特徴とする電子署名検証方法。
【請求項12】
電子署名装置と、検証装置を用いる電子署名検証方法であって、
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、公開パラメータをv=(q,G1,G2,GT,e)として、 前記電子署名装置が、G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する生成元選択ステップと、
前記電子署名装置が、Zqに属する乱数r、x及び1以上のn個の乱数yi、但し、i=1,…,n、を生成する乱数生成ステップと、
前記電子署名装置が、前記x、yi、g1及びg2を用いて、X'=g2x、Yi'=g2yi、及びYi=g1yiを計算し、公開鍵pk=(v、g1、g2、X',Yi',Yi)を生成して公開するステップと、
前記電子署名装置が、前記g1、g2、r、x、n個のyi及びn個の平文miを用いて、
b1i=miryiYr、
b3=(Πni=1miyi)rx(Πni=1Yi)rx、
b5i=g2ryi
を計算し、電子署名σ=(b1i,b3,b5i)を生成する電子署名生成ステップと、
前記検証装置が、前記公開鍵pkと、前記電子署名装置から受け取った前記電子署名σ及びn個の平文miとを使って
前記検証装置が、
式(1): e(b1i,g2)=e(mig1,b5i)
式(2): e(b3,g2)=e(Πni=1b1i,X')
を計算し、式(1), (2)の等式全てがi=1,…,nについて成立するか否かを判定し、成立する場合には受理し、成立しない場合には拒否する判定ステップを有する、
ことを特徴とする電子署名検証方法。
【請求項13】
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、公開パラメータをv=(q,G1,G2,GT,e)として、 前記電子署名装置が、G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する生成元選択ステップと、
前記電子署名装置が、Zqに属する乱数r、x及びyを生成する乱数生成ステップと、
前記電子署名装置が、前記x、y、g1及びg2を用いて、X'=g2x、Y'=g2y,、Y=g1yを計算し、公開鍵pk=(v、g1,g2,X',Y',Y)を生成する公開鍵生成ステップと、
前記電子署名装置が、前記g1、g2、ri、x、y及び平文mを用いて、
b1=mryYr、
b3=mryxYrx、
b5=g2ry
を計算し、電子署名σ=(b1,b3,b5)を生成する電子署名生成ステップと、
を有する電子署名方法。
【請求項14】
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、公開パラメータをv=(q,G1,G2,GT,e)として、 前記電子署名装置が、G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する生成元選択ステップと、
前記電子署名装置が、Zqに属する1以上のn個の乱数ri、但し、i=1,…,n、と乱数x及びyを生成する乱数生成ステップと、
前記電子署名装置が、前記x、y、g1及びg2を用いて、X'=g2x、Y'=g2y,、Y=g1yを計算し、公開鍵pk=(v、g1,g2,X',Y',Y)を生成する公開鍵生成ステップと、
前記電子署名装置が、前記g1、g2、ri、x、y及びn個の平文miを用いて、
b1i=miriyYri、
b3=(Πni=1miri)yx(Πni=1Yri)x、
b5i=g2riy
を計算し、電子署名σ=(b1i,b3,b5i)を生成する電子署名生成ステップと、
を有する電子署名方法。
【請求項15】
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、公開パラメータをv=(q,G1,G2,GT,e)として、 前記電子署名装置が、G1及びG2からそれぞれ生成元g1及びg2を無作為に選択する生成元選択ステップと、
前記電子署名装置が、Zqに属する乱数r、x及び1以上のn個の乱数yi、但し、i=1,…,n、を生成する乱数生成ステップと、
前記電子署名装置が、前記x、yi、g1及びg2を用いて、X'=g2x、Yi'=g2yi,、Yi=g1yiを計算し、公開鍵pk=(v、g1,g2,X',Yi',Yi)を生成する公開鍵生成ステップと、
前記電子署名装置が、前記g1、g2、r、x、n個のyi及びn個の平文miを用いて、
b1i=miryiYir、
b3=(Πni=1miyi)rx(Πni=1Yi)rx、
b5i=g2ryi
を計算し、電子署名σ=(b1i,b3,b5i)を生成する電子署名生成ステップと、
を有する電子署名方法。
【請求項16】
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、g1及びg2、をそれぞれG,Gの生成元とし、公開パラメータvをv=(q,G1,G2,GT,e)とし、公開鍵pkをpk=(v,g1,g2,X',Y',Y)とし、X'=g2x、Y'=g2y、Y=g1yとし、x、yをZqに属する乱数とし、
電子署名装置から電子署名σ=(b1,b3,b5)及び平文mを受け、公開鍵pk、電子署名σ及び平文mを使って、
(1) e(b1,g2)=e(mg1,b5)
(2) e(b3,g2)=e(b1,X')
を計算し、式(1), (2)の等式全てが成立するか否かを判定し、成立する場合には受理し、成立しない場合には拒否する判定ステップを有する検証方法。
【請求項17】
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、g1及びg2、をそれぞれG,Gの生成元とし、公開パラメータvをv=(q,G1,G2,GT,e)とし、公開鍵pkをpk=(v,g1,g2,X',Y',Y)とし、X'=g2x、Y'=g2y、Y=g1yとし、x、yをZqに属する乱数とし、
電子署名装置から電子署名σ=(b1i,b3,b5i)及びn個の平文miを受け、公開鍵pk、電子署名σ及び1以上のn個の平文mi、但し、i=1,…,n、を使って、
(1) e(b1i,g2)=e(mig1,b5i)
(2) e(b3,g2)=e(Πni=1b1i,X')
を計算し、式(1), (2)の等式全てがi=1,…,nについて成立するか否かを判定し、成立する場合には受理し、成立しない場合には拒否する判定ステップと、
を有する検証方法。
【請求項18】
qを素数とし、G1、G2、GTを位数qの群とし、eをバイリニアマップe:G1×G2→GTとし、g1及びg2、をそれぞれG,Gの生成元とし、公開パラメータvをv=(q,G1,G2,GT,e)とし、公開鍵pkをpk=(v,g1,g2,X',Yi',Yi)とし、X'=g2x、Yi'=g2yi、Yi=g1yiとし、x及びn個のyiをZqに属する乱数とし、
電子署名装置から電子署名σ=(b1i,b3,b5i)及び1以上のn個の平文miを受け、公開鍵pk、電子署名σ及び1以上のn個の平文mi、但し、i=1,…,n、を使って、
(1) e(b1i,g2)=e(mig1,b5i)
(2) e(b3,g2)=e(Πni=1b1i,X')
を計算し、式(1), (2)の等式全てがi=1,…,nについて成立するか否かを判定し、成立する場合には受理し、成立しない場合には拒否する判定ステップと、
を有する検証方法。
【請求項19】
請求項4,5又は6のいずれか記載の電子署名装置としてコンピュータを機能させるための電子署名プログラム。
【請求項20】
請求項7,8又は9のいずれか記載の検証装置としてコンピュータを機能させるための検証プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2010−186003(P2010−186003A)
【公開日】平成22年8月26日(2010.8.26)
【国際特許分類】
【出願番号】特願2009−29429(P2009−29429)
【出願日】平成21年2月12日(2009.2.12)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
【公開日】平成22年8月26日(2010.8.26)
【国際特許分類】
【出願日】平成21年2月12日(2009.2.12)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
[ Back to top ]