JP4973193B2 - 制限付ブラインド署名システム - Google Patents

制限付ブラインド署名システム Download PDF

Info

Publication number
JP4973193B2
JP4973193B2 JP2006550721A JP2006550721A JP4973193B2 JP 4973193 B2 JP4973193 B2 JP 4973193B2 JP 2006550721 A JP2006550721 A JP 2006550721A JP 2006550721 A JP2006550721 A JP 2006550721A JP 4973193 B2 JP4973193 B2 JP 4973193B2
Authority
JP
Japan
Prior art keywords
signature
blind
commitment
identifier
proof
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
Application number
JP2006550721A
Other languages
English (en)
Other versions
JPWO2006070682A1 (ja
Inventor
潤 古川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2006550721A priority Critical patent/JP4973193B2/ja
Publication of JPWO2006070682A1 publication Critical patent/JPWO2006070682A1/ja
Application granted granted Critical
Publication of JP4973193B2 publication Critical patent/JP4973193B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3257Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using blind signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • H04L9/3221Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3255Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Description

本発明は、署名者が署名受信者の決定したメッセージを知ることなく、このメッセージに対する署名を署名受信者が受け取ることができるブラインド署名方法および装置に関し、特に、署名受信者が受け取ることができる署名が、署名受信者の公開された識別子と関連づけられたメッセージに限る制限付ブラインド署名システムおよび装置に関する。
[従来の技術1]
従来の制限付ブラインド署名の例として、非特許文献1("Untraceable Off-line Cash in Wallets with Observers (Extended Abstract", Advances in Cryptology, Proceedings Crypto'93, Lecture Note on Computer Science 773, D. Stinson, Ed., Springer-Verlag, 1994 pp.302-318)に掲載されている方法がある。
上記の方式を以下に簡単に説明する。制限付ブラインド署名は3、署名者が用いる署名装置、署名受信者が用いる署名受信装置、署名受取人が示す署名を検証するための署名検証装置の3個の装置が使われる。以下では、pとqをq|p-1なる素数.Gqを体(Z/pZ)*の位数qの元の集合とする。
g, g[1] と g[2] は Gq の元、u[1] はZ/qZ の元で、I=g[1]u[1] mod pを署名受取装置の公開された識別子とする。x はZ/qZ の元で、署名者の秘密鍵で、h=gx mod pは署名者の公開鍵とする。Hash は暗号学的なハッシュ関数とする。
署名装置から署名受信装置は以下の手順で制限付ブラインド署名を受け取る。
署名装置は
z = (Ig[2])x mod p
を計算し、署名受信装置に送る。
署名装置は、無作為に w をZq から選び、
a = gw mod p
b = (I g[2])w mod p
を計算し、a,b を署名受信装置へ送信する。
署名受信装置は, s,x[1],x[2],u,v をZ/qZ からランダムに選び、
A = (Ig[2])s mod p
z' = zs mod p
B = g[1]x[1]g[2]x[2] mod p
a' = augv
b' = bsuAv mod p
c' = Hash(A,B,z',a',b')
c = c'/u mod q
を計算し、c を署名装置に送信する。
署名装置は
r = c x+ w mod q
を計算して、r を署名受信装置に送信する。
署名受信装置は、
r = hc a mod p
Ig[2])r = zc b mod p
が成り立つことを確認し、成り立たなければ、正当な署名を受け取れなかったものとして修了する。成り立てば、
r' = ru+v mod q
を求め、署名受信装置は(A,B,z',a',b',r') を制限付ブラインド署名とする。
署名検証装置の動作を以下に表す。
署名検証装置は、
c'=Hash(A,B,z',a',b',r') を計算し、
gr' = hc'a' mod p
Ar' = z'c'b' mod p
なる関係を満たすかどうかを調べる。両式が満たされるならば制限付ブラインド署名は正当であると見なし、その他の場合は不当な署名であると見なす。
上記制限付ブラインド署名の特徴を記す。
上記署名検証装置が確認するような関係を満たす、 (A,B,z',a',b',r') は署名装置の秘密鍵xがなくては計算できない値の組であり、このような組は, 署名装置が何らかの承認を与えたことを意味すると考えることができる。このような意味において本手続きは署名手続きの一種である。
又、署名装置は(A,B,z',a',b',r') を上記署名手続きにおいて入手することはできない。又、 (A,B,z',a',b',r') を入手しても、I に関する署名手続きを行った際に署名受信装置が入手し得たものなのか判別することができない。この意味において、本署名手続きはブラインド署名の一種である。
又、(A,z') は、
z'= Ax mod p
を満たす。署名受取人はこのような関係を満たす(A,B,z',a',b',r') のみしか署名者との通信によって手にいれることができないという意味において、このブラインド署名は、制限付ブラインド署名と呼ばれる。
上記制限付ブラインド署名の有用な応用例として、オフライン匿名電子現金があげられる。
この技術を電子現金に応用する場合、銀行が署名装置を保持し、銀行に口座を持つ者の識別子をI とし、電子現金(A,B,z',a',b',r') を引き落とす。この時、 I の口座から対応する金額を引き落とす。I は電子現金を使用するとき、 (A,B,z',a',b',r') を相手に渡す。これは、銀行の協力がなければ作れないものであるので、受取人は電子現金を信用することができる。受取人はこれを銀行に持っていき、対応する金額を受け取ることができる。この時、I と電子現金の対応は、電子現金がブラインド署名であるため銀行には分からなく、支払いの匿名性が確保できる。一方、電子現金は単なるデータであるため、二重使用が容易である。しかし、二回使用した場合、電子現金にはI と一定の関係があるという制限がついていたため、二重使用を行ったIを特定することができる。この性質により二重使用を避けることができる。上では省略したが、上記の支払い手続きは、単なるデータの受け渡しではなく、特殊なプロトコルを使うことにより、二回使用した場合に、Iとの関係が発覚するようになっている。
上記従来の技術はランダムオラクモデルを仮定すると安全であることが知られている。ランダムオラクルモデルとは、およそ、上記ハッシュ関数が真の乱数を返す関数であるとする仮定である。
[従来の技術2(グループ署名)]
従来、この種のグループ署名システムは、複数のメンバーから構成されるグループにおいて、グループに所属する、あるユーザが署名を作成し、また、その署名を確認するためのものである。そして、その署名は、署名者がグループのいずれかのメンバーであることは検証できるが、通常ではグループ内のどのメンバーであるかは分からないという性質のものである。ただし、その一方で、万が一のために、署名から実際の署名者を特定する機能(以下、追跡と称す)がグループ署名システムには備えられている。
一般に、グループ署名システムでは、グループ管理者と呼ばれるエンティティがグループ内に存在し、グループへの新たなメンバーの登録手続きおよび署名者の追跡を行う。その場合、グループ署名システムにおいて、グループへのメンバーの登録や、グループ署名の署名者追跡は、全てグループ管理者の権限で行われることとなる。
非特許文献2(G. Ateniese, J. Camenisch, M. Joye and G. Tsudik, “A Practical and Provable Secure Coalition-Resistant Group Signature Scheme, ”In Advances in Cryptology--CRYPTO2000, LNCS 1880, pp.255-270, Springer-Verlag, 2000.)に記載された第1の従来技術のグループ署名システムは、公開情報開示手段と署名装置とを有している。
図1は、非特許文献2に開示される技術によるグループ署名システムにおける署名装置の構成を示すブロック図である。図1を参照すると、署名装置は、第1の乱数生成器901、第2の乱数生成器902、第3の乱数生成器903、第4の乱数生成器904、第5の乱数生成器905、第6の乱数生成器906、第1の暗号化データ作成手段907、第2の暗号化データ作成手段908、第1の変換データ作成手段909、第2の変換データ作成手段910、知識署名作成手段911、メンバー情報記憶部912、秘密情報記憶部913、メッセージ入力手段914および署名出力手段915から構成されている。
第1の乱数生成器901は、第1の暗号化データ作成手段907で使用する乱数を生成する。
第2の乱数生成器902は、第2の暗号化データ作成手段908で使用する乱数を生成する。
第3の乱数生成器903は、第1の変換データ作成手段909で使用する乱数を生成するとともに、その乱数をグループ署名の要素として署名出力手段915に出力する。
第4の乱数生成器904は、第2の変換データ作成手段910で使用する乱数を生成するとともに、その乱数をグループ署名の要素として署名出力手段915に出力する。
第5の乱数生成器905は、第2の変換データ作成手段910で使用する乱数を生成するとともに、その乱数をグループ署名の要素として署名出力手段915に出力する。
第6の乱数生成器906は、知識署名作成手段911で使用する乱数を生成する。
第1の暗号化データ作成手段907は、第1の乱数生成器901で生成された乱数と、メンバー情報記憶部912に記憶されているメンバー証明書の第1の要素とを入力として、メンバー証明書の第1の要素の暗号化データ(以下、第1の暗号化データと称す)を知識署名作成手段911および署名出力手段915に出力する。
第2の暗号化データ作成手段908は、第2の乱数生成器902で生成された乱数と、秘密情報記憶部913に記憶されている署名鍵の変換データとを入力として、署名鍵の変換データの第1の要素の暗号化データ(以下、第2の暗号化データと称す)を知識署名作成手段911および署名出力手段915に出力する。
第1の変換データ作成手段909は、第3の乱数生成器903で生成された乱数と、メンバー情報記憶部912に記憶されているメンバー証明書の第1の要素を入力として、メンバー証明書の第1の要素の変換データ(以下、第1の変換データと称す)を知識署名作成手段911および署名出力手段915に出力する。
第2の変換データ作成手段910は、第4の乱数生成器904および第5の乱数生成器905で生成された乱数と、メンバー情報記憶部912に記憶されているメンバー証明書の第1の要素を入力として、メンバー証明書の第1の要素の変換データ(以下、第2の変換データと称す)を知識署名作成手段911および署名出力手段915に出力する。
知識署名作成手段911は、メッセージ入力手段914から入力されたメッセージ、第6の乱数生成器906で生成された乱数、第1の暗号化データ、第2の暗号化データ、第1の変換データ、第2の変換データ、メンバー証明書の第1および第2の要素、および署名鍵を入力として、メンバー証明書および署名鍵に関する情報を漏らすことなくメンバー証明書および署名鍵を正しく所有していることを証明することのできる知識署名データを出力する。
メンバー情報記憶部912は、グループ署名を発行するために用いるメンバー証明書を記憶する。メンバー証明書は第1の要素と第2の要素とからなる。
秘密情報記憶部913は署名鍵を記憶する。
メッセージ入力手段914は、署名を付加すべきメッセージを入力する。
署名出力手段915は、メッセージ、第1の暗号化データ、第2の暗号化データ、第1の変換データ、第2の変換データ、第3の乱数、第4の乱数、第5の乱数、および知識署名データをグループ署名として出力する。
以上の構成により、第1の従来技術のグループ署名システムはグループ署名を作成することができる。
上記の技術では、ハッシュ関数を使っているためにランダムオラクルモデルのもとでしか方式の安全性が証明されないことである。ランダムオラクルモデルのもとで安全性が証明されたある暗号方式で、ハッシュ関数を具体的な関数に置き換えた場合、そのハッシュ関数がいかなる良い性質を持っていようと、決して安全にならないことが非特許文献3(Ran Canetti, Oded Goldreich, Shai Halevi: The Random Oracle Methodology, Revisited (Preliminary Version). STOC 1998: 209-218])に示されている。
"Untraceable Off-line Cash in Wallets with Observers (Extended Abstract", Advances in Cryptology, Proceedings Crypto'93, Lecture Note on Computer Science 773, D. Stinson, Ed., Springer-Verlag, 1994 pp.302-318 G. Ateniese, J. Camenisch, M. Joye and G. Tsudik, "A Practical and Provable Secure Coalition-Resistant Group Signature Scheme, "In Advances in Cryptology--CRYPTO2000, LNCS 1880,pp.255-270,Springer-Verlag,2000. Ran Canetti, Oded Goldreich, Shai Halevi: The Random Oracle Methodology, Revisited (Preliminary Version). STOC 1998: 209-218]
従来の技術の問題点は、ハッシュ関数を使っているためにランダムオラクルモデルのもとでしか方式の安全性が証明されないことである。ランダムオラクルモデルのもとで安全性が証明されたある暗号方式で、ハッシュ関数を具体的な関数に置き換えた場合、そのハッシュ関数がいかなる良い性質を持っていようと、決して安全にならない方式であることが知られている。すなわち、ランダムオラクルモデルのもとで安全性が証明された暗号方式は、暗号の安全性が何らかの解くことが困難であろうと予想されている問題の困難性に帰着されるわけではない。このことは、従来の技術の方式に対して示された安全性の根拠はかなり弱いといえる。よって、例えば従来の技術を用いた電子現金は偽造が可能で、使用者が分からないまま大量に複製して使用することができる可能性がある。
本発明の目的は、ランダムオラクルモデルを仮定する事なく安全性を証明できるという高い安全性を持った、制限付ブラインド署名システムを提案することである。
本発明の制限付ブラインド署名システムは、署名受信装置と、該署名受信装置と通信する署名装置と、前記署名受信装置の出力を入力とする署名提示装置と、該署名提示装置と通信する署名検証装置とからなり、前記署名提示装置が署名受信装置から受け取ったブラインド公開識別子を変更を加えずに署名検証装置に送信する制限付ブラインド署名システムであって、
前記署名装置は、秘密のデータである前記署名装置の秘密鍵と、該秘密鍵に対応する公開鍵と、第1の乱数とが入力され、前記秘密鍵と前記公開鍵と前記第1の乱数から第1のブラインド署名を生成して、該第1のブラインド署名を前記署名受信装置へ出力し、
前記署名受信装置は、前記署名装置の公開鍵と、メッセージと、秘密のデータである前記署名受信装置の秘密識別子と、公開されているデータであり、前記秘密識別子に依存したデータである前記署名受信装置の公開識別子と、第2の乱数とが入力されて、該第2の乱数から秘密のデータであるブラインド因子を生成し、前記秘密識別子と前記ブラインド因子とから計算されるブラインド秘密識別子を生成して出力し、前記ブラインド秘密識別子と前記第1のブラインド署名に依存したデータであるブラインド公開識別子を生成して出力し、前記第1のブラインド署名から前記メッセージがメンバー証明書の一部となるグループ署名である第2のブラインド署名を生成して出力し、前記公開鍵と前記第2の乱数から前記ブラインド秘密識別子のコミットであるブラインドコミットメントを生成して出力し、前記公開識別子の送信作業を含むデータの通信を前記署名装置と行い、
前記署名提示装置は、前記公開鍵と、前記ブラインド秘密識別子と、前記ブラインド公開識別子と、前記第2のブラインド署名と、第3の乱数と、が入力され、これらの入力状態を示す入力状態表示信号を前記署名検証装置へ出力し、
前記署名検証装置は、前記入力状態表示信号と、前記公開鍵と、前記ブラインド公開識別子と、第4の乱数と、が入力され、これらの各入力が、前記ブラインド公開識別子、前記ブラインド秘密識別子、前記第2のブラインド署名が前記署名提示装置に入力されていることを示す場合には「正当」を、その他の場合には「不当」を出力することを特徴とする。
本発明の署名受信装置は、上記の制限付ブラインド署名システムを構成する署名受信装置であって、
前記第2のブラインド署名が前記秘密鍵により生成されたグループ署名であることを特徴とする。
本発明の署名装置は、上記の制限付ブラインド署名システムを構成する署名装置であって、
前記ブラインドコミットメントを獲得する前記通信手段を備え、前記ブラインドコミットメントがコミットしたデータであるブラインド秘密識別子に対する署名である第1のブラインド署名を前記秘密鍵により生成されたグループ署名として生成することを特徴とする。
上記の署名受信装置は、前記秘密識別子と前記第2の乱数とを入力し、前記第2の乱数からブラインド因子を生成し、前記ブラインド因子と前記秘密識別子からブラインド秘密識別子を生成し出力するブラインド秘密識別子生成装置と、
前記公開鍵と前記ブラインド秘密識別子と前記第2の乱数が入力され、前記ブラインド秘密識別子のコミットメントであるブラインドコミットメントを生成して前記署名装置に送付するブラインドコミットメント生成装置と、
前記公開識別子を署名装置に送付する公開識別子送信装置と、
前記ブラインド秘密識別子と前記第2の乱数とが入力され、前記署名装置と通信することで、前記ブラインドコミットメントが前記ブラインド秘密識別子のコミットメントであることの知識の証明を前記署名装置に対して行うブラインドコミットメント証明装置と、
前記署名装置から前記ブラインドコミットメントによりコミットされた前記ブラインド秘密識別子に対するグループ署名である第1のブラインド署名を受け取り、前記署名を検証して第2のブラインド署名を出力するブラインド署名受信装置と、
を含むこととしてもよい。
上記の署名装置は、
前記署名受信装置と通信することにより署名受信装置の公開識別子を受信する公開識別子受信装置と、
前記署名受信装置より送られたブラインドコミットメントを受信し、前記署名装置の公開識別子とブラインドコミットメントと公開鍵と前記第1の乱数とが入力され、署名受信装置と通信することにより前記公開識別子が依存するデータである秘密識別子と乱数から生成されたあるブラインド因子とから計算されるあるブラインド秘密識別子が前記署名受信装置に存在している場合には前記ブラインドコミットメントはこのブラインド秘密識別子のコミットメントであることの知識の証明検証し、証明を正当と認めれば「正当」をその他の場合は「不当」を出力するブラインドコミットメント検証装置と、
前記秘密鍵と公開鍵と前記ブラインドコミットメントと前記第1の乱数とが入力され、前記ブラインドコミットメント検証装置が「正当」を出力すれば前記ブラインドコミットメントがコミットしたブラインド秘密識別子に対するグループ署名を生成し、署名受信装置に送信するグループ署名生成装置と、
を含むこととしてもよい。
本発明の署名提示装置は、上記の制限付ブラインド署名システムを構成する署名提示装置であって、
前記公開鍵と、前記ブラインド公開識別子と、前記ブラインド秘密識別子と、前記第2のブラインド署名と前記第3の乱数とが入力され、
前記入力状態を示す信号として、
入力された前記ブラインド公開識別子を前記署名検証装置に送付し、
あるブラインド秘密識別子が存在して、前記ブラインド公開識別子がこのブラインド秘密識別子に依存するデータであることの知識の証明と、このブラインド秘密識別子に対するグループ署名である第2のブラインド署名の知識の証明とを署名検証装置と通信して行う知識証明装置を含むことを特徴とする。
本発明の署名検証装置は、上記の制限付ブラインド署名システムを構成する署名検証装置であって、
前記ブラインド公開識別子を前記署名提示装置より受信し、前記公開鍵と、前記第4の乱数と、が入力され、あるブラインド秘密識別子が存在して前記ブラインド公開識別子がこのブラインド秘密識別子に依存するデータであることの知識の証明とこのブラインド秘密識別子に対するグループ署名である第2のブラインド署名の知識の証明との検証を前記署名提示装置と通信して行う知識証明検証装置を含むことを特徴とする。
上記の署名受信装置は、
前記ブラインドコミットメント証明装置は、
証明コミットメント装置と、第1の挑戦値獲得装置と、証明レスポンス装置よりなり、前記証明コミットメント装置は、乱数のコミットメントである証明コミットメントを生成するものであり、前記第1の挑戦値獲得装置は証明コミットメントを前記署名装置に送付し、前記署名装置から挑戦値を受信するものであり、前記証明レスポンス装置は、前記挑戦値と、前記証明コミットメントの生成に使った前記第2の乱数と前記ブラインド秘密識別子と前記ブラインド因子とから証明のレスポンスを生成するものであるものとしてもよい。
上記の署名装置は、
前記ブラインドコミットメント検証装置は、第1の挑戦値生成装置と、証明検証装置よりなり、前記第1の挑戦値生成装置は、証明のコミットメントと呼ばれるデータを受信するのを待ち、受信したならば前記乱数を用いてランダムな数である挑戦値を生成し、前記署名受信装置に送付し、前記署名検証装置は、前記署名受信装置より証明のレスポンスと呼ばれるデータを受信するのを待ち、これを受信したら、前記証明のコミットメント、前記挑戦値、前記証明のレスポンスが、ある検証式を満たすかどうかで、「正当」あるいは「不当」を出力するものであるものとしてもよい。
上記の署名提示装置は、
第2の挑戦値獲得装置を備え、証明のコミットメントの他に公開鍵とブラインド公開識別子が入力され、前記証明のコミットメントと前記公開鍵と前記ブラインド公開識別子を含むデータのハッシュ値を挑戦値として出力するとしてもよい。
上記の署名検証装置は、
第2の挑戦値生成装置を備え、前記証明のコミットメントと前記公開鍵と前記ブラインド公開識別子を含むデータのハッシュ値を挑戦値として出力するとしてもよい。
本発明の他の形態による制限付ブラインド署名システムは、署名受信装置と、該署名受信装置と通信する署名装置と、前記署名受信装置出力を入力する署名提示装置と、該署名提示装置と通信する署名検証装置とからなる制限付ブラインド署名システムであって、
前記署名装置は、秘密のデータである前記署名装置の秘密鍵と、該秘密鍵に対応する公開鍵と、第1の乱数とが入力され、前記秘密鍵と前記公開鍵と前記第1の乱数から第1のブラインド署名を生成して、該第1のブラインド署名を前記署名受信装置へ出力し、
前記署名受信装置は、前記署名装置の公開鍵と、メッセージと、第2の乱数と、前記第1のブラインド署名とが入力され、これらの各入力から前記メッセージがメンバー証明書の一部となるグループ署名である第2のブラインド署名を出力し、
前記署名提示装置には、前記公開鍵と、前記メッセージと、前記署名受信装置の出力である前記第2のブラインド署名と、第3の乱数と、が入力され、これらの入力状態を示す信号を前記署名検証装置へ出力し、
前記署名検証装置は、前記公開鍵と、第4の乱数と、が入力され、これらの各入力が、前記メッセージ、前記第2のブラインド署名が前記署名提示装置に入力されていることを示す場合には「正当」を、その他の場合には「不当」を出力することを特徴とする。
本発明の他の形態による署名受信装置は、上記の他の形態による制限付ブラインド署名システムを構成する署名受信装置であって、
前記メッセージのコミットメントであるブラインドコミットメントを前記署名装置に送信することを特徴とする。
本発明の他の形態による署名装置は、上記の他の形態による制限付ブラインド署名システムを構成する署名装置であって、
前記メッセージのコミットメントであるブラインドコミットメントを入力し、前記ブラインドコミットメントがコミットしたデータであるメッセージに対する署名であり、かつ、前記秘密鍵により生成された、メンバ証明書に前記メッセージを含むグループ署名である第1のブラインド署名を生成して前記署名受信装置に送ることを特徴とする。
上記の他の形態による署名受信装置は、
前記公開鍵と前記メッセージと前記乱数が入力され、前記メッセージのコミットメントであるブラインドコミットメントを生成し、前記署名装置に送付するブラインドコミットメント生成装置と、
前記メッセージと前記公開鍵と前記乱数とが入力され、署名装置と通信することで, 前記ブラインドコミットメントが前記メッセージのコミットメントであることの知識の証明を署名装置に対して行う証明コミットメント装置と、
前記署名装置から前記ブラインドコミットメントによりコミットメントされた第1のブラインド署名を受け取って検証し、第2のブラインド署名を出力するブラインド署名受信装置と、
を含むこととしてもよい。
上記の他の形態による署名装置は、
公開鍵と、乱数と、ともに、前記署名受信装置から送られたブラインドコミットメントとが入力され、前記ブラインドコミットメントが前記メッセージのコミットメントであることの知識の証明を検証し、証明結果が正当と認めるものであれば「正当」を、その他の場合は「不当」を出力する証明検証装置と、
前記秘密鍵と公開鍵と前記ブラインドコミットメントと乱数とが入力され、前記証明検証装置が「正当」を出力すると、前記ブラインドコミットメントがコミットメントしたメッセージをメンバ証明書として含むグループ署名を生成し, 署名受信装置に送信するグループ署名生成装置と、
を含むこととしてもよい。
本発明の他の形態による署名提示装置は上記の他の形態による制限付ブラインド署名システムを構成する署名提示装置であって、
前記メッセージを前記署名検証装置に送付し、メッセージがメンバ証明書に含まれるグループ署名について、メンバ証明の知識を保持す知識証明装置を、
含むことを特徴とする。
本発明の他の形態による署名検証装置は上記の他の形態による制限付ブラインド署名システムを構成する署名検証装置であって、
メッセージを前記署名提示装置より受信し、前記署名提示装置がメッセージをメンバ証明書に含むグループ署名のメンバ証明の知識を保持していることの検証を行う知識検証装置を、
含むことを特徴とする。
本発明によれば、署名受信装置の受け取る制限付ブラインド署名は、その安全性がランダムオラクルモデルに依存せずに証明できるため、不正な受信装置が署名装置の助けを借りることなく署名を入手する可能性が非常に低い。このようなことができる不正な受信装置が仮に存在するならば、この受信装置を用いて強RSA問題あるいは、離散対数問題等を解くことができる。これらの問題は現在の多くの公開鍵暗号方式の安全性が依拠している問題であり、上記不正な受信装置の存在は、現在のほとんどの公開鍵暗号方式を使えなくするほどの影響があり、このようなことが起ることは稀である。
従来技術のグループ署名システムにおける署名装置の構成を示すブロック図である。 本発明の第1の実施形態の署名受信装置の構成例を示すブロック図である。 本発明の第2の実施形態の署名装置の構成例を示すブロック図である。 本発明の第3の実施形態の署名提示装置の構成例を示すブロック図である。 本発明の第4の実施形態の署名検証装置の構成例を示すブロック図である。 本発明の第5の実施形態の挑戦値獲得装置の構成例を示すブロック図である。 本発明の第7の実施形態の署名受信装置、署名装置、署名提示装置、署名検証装置からなるシステムの構成例を示すブロック図である。 本発明の第8の実施形態の署名受信装置の構成例を示すブロック図である。 本発明の第9の実施形態の署名装置の構成例を示すブロック図である。 本発明の第10の実施形態の署名提示装置の構成例を示すブロック図である。 本発明の第11の実施形態の署名検証装置の構成例を示すブロック図である。 本発明の第12の実施形態の署名受信装置の構成例を示すブロック図である。 本発明の第13の実施形態の署名装置の構成例を示すブロック図である。 本発明の第14の実施形態の署名受信装置の構成例を示すブロック図である。 本発明の第15の実施形態の署名装置の構成例を示すブロック図である。
符号の説明
100 署名受信装置
101 公開鍵
102 秘密識別子
103 公開識別子
104 乱数
105 ブラインド識別子生成装置
106 ブラインド因子
107 ブラインド秘密識別子
108 ブラインドコミットメント装置
109 ブラインドコミットメント
110 証明コミットメント
111 証明のコミットメント
112 挑戦値
113 挑戦値獲得装置
114 証明レスポンス装置
115 証明のレスポンス
116 ブラインド署名
117 ブラインド公開識別子
118 公開識別子送信装置
200 署名装置
201 秘密鍵
202 乱数
203 挑戦値生成装置
205 証明検証装置
206 検証結果
207 グループ署名生成装置
208 公開識別子受信装置
209 ブラインドコミットメント受信装置
300 署名提示装置
301 乱数
302 証明コミットメント装置
303 証明のコミットメント
304 挑戦値獲得装置
305 挑戦値
306 証明レスポンス生成装置
307 証明のレスポンス
400 署名検証装置
401 乱数
402 挑戦値生成装置
403 証明検証装置
404 検証結果
本発明の一実施形態について図面を参照して詳細に説明する。
最初に前提となることを説明する。
L=(Lm,Ls,Lc,Le,Lq,Ln,Lp,LE) は安全性の尺度となる変数の列で、例えば、(380,60,160,60,160,2048,1600,382) の値を使えば、現在においてはおよそ安全と言える。これらの値は計算機の性能の向上にしたがって、より大きな値をとる必要がある。
pとqは素数で、q|p-1 なる関係を満たすとする。Gqは乗法群(Z/pZ)*の位数qの部分群である。
署名受信装置には秘密の識別子である秘密識別子と、公開の識別子である公開識別子の二つのデータが格納される。
mとnは整数であり、j=1,...,mに関するB[j] は一様無作為に選ばれた Gq の要素であり、p,q,m,n,B[j]は上記識別子の形態を定める要素で、領域変数と呼び、Dom と記す。
具体的には、署名受信装置の秘密識別子は体Z/qZ 上のランダムに生成されたn×m 行列、
a[ij]∈Z/qZ ; i=1,...,n; j=1,....,m
で、これをSidと記す。公開識別子は、
D[i] = Πj=1 mB[j]a[ij] mod p・・・式(1)
なるi=i,...,n に関するD[i]である。これをPidと記す。
署名装置には秘密鍵と公開鍵の二つのデータが格納される。P,Q,P',Q'は、P=2P'+1、 Q=2Q'+1なる関係を満たすランダムに生成された4個の素数である。n=PQなる整数である。i=1,,,.n;j=1,...,m に関してA,H,G[ij]は(Z/nZ)* から一様無作為に選ばれた要素である。
秘密鍵は、(P,Q)で、これをSkeyと記す。
公開鍵は領域変数Domと、n,A,H,G[ij]:i=1,...,n;j=1,...,mで、これをPkey と記す。
次に、本発明による装置の実施形態を述べる。
[実施形態1]
図2は本発明による署名受信装置100の構成を示すブロック図である。
署名受信装置100は署名装置200と送受信し、公開鍵101、秘密識別子102、公開識別子103および乱数104を入力し、ブラインド公開識別子117、ブラインド秘密識別子107、ブラインド署名116’を出力するもので、ブラインド識別子生成装置105、ブラインド因子106、ブラインド秘密識別子107、ブラインドコミットメント装置108、ブラインドコミットメント109、証明コミットメント装置110、証明のコミットメント111、挑戦値112、挑戦値獲得装置113、証明レスポンス装置114、ブラインド署名受信装置115、ブラインド署名116、公開識別子送信装置118、証明のレスポンス120から構成されている。
なお、署名受信装置100は、入力装置、出力装置、記憶装置および制御装置からなる一般的なコンピュータシステムにより構成されるもので、ブラインド因子106、ブラインド秘密識別子107、ブラインドコミットメント109、証明のコミットメント111、挑戦値112、証明のレスポンス115、ブラインド署名116は記憶装置内に設定される。また、これら以外の装置もコンピュータシステム内に仮想的に構成される。また、上記の構成要件のうち、証明のコミットメント111、挑戦値112、挑戦値獲得装置113、証明レスポンス装置114、証明のレスポンス120は証明部119を構成する。
署名受信装置100には、
署名装置の公開鍵101:Pkey=(Dom,n, A,H,G[ij]:i=1,...,n;j=1,...,m)、ここで、 Dom=(p,q,m,n,B[j]:j=1,...,m)と、
署名受信装置の秘密識別子102:Sid=(a[ij]∈Z/qZ : i=1,...,n; j=1,....,m)と、
署名受信装置の公開識別子103: Pid=(D[i]:i=1,...,n)と、
乱数104と、が入力される.
署名受信装置100を構成するブラインド識別子生成装置105は、入力された乱数104から、ランダムに整数s∈Z/qZ を生成し、これをブラインド因子106とし、ブラインド秘密識別子107、
b[ij] = s a[ij] mod q i=1,...,n;j=1,...,m・・・式(2)
を計算する。
署名受信装置100を構成するブラインドコミットメント装置108は、入力された乱数104からランダムに整数r'∈{0,1}Ln/2 を生成し、ブラインド秘密識別子のコミットメントであるブラインドコミットメント109、
H' = Hr' Πi=1 nΠj=1 m G[ij]a'[ij] mod n・・・式(3)
を計算し、署名装置200に送付する。
署名受信装置100を構成する公開識別子送信装置118は、署名装置200に署名受信装置100の公開識別子103を送付し、署名装置200と通信することにより、式(1), 式(2)、式(3)および、a[ij]∈{0,1}lLq+Lc+Lc :i=1,...,n;j=1,...,m
を満たすs,r', a[ij]:i=1,...,n;j=1,...,mの知識を、証明部119において以下のように証明する。
[証明手続き始まり]
署名受信装置100は、入力された乱数104からランダムな、
t[i] ∈Z/qZ: i=1,...,n
t'[i] ∈Z/qZ: i=1,...,n
s' ∈Z/qZ
b'[ij]∈{0,1}Lq+Lc+Ls: i=1,...,n;j=1,....,m
u∈{0,1}Ln/2+Lc+Ls
を生成する。
署名受信装置100は、証明コミットメント装置110を用いて、
F[i] = D[i]sHt[i] mod p i=1,...,n
F'[i] = D[i]s'Ht'[i] mod p i=1,...,n
F''[i]=Ht'[i] Πj=1 mB[j]b'[ij] mod p i=1,...,n
H'' =Hu Πi=1 nΠj=1 m G[ij]b'[ij] mod n
を計算し、
F[i]:i=1,...,n,F'[i]:i=1,...,n,F''[i]:i=1,...,n,H'' を証明のコミットメント111として署名装置200に送信する。
署名受信装置100は、挑戦値獲得装置113に対して、署名装置200より証明の挑戦値112 c∈{0,1}Lc が送られるのを待つ。
これを受信したならば、署名受信装置100を構成する証明レスポンス装置114は、
s'' = sc + s' mod q
t''[i] = t[i]c + t'[i] mod q i=1,...,n
b''[ij]= b[ij] c + b'[ij] i=1,...,n;j=1,....,m
u'' = r'c +u i=1,...,n
を計算して、
s'' ,t''[i]:i=1,...,n,b''[ij]:i=1,...,n;j=1,....,m,u' を証明のレスポンス115として署名装置200に送信する。
[証明手続き終わり]
署名受信装置100を構成するブラインド署名受信装置115は、ブラインド署名116 Cer=(Y,E,r'') が署名装置200から送られてくるのを待つ。
受信したならば、これがブラインド秘密識別子の正しいグループ署名であることを、以下の式、
A = YEH'Hr'' mod n
E-2LE∈{0,1}Le+Lc+Ls
r''∈{0,1}Ln/2
が成り立つことより確認する。確認できたら、ブラインド公開識別子117、
Bpid = D'[i] = D[i]smod p:i=1,...,n
を生成し、ブラインド公開識別子117、
Bpid = D'[i] = D[i]s mod p:i=1,...,n
ブラインド秘密識別子107、
Bsid = b[ij]:i=1,...,n;j=1,...,m
ブラインド署名116’、
Bcer = (Y,E,r=r'+r'')
を出力する。
[実施形態2]
図3は本発明による署名装置200の実施形態の構成を示すブロック図である。
署名装置200は、公開鍵101、秘密鍵201および乱数202を入力し、署名受信装置100と送受信するもので、挑戦値112、ブラインド署名116、挑戦値生成装置203、証明検証装置205、検証結果206、グループ署名生成装置207、公開識別子受信装置208、ブラインドコミットメント受信装置209から構成される。
なお、署名装置200は、入力装置、出力装置、記憶装置および制御装置からなる一般的なコンピュータシステムにより構成されるもので、挑戦値112、ブラインド署名116、検証結果206は記憶装置内に設定される。また、これら以外の装置もコンピュータシステム内に仮想的に構成される。また、上記の構成要件のうち、挑戦値112、挑戦値生成装置203、証明検証装置205、検証結果206は検証部204を構成する。
署名装置200には、
秘密鍵201;(P,Q) と、
公開鍵101: Dom, n,A,H,G[ij]:i=1,...,n;j=1,...,m ;ここで、Dom=(p,q,m,n,B[j]:j=1,...,m)と、
乱数202とが入力される。
署名装置200を構成する公開識別子受信装置208は、署名受信装置100からの署名受信装置100の公開識別子103:Pid を受信するのを待つ。
署名装置200を構成するブラインドコミットメント受信装置209は、署名受信装置100からのブラインドコミットメント109を署名受信装置100より送付されるのを待つ。
これを受信したならば、署名装置200は署名受信装置100と通信することにより、式(1)、式(2)および、
a[ij] ∈{0,1}lLq+Lc+Lc :i=1,...,n;j=1,...,m
を満たす、
s,r', a[ij]:i=1,...,n;j=1,...,m
の知識を署名受信装置100が持つことを検証部204により以下のように検証する。
[検証手続き始まり]
さらに署名受信装置100からの証明のコミットメント111
F[i]:i=1,...,n,F'[i]:i=1,...,n,F''[i]:i=1,...,n,H''
が送られてくるのを待ち、これを受信したならば、挑戦値生成装置203を用い、入力された乱数より、
証明の挑戦値112: c∈{0,1}Lc
をランダムに生成して、署名受信装置100に送信する。
署名装置200は、署名受信装置100より証明のレスポンス115、
s'' ,t''[i]:i=1,...,n,b''[ij]:i=1,...,n;j=1,....,m,u'
が送られてくるのを待ち、受信したならば、証明検証装置205を用いて、
D[i]s''Ht''[i] = F[i]cF'[i] mod p i=1,...,n
Ht''[i]Πj=1 m B[j]b''[ij] =F[i]cF''[i] mod p i=1,...,n
Hu'' Πi=1 nΠj=1 m G[ij]b''[ij] =H'cH'' mod n
b''[ij]∈{0,1}Lq+Lc+Ls i=1,...,n;j=1,....,m,u'
u''∈ {0,1}Ln/2+Lc+Ls
が全て成り立つことを確認する。確認できたら検証結果206として正当を出力する。
[検証手続き204終わり]
検証結果が正当である場合、署名装置はグループ署名生成装置207を用いて、入力された乱数202から、
E=2LE+e が素数となるようなe∈{0,1}Leとr''∈{0,1}Ln/2をランダムに生成する。
署名装置200は、Y=(A/(H'Hr''))1/E mod nを計算し, ブラインド署名116: Cer=(Y,E,r'') を署名受信装置100に送信し、動作を終了する。
[実施形態3,4]
次に、署名提示装置と署名検証装置が通信することで、署名提示装置がブラインド署名を保有していることを、署名検証装置に証明する方法を記述する。
[実施形態3]
図4は本発明による署名提示装置300の実施形態の構成を示すブロック図である。
署名提示装置300は、ブラインド公開識別子117、ブラインド秘密識別子107、ブラインド署名116’、公開鍵101、乱数301を入力し、署名検証装置400と送受信を行なうもので、証明コミットメント装置302、証明のコミットメント303、挑戦値獲得装置304、挑戦値305、証明レスポンス生成装置306、証明のレスポンス307から構成される。
なお、署名提示装置300は、入力装置、出力装置、記憶装置および制御装置からなる一般的なコンピュータシステムにより構成されるもので、証明のコミットメント303、挑戦値305、証明のレスポンス307は記憶装置内に設定される。また、これら以外の装置もコンピュータシステム内に仮想的に構成される。また、上記の各構成要件により証明部308を構成する。
署名提示装置300には、
公開鍵101:Dom,n,A,H,G[ij]:i=1,...,n;j=1,...,m、ここで、Dom=(p,q,m,n,B[j]:j=1,...,m) と、
ブラインド公開識別子117:Bpid = D'[i] = D[i]s mod p:i=1,...,nと、
ブラインド秘密識別子107:Bsid = b[ij]:i=1,...,n;j=1,...,m と、
ブラインド署名116:Bcer = (Y,E,r) と、
乱数301とが入力される。
署名提示装置300はブラインド公開識別子117:Bpid を署名検証装置400に送る。
署名提示装置300は署名検証装置400と通信することにより、
D'[i] = Πj=1 mB[j]b[ij] mod p i=1,...,n
A =YEHr Πi=1 nΠ j=1 mG[ij]b[ij] mod n
E- 2LE∈{0,1}Le+Lc+Ls
b[ij]∈{0,1}Lq+Lc+Ls
を満たす
Y,E,r, a[ij]:i=1,...,n;j=1,...,m
の知識を、証明部308により以下のように証明する。
[証明手続き始まり]
署名提示装置300は入力された乱数301から、
t∈{0,1}Ln/2
Le+Lc+Ls
r'∈{0,1}Ln/2+LE+Lc+Ls+2
b'[ij]∈{0,1}Lq+Lc+Ls
をランダムに生成する.
署名提示装置300は、証明コミットメント装置302を用いて、
U = Ht Y mod n
A' = Ue'Hr' Πi=1 n Πj=1 mG[ij]b'[ij} mod n
D''[i]= Πj=1 mB[j]b'[ij] mod n i=1,...,n
を生成して, U,A' D''[i]:i=1,...,n を証明のコミットメント303として出力する.
署名提示装置300を構成する挑戦値獲得装置304は、証明のコミットメント303を署名検証装置400に送り、署名検証装置400より証明の挑戦値305:c∈{0,1}Lc が送られるのを待つ。受信したならば、証明レスポンス生成装置306を用いて、
e'' = e c +e'
r'' = (r-tE)c +r'
b''[ij] = b[ij] c + b'[ij] i=1,...,n;j=1,...,m
を計算して, e'' ,r'',b''[ij]:i=1,...,n;j=1,...,m を証明のレスポンス307として署名検証装置400に送付する。
[証明手続き終わり]
その後、動作を終了する。
[実施形態4]
図5は本発明による署名検証装置400の実施形態の構成を示すブロック図である。
署名検証装置400は、乱数401、公開鍵101を入力して検証結果404を出力し、署名提示装置300と送受信を行なうもので、ブラインド公開識別子117、証明のコミットメント303、挑戦値305、挑戦値生成装置402、証明検証装置403から構成される。
なお、署名検証装置400は、入力装置、出力装置、記憶装置および制御装置からなる一般的なコンピュータシステムにより構成されるもので、ブラインド公開識別子117、証明のコミットメント303、挑戦値305は記憶装置内に設定される。また、これら以外の装置もコンピュータシステム内に仮想的に構成される。また、証明のコミットメント303、挑戦値305、挑戦値生成装置402、証明検証装置403により検証部406を構成する。
署名検証装置400には、
公開鍵101:Dom,n,A,H,G[ij]:i=1,...,n;j=1,...,m 、ここで、Dom=(p,q,m,n,B[j]:j=1,...,m) と、
乱数401とが入力される。
署名検証装置400は、署名提示装置300よりブラインド公開識別子117:Bpid が送られてくるのを待つ。
署名検証装置400は署名提示装置300と通信することにより、
D'[i] = Πj=1 mB[j]b[ij] mod p i=1,...,n
A =YEHr Πi=1 n Πj=1 mG[ij]b[ij] mod n
E- 2LE∈{0,1}Le+Lc+Ls
b[ij]∈{0,1}Lq+Lc+Ls
を満たす
Y,E,r, a[ij]:i=1,...,n;j=1,...,m
の知識を署名提示装置300が保有していることを、検証部406により以下のように検証する。
[検証手続き始まり]
署名検証装置400を構成する挑戦値獲得装置402は、署名提示装置300より証明のコミットメント303 U,A' D''[i]:i=1,...,n が送られてくるのを待つ。これを受信したならば、入力された乱数401より、
証明の挑戦値305:c∈{0,1}Lc
をランダムに生成して、署名提示装置300に送信する。
署名提示装置300より、証明のレスポンス306
e'' ,r'',b''[ij]:i=1,...,n;j=1,...,m が送られてくるのを待つ。受信したならば、署名検証装置400を構成する証明検証装置403は、
c' = c 2LE+e''
とし、
Uc' Hr'' Πi=1 n Πj=1 mG[ij]b''[ij] =AcA' mod n
Πj=1 mB[j]b''[ij] =D[i]cD''[i] mod p
e''∈{0,1}Le+Lc+Ls
b''[ij]∈{0,1}Lq+Lc+Lsi=1,...,n;j=1,...,m
が全て成り立つことを確認する。確認できたら証明を検証結果404として「正当」を出力する。
[検証手続き終わり]
証明検証が正当であれば署名提示を正当と見なす。
[実施形態5]
図6は、挑戦値獲得関数がハッシュ関数である場合の署名提示装置500の実施形態の構成を示すブロック図である。
挑戦値獲得装置501は、
(p,q,m,n,B[j]:j=1,...,m),
n,A,H,G[ij]:i=1,...,n;j=1,...,m
Bpid = D'[i] = D[i]s mod p:i=1,...,n
U,A' D''[i]:i=1,...,n
のハッシュ値を挑戦値502:cとして出力する。
[実施形態6]
挑戦値生成関数がハッシュ関数である場合の署名検証装置の実施形態では、実施形態4における署名検証装置において挑戦値生成関数が、実施形態5の挑戦値生成関数と同じものを使用する。
[実施形態7]
図7は実施形態1〜4の署名受信装置100、 署名装置200 署名提示装置300、署名検証装置400を用いたシステムの構成を示すブロック図である。
本実施形態は、署名受信装置100、署名装置200、署名提示装置300、署名検証装置400とからなるシステムで、署名受信装置100と署名装置200は互いに通信する手段601を備え、署名提示装置300は署名受信装置100の出力を入力し、署名提示装置300と署名検証装置400は互いに通信する手段602を備えている。
署名受信装置100には、署名装置の公開鍵と、署名受信装置100の秘密のデータである秘密識別子102と、署名受信装置100の公開されているデータであり、秘密識別子102に依存したデータである公開識別子103と、乱数104とが入力されている。
署名装置200には、署名装置の秘密のデータである秘密鍵201と、署名装置の公開されているデータである公開鍵101と、乱数202とが入力され、署名受信装置100と署名装置200が互いに通信することで、署名受信装置100が、ブラインド秘密識別子107と、ブラインド公開識別子117と、ブラインド署名116とを出力する。
署名提示装置300には、公開鍵101と、署名受信装置100の出力である、ブラインド秘密識別子107と、ブラインド公開識別子117と、ブラインド署名116と、乱数301と、が入力されている。
署名検証装置400には、公開鍵101と、乱数401とが入力され、署名提示装置300と署名検証装置400が互いに通信し、署名提示装置300にブラインド公開識別子117、ブラインド秘密識別子107、ブラインド署名116のデータが入力されていれば、署名検証装置400は「正当」を検証結果404として出力し、その他の場合は「不当」を検証結果404として出力する。
以下に、本発明の第8ないし第17の実施形態に説明する。
まず、第8ないし第11の実施形態に共通することについて説明する。
L=(Ls,Lc,Le,Lq,Ln,LE) は安全性の尺度となる変数の列で、例えば(60,160,60,160,2048,382) の値を使えば2005年現在においてはおよそ安全と言える. これらの値は計算機の性能の向上にしたがって、より大きな値をとる必要がある。
署名受信装置にはメッセージm ∈ {0,1}Lqが格納される。
署名装置には秘密鍵と公開鍵の二つのデータが格納される。P,Q,P',Q' は, P=2P'+1, Q=2Q'+1 なる関係を満たすランダムに生成された4個の素数であり、N=PQ なる整数である。A,H,G,F は QR(N) から一様無作為に選ばれた要素である。ここで QR(N) とは、 (Z/NZ)* の要素の部分集合で、ある (Z/NZ)* の要素 a が存在して、 a2 と表せるもののことである。
秘密鍵は, (P,Q)で, これを Skey と記す。
公開鍵は N,A,H,G,F で, これをPkey と記す。
以下に、個々の実施の形態を述べる。
[実施形態8]
図8は本発明による署名受信装置1100の構成を示すブロック図である。
署名受信装置100は署名装置1200と送受信し、公開鍵1101、メッセージ1103および乱数1104を入力し、ブラインドコミットメント1109、証明のレスポンス1115、ブラインド署名1116’を出力するもので、ブラインドコミットメント装置1108、ブラインドコミットメント1109、証明コミットメント装置1110、証明のコミットメント1111、挑戦値112、挑戦値獲得装置1113、証明レスポンス装置1114、証明のレスポンス1115、ブラインド署名受信装置1117、ブラインド署名1116から構成されている。
なお、署名受信装置1100は、入力装置、出力装置、記憶装置および制御装置からなる一般的なコンピュータシステムにより構成されるもので、ブラインドコミットメント1109、挑戦値112、証明のレスポンス1115、ブラインド署名1116は記憶装置内に設定される。また、これら以外の装置もコンピュータシステム内に仮想的に構成される。また、上記の構成要件のうち、証明コミットメント装置1110、証明のコミットメント1111、挑戦値112、挑戦値獲得装置1113、証明レスポンス装置1114、証明のレスポンス1115、ブラインド署名受信装置1117、ブラインド署名1116は証明部1119を構成する。
署名受信装置1100には、
署名装置の公開鍵1101 Pkey=(A,H,G,F) と、
メッセージ1103 m と、
乱数1104と、
が入力される。
署名受信装置1100を構成するブラインドコミットメント装置1108は、入力された乱数からランダムに整数 r',s ∈ {0,1}Ln/2 を生成し、ブラインド秘密識別子のコミットメントであるブラインドコミットメント1109
式(1) H' = Hr' Gm Fs mod N
を計算し、署名装置1200に送付する。
署名受信装置1100は、署名装置1200と通信することにより, 式(1) および
m,s ∈{0,1}Lq+Lc+Ls
r' ∈{0,1}Ln/2+Lc+Ls
を満たす
m,s,r'
の知識を、以下のように証明する。
[証明手続き1119始まり]
署名受信装置1100は、入力された乱数1104からランダムな、
m',s' ∈ {0,1}Lq+Lc+Ls: i=1,...,n;j=1,....,m
u ∈ {0,1}Ln/2+Lc+Ls
を生成する。
署名受信装置1100を構成する証明コミットメント装置1110は、
H'' =HuGm'Fs' mod N
を計算し、
H'' を証明のコミットメント1111として署名装置1200に送信する。
署名受信装置1100を構成する挑戦値獲得装置1113は、署名装置1200より証明の挑戦値1112 c ∈ {0,1}Lc が送られるのを待つ。
これを受信したならば、署名受信装置1100を構成する証明レスポンス装置1114は、
s'' = sc + s'
m''= m c + m'
u'' = r'c +u
を計算して、
s'' ,m'',u'' を証明のレスポンス1115として署名装置1200に送信する。
[証明手続き1119終わり]
署名受信装置1100を構成するブラインド署名受信装置1115は、署名1116 Cer=(Y,E,r'') を署名装置1200から送られてくるのを待つ。
受信したならば, これが正しいグループ署名であることを、以下の式、
A = YEH'Hr'' mod N
E-2LE ∈ {0,1}Le+Lc+Ls
r''∈ {0,1}Ln/2+Lc+Ls
が成り立つことより確認する。
確認できたら、ブラインド署名1116’
Bcer = (Y,E,r=r'+r'',s)
を出力する。
[実施形態9]
図9は本発明による署名装置1200の実施形態の構成を示すブロック図である。
署名装置1200は、公開鍵1101、秘密鍵1201および乱数1202を入力し、署名受信装置1100と送受信するもので、挑戦値1112、ブラインド署名1116、挑戦値生成装置1203、証明検証装置1205、検証結果1206、グループ署名生成装置1207、ブラインドコミットメント受信装置1209から構成される。
なお、署名装置1200は、入力装置、出力装置、記憶装置および制御装置からなる一般的なコンピュータシステムにより構成されるもので、挑戦値1112、ブラインド署名1116、検証結果1206は記憶装置内に設定される。また、これら以外の装置もコンピュータシステム内に仮想的に構成される。また、上記の構成要件のうち、挑戦値1112、挑戦値生成装置1203、証明検証装置1205、検証結果1206は検証部1204を構成する。
署名装置1200には、
秘密鍵201(P,Q) と、
公開鍵1101 N,A,H,G,Fと、
乱数1202と、
が入力される。
署名装置1200を構成するブラインドコミットメント受信装置1209は、署名受信装置1100からブラインドコミットメントH'1109を受信するのを待つ。
さらに署名装置1200は、署名受信装置1100より証明のコミットメント1111 H'' が送付されるのを待つ。
これを受信したならば, 署名装置1200は署名受信装置1100と通信することにより、式(1) および
s,m ∈{0,1}Lq+Lc+Ls :i=1,...,N;j=1,...,m
r' ∈{0,1}Lq+Lc+Ls :i=1,...,n;j=1,...,m
を満たす
m,s,r'
の知識を署名受信装置1100が持つことを以下のように検証する。
[検証部1204による検証手続き始まり]
署名装置1200を構成する挑戦値生成装置1203は、署名受信装置1100より証明のコミットメント1111H'' を受信すると、入力された乱数より
証明の挑戦値1112 c ∈ {0,1}Lc
をランダムに生成して、署名受信装置1100に送信する。
署名装置1200は、署名受信装置1100より証明のレスポンス1115
s'' ,m'',u''
が送られてくるのを待ち、
受信したならば、証明検証装置1205を用いて、
Hu'' Gm'' Fs'' =H'cH'' mod N
m'',s'' ∈ {0,1}Lq+Lc+Ls
u'' ∈ {0,1}Ln/2+Lc+Ls
が全て成り立つことを確認する。確認できたら検証結果1206として正当を出力する。
[検証手続き1204終わり]
検証結果が正当である場合、署名装置1200を構成するグループ署名生成装置1207は、入力された乱数1202から、
E=2LE+e が素数となるような e ∈ {0,1}Le
r'' ∈ {0,1}Ln/2
ランダムに生成する.
署名装置1200は、
Y=(A/(H'Hr''))1/E mod N
を計算し、ブラインド署名1116 Cer=(Y,E,r'') を署名受信装置1100に送信し、動作を終了する。
次に、署名提示装置と署名検証装置が通信することで、署名提示装置がブラインド署名を保有していることを、署名検証装置に証明する方法について説明する。
[実施の形態10]
図10は本発明による署名提示装置1300の実施形態の構成を示すブロック図である。
署名提示装置1300は、公開鍵1101、ブラインド署名1116、メッセージ1117、乱数1301を入力し、署名検証装置1400と送受信を行なうもので、証明コミットメント装置1302、証明のコミットメント1303、挑戦値獲得装置1304、挑戦値1305、証明レスポンス生成装置1306、証明のレスポンス1307から構成される。
なお、署名提示装置1300は、入力装置、出力装置、記憶装置および制御装置からなる一般的なコンピュータシステムにより構成されるもので、証明のコミットメント1303、挑戦値1305、証明のレスポンス1307は記憶装置内に設定される。また、これら以外の装置もコンピュータシステム内に仮想的に構成される。また、上記の各構成要件により証明部1308を構成する。
署名提示装置1300には、
公開鍵1101 N,A,H,G,F と、
メッセージ1117 mと、
ブラインド署名1116
Bcer = (Y,E,r,s) と、
乱数1301と、
が入力される。
署名提示装置1300はメッセージ1117 m を署名検証装置1400に送る。
署名提示装置1300は署名検証装置1400と通信することにより、
A =YEHr GmFs mod N
E- 2LE ∈ {0,1}Le+Lc+Ls
m,s ∈ {0,1}Lq+Lc+Ls
を満たす
Y,E,r,s
の知識を以下のように証明する。但し、 m は公開されている。
[証明部1308による証明手続き始まり]
署名提示装置1300は入力された乱数1301から、
t ∈ {0,1}Ln/2
e' ∈ {0,1}Le+Lc+Ls
r' ∈ {0,1}Ln/2+LE+Lc+Ls+2
b'[ij] ∈ {0,1}Lq+Lc+Ls
をランダムに生成する。
署名提示装置1300を構成する証明コミットメント装置1302は、
U = Ht Y mod N
A' = Ue'Hr' Fb' mod N
を生成して、 U,A' を証明のコミットメント1303として出力する。
署名提示装置1300を構成する挑戦値獲得装置1304は、証明のコミットメント1303を署名検証装置に送り、署名検証装置1400より証明の挑戦値1305 c ∈ {0,1}Lc が送られてくるのを待つ。
受信したならば, 証明レスポンス生成装置1306を用いて、
e'' = e c +e'
r'' = (r-tE)c +r'
b'' = s c + b'
を計算して、 e'' ,r'',b''を証明のレスポンス1307として署名検証装置1400に送付する。
[証明手続き終わり]
動作を終了する。
[実施の形態11]
図11は本発明による署名検証装置1400の実施形態の構成を示すブロック図である。
署名検証装置1400は、乱数1401、公開鍵1101を入力して検証結果1404を出力し、署名提示装置1300と送受信を行なうもので、メッセージ1117、証明のコミットメント1303、挑戦値1305、挑戦値生成装置1402、証明検証装置1403から構成される。
なお、署名検証装置1400は、入力装置、出力装置、記憶装置および制御装置からなる一般的なコンピュータシステムにより構成されるもので、メッセージ1117、証明のコミットメント1303、挑戦値1305は記憶装置内に設定される。また、これら以外の装置もコンピュータシステム内に仮想的に構成される。また、証明のコミットメント1303、挑戦値1305、挑戦値生成装置1402、証明検証装置1403により検証部1406を構成する。
署名検証装置1400には、
公開鍵1101 N,A,H,G,F と、
乱数1401と、
が入力される。
署名検証装置1400は、 署名提示装置1300よりメッセージ 1117 m が送られてくるのを待つ。
署名検証装置1400は署名提示装置1300と通信することにより、
A =YEHr Gm Fsmod N
E- 2LE ∈ {0,1}Le+Lc+Ls
m,s ∈ {0,1}Lq+Lc+Ls
r ∈ {0,1}Ln/2+Lc+Ls
を満たす
Y,E,r,s
の知識を署名提示装置が保有していることを、以下のように検証する。
[検証部1406による検証手続き始まり]
署名検証装置1400は、署名提示装置1300より証明のコミットメント1303 U,A' が送られてくるのを待つ.
これを受信したならば、挑戦値獲得装置1402は、入力された乱数1401より、
証明の挑戦値1305 c ∈ {0,1}Lc
をランダムに生成して、署名提示装置1300に送信し、署名提示装置1300より証明のレスポンス1306e'' ,r'',b'' が送られてくるのを待つ。
証明のレスポンス1306e'' ,r'',b'' を受信したならば、署名検証装置1400を構成する証明検証装置1403は、
c' = c 2LE+e''
とし、
Uc' Hr'' Fb''[ij] =AcA' G-mc mod N
e'' ∈ {0,1}Le+Lc+Ls
b'' ∈ {0,1}Lq+Lc+Ls
が全て成り立つことを確認する。確認できたら証明を検証結果1404 として「正当」を出力する。
[検証手続き1406終わり]
証明検証が正当であれば署名提示を正当と見なす。
次に、本発明の実施形態12、13について説明する。まず、これらの実施形態に共通する事柄を説明する。
L=(Lm,Ls,Lc,Le,Lq,Ln,Lp,LE) は安全性の尺度となる変数の列で, 例えば(380,60,160,60,160,2048,1600,382) の値を使えば2005 年現在においてはおよそ安全と言える。これらの値は計算機の性能の向上にしたがって、より大きな値をとる必要がある。
p と q は素数で, q|p-1 なる関係を満たすとする. Gq は乗法群(Z/pZ)* の位数q の部分群である。
署名受信装置には秘密の識別子である秘密識別子と、公開の識別子である公開識別子の二つのデータが格納される。
m と n は整数であり,
j=1,...,m に関する B[j] は 一様無作為に選ばれた Gq の要素であり、
p,q,m,n,B[j] は上記識別子の形態を定める要素で、領域変数と呼び、Dom と記す。
具体的には、署名受信装置の秘密識別子は体 Z/qZ 上のランダムに生成された n × m 行列、
a[ij] ∈ Z/qZ ; i=1,...,n; j=1,....,m
で、これを Sid と記す。公開識別子は、
式(1) D[i] = Πj=1 mB[j]a[ij] mod p
なるi=i,...,n に関する D[i] である。これを Pid と記す。
署名装置には秘密鍵と公開鍵の二つのデータが格納される。P,Q,P',Q' は, P=2P'+1, Q=2Q'+1 なる関係を満たすランダムに生成された4個の素数で、N=PQ なる整数である。i=1,,,.n;j=1,...,m に関して A,H,G[ij] は QR(N) から一様無作為に選ばれた要素である。
秘密鍵は (P,Q)で、これを Skey と記す。
公開鍵は領域変数Dom と N,A,H,G[ij]:i=1,...,n;j=1,...,m で、これをPkey と記す。
以下に、個々の実施形態について説明する。
[実施形態12]
図12は本発明による署名受信装置2100の構成を示すブロック図である。
本実施形態は、実施形態1として図2に示した署名受信装置100を、署名装置2200からの暗号文2120を公開識別子送信装置118に入力する構成としたものである。
実施の形態1 において Dom に, E[1],E[2] ∈ QR(N)2 を追加し、E[2]=E[1]x となる秘密鍵 x に追加する。
署名受信装置は最初に, 署名装置より(E[1],E[2])を公開鍵とするElGamal 暗号方式による暗号文2120、 (C[11],C[12]),(C[ij1],C[ij2]):i=1,...,n;j=1,...,m を受信する。
実施例形態1に示した署名受信装置100ではブラインドコミットメント
H' = Hr' Πi=1 nΠj=1 m G[ij]a'[ij] mod N
を計算し、署名装置200に送付したが、署名受信装置2100は、これの代りに,
式(3) H'[1] = C[11]r' Πi=1 nΠj=1 m G[ij1]a'[ij] mod N
H'[2] = C[12]r' Πi=1 nΠj=1 m G[ij2]a'[ij] mod N
を計算して証明装置2200に送付する。
実施形態1で行なう証明においては 証明のコミットメントを生成するが、ここでは, H'' の代りに、署名受信装置2100が署名装置2200に対して、
H''[1] =C[11]u Πi=1 nΠj=1 m G[ij1]b'[ij] mod N
H''[2] =C[12]u Πi=1 nΠj=1 m G[ij2]b'[ij] mod N
を計算し、送付する。
以上が実施形態1との違いである。
[実施形態13]
図13は本発明による署名装置2200の構成を示すブロック図である。
本実施形態は、実施形態2として図3に示した署名装置200を、公開鍵101および乱数202から暗号文2120を生成し、署名受信装置2100へ送信する署名装置2200としたものである。
以下に、実施形態2に示した署名装置200との差異について主に説明する。
署名装置2200は、最初に、
E=2LE+e が素数となるような e ∈ {0,1}Le
を生成する。
署名装置2200は,(E[1],E[2])を公開鍵101とするElGamal 暗号方式による、H1/E の暗号文2120 (C[11],C[12])、とG[ij]1/E の暗号文 (C[ij1],C[ij2]):i=1,...,n;j=1,...,m を生成して、署名受信装置2100に送付する。
実施形態2で署名受信装置100より受け取るブラインドコミットメントは109H' ∈ QR(N)であったが、ここでは(H'[1],H'[2])∈QR(N)2 である。
実施形態2で署名受信装置100より受け取る証明のコミットメント111は H'' ∈ QR(N)であったが、ここでは(H''[1],H''[2])∈QR(N)2 である。
署名受信装置2100が署名装置2200に対して、実施形態2で行なう検証において、
Hu'' Πi=1 nΠj=1 m G[ij]b''[ij] =H'cH'' mod N
が成り立つことを確認したが、ここでは、これの代りに、
C[11]u'' Πi=1 nΠj=1 m C[ij1]b''[ij] =H'[1]cH''[1] mod N
C[12]u'' Πi=1 nΠj=1 m C[ij2]b''[ij] =H'[2]cH''[2] mod N
が成り立つことを確認する。
検証結果が正当である場合、署名装置2200はグループ署名生成装置207を用いて、入力された乱数202から、
r'' ∈ {0,1}Ln/2をランダムに生成し、署名装置200は、
Y= (A /Hr'')1/E / (H'[2]/H'[1]x) mod N
を計算し、ブラインド署名116 Cer=(Y,E,r'') を署名受信装置2100に送信し、動作を終了する。
次に、本発明の実施形態14、15について説明する。まず、これらの実施形態の前提となる事柄を説明する。
L=(Ls,Lc,Le,Lq,Ln,LE) は安全性の尺度となる変数の列で、例えば(60,160,60,160,2048,382) の値を使えば2005年現在においてはおよそ安全と言える. これらの値は計算機の性能の向上にしたがって, より大きな値をとる必要がある。
署名受信装置にはメッセージm ∈ {0,1}Lqが格納される。
署名装置には秘密鍵と公開鍵の二つのデータが格納される。P,Q,P',Q' は, P=2P'+1, Q=2Q'+1 なる関係を満たすランダムに生成された4個の素数であり、N=PQ なる整数である。A,H,G,F は QR(N) から一様無作為に選ばれた要素である。ここで QR(N) とは(Z/NZ)* の要素の部分集合で、ある (Z/NZ)* の要素 a が存在して、a2 と表せるもののことである。
秘密鍵は(P,Q)で、これを Skey と記す。
公開鍵は N,A,H,G,F で、これをPkey と記す。
[実施形態14]
図14は本発明による署名受信装置3100の構成を示すブロック図である。
本実施形態の署名受信装置3100は、実施形態8として図8に示した署名受信装置1100を、署名装置3200からの暗号文3120をブラインドコミットメント装置1108に入力する構成としたものである。
本実施形態について、特に実施形態8 との差異を主として以下に説明する。
実施形態8におけるDom に, E[1],E[2] ∈ QR(N)2 を追加し、E[2]=E[1]x となる x 秘密鍵に追加する。
署名受信装置3100は、最初に、署名装置3200より(E[1],E[2])を公開鍵とするElGamal 暗号方式による暗号文3120 (C[11],C[12]),(C[21],C[22]),(C[31],C[32])を受信する。
実施形態8の署名受信装置1100ではブラインドコミットメント
H' = Hr' Gm Fs mod N
を計算し、署名装置1200に送付したが、署名受信装置3100ではこれの代りに、
式(3) H'[1] = C[11]r' C[21]m C[31]s mod N
H'[2] = C[12]r' C[22]m C[32]s mod N
を計算して署名装置3200に送付する。
実施形態8で行なう証明においては証明のコミットメントを生成するが、ここでは、署名受信装置3100が署名装置3200に対して、H'' の代りに、
H''[1] =C[11]uC[21]m'C[31]s' mod N
H''[2] =C[12]uC[22]m'C[33]s' mod N
を計算し、送付する。
以上が実施形態8との違いである。
[実施形態15]
図15は本発明による署名装置3200の構成を示すブロック図である。
本実施形態は、実施形態9として図9に示した署名装置1200を、公開鍵1101から暗号文3120を生成し、署名受信装置3100へ送信する署名装置3200としたものである。
以下に、実施形態9に示した署名装置1200との差異について主に説明する。
署名装置3200は最初に、
E=2LE+e が素数となるような e ∈ {0,1}Le
を生成する。
署名装置3200は、(E[1],E[2])を公開鍵とするElGamal 暗号方式による, 暗号文の集合3120 H1/E の暗号文 (C[11],C[12])と、G1/E の暗号文(C[21],C[22]) と、F1/E の暗号文(C[31],C[32]) と、を生成して、署名受信装置3100に送付する。
実施形態9で署名受信装置1100より受け取るブラインドコミットメントは H' ∈ QR(N)であったが、ここでは(H'[1],H'[2])∈QR(N)2 である。
実施形態9で署名受信装置1100より受け取る証明のコミットメントは H'' ∈ QR(N)であったが、ここでは(H''[1],H''[2])∈QR(N)2 である。
実施形態12で署名受信装置2100が署名装置2200に対して行なう検証において、
Hu'' Gm'' Fs'' =H'cH'' mod N
が成り立つことを確認したが、ここでは、これの代りに
C[11]u'' C[21]m'' C[31]s'' =H'[1]cH''[1] mod N
C[12]u'' C[22]m'' C[32]s'' =H'[2]cH''[2] mod N
が成り立つことを確認する。
検証結果が正当である場合、 署名装置はグループ署名生成装置1207を用いて、入力された乱数1202から、
r'' ∈ {0,1}Ln/2をランダムに生成し、署名装置3200は、
Y= (A /Hr'')1/E / (H'[2]/H'[1]x) mod N
を計算し、ブラインド署名1116 Cer=(Y,E,r'') を署名受信装置3100に送信し、動作を終了する。
[実施形態16]
本実施形態は、挑戦値獲得関数がハッシュ関数である場合の署名提示装置の実施形態であり、実施形態10における署名提示装置1300において、挑戦値獲得関数1500は、この関数に入力された値のハッシュ値を挑戦値1500 c として出力する。
[実施例17]
本実施形態は、挑戦値生成関数がハッシュ関数である場合の署名検証装置の実施形態であり、実施形態11における署名検証装置1400において、挑戦値生成関数として、実施形態16の挑戦値生成関数と同じものを使用する。

Claims (18)

  1. 署名受信装置と、該署名受信装置と通信する署名装置と、前記署名受信装置の出力を入力とする署名提示装置と、該署名提示装置と通信する署名検証装置とからなり、前記署名提示装置が署名受信装置から受け取ったブラインド公開識別子を変更を加えずに署名検証装置に送信する制限付ブラインド署名システムであって、
    前記署名装置は、秘密のデータである前記署名装置の秘密鍵と、該秘密鍵に対応する公開鍵と、第1の乱数とが入力され、前記秘密鍵と前記公開鍵と前記第1の乱数から第1のブラインド署名を生成して、該第1のブラインド署名を前記署名受信装置へ出力し、
    前記署名受信装置は、前記署名装置の公開鍵と、メッセージと、秘密のデータである前記署名受信装置の秘密識別子と、公開されているデータであり、前記秘密識別子に依存したデータである前記署名受信装置の公開識別子と、第2の乱数とが入力されて、該第2の乱数から秘密のデータであるブラインド因子を生成し、前記秘密識別子と前記ブラインド因子とから計算されるブラインド秘密識別子を生成して出力し、前記ブラインド秘密識別子と前記第1のブラインド署名に依存したデータであるブラインド公開識別子を生成して出力し、前記第1のブラインド署名から前記メッセージがメンバー証明書の一部となるグループ署名である第2のブラインド署名を生成して出力し、前記公開鍵と前記第2の乱数から前記ブラインド秘密識別子のコミットであるブラインドコミットメントを生成して出力し、前記公開識別子の送信作業を含むデータの通信を前記署名装置と行い、
    前記署名提示装置は、前記公開鍵と、前記ブラインド秘密識別子と、前記ブラインド公開識別子と、前記第2のブラインド署名と、第3の乱数と、が入力され、これらの入力状態を示す入力状態表示信号を前記署名検証装置へ出力し、
    前記署名検証装置は、前記入力状態表示信号と、前記公開鍵と、前記ブラインド公開識別子と、第4の乱数と、が入力され、これらの各入力が、前記ブラインド公開識別子、前記ブラインド秘密識別子、前記第2のブラインド署名が前記署名提示装置に入力されていることを示す場合には「正当」を、その他の場合には「不当」を出力することを特徴とする制限付ブラインド署名システム。
  2. 請求項1記載の制限付ブラインド署名システムを構成する署名受信装置であって、
    前記第2のブラインド署名が前記秘密鍵により生成されたグループ署名であることを特徴とする署名受信装置。
  3. 請求項1記載の制限付ブラインド署名システムを構成する署名装置であって、
    前記ブラインドコミットメントを獲得する前記通信手段を備え、前記ブラインドコミットメントがコミットしたデータであるブラインド秘密識別子に対する署名である第1のブラインド署名を前記秘密鍵により生成されたグループ署名として生成することを特徴とする署名装置。
  4. 請求項2記載の署名受信装置において、
    前記秘密識別子と前記第2の乱数とを入力し、前記第2の乱数からブラインド因子を生成し、前記ブラインド因子と前記秘密識別子からブラインド秘密識別子を生成し出力するブラインド秘密識別子生成装置と、
    前記公開鍵と前記ブラインド秘密識別子と前記第2の乱数が入力され、前記ブラインド秘密識別子のコミットメントであるブラインドコミットメントを生成して前記署名装置に送付するブラインドコミットメント生成装置と、
    前記公開識別子を署名装置に送付する公開識別子送信装置と、
    前記ブラインド秘密識別子と前記第2の乱数とが入力され、前記署名装置と通信することで、前記ブラインドコミットメントが前記ブラインド秘密識別子のコミットメントであることの知識の証明を前記署名装置に対して行うブラインドコミットメント証明装置と、
    前記署名装置から前記ブラインドコミットメントによりコミットされた前記ブラインド秘密識別子に対するグループ署名である第1のブラインド署名を受け取り、前記署名を検証して第2のブラインド署名を出力するブラインド署名受信装置と、
    を含むことを特徴とする署名受信装置。
  5. 請求項3記載の署名装置において、
    前記署名受信装置と通信することにより署名受信装置の公開識別子を受信する公開識別子受信装置と、
    前記署名受信装置より送られたブラインドコミットメントを受信し、前記署名装置の公開識別子とブラインドコミットメントと公開鍵と前記第1の乱数とが入力され、署名受信装置と通信することにより前記公開識別子が依存するデータである秘密識別子と乱数から生成されたあるブラインド因子とから計算されるあるブラインド秘密識別子が前記署名受信装置に存在している場合には前記ブラインドコミットメントはこのブラインド秘密識別子のコミットメントであることの知識の証明を検証し、証明を正当と認めれば「正当」をその他の場合は「不当」を出力するブラインドコミットメント検証装置と、
    前記秘密鍵と公開鍵と前記ブラインドコミットメントと前記第1の乱数とが入力され、前記ブラインドコミットメント検証装置が「正当」を出力すれば前記ブラインドコミットメントがコミットしたブラインド秘密識別子に対するグループ署名を生成し、署名受信装置に送信するグループ署名生成装置と、
    を含むことを特徴とする署名装置。
  6. 請求項1記載の制限付ブラインド署名システムを構成する署名提示装置であって、
    前記公開鍵と、前記ブラインド公開識別子と、前記ブラインド秘密識別子と、前記第2のブラインド署名と、前記第3の乱数とが入力され、
    前記入力状態を示す信号として、
    入力された前記ブラインド公開識別子を前記署名検証装置に送付し、
    あるブラインド秘密識別子が存在して、前記ブラインド公開識別子がこのブラインド秘密識別子に依存するデータであることの知識の証明と、このブラインド秘密識別子に対するグループ署名である第2のブラインド署名の知識の証明とを署名検証装置と通信して行う知識証明装置を含むことを特徴とする署名提示装置。
  7. 請求項1記載の制限付ブラインド署名システムを構成する署名検証装置であって、
    前記ブラインド公開識別子を前記署名提示装置より受信し、前記公開鍵と、前記第4の乱数と、が入力され、あるブラインド秘密識別子が存在して前記ブラインド公開識別子がこのブラインド秘密識別子に依存するデータであることの知識の証明とこのブラインド秘密識別子に対するグループ署名である第2のブラインド署名の知識の証明との検証を前記署名提示装置と通信して行う知識証明検証装置を含むことを特徴とする署名検証装置。
  8. 請求項4記載の署名受信装置において、
    前記ブラインドコミットメント証明装置は、
    証明コミットメント装置と、第1の挑戦値獲得装置と、証明レスポンス装置よりなり、前記証明コミットメント装置は、乱数のコミットメントである証明コミットメントを生成するものであり、前記第1の挑戦値獲得装置は証明コミットメントを前記署名装置に送付し、前記署名装置から挑戦値を受信するものであり、前記証明レスポンス装置は、前記挑戦値と、前記証明コミットメントの生成に使った前記第2の乱数と前記ブラインド秘密識別子と前記ブラインド因子とから証明のレスポンスを生成するものであることを特徴とする署名受信装置。
  9. 請求項5記載の署名装置において、
    前記ブラインドコミットメント検証装置は、第1の挑戦値生成装置と、証明検証装置よりなり、前記第1の挑戦値生成装置は、証明のコミットメントと呼ばれるデータを受信するのを待ち、受信したならば前記乱数を用いてランダムな数である挑戦値を生成し、前記署名受信装置に送付し、前記署名検証装置は、前記署名受信装置より証明のレスポンスと呼ばれるデータを受信するのを待ち、これを受信したら、前記証明のコミットメント、前記挑戦値、前記証明のレスポンスが、ある検証式を満たすかどうかで、「正当」あるいは「不当」を出力するものであることを特徴とする署名装置。
  10. 請求項6記載の署名提示装置において、
    第2の挑戦値獲得装置を備え、証明のコミットメントの他に公開鍵とブラインド公開識別子が入力され、前記証明のコミットメントと前記公開鍵と前記ブラインド公開識別子を含むデータのハッシュ値を挑戦値として出力することを特徴とする署名提示装置。
  11. 請求項7記載の署名検証装置において、
    第2の挑戦値生成装置を備え、前記証明のコミットメントと前記公開鍵と前記ブラインド公開識別子を含むデータのハッシュ値を挑戦値として出力することを特徴とする署名検証装置。
  12. 署名受信装置と、該署名受信装置と通信する署名装置と、前記署名受信装置出力を入力する署名提示装置と、該署名提示装置と通信する署名検証装置とからなる制限付ブラインド署名システムであって、
    前記署名装置は、秘密のデータである前記署名装置の秘密鍵と、該秘密鍵に対応する公開鍵と、第1の乱数とが入力され、前記秘密鍵と前記公開鍵と前記第1の乱数から第1のブラインド署名を生成して、該第1のブラインド署名を前記署名受信装置へ出力し、
    前記署名受信装置は、前記署名装置の公開鍵と、メッセージと、第2の乱数と、前記第1のブラインド署名とが入力され、これらの各入力から前記メッセージがメンバー証明書の一部となるグループ署名である第2のブラインド署名を出力し、
    前記署名提示装置には、前記公開鍵と、前記メッセージと、前記署名受信装置の出力である前記第2のブラインド署名と、第3の乱数と、が入力され、これらの入力状態を示す信号を前記署名検証装置へ出力し、
    前記署名検証装置は、前記公開鍵と、第4の乱数と、が入力され、これらの各入力が、前記メッセージ、前記第2のブラインド署名が前記署名提示装置に入力されていることを示す場合には「正当」を、その他の場合には「不当」を出力することを特徴とする制限付ブラインド署名システム。
  13. 請求項12記載の制限付ブラインド署名システムを構成する署名受信装置であって、
    前記メッセージのコミットメントであるブラインドコミットメントを前記署名装置に送信することを特徴とする署名受信装置。
  14. 請求項12記載の制限付ブラインド署名システムを構成する署名装置であって、
    前記メッセージのコミットメントであるブラインドコミットメントを入力し、前記ブラインドコミットメントがコミットしたデータであるメッセージに対する署名であり、かつ、前記秘密鍵により生成された、メンバ証明書に前記メッセージを含むグループ署名である第1のブラインド署名を生成して前記署名受信装置に送ることを特徴とする署名装置。
  15. 請求項13に記載の署名受信装置において、
    前記公開鍵と前記メッセージと前記乱数が入力され、前記メッセージのコミットメントであるブラインドコミットメントを生成し、前記署名装置に送付するブラインドコミットメント生成装置と、
    前記メッセージと前記公開鍵と前記乱数とが入力され、署名装置と通信することで、
    前記ブラインドコミットメントが前記メッセージのコミットメントであることの知識の証明を署名装置に対して行う証明コミットメント装置と、
    前記署名装置から前記ブラインドコミットメントによりコミットメントされた第1のブラインド署名を受け取って検証し、第2のブラインド署名を出力するブラインド署名受信装置と、
    を含むことを特徴とする署名受信装置。
  16. 請求項14に記載の署名装置において、
    公開鍵と、乱数と、ともに、前記署名受信装置から送られたブラインドコミットメントとが入力され、前記ブラインドコミットメントが前記メッセージのコミットメントであることの知識の証明を検証し、証明結果が正当と認めるものであれば「正当」を、その他の場合は「不当」を出力する証明検証装置と、
    前記秘密鍵と公開鍵と前記ブラインドコミットメントと乱数とが入力され、前記証明検証装置が「正当」を出力すると、前記ブラインドコミットメントがコミットメントしたメッセージをメンバ証明書として含むグループ署名を生成し,署名受信装置に送信するグループ署名生成装置と、
    を含むことを特徴とする署名装置。
  17. 請求項12記載の制限付ブラインド署名システムを構成する署名提示装置であって、
    前記メッセージを前記署名検証装置に送付し、メッセージがメンバ証明書に含まれるグループ署名について、メンバ証明の知識を保持す知識証明装置を、
    含むことを特徴とする署名提示装置。
  18. 請求項12記載の制限付ブラインド署名システムを構成する署名検証装置であって、
    メッセージを前記署名提示装置より受信し、前記署名提示装置がメッセージをメンバ証明書に含むグループ署名のメンバ証明の知識を保持していることの検証を行う知識検証装置を、
    含むことを特徴とする署名検証装置。
JP2006550721A 2004-12-27 2005-12-22 制限付ブラインド署名システム Expired - Fee Related JP4973193B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006550721A JP4973193B2 (ja) 2004-12-27 2005-12-22 制限付ブラインド署名システム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2004377604 2004-12-27
JP2004377604 2004-12-27
PCT/JP2005/023576 WO2006070682A1 (ja) 2004-12-27 2005-12-22 制限付ブラインド署名システム
JP2006550721A JP4973193B2 (ja) 2004-12-27 2005-12-22 制限付ブラインド署名システム

Publications (2)

Publication Number Publication Date
JPWO2006070682A1 JPWO2006070682A1 (ja) 2008-08-07
JP4973193B2 true JP4973193B2 (ja) 2012-07-11

Family

ID=36614799

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006550721A Expired - Fee Related JP4973193B2 (ja) 2004-12-27 2005-12-22 制限付ブラインド署名システム

Country Status (4)

Country Link
US (1) US20080141035A1 (ja)
EP (1) EP1838031A4 (ja)
JP (1) JP4973193B2 (ja)
WO (1) WO2006070682A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4771053B2 (ja) * 2005-05-27 2011-09-14 日本電気株式会社 統合シャッフル正当性証明装置、証明統合装置、統合シャッフル正当性検証装置及びミックスネットシステム
US7958362B2 (en) * 2005-10-11 2011-06-07 Chang Gung University User authentication based on asymmetric cryptography utilizing RSA with personalized secret
US7860244B2 (en) * 2006-12-18 2010-12-28 Sap Ag Secure computation of private values
JP5186790B2 (ja) * 2007-04-06 2013-04-24 日本電気株式会社 電子マネー取引方法、及び電子マネーシステム
JP4548441B2 (ja) * 2007-04-11 2010-09-22 日本電気株式会社 コンテンツ利用システム、及びコンテンツ利用方法
WO2010041698A1 (ja) * 2008-10-07 2010-04-15 日本電気株式会社 名称暗号化装置、仮名化装置、名称暗号化方法及び仮名化方法
CN113630416A (zh) 2015-06-30 2021-11-09 维萨国际服务协会 机密认证和供应
DE102018009943A1 (de) * 2018-12-18 2020-06-18 Giesecke+Devrient Gesellschaft mit beschränkter Haftung Verfahren zum Erzeugen einer blinden Signatur
DE102018009950A1 (de) * 2018-12-18 2020-06-18 Giesecke+Devrient Gesellschaft mit beschränkter Haftung Verfahren zum Erhalten einer blinden Signatur
US10797887B2 (en) * 2019-06-26 2020-10-06 Alibaba Group Holding Limited Confidential blockchain transactions
JPWO2022153377A1 (ja) * 2021-01-13 2022-07-21

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL9301348A (nl) * 1993-08-02 1995-03-01 Stefanus Alfonsus Brands Elektronisch betalingssysteem.
US5901229A (en) * 1995-11-06 1999-05-04 Nippon Telegraph And Telephone Corp. Electronic cash implementing method using a trustee
US6636969B1 (en) * 1999-04-26 2003-10-21 Lucent Technologies Inc. Digital signatures having revokable anonymity and improved traceability
US7360080B2 (en) * 2000-11-03 2008-04-15 International Business Machines Corporation Non-transferable anonymous credential system with optional anonymity revocation
KR20030062401A (ko) * 2003-07-04 2003-07-25 학교법인 한국정보통신학원 겹선형쌍을 이용한 개인식별정보 기반의 은닉서명 장치 및방법

Also Published As

Publication number Publication date
WO2006070682A1 (ja) 2006-07-06
EP1838031A1 (en) 2007-09-26
US20080141035A1 (en) 2008-06-12
JPWO2006070682A1 (ja) 2008-08-07
EP1838031A4 (en) 2013-08-14

Similar Documents

Publication Publication Date Title
JP4973193B2 (ja) 制限付ブラインド署名システム
Wang et al. Security analysis of a single sign-on mechanism for distributed computer networks
Shahandashti et al. Threshold attribute-based signatures and their application to anonymous credential systems
Blazy et al. Signatures on randomizable ciphertexts
JP5060556B2 (ja) グループ署名システム、装置及びプログラム
JP5205398B2 (ja) 鍵認証方式
US20100142704A1 (en) Cryptographic encoding and decoding of secret data
CN1937496A (zh) 可延展伪名证书系统和方法
Chen Efficient fair exchange with verifiable confirmation of signatures
US8015398B2 (en) Set membership proofs in data processing systems
Camenisch et al. Structure preserving CCA secure encryption and applications
EP2846492A1 (en) Cryptographic group signature methods and devices
Kiltz et al. Identity-based signatures
Kiayias et al. Concurrent blind signatures without random oracles
El Aimani et al. Toward practical group encryption
Wang et al. Anonymous single sign-on schemes transformed from group signatures
KR101802826B1 (ko) Id 기반 인증 및 키 교환 방법
JP3513324B2 (ja) ディジタル署名処理方法
Shao Certificate-based verifiably encrypted signatures from pairings
EP2384563B1 (en) Verification of data items in data processing systems
Tian et al. A systematic method to design strong designated verifier signature without random oracles
Fuchsbauer et al. Proofs on encrypted values in bilinear groups and an application to anonymity of signatures
Feng et al. Generic constructions for strong designated verifier signature
Shao et al. Certificate‐based verifiably encrypted RSA signatures
Modares et al. Make a Secure Connection Using Elliptic Curve Digital Signature

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110824

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120119

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: 20120313

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120326

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150420

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees