JP3859983B2 - ブラインド署名方法、その装置、そのプログラム及びその記録媒体 - Google Patents
ブラインド署名方法、その装置、そのプログラム及びその記録媒体 Download PDFInfo
- Publication number
- JP3859983B2 JP3859983B2 JP2001131859A JP2001131859A JP3859983B2 JP 3859983 B2 JP3859983 B2 JP 3859983B2 JP 2001131859 A JP2001131859 A JP 2001131859A JP 2001131859 A JP2001131859 A JP 2001131859A JP 3859983 B2 JP3859983 B2 JP 3859983B2
- Authority
- JP
- Japan
- Prior art keywords
- signature
- public key
- disturbed
- signer
- signer device
- 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
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
【発明の属する技術分野】
この発明は電子情報に対する電子的署名を、署名者にその電子情報を秘密にしたまま付けてもらうブラインド署名方法、その装置、そのプログラム、及びその記録媒体に関する。
【0002】
【従来の技術】
この種のブラインド署名は、RSA法に基づいた方式が文献D.Chaum,“Security without Identification:Transaction Systems to Make Big Brother Obsolete,”Comm.of the ACM,28,10,pp.1030-1044(1985)で示されている。
署名の要求者は、ブラインド署名前処理によって文書mを乱数aで撹乱してブラインドメッセージeを作成する。署名者は、秘密鍵を用いてeに対応する仮の署名sを計算する。このとき、eはaによって撹乱されているため、署名者は文書mを知ることはできない。署名要求者は、ブラインド署名後処理によって、仮の署名sから乱数aの影響を除去して、本来の文書mに対する署名cを求め、mとcの対を検証者に送信する。検証者は、署名者の公開鍵を用いてcがmの署名であることを確認する。ここで、検証者は、乱数aを知らないため、sとcの対応関係を知ることはできない。
【0003】
Schnorr署名に基づくブラインド署名の手順を以下に示す。p,qを大きな素数とし、qはp−1を割り切るものとする。gを、Zp の位数qの元とする。署名者は秘密鍵xおよびy=gx mod pを満たす公開鍵yを保持する。Hをハッシュ関数とする。p,q,g,Hおよびyは公開されているものとする(以下図9参照)。
Step−1 署名者は乱数k∈Zp を生成し、r:=gk mod qを計算してrを署名要求者へ送信する。
【0004】
Step−2 署名要求者は乱数a,b を生成し、rをd:=rga yb modpと撹乱する。次に、dと文書mを用いてチャレンジhをh:=H(m,d)のように計算し、このチャレンジをC=h−bmod qのようにbで撹乱する。最後に、Cを署名者へ送信する。
Step−3 署名者はs=k−xCmod qを計算し、仮り署名sを署名要求者へ送信する。
Step−4 署名要求者はc:=s+amod qとsを検証可能なようにaで撹乱し(h,c)を文書mに対する署名として出力する。
【0005】
文書mに対する署名(h,c)は、h=H(m,gc yh mod p)が成り立つとき、正しい文書−署名対として認められ、成り立たないならば、不正な署名であると見なされる。
署名生成手順が正しく実行された場合、出力される(h,c)は、
となり、検証式h=H(m,gc yh mod p)を満たす。
【0006】
【発明が解決しようとする課題】
前述のブラインド署名方法では、署名(h,c)が文書mに対する唯一のものであることを証明することは困難であるため、署名としての安全性が不明である。すなわち、署名要求者が要求した個数以上の署名を出力する事ができてしまう可能性を否定できない。そのため、署名者が発行した署名の水増しが不可能なことが求められるような応用、たとえば、電子現金や、電子チケットなどに安心して利用することはできない。
【0007】
この発明の目的は、署名要求者が要求した個数以上の署名を出力する事ができないことを確実にするブラインド署名方法、その装置、そのプログラム及びその記録媒体を提供することにある。
【0008】
【課題を解決するための手段】
この発明によれば、署名者装置は署名時に複数の公開鍵の一部zから一時的な公開鍵z′を生成する。このとき、z,z′はある関係Rを満たすが、署名者がその関係を知らないという事実を署名要求者が納得できる方法でz′を生成する。署名者装置はこのz,z′に基づいて署名sを生成する。
署名要求者装置はz,z′およびsを撹乱してこれをU,U′,σとし、撹乱された公開鍵の一部Uに基づく署名σを得る。このとき、署名要求者装置による撹乱の方法は、z,z′を正しく撹乱した場合はz,z′が満たす関係RがU,U′によっても満たされるような方法であり、署名要求者装置が正しい撹乱の方法に従わない場合は、検証者が正しいと見なすようなU,U′,σを得ることが困難であるようにする。
【0009】
上記のように署名要求者装置による撹乱方法を制限することによって、署名者装置が発行した署名sと、撹乱後の署名σが関係づけられるようになる。同時に、署名者装置が本来の撹乱方法以外の方法によって、無関係な署名を得ることが困難であるような撹乱方法を用いることによって、署名者装置が発行したすべての署名と、署名要求者装置が得たすべての正しい署名の間に一対一対応があることが保証できるようになる。
【0010】
【発明の実施の形態】
図1に示すように署名要求者装置10、署名者装置20及び検証者装置30は、例えば通信網40を介して接続することができるものとする。署名要求者装置10はICカードのようなものであってもよく、その場合は署名者装置20、検証者装置はICカードに対する読み書きが可能なものとする。図2に署名要求者装置10と署名者装置20の各処理と、相互の通信例を示し、図3に署名者装置20における処理手順の例を、図4に署名要求者装置10の処理手順の例をそれぞれ示す。
実施形態1
この実施形態では、Schnorr署名に基づく方式を説明する。p,qを大きな素数とし、qはp−1を割り切るものとする。gを、Zp の位数qの元とする。gが生成するZp の部分群をGと表すものとする。署名者装置は秘密鍵xおよびy=gx mod pを満たす公開鍵yを保持する。H,H1 ,H2 をハッシュ関数とする。H,H1 ,H2 は任意の入力を受付け、Gの要素を出力するハッシュ関数とする。hをh=H(g‖p‖q‖y)とする。z=H1(g‖p‖q‖h‖y)とする。p,q,g,h,H,H1 ,H2 およびy,zは公開鍵として公開されているものとする。以下の説明において、特に断りのない限り、演算はすべてmod pで行うものとする。
【0011】
まず、署名者装置20の処理手順について説明する(図2、図3参照)。署名要求者装置10から署名要求があった場合(A0)、署名者装置は以下の手順に従ってブラインド署名を発行する。
A1:任意のその署名の発行に固有情報rndを選ぶ(生成する)。例えば、rndは署名発行ごとに異なるランダムな文字列としても良いし、続き番号でもよい。
A2:z1 :=H1(rnd),z2 :=z/z1 mod pを計算する。このz 1 ,z2 を署名発行ごとの一時的な公開鍵とする。zと一時公開鍵のz1 は共にGの元であるためz=z1 iなる関係が必ず成立つがzとz1 からiを求めることは、いわゆる離散対数問題であって困難である。つまり、zと一時公開鍵z1 はz=z1 iなる関係Rを満すが、署名者はこの関係を知らないということを、署名要求者は納得することができる方法で署名者装置20はz1 を生成している。
【0012】
A3:u,s1 ,s2 ,dを{0,…,q−1}からランダムに選ぶ(生成する)。
A4:a:=gu ,b1 :=gs1z1 d,b2 :=hs2z2 dを計算する。
A5:rnd,a,b1 ,b2 を署名要求者装置10へ送付する。
A6:署名要求者装置10からeを受信する。
A7:c:=e−dmod qを求める。
A8:r:=u−cxmod qを求める。つまり秘密鍵xでブラインド署名する。
【0013】
A9:r,c,s1 ,s2 を仮り署名として署名要求者装置10へ送信する。署名要求者装置10は、署名者装置20に要求を出した後(B0)、以下の手順に従って、文書mに対する署名を得る(図2及び図4参照)。
B1:rnd,a,b1 ,b2 を署名者装置20から受信する。
B2:b1 ,b2 がGの要素であることを確認する。そうでなければ異常終了する(b1 がGの要素であることは、例えばb1 qmod p=1が成り立つことによって確認できる。b2 についても同様)。なお例えばb1 についてみれば、q,g1 ,z1 は共にGの要素であり、従ってgs1,z1 dもそれぞれGの要素となり、かつこれらの積もGの要素となる。
【0014】
B3:z1 :=H1(rnd)を計算する。
B4:vを{1,…,q−1}からランダムに選ぶ(生成する)。
B5:U:=zv ,U1 :=z1 v,U2 :=U/U1 を計算する。つまり一時的公開鍵z,z1 を撹乱する。しかもUとU1 はz=zi なる関係と同一の関係U=U1 iを満すことになる。このような関係が得られるように、z,z1 を撹乱している。
B6:t1 ,t2 ,t3 ,t4 ,t5 を{0,…,q−1}からランダムに選ぶ(生成する)。
【0015】
B7:A:=agt1yt2,B1 :=b1 vgt3U1 t4,B2 :=b2 vht5U2 t4を計算する。つまりa,b1 ,b2 を撹乱し、仮り署名が撹乱される。
B8:wを{0,…,q−1}からランダムに選ぶ(生成する)。
B9:D:=zw を計算する。
B10:E:=H2(U‖U1 ‖A‖B1 ‖B2 ‖D‖m)(チャレンジ)を求める。
B11:e:=E−t2 −t4 mod qを求める。つまりEを撹乱する。
【0016】
B12:署名者装置20へeを送信する。このeに対し、署名者装置20ではステップA7及びA8の処理をしているから、z,z1 ,z2 に基づく仮り署名r,c,s1 ,s2 を生成したことになる。
B13:署名者装置20から仮り署名r,c,s1 ,s2 を受信する。
B14:F:=r+t1 mod q,K:=c+t2 mod q,T1 :=vs1 +t3 mod q,T2 :=vs2 +t5 mod q,L:=e−c+t4 modq,N:=w−Lvmod qを求める。つまり仮り署名を検証可能なように撹乱し、また撹乱された一時的公開鍵Uが本来の公開鍵から生成されたものであることを証明する。証明書L,Nを生成する。前記撹乱は、検証時に指数として用いられるものであるから加算処理より行われる。このようにし、仮り署名s1 ,s2 に対する撹乱を、z,z1 に対する撹乱と同様な関係で行う。
【0017】
B15:K+L=H2(U‖U1 ‖gF yK ‖gT1U1 L‖hT2U2 L‖zN UL ‖m)mod qが成り立つならば、次のステップへ進む。成り立たなければ、異常終了する。つまり署名者装置20が正しく署名したことを検証する。つまりgF yK ,gT1U1 L,hT2U2 Lは署名者装置20が正しく作ったことの確認のためであり、zN UL は署名要求者装置10がUをzから正しく作ったことの確認のためのものである。
B16:このようにU,U1 ,U2 に基づく署名を得て、ステップB14の撹乱処理によりU,U1 ,F,K,T1 ,T2 ,L,Nを文書mに対する署名として出力する。
【0018】
署名検証者装置30は、署名−文書対(U,U1 ,F,K,T1 ,T2 ,L,N)mに対して
K+L=H2(U‖U1 ‖gF yK ‖gT1U1 L‖hT2(U/U1)L‖zN UL ‖m)mod qおよびU≠1が成り立つ事を検証する。成り立つならば、その署名を正しいとし、そうでなければ、不正な署名と見なす。
署名生成が正しく行われた場合、
K+L=c+t2 +d+t4 =e+t2 +t4 =E(mod q)
gF yK =gr+t1yc+t2=gr+cxgt1yt2=agt1yt2=A
gT1U1 L=gvs1+t3U1 d+t4=(b1z1 -d)vgt3U1 d+t4=b1 vgt3U1 t4=B1
hT2(U/U1)L=hvs2+t5U2 d+t4=(b2z2 -d)Vht5U2 d+t4=b2 vht5U2 t4=B2
zNUL=zw-LvUL =zw =D
となり、(U,U1 ,F,K,T1 ,T2 ,L,N)、mは検証に合格する。なお、zN UL =DからN,LはUがzから作られたものであることの証明書であることが理解されよう。
【0019】
U=1でもよいことにすると、U=zv であるからU=1はv=0であり、U=U1 ・U2 であるからU=1,U1 =1,U2 =1の関係を許すことになり、y=gx なる関係にあり、U=zv =gxo,U1 =gx1,D2 =hx2なる関係にあり、U=1,U1 =1,U2 =1を許すことはx0 =x1 =x2 =0として署名することができ、つまりx0 ,x1 ,x2 かxを知っている者以外の者でも署名することができることになる。従って、ステップB4でvを{1,…,q−1}から選ぶことにし、U=1の場合は正当な署名者装置20による署名と認めないことにする。
【0020】
ハッシュ関数へ入力する変数の順序は、署名要求者装置10と検証者装置30の手順で同一ならば、どのような順序であっても良い。
上記の方法では、署名者装置20の一時公開鍵生成手段は、署名の都度選択する任意の固有文字列rndからz1 =H1(rnd)を計算し、zとz1 の組を一時的公開鍵としている。また、署名要求者装置10の一時的公開鍵撹乱手段は、撹乱成分vをランダムに選択し、U=zv ,U1 =z1 vのようにz,z1 を撹乱し、U,U1 を撹乱した一時的公開鍵としている。
【0021】
上記手順で撹乱された公開鍵(U,U1 )は、署名発行時に使用された本来の公開鍵(z,z1 )に対して、log2 z1 =logU U1 なる関係を持つ。しかし、撹乱成分vを知らない署名要求者以外の者が(z,z1 ,U,U1 )がその関係を満たすか否かを判定することはDiffie−Hellman判定問題と呼ばれる計算量的に難しいとされる問題であるため、署名者であっても、検証者装置30に送られた署名が、どの署名要求者装置10に対して発行した署名であるかを判定することは困難である。つまり署名者は署名文書mと署名要求者とを対応ずけることは困難である。従って、上記方法はブラインド署名としてのブラインド性を提供している。
【0022】
上記実施形態の署名発行手順はy=gx となるxなる秘密鍵、あるいはz1 =gw1,z/z1 =hw2となるw1 ,w2 なる秘密鍵のいずれかを知っていることのゼロ知識証明となっている。w1 ,w2 に対するゼロ知識証明の部分は、両辺を同時にv乗する事によって、(z1)v=gw1v,(z/z1)v=hw2vにおけるw1 ,w2 のゼロ知識証明に変換することが可能である。従って、正しい撹乱手順に従って作られたU,U1 に関しては、署名要求者装置10はw1 ,w2 を知らなくとも、署名者装置20によるゼロ知識証明(rnd,a1,b1 ,b2 ,r,c,s1 ,s2 )を変換することによって、検証に合格する署名を得ることができる。しかし、本来の撹乱手順に従わず、U,U1 がv=v1 であるv,v1 に対してU=zv ,U1 =z1 v1となる場合、s1 ,s2 に対する撹乱をどのようにしたらよいかわからない。よって署名者装置20によるゼロ知識証明を変換して検証に合格する署名を得ることはできない。署名者装置20によるゼロ知識証明を変換する以外の手段で検証に合格する署名を作成することは、前述の通り、y=gx となるxなる秘密鍵、あるいはz1 =gw1,z/z1 =hw2となるw1 ,w2 なる秘密鍵のいずれかを署名者が知っていることのゼロ知識証明を行うことと等価であり、署名者以外の第三者はこれを行うことはできない。従って、検証に合格する署名は、すべていずれかの署名発行行為と結びつけられていることになり、検証に合格する署名の個数が発行した個数を上回ることはないといえる。
【0023】
署名要求者装置10の機能構成は図5に示すように、記憶部101にg,p,q,y,h,zなどの公開鍵が記憶されており、送信部102、受信部103を備え署名者装置20へ署名要求を出し、署名者装置20から、発行署名固有情報rnd、撹乱された乱数a、撹乱された一時公開鍵b1 ,b2 が受信されると、要素判定部104において、b1 ,b2 が部分群Gの要素であるかの判定がなされ、判定に合格すると一時公開鍵演算部105でz1 =H1(rnd)が計算され、一時公開鍵撹乱部106において、乱数生成部107からの乱数v∈Zq を用いて、U演算部108でU=zv が、U1 演算部109でU1 =z1 vが、U2 演算部111でU2 =U/U1 がそれぞれ演算される。
【0024】
乱数生成部112からt1 ,…,t5 ∈Zq が生成され、乱数撹乱部113において、A演算部114でA=agt1yt2が、B1 演算部115でB1 =b1 vgt3U1 t4が、B2 演算部116でB2 =b2 vht5U2 t4がそれぞれ演算される。乱数生成部117よりの乱数w∈Zq によりD演算部118でD=zw が演算され、チャレンジ生成部119において、E演算部121で
E=H2(U‖U1 ‖A ‖B1 ‖B2 ‖D‖m)
が演算され、更にe演算部122でe=E−t2 −t4 mod qと撹乱演算され、eは送信部102より署名者装置20へ送信される。
【0025】
署名者装置20から仮り署名r,c,s1 ,s2 が受信されると、仮り署名撹乱部124において、F演算部でF=w+t1 mod qが、K演算部125でK=c+t2 mod qが、T1 演算部126でT1 =vs1 +t3 mod qがT2 演算部127でT2 =vs1 +t5 mod qがそれぞれ演算され、更に証明書生成部129において、L演算部131でL=e−c+t4 mod qが、N演算部132でN=w−Lvmod qがそれぞれ演算される。
検証部133において、ハッシュ演算部134で
H2(U‖U1 ‖gF yK ‖gT1U1 L‖RT2U2 L‖zN UL ‖m)
が演算され、加算部135でK+Lが演算され、比較部136でK+Lの演算結果とハッシュ演算部134の演算結果とが一致するか比較され、一致すると、署名合成部137でmにその署名(U,U1 ,F,K,T1 ,T2 ,L,N)が付けられて、送信部102より出力される。
【0026】
以上の各部の処理が制御部138により実行させられる。
署名者装置20の機能構成例を図6に示す。記憶部201に秘密鍵x、公開鍵の一部などが記憶され、公開鍵生成部202において、y演算部203でy=gx mod pが、h演算部204でh=H(g‖p‖q‖y)が、z演算部205でz=H1(g‖p‖q‖h‖y)がそれぞれ演算される。これらは例えば送信部206を通じて公開される。
受信部207に署名要求が署名要求者装置10から受信されると、一時公開鍵生成部208において、固有情報生成部209からその都度固有情報rndが生成され、z1 演算部211でz1 =H1(rnd)が、z2 演算部212でz2 =z/z1 がそれぞれ演算される。更に乱数生成部213から乱数u,s1 ,s2 ,d(∈Zq )が生成され、乱数撹乱部214において、a演算部215でa=gu が、b1 演算部216でb1 =gs1z1 dが、b2 演算部217でb2 =hs2z2 dがそれぞれ演算される。乱数としてrnd,a,b1 ,b2 を署名要求者装置10へ送信部206より送信する。
【0027】
受信部207に署名要求者装置10からチャレンジeが受信されると、署名部231においてc演算部232でc=e−d mod qが、r演算部233でr=u−cx mod qがそれぞれ演算され、仮り署名r,c,s1 ,s2 が署名要求者装置10へ送信部206より送信される。
以上の各部における処理は制御部234に制御されて実行される。
検証者装置30の機能構成例を図7に示す。記憶部301に公開鍵g,q,y,h,zが記憶されてあり、受信部302に検証されるべき文書mとその署名が入力されると記憶部301に一旦格納され、U判定部303でUが1でないか否かの判定がなされ、その結果は出力部304へ供給される。A演算部305でgF yK が、B1 演算部306でgT1U1 Lが、B2 演算部307でhT2(U/U1)L が、D演算部308でzN UL がそれぞれ演算される。これら演算結果と、U,U1 ,mとがハッシュ演算部309に入力され、これらのビット連結のハッシュ関数演算が行われる。また加算部311でKとLが加算され、これら加算値とハッシュ値とが比較部312で比較され、その比較結果が出力部304へ供給される。出力部304より署名が正しいか否かを送信部314を通じて検証依頼元へ送信する。制御部315により各部の処理の実行が制御される。
実施形態2
上述において署名対象の文書mを署名者装置20に対し、署名要求時にステップB10で署名対象mを撹乱された一時的公開鍵U,U1 で撹乱して署名者装置20へ送り、それに対して署名者装置20は秘密鍵xでブラインド署名をしたが、この発明の方法によれば、署名要求者は署名者装置20からのブラインド署名(仮り署名)を受け取った後に、任意の時に署名対象を付けることができる。以下このための処理を、実施形態2に対して異なる処理のみを説明する。
【0028】
署名要求者装置10ではステップB10ではmが省略され、
E=H2(U‖U1 ‖A ‖B1 ‖B2 ‖D)
が演算される。
ステップB15での検証は次式による
K+L=H2(U‖U1 ‖gF yK ‖gT1U1 L‖hT2U2 L‖zN UL )mod qステップB16ではステップB15の検証が真であれば(U,U1 ,F,K,T1 ,T2 )≡Spを保持しておき、Nは省略する。vとwをSp と共に保持しておく。署名対象mに対する署名を付ける際に以下の処理を行う(図8参照)。
【0029】
B16−1:mが入力されると、M=H3(zw ‖Sp ‖m)を演算する。H3 はハッシュ関数であり、Zp の部分群Gの要素を出力するものであり、公開してある。
B16−2:N′=w−Mvmod qを演算する。
B16−3:Sp ,M,N′を署名対象mに対する署名として出力する。撹乱された一時的公開鍵Uが本来の公開鍵zから生成されたものであることを証明する証明書はLとN′である。
【0030】
検証者装置30においてはSp ,M,N′とmを受信して、
U≠1 であることと
K+L=H2(U‖U1 U‖gF yK ‖gT1U1 L‖hT2(U/U1)L‖zN'UM )mod q
M=H3(zN'UM ‖Sp ‖m)mod q
これら両式が成立すれば、Mに対する正当な署名であることになる。このことはzN'UM =zw-MvzvM=Dであることから容易に理解されよう。例えばSp を銀行が署名した電子現金とし、署名対象mをその電子現金による買物(取引)を一意に決めるものとし、この電子現金Sp により支払を行う場合はSp ,M,N′を商店装置へ送出すればよい。
【0031】
上述したように署名対象mを任意の時に付ける場合は署名要求者装置10において、ステップB10,B11では署名者装置20から受信した乱数a,b1 ,b2 と撹乱した一時公開鍵U,U1 とに基づいてデータeを作成して署名者装置20へ送ることになる。
署名者装置20はそのデータeに対して署名処理(ステップA7,A8)を行い、署名要求者装置10は署名対象mとその署名を出力する際に、データeに対する仮り署名を検証可能なように撹乱してF,K,T,T1 ,T2 を求め(これは予め行っておいてもよい)、データeに対する署名者装置20の署名Sp =(U,U1 ,F,K,T1 ,T2 )を求め、この署名Sp と署名対象mとを関連付けた情報Mを生成し、その情報Mと一時的公開鍵を撹乱するための情報を用いて、撹乱された一時的公開鍵が本来の公開鍵から生成されたものであることの証明書N′を生成し、Sp ,M,N′を署名対象mに対する署名とする。
【0032】
従って署名要求者装置10は上記情報Mを生成する手段、証明書N′を生成する手段、Sp ,M,N′をmに対する署名として出力する手段を備えることになる。
署名要求者装置10、署名者装置20、検証者装置30はそれぞれコンピュータによりプログラムを実行させて機能させてもよい。
上記の実施形態は、乗法群Zp *上で構成された例であるが、El Gamal署名と同様、離散対数問題が困難であるような任意の群の上で実現する事が可能である。例えば、この実施形態の趣旨に沿って、楕円曲線上の有限群で実施してもよい。
【0033】
【発明の効果】
以上述べたようにこの発明によれば、署名要求者装置が、署名者装置によって発行された個数以上の正しい署名を得る事ができないことが保証され、電子現金や、電子チケットなど、署名の水増しが問題となる応用においてもブラインド署名を利用することが可能となる。
【図面の簡単な説明】
【図1】この発明が適用されるシステムの構成例を示す図。
【図2】この発明方法の実施形態1の処理手順を示す図。
【図3】実施形態1における署名者装置20の処理手順を示す流れ図。
【図4】実施形態1における署名要求者装置10の処理手順を示す流れ図。
【図5】実施形態1における署名要求者装置10の機能構成を示すブロック図。
【図6】実施形態1における署名者装置20の機能構成を示すブロック図。
【図7】実施形態1における検証者装置30の機能構成を示すブロック図。
【図8】実施形態2における署名要求者装置10の処理の一部を示す流れ図。
【図9】従来のブラインド署名方法の手順を示す図。
Claims (8)
- 署名者装置は署名発行ごとにその発行に固有な情報を含み、かつ署名者装置の公開鍵の少くとも一つと関連付けられた一時的公開鍵を生成して公開し、
署名要求者装置は上記一時的公開鍵及び上記一時的公開鍵に関連付けられた署名者装置の公開鍵をそれぞれ撹乱して第1及び第2の撹乱された公開鍵を生成し、
これら第1及び第2の撹乱された公開鍵と署名対象とを撹乱したブラインドメッセージを署名者装置へ送り、
署名者装置は受信したブラインドメッセージに対し、秘密鍵で署名して署名要求者装置へ送り、
署名要求者装置は上記一時的公開鍵に関連付けられた署名者装置の公開鍵と上記第2の撹乱された公開鍵との関係を示す証明書を発行し、かつ受信した署名を撹乱して検証可能にし、この検証可能とされた署名と上記証明書を上記署名対象に対する署名とする
ことを特徴とするブラインド署名方法。 - 署名者装置は署名発行ごとにその発行に固有な情報を含み、かつ署名者装置の公開鍵の少くとも一つと関連付けられた一時的公開鍵を生成して公開し、また乱数を署名要求者装置へ送り、
署名要求者装置は一時的公開鍵及び上記一時的公開鍵に関連付けられた署名者装置の公開鍵をそれぞれ撹乱して第1及び第2の撹乱された公開鍵を生成し、
これら第1及び第2の撹乱された公開鍵と署名者装置から受信した乱数とを撹乱したデータを生成し、そのデータを署名者装置へ送り、
署名者装置は受信したデータに対し秘密鍵で署名して署名要求者装置へ送り、
署名要求者装置は受信した署名を検証可能なように撹乱し、その撹乱された署名と、署名対象とを関連付けた情報を作成し、
その関連付けた情報と、上記公開鍵の撹乱に用いた情報とを用いて、上記一時的公開鍵に関連付けられた署名者装置の公開鍵と上記第2の撹乱された公開鍵との関係を示す証明書を発行し、この証明書と上記検証可能とされた署名と上記関連付けた情報とを上記署名対象に対する署名とする
ことを特徴とするブラインド署名方法。 - 署名者装置に署名発行要求を送る手段と、
その署名発行に対し署名者装置から公開されたその発行に固有な情報を含み、かつ署名者装置の公開鍵の少くとも一つと関連付けられた一時的公開鍵及び上記一時的公開鍵に関連付けられた署名者装置の公開鍵をそれぞれ撹乱して第1及び第2の撹乱された公開鍵を生成する手段と、
これら第1及び第2の撹乱された公開鍵と署名対象とを撹乱したブラインドメッセージを署名者装置へ送る手段と、
署名者装置から受信した署名を撹乱して検証可能にすると共に上記一時的公開鍵に関連付けられた署名者装置の公開鍵と上記第2の撹乱された公開鍵との関係を示す証明書を発行する手段と、
上記検証可能とされた署名及び上記証明書を上記署名対象に対する署名としてその署名対象と共に出力する手段と、
を具備するブラインド署名の署名要求者装置。 - 署名者装置に署名発行要求を送る手段と、
その署名発行に対し署名者装置から公開されたその発行に固有な情報を含み、かつ署名者装置の公開鍵の少くとも一つと関連付けられた一時的公開鍵及び上記一時的公開鍵に関連付けられた署名者装置の公開鍵をそれぞれ撹乱して第1及び第2の撹乱された公開鍵を生成し、
これら第1及び第2の撹乱された公開鍵と署名者装置から受信した乱数とを撹乱したデータを生成し、そのデータを署名者装置へ送る手段と、
署名者装置から受信した署名を検証可能なように撹乱する手段と、
その撹乱された署名と署名対象とを関連付けた情報を生成する手段と、
その関連付けた情報と上記公開鍵の撹乱に用いた情報とを用いて、上記一時的公開鍵に関連付けられた署名者装置の公開鍵と上記第2の撹乱された公開鍵との関係を示す証明書を発行する手段と、
上記撹乱された署名と上記証明書と上記関連付けた情報とを上記署名対象に対する署名として出力する手段と、
を具備するブラインド署名の署名要求者装置。 - 署名者装置に署名発行要求を行う過程と、
その署名発行に対し、署名者装置から公開されたその発行に固有な情報を含み、かつ署名者装置の公開鍵の少くとも一つと関連付けられた一時的公開鍵及び上記一時的公開鍵に関連付けられた署名者装置の公開鍵をそれぞれ撹乱して第1及び第2の撹乱された公開鍵を生成する過程と、
これら第1及び第2の撹乱された公開鍵と署名対象とを撹乱したブラインドメッセージを署名者装置へ送る過程と、
署名者装置から受信した署名を撹乱して検証可能にすると共に上記一時的公開鍵に関連付けられた署名者装置の公開鍵と上記第2の撹乱された公開鍵との関係を示す証明書を生成する過程と、
上記撹乱された署名及び上記証明書を上記署名対象に対する署名として署名対象と共に出力する過程と、
を有するブラインド署名の署名要求者装置の処理方法。 - 署名者装置に署名発行要求を送る過程と、
その署名発行に対し署名者装置から公開されたその発行に固有な情報を含み、かつ署名者装置の公開鍵の少くとも一つと関連付けられた一時的公開鍵及び上記一時的公開鍵に関連付けられた署名者装置の公開鍵をそれぞれ撹乱して第1及び第2の撹乱された公開鍵を生成する過程と、
これら第1及び第2の撹乱された公開鍵と署名者装置から受信した乱数とを撹乱したデータを生成し、そのデータを署名者装置へ送る過程と、
署名者装置から受信した署名を検証可能なように撹乱する過程と、
その撹乱された署名と署名対象とを関連付けた情報を生成する過程と、
その関連付けた情報と上記公開鍵の撹乱に用いた情報とを用いて、上記一時的公開鍵に関連付けられた署名者装置の公開鍵と上記第2の撹乱された公開鍵との関係を示す証明書を発行する過程と、
上記撹乱された署名と上記証明書と上記関連付けた情報とを上記署名対象に対する署名として出力する過程と、
を有するブラインド署名の署名要求者装置処理方法。 - 請求項5又は6に記載の方法をコンピュータにより実行させるためのプログラム。
- 請求項7記載のプログラムを記録したコンピュータ読み出し可能な記録媒体。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001131859A JP3859983B2 (ja) | 2001-04-27 | 2001-04-27 | ブラインド署名方法、その装置、そのプログラム及びその記録媒体 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001131859A JP3859983B2 (ja) | 2001-04-27 | 2001-04-27 | ブラインド署名方法、その装置、そのプログラム及びその記録媒体 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2002328602A JP2002328602A (ja) | 2002-11-15 |
| JP3859983B2 true JP3859983B2 (ja) | 2006-12-20 |
Family
ID=18979969
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001131859A Expired - Fee Related JP3859983B2 (ja) | 2001-04-27 | 2001-04-27 | ブラインド署名方法、その装置、そのプログラム及びその記録媒体 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3859983B2 (ja) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8204232B2 (en) | 2005-01-18 | 2012-06-19 | Certicom Corp. | Accelerated verification of digital signatures and public keys |
| US8467535B2 (en) | 2005-01-18 | 2013-06-18 | Certicom Corp. | Accelerated verification of digital signatures and public keys |
| US7720221B2 (en) * | 2005-05-20 | 2010-05-18 | Certicom Corp. | Privacy-enhanced e-passport authentication protocol |
| US8745376B2 (en) | 2011-10-14 | 2014-06-03 | Certicom Corp. | Verifying implicit certificates and digital signatures |
-
2001
- 2001-04-27 JP JP2001131859A patent/JP3859983B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2002328602A (ja) | 2002-11-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110781521B (zh) | 基于零知识证明的智能合约认证数据隐私保护方法及系统 | |
| CN110419053B (zh) | 用于信息保护的系统和方法 | |
| JP4741503B2 (ja) | 公開鍵を検証可能に生成する方法及び装置 | |
| CN113875188A (zh) | 哈希函数攻击 | |
| CN111108732A (zh) | 用于确定数字资产交易所的偿付能力的方法、系统和计算机程序产品 | |
| US9882890B2 (en) | Reissue of cryptographic credentials | |
| CN111160909B (zh) | 区块链供应链交易隐藏静态监管系统及方法 | |
| US12445287B2 (en) | Computer implemented method and system for knowledge proof in blockchain transactions | |
| KR20230088694A (ko) | 분산 원장에서의 익명성 취소를 통한 안전하고 추적 가능하며 개인 정보를 보호하는 디지털 통화 송금 방법 | |
| CN114747172A (zh) | 加密链接身份 | |
| CN116975936B (zh) | 金融资质证明方法、金融资质验证方法 | |
| JP3859983B2 (ja) | ブラインド署名方法、その装置、そのプログラム及びその記録媒体 | |
| JPWO2022069133A5 (ja) | ||
| WO2022254624A1 (ja) | 電子通貨システム、情報処理装置、電子通貨発行方法およびプログラム | |
| JPH0752460B2 (ja) | 電子現金実施方法及びその装置 | |
| JP2805493B2 (ja) | 認証方法及びそれに用いる装置 | |
| JP3388566B2 (ja) | 利用許可証付き電子小切手方法および装置 | |
| JP3599493B2 (ja) | 発行機関分離型番号登録式電子現金方法および利用者装置 | |
| JP3171227B2 (ja) | 信託機関付き電子紙幣実施方法 | |
| JP3316895B2 (ja) | 正当性の確認システム | |
| JP3435682B2 (ja) | 電子現金預け入れ方法、その装置およびプログラム記録媒体 | |
| JP3599492B2 (ja) | 番号登録式電子現金方法および利用者装置 | |
| JPH09284271A (ja) | 制限付ブラインド署名方法およびシステム | |
| JP2805494B2 (ja) | 認証方法及びそれに用いる装置 | |
| JPH10171903A (ja) | 電子現金方法及びこれに用いる装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060411 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060612 |
|
| RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20060612 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060704 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060815 |
|
| 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: 20060905 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060920 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 3859983 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090929 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100929 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100929 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110929 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120929 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130929 Year of fee payment: 7 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| LAPS | Cancellation because of no payment of annual fees |
