JP2008512060A - 仮署名スキーム - Google Patents

仮署名スキーム Download PDF

Info

Publication number
JP2008512060A
JP2008512060A JP2007530274A JP2007530274A JP2008512060A JP 2008512060 A JP2008512060 A JP 2008512060A JP 2007530274 A JP2007530274 A JP 2007530274A JP 2007530274 A JP2007530274 A JP 2007530274A JP 2008512060 A JP2008512060 A JP 2008512060A
Authority
JP
Japan
Prior art keywords
signature
message
server
provisional
temporary
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.)
Pending
Application number
JP2007530274A
Other languages
English (en)
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.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
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 NTT Docomo Inc filed Critical NTT Docomo Inc
Publication of JP2008512060A publication Critical patent/JP2008512060A/ja
Pending legal-status Critical Current

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/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
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Communication Control (AREA)

Abstract

【課題】仮署名スキームの一部を実現する方法及び装置が開示されている。
【解決手段】一実施形態において、前記方法は、メッセージ上でオペレーションを行うことにより仮署名を生成する工程と、前記仮署名を完了してメッセージ上の最終署名を生成する工程とを含む。そのようなスキームは、サーバアシスト型署名スキーム、指定確認者署名スキーム、及び、ブラインド署名スキームに用いられてもよい。

Description

本願は、「Method and Apparatus for Provisional Signature Schemes, Including Server-Assisted, Designated Conformer, and Blind Signature Schemes」と題され、2004年8月27日に出願された、対応する米国仮特許出願第60/605,206号に基づく優先権を主張する。
本発明は、暗号技術の分野に関する。特に、本発明は、サーバアシスト型デジタル署名を構築するための仮署名、指定確認者署名、及びブラインド署名スキームを含む仮署名スキームに関する。
一般的なデジタル署名の分野で最も普及している署名スキームは、RSA及び楕円曲線上のUSデジタル署名アルゴリズム(ECDSA)である。適当なパラメータを有するRSAアルゴリズムは、非常に高速で検証することができるが、署名を生成するのは遅い。また、RSAにおける署名は、少なくとも1キロバイトの大きさであるため、SIMカードや製品登録用としては不向きとなっている。
「オンライン/オフライン」のデジタル署名用のスキームが、Shamir及びTaumanによって提案されている(非特許文献1参照)。彼らのスキームは、カメレオンハッシュ関数を利用し、仮署名を効率的に生成するために用いることができる「ハッシュ-署名-切り換え」パラダイムを導入している。しかしながら、彼らは、彼らのスキームを、サーバアシスト方式で処理を行う場合に応用することについて考えなかった。
Shamir及びTauman著、「Improved Online-Offline Signature Scheme」、CRYPTO2001 P. Nguyen及びJ. Stern著、「The Beguin-Quisquater Server-Aided RSA Protocol from Crypt’95 is not secure」、Asiacrypt 95、 P. Beguin及びJ. J. Quisquater著、「Fast server-aided RSA signatures secure against active attacks」、CRYPT 1995 M. Jakobsson及びS. Wetzel著、「Secure Server-Aided Signature Generation」、International Workshop on Practice and Theory in Public Key Cryptography、2001年 Bicacki及びBayal著、「Server Assisted Signatures Revisited」、RSA Cryptographers’ Track 2003 V. Goyal著、「More Efficient Server Assisted Signatures」、Cryptography Eprint Archive、2004年 S. Goldwasser及びE. Waisbard著、「Digital Signature Scheme into Designated Confirmer Signature Schemes」、2004年
サーバアシスト型のデジタル署名では、別のサーバを利用して署名に要求される計算処理及び通信のオーバーヘッドを減らすことが望ましい。これは、サーバアシスト型署名(SAS:Server Assisted Signatures)として公知である。もちろん、効率的なデジタル署名が望まれ、第三者が利用可能であるいくつかのシナリオが想定可能である。署名者の通信及び計算を減らすという問題は、最も現実的な関心事である。なぜならば、それによって、より効率的なエネルギー利用が可能となり、移動通信機器の寿命が延びるからである。先行して提案されたSASの多くは、安全でないことが分かっているし、署名ごとに大容量データの通信が署名者に要求されたり、クライアントごとに大容量の状況を記憶することがサーバに要求されたりするものもある。
SASの応用例に、製品登録がある。署名者は、認証鍵をソフトウェアや新規に購入した電話機に配布したいと希望しているかもしれない。検証者は、サーバに対して接続性を有すると考えられるソフトウェア自体を含む。認証鍵は、ソフトウェア自体の署名及びシリアル番号によって構成されている。さらに、デジタル署名は、ソフトウェアと共に出荷される用紙又はラベル上にタイプされる。
SASの応用の他の例として、UIMカードがある。UIMカードは、プロセッサ及び小容量のストレージを含むスマートカードである。UIMカードは、電話から電話へ又は電話からパソコンへ等というように機器から機器へ移動する際に、ユーザに、単一のアイデンティティを保持させることができる。また、UIMカードは、RSAを使用してユーザをウェブサイトに対して認証する「FirstPass SSLのクライアント認証」において用いられている。現在のUIMカードには、RSAデジタル署名を実行するための特殊用途プロセッサが必要であり、署名ごとに1/2秒程かかる。さらに、RSA秘密鍵は、UIMカード上に1キロバイトの容量をとり、そのため、カード上の鍵の数は、5つに制限される。
サーバアシスト型署名の問題に対する従来の解決策には、いくつかの欠点があった。Beguin及びQuisquaterによるスキームは、Nguyen及びSternによって安全でないことが示されている。そのため、実用向きとは考えられない(詳細については、非特許文献2及び非特許文献3参照)。Jakobsson及びWetzelによる方法は安全そうであるが、その使用は、DSA及びECDSAのみに限定されている。なぜならば、署名は、少なくとも320ビットの大きさがあるからである(非特許文献4参照)。Bicacki及びBayalによるスキームでは、サーバは、署名ごとの署名者当たり、5キロバイトを記憶するように要求される(非特許文献5参照)。例えば、署名者当たり、1日に10個の署名を生成する8000万人の署名者がいたとすると、これには、大まかに見積もって、一日当たり、3.7テラバイトを記憶しなければならない。Goyalのスキームは、この問題に取り組んでおり、署名当たり、480バイトのサーバストレージを必要としている(非特許文献6参照)。8000万人の署名者で、1日当たり10個の署名があれば、このスキームでは、1日に、大まかに見積もっても、357ギガバイトが必要である。
さらに悪いことに、両方のスキームにおいて、サーバが記憶しなければならないデータ量は、限界なく増加する。これは、サーバが、不正行為を働いたとして、ある署名者から告訴された場合に備えて、データが保持されているからである。そのため、サーバが告訴される可能性がないと確信できるまで、実際に、何カ月も、又は、何年も、データを保持しなければならない。「時効」を1年間と仮定すると、Goyalのスキームでは、127テラバイトのサーバストレージが必要となる。何れかのデータが欠けていたり、署名に不備があったりした場合、サーバは、自らが正しく行動したことを証明できなくなってしまう。
Goyal及びBicacki-Bayalのスキーム双方における他の欠点は、署名者が、1つ1つのメッセージごとに、1回限りの署名に対する公開鍵をサーバに送信しなければならないことである。Goyalの論文で提案された実施形態では、署名ごとの通信に26キロバイトが要求される。この容量の大きい通信は、製品登録への応用を不可能なものにしている。
署名の他の種類として、「指定確認者署名(designated confirmer signature)がある。指定確認者デジタル署名では、メッセージ上の署名について、特別な「指定確認者」の支援なしで検証することはできない。署名者は、署名が生成されると、指定確認者を選択する。指定確認者は、署名をとり、署名が本物であるかを確認、又は、署名者によって実際に生成されたものでない署名を否認するが、かかる指定確認者は、新規の署名を生成できない。また、かかる指定確認者は、署名を、誰もが検証できる通常の署名に変換することもできる。
指定確認者を使用する応用例に、電子契約の署名がある。求職者及び雇用主になる可能性のある者が、雇用契約の交渉を物理的に同じ部屋に居合わせることなく行うことができる。雇用主は、従業員に他の雇用主候補との取引材料として契約書を使って欲しくないと考えるだろう。そのため、雇用主は、指定確認者の署名を用いて署名することができ、裁判所を、かかる指定確認者として指定することができる。争議が生じた場合、そのようにして署名を検証することができるが、その一方で、他の雇用主が署名を検証することはできない。
指定確認者を利用する応用例には、ソフトウェアパッチの検証がある。ソフトウェアのベンダーは、ソフトウェアパッチの使用を、ソフトウェアを正規に購入したユーザだけに制限したいと考えている。この制限を実現する1つの方法として、指定確認者署名スキームでパッチに署名し、登録ユーザだけに確認したことを知らせる方法がある。未登録のユーザは、署名を検証することができず、危殆化したソフトウェアパッチをインストールするリスクを負うことになる。
最近では、指定確認者デジタル署名を実装するには、RSA等のアルゴリズムの特殊用途プロパティを用いる。これらの特定のアルゴリズムが安全でないと分かった場合、これらのスキームも安全ではない。Goldwasser及びWaisbardは、いくつかの既存の署名スキームを、指定確認者署名スキームに変換する方法を開示している(非特許文献7参照)。
他の署名の種類として、「ブラインド署名(blind signature)」がある。ブラインド署名では、署名者は、メッセージMの「ブラインドされた」バージョンXに署名する。ブラインドされたバージョンXは、ブラインド要素rを用いて生成される。「ブラインダ(blinder)」は、メッセージMを署名者に明らかにすることなく、M上の署名を取得したいと考えている。これは、署名者に対して、MのブラインドされたバージョンであるメッセージXに署名するようにブラインドした状態で依頼することで、実現できる。署名後、署名は、ブラインド要素を使ってM上の署名を取得するために「ブラインドをはずす」ことができる。ブラインド要素なしでは、ブラインドされたメッセージX上の署名をブラインドされていないメッセージMとリンクさせることは不可能である。X上の署名から、ブラインダは、M上の署名を回復することができる。X上の署名は、「仮署名」であり、また、M上の署名は、「最終署名」である。
ブラインド署名の応用例として、リンクができない電子キャッシュトークンがある。銀行でさえ異なる取引を追跡できないことを保証することで、ユーザのプライバシーを強化することが目的である。ユーザは、ある額面に対してトークンを生成し、そのトークンをブラインドする。銀行は、ブランドされたトークンに署名し、それをユーザに戻す。そして、ユーザは、ブラインドをはずし、トークン上の銀行の署名を取得する。トークンと、トークン上の銀行の署名により、ユーザは、金融取引に参加することができる。なぜならば、第三者が銀行の署名を確認することができるからである。一方、銀行は、ブラインドされたトークンに署名したため、トークンをユーザまで追跡することはできず、ユーザに匿名性を与える。不正行為を行うユーザを防ぐために、ユーザが、100以上の同じ額面のトークンを生成し、銀行が、最後のトークンに署名する前に、100のトークンのうちランダムに選択した99のトークンを見せてもらうように依頼する「切断選択法(cut-and-choose)」を用いてもよい。
仮署名スキームの一部を実現する方法及び装置が開示されている。一実施形態において、かかる方法は、メッセージ上でオペレーションを行うことにより仮署名を生成する工程と、仮署名を完了してメッセージ上の最終署名を生成する工程とを有する。そのようなスキームは、サーバアシスト型署名スキーム、指定確認者署名スキーム、及びブラインド署名スキームに用いられてもよい。
本発明は、以下に詳細な説明及び本発明の様々な実施形態の添付図からより完全に理解できるであろう。しかし、それらは、本発明を特定の実施形態に限定するためのものあると考えられるべきでなく、説明と理解のためだけのものであると考えられるべきである。
仮署名スキームを説明する。特に、署名者は、第三者のサーバによって「最終署名」に変換される「仮署名」を生成する。これらの最終署名は、検証者によって検証することができる。一実施形態では、第三者のサーバが、危殆化している、又は、不具合を起こしている可能性を相殺するために、サーバ自体は、文書に署名できず、署名者によって生成された仮署名を変換できるだけである。一実施形態では、サーバは、ほとんど計算を行わず、大勢の署名者を取り扱うことができるように、署名ごとに小さい容量のデータだけを記憶する。
仮署名スキームには、サーバアシスト型署名スキーム、指定確認者署名スキーム、及びブラインド要素スキームが含まれる。一実施形態では、サーバアシスト型署名スキームは、製品登録や装置の計算負荷軽減用に使用されている。一実施形態では、指定確認者署名スキームは、デジタル契約の公正な取引に使用されている。一実施形態では、ブラインド署名スキームは、匿名の電子キャッシュを生成するために使用されている。
本発明の複数の実施形態には、署名者やサーバや検証者の計算要件、及び、これらが通信するチャネルの帯域要件の点で、効率的で安全なサーバアシスト型署名用スキームが含まれる。本発明の一実施形態では、かかるスキームが、署名ごとに160バイトだけという署名者の通信の複雑度を有する。かかる通信の複雑度は、以前のSASスキームより大幅に改善された水準である
一実施形態において、本明細書においてUIMカードを使用するとして説明されているSAS法では、秘密鍵ごとに必要なスペースは、128ビットだけであるため、特殊用途の共同プロセッサを使用しなくても高速署名が可能となっている。
以下の説明において、本発明をより完全に説明するために、多くの詳細を記載する。しかしながら、当業者においては、本発明は、これらの特定の詳細なしで実施することが可能であることが自明であろう。また、公知の構造及び装置については、本発明が不明瞭になることを避けるために、詳細を示すのではなくブロック図の形式で示した。
以下に続く詳細な説明のいくつかの箇所は、アルゴリズムやコンピュータメモリ内のデータビットにおけるオペレーションの記号による表現で表されている。これらのアルゴリズム的な説明及び表現方法は、データ処理技術の分野の技術者によって利用される手段であり、彼らの仕事内容を他の技術者に最も効果的に伝えるものである。ここでのアルゴリズムは、一般的に、所望する結果へ導く自己無撞着一連のステップであると考えられている。これらのステップには、物理量の物理的な操作が必要である。通常、必ず必要であるという訳ではないが、これらの量は、記憶、転送、結合、比較が可能、又は、その他の操作が可能な電気的、又は、磁気的信号の形式をとる。主に共同利用のために、これらの信号をビット、値、エレメント、シンボル、特徴、用語、数などとして参照することが時々便利であると証明されている。
しかしながら、これら全ての又は同様の用語が、適当な物理量に関連付けられ、これらの物理量に適用した便利なラベルに過ぎないことを留意する必要がある。以下の議論から明らかなように、特別に言及しない限り、明細書を通して、「処理する(processing)」、「計算する(computing)」、「計算する(calculating)」、「決定する(determing)」、「表示する(displaying)」等の用語を利用する議論では、コンピュータシステムのレジストリやメモリ内の物理的(電気的)量として表されるデータを操作し、コンピュータシステムメモリ、レジストリ、他の情報ストレージ、或いは、通信又は表示装置内の物理量として同様に表される他のデータに変換するコンピュータシステムのアクションやプロセス、又は、同様の電子計算装置を意味すると考えられる。
本発明は、本明細書においてオペレーションを実行する装置にも関する。この装置は、要求される目的のために特別に構成されてもよいし、コンピュータに記憶されたコンピュータプログラムによって選択的に稼働させたり、又は、再構築されたりした汎用コンピュータによって構成してもよい。限定される訳ではないが、フロッピィディスク、光学ディスク、CD−ROM、及び光磁気ディスクなどのコンピュータで読み取り可能な記憶媒体、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気、又は、光学カード、又は、電気的命令を記憶するのに適している全ての種類の媒体、及びコンピュータシステムバスに連結されたそれぞれに、そのようなコンピュータプログラムを記憶してもよい。
本明細書に表すアルゴリズムや表示は、本質的に、特定のコンピュータ、又は、その他の装置に関するものではない。様々な汎用コンピュータシステムは、本明細書の教示に従ってプログラムを使って使用しても、又は、必要な方法のステップを実行するためにより特定した装置を構成することが都合よいことを証明してもよい。様々なこれらのシステムの必要な構造は以下の説明から明らかとなる。また、本発明の説明に特定のプログラム言語を参照することはしないが、様々なプログラム言語を、本明細書に説明したように、本発明の教示を実施するために使用してもよいことが理解されよう。
機械で読み取り可能な媒体には、情報を機械(例えば、コンピュータ)で読み取り可能な形式で記憶したり、送信したりする、どのメカニズムも含まれる。例えば、機械で読み取り可能な媒体には、読み取り専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、磁気ディスクストレージ媒体、光学ストレージ媒体、フラッシュメモリ装置、電気的、光学的、音響的、又は、他の形式の伝搬シグナル(例えば、キャリアウェーブ、赤外信号、デジタル信号等)等が含まれる。
<定義及び仮定>
本明細書の目的にとって、関数f(n)は、多項式関数q(n)に対して、全てのn>nに対してf(n)<1/q(n)となるような値nが存在する場合、無視してもよい。そのような無視可能な関数の例としては、f(n)=1/2がある。
a及びbが、a≦bである2つの整数である場合、[a,b]は、a以上b以下の間の整数の集合を表す。すなわち、[a,b]={c∈Z|a≦c≦b}である。
Sが、エレメントsの集合であり、Dが、Sにおけるサンプル可能な確率分布である場合、分布Dに従って、Sからエレメントsを取るプロセスは、
Figure 2008512060
で表される。
多くの暗号技術の安全性が、ある計算処理が難しくなるような仮定を作ることに依拠することは、当業者には公知である。例えば、特定の番号を素因数に効率的に分解することが難しい限り、暗号システムが安全であることを証明しようとすることができる。「計算による(computational)」という用語を、暗号技術のこのクラスを確認するために用いられることがよくある。一実施形態において、本明細書に説明した本発明の実施形態の安全性を証明することに関する仮定の集合を以下に説明する。
<離散対数の仮定>
群Gにおける離散対数の仮定は、群のジェネレータgが与えられており、値y=gが与えられており、計算によって、xを得ることが困難であることを示している。我々は、楕円曲線の有理点の群に特別な関心を寄せている。離散対数問題を定義する標準的な数学的群を構成する。そのような楕円曲線群の位数qに対して、離散対数を見つけるための公知の最良の手法では、時間
Figure 2008512060
が必要とされる。
<カメレオンハッシュ関数>
カメレオンハッシュ関数は、公開鍵PKch及び確率的多項式の時間アルゴリズムG(1)によって生成される秘密鍵SKchによって定義される関数CH(m,r)である。公開鍵PKchが与えられているので、CH(m,r)を評価することは容易である。秘密鍵無しでは、CH(m,r)=CH(m’,r’)となるようなタプル(m,m’,r,r’)を見つけることは困難である。一方、秘密鍵が有れば、m,m’及びrが与えられているので、CH(m,r)=CH(m’,r’)となるようなr’を見つけることは容易である。
カメレオンハッシュ関数の特定のファミリは、離散対数の仮定が以下のように保持する位数qの群Gに対して、定義されている。秘密鍵SKchは、
Figure 2008512060
における均一なランダム値xであるが、公開鍵は、値h=gである。CH(m,r)が、CH(m,r)=gとなるように定義されている。特定群の事例について、Gは、適切に選択された楕円曲線上の点の群である。パラメータを適切に選択することによって、出力の長さが160ビットのカメレオンハッシュを取得する。本明細書に説明した本発明の実施形態には、このカメレオンハッシュ関数を利用することが含まれるが、他のカメレオンハッシュ関数を用いてもよいことが、当業者には明らかであろう。
<疑似ランダムジェネレータ>
疑似ランダムジェネレータGは、入力としてビットの短いランダムシードを取り、kビットの文字列を出力する。ここで、k>sとする。出力文字列は、ランダム文字列から区別することができないという意味において疑似ランダムである。
<ビットコミットメントスキーム>
ビットコミットメントスキームC(M,r)は、統計学的に隠れており、計算により結合しているというプロパティを満たす。「統計学的に隠す」とは、無視できる確率を除いて、rを知らなければ、C(M,r)からMを回復することができる敵は、たとえ、どんなに強い敵であっても、いないということである。「計算により結合している」とは、コミットメントC(M,r)は、確率的な多項式の時間アルゴリズムによって、値M’≠Mに開くことはできないということである。
<概要>
図1は、仮署名プロセスの一実施形態の流れ図である。ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア(汎用コンピュータシステムや専用マシーン上で作動するもの等)、又は、その両方の組み合わせを含んでもよい処理ロジックによって、このプロセスを実行してもよい。
図1を参照すると、メッセージ上のオペレーションを実行して仮署名を生成する処理ロジックによって始まる(処理ブロック101)。次に、処理ロジックは、仮署名を完成させ、メッセージ上に最終署名を生成する(処理ブロック102)。処理ブロック101及び処理ブロック102は、共に、1つ又は2つの秘密鍵を使用して実行される。最終署名が完了してから、処理ロジックは、最終署名を検証する(処理ブロック103)。
図2は、検証者プロセスの一実施形態の流れ図である。図2を参照すると、本明細書に説明する仮署名プロセスを利用することで生成された署名は、かかる署名、メッセージm及び公開鍵を検証者に入力し、かかる署名が有効かどうかの表示(例えば、Yes/No)を受け取ることによって検証される。
本明細書に説明する仮署名は、サーバアシスト型署名スキーム、指定確認者署名スキーム、及びブラインド署名スキームに適用されてもよい。これらのスキームの実施形態を以下に説明する。
<サーバアシスト型署名のためのシステム例>
一実施形態において、署名者と検証者とサーバとの間でデータを通信するシステムは、サーバアシスト型の署名を提供する。署名者は、仮署名を生成し、生成した仮署名を通信ネットワーク上で検証者に送信する。検証者は、仮署名を通信ネットワーク上でサーバに送信する。その後、検証者は、サーバから最終署名を受信し、結果としての最終署名を検証する。サーバは、仮署名を最終署名に変換し、その最終署名を通信ネットワーク上で検証者に送信する。
署名者、検証者及びサーバのそれぞれには、ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア装置(例えば、汎用コンピュータシステムや専用マシーン上で作動するもの等)、又は、その両方の組み合わせを含んでもよい処理ロジックを有するコンポーネントが含まれている。図3は、そのようなコンポーネントの一実施形態を図示している。図3を参照すると、コンポーネント300には、プロセッサ301、メモリ302、ネットワークインターフェイス303が含まれている。プロセッサ301は、メモリ302及びネットワークインターフェイス303に連結される。
署名者は、処理ロジックを有するプロセッサロジック301を含む。これにより、署名者は、外部ネットワークインターフェイス303を通してメッセージを受け取り、仮署名を生成する方法を適用し、その結果、メッセージ上の仮署名を取得する。
検証者は、処理ロジックを有するプロセッサ301を含む。これにより、署名者は、外部ネットワークインターフェイス303を通してメッセージ及び最終署名を受信し、署名を検証する方法を適用し、その結果、表示された署名者にそのメッセージが由来しているという確信を得る。
サーバは、処理ロジックを有するプロセッサ301を含む。これにより、サーバは、ネットワークリクエストの一部としての入力として、外部ネットワークインターフェイス303を通して仮署名を受信する。そして、サーバは、仮署名を最終署名に変換する方法によって与えられた出力をネットワーク304に送信する。
図5は、サーバアシスト型デジタル署名技術用の鍵生成プロセスの一実施形態の流れ図である。プロセスは、ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア(汎用コンピュータシステムや専用マシーン上で作動するもの等)、又は、その両方の組み合わせを含んでもよい処理ロジックによって実施されてもよい。
図5を参照すると、プロセスは、セキュリティパラメータk及びいくつかの署名S(処理ブロック501)を特定する処理ロジックにより開始される。次に、処理ロジックは、ランダムな160ビットの楕円曲線を、ジェネレータ点gと共に生成する(処理ブロック502)。ジェネレータを選択する標準的な技術がある。例えば、1つの手法としては、ランダムエレメントをとり、偶然にも有効なジェネレータでないかどうかを確認する。一実施形態において、この曲線及びジェネレータは、システムにおける全てのエンティティに対して使用する。本明細書の目的として、及び、慣習との決別として、楕円曲線上の点の群は、乗法的な群として表記されている。そのような表記を、どのように標準付加表記へ変換するのかについては、当業者には明らかであろう。なお、他の楕円曲線を用いることもできることに留意されたい(例えば、161ビットの楕円曲線、1024ビットの有限フィールド)。一般的には、スキームは、離散対数が難しい、どの代数群も用いることができ、ジェネレータgは、その群に由来しなければならない。
曲線及びジェネレータが生成された後、処理ブロックは、ランダムに、2つのシードs1及びシードs2を均一に選択する(処理ブロック503)。次に、処理ロジックは、1≦i≦Sである場合、ランダムシードsでシードされるPRGの連続出力として、値xの数列を生成し(処理ブロック504)、1≦i≦Sとである場合、ランダムシードsでシードされるPRGの連続出力として、値cの数列を生成する(処理ブロック505)。一旦、2つの数列が生成されると、処理ロジックは、1≦i≦Sである場合、値h=gxiの数列を計算する(処理ブロック506)。そして、処理ロジックは、標準署名スキーム用の鍵のペア(SK,PK)を計算する(処理ブロック507)。秘密鍵SKは、S個の署名
Figure 2008512060
の数列を生成するために用いられる。
一旦計算が終了すると、処理ロジックは、シードs及びシードsを署名者に送信し(処理ブロック508)、値h及び値Sigをサーバに送信する(処理ブロック509)。また、処理ロジックは、署名者の公開鍵として、公開鍵PKを、g及びサーバのアドレスと共に発行する。
図6は、サーバアシスト型署名スキームに用いられる仮署名生成プロセスの一実施形態の流れ図である。プロセスは、ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア(汎用コンピュータシステムや専用マシーン上で作動するもの等)、又は、その両方の組み合わせを含んでもよい処理ロジックを含んでもよい処理ロジックによって実行されてもよい。一実施形態において、処理ロジックは、署名者の一部である。
図6を参照すると、かかるプロセスは、秘密シードs1を用いて値xを生成する処理ロジックによって始まり(処理ブロック601)、秘密シードs2を用いて値cを生成する(処理ブロック602)。次に、処理ロジックは、
Figure 2008512060
となるようなrを見つけ(処理ブロック603)、rをメッセージmの仮署名として出力する(処理ブロック604)。
図7は、サーバアシスト型署名スキームの仮署名終了プロセスの一実施形態の流れ図である。プロセスは、ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア(汎用コンピュータシステムで走っているようなもの、又は、専用マシーン等)、又は、その組み合わせを含んでもよい処理ロジックにより実行されてもよい。一実施形態において、処理ロジックは、サーバの一部である。
図7を参照すると、プロセスは、仮署名rのインデックスiを受信する処理ロジックにより開始される(処理ブロック701)。次に、処理ロジックは、署名
Figure 2008512060
及びhに対応する数列の値を調べて戻し(処理ブロック702)、最終署名
Figure 2008512060
を出力する(処理ブロック703)。
図8は、サーバアシスト型署名スキーム用の最終署名の検証プロセスの一実施形態の流れ図である。プロセスは、ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア(汎用コンピュータシステムや専用マシーン上で作動するもの等)、又は、その両方の組み合わせを含んでもよい処理ロジックによって開始されてもよい。一実施形態において、処理ロジックは、検証者の一部である。
図8を参照すると、プロセスは、
Figure 2008512060
を計算する処理ロジックにより開始され(処理ブロック801)、VPK(Sing(g))=1を確認することで署名を検証する(処理ブロック802)。次に、処理ロジックは、かかる確認が取れた場合、及び、かかる確認が取れた場合のみに有効であるとして署名を受け付ける(処理ブロック803)。
或いは、サーバアシスト型署名スキームは、「ハッシュ-署名-切り換え」パラダイムを用いて選ばれたメッセージ攻撃下に存在する偽造に対して安全な基礎となる署名スキームを変換する、サーバアシスト型の1回だけの署名スキームと見なすこともできる。既存の署名スキーム(Gen,Sig,Ver)は、適応性のある選ばれたメッセージの攻撃下に存在する偽造に対して安全であり、合計S個の署名が署名されると考えられている。
1.鍵生成: まず、基礎となる署名スキームに対して、鍵ペアPKsig及びSKsigを生成する。そして、シードsを有するPRGを用いて、iに対して1からSまでのカメレオンハッシュ鍵ペア
Figure 2008512060
の数列を生成する。最後に、シードs及びシードsを用いて、疑似ランダム値v、・・・、v、及び、疑似ランダム値w、・・・、wを生成する。変数cは、c=CH(w,v)、すなわち、カメレオンハッシュ鍵
Figure 2008512060
下の(w,v)のカメレオンハッシュとなるように定義されている。SKprovは、シードs及びシードsからなり、一方、SKcomp値は、
Figure 2008512060
からなる。公開鍵PKは、PKsig及びサーバのアドレスからなる。
2.ProvSign: 次の値iのために、(M,i)を入力し、sを用いて、
Figure 2008512060
を計算し、sを用いて、vを計算し、sを用いて、wを計算する。そして、CH(M,r)=CHi(vi,wi)となるようなrを計算する。rを、M上の仮署名として戻す。値iを使用済みとして印を付ける。
3.完了: 入力(±,i)において、
Figure 2008512060
を戻す。そして、最終署名は、
Figure 2008512060
である。
4.検証:
Figure 2008512060
を入力し、
Figure 2008512060
の場合のみ、署名を有効として受け付ける。
終了オペレーションであるSKcomp用の「秘密鍵」全体を、敵に最終署名を偽造させることなく明らかにすることができることに留意されたい。従って、このサーバアシスト型署名スキームにおけるサーバは、攻撃的に複製されてもよい。さらに、サーバは、計算を実行せず、単に、静的な読み取り専用値PKch及びSig(c,PKch)を戻すだけである。
一実施形態において、署名者と検証者とサーバアシスト型デジタル署名を行うサーバとの間でデータ通信を行うためのシステムには、仮署名を生成可能なクライアントコンポーネント、仮署名を終了して最終署名を生成することが可能なサーバコンポーネント、及び、最終署名を検証可能な検証コンポーネントが含まれる。
一実施形態において、サーバアシスト型署名スキームを実行する署名者、検証者及びサーバのそれぞれは、ハードウェア装置(例えば、回路、専用ロジック等)、ソフトウェア装置(汎用コンピュータシステムや専用マシーン上で作動するもの等)、又は、処理ロジックを実行可能な、その両方の組み合わせであってもよい。これらのコンポーネントのそれぞれは、図3に示すコンポーネントとして実装されてもよい。サーバアシスト型の署名者は、仮署名のリクエストを受信するために外部ネットワークインターフェイスと、仮署名を生成して外部ネットワークを介して仮署名を依頼者に戻すために外部ネットワークインターフェイス及びメモリに連結されているプロセッサとを用いる。サーバアシスト型の署名検証者コンポーネントは、外部ネットワークインターフェイスを使って最終署名を受信する。サーバアシスト型署名サーバコンポーネントは、仮署名を受信するために外部ネットワークインターフェイスと、サーバアシスト型署名スキームの完了した最終署名をネットワークに送信するために外部ネットワークインターフェイス及びメモリに連結されているプロセッサとを用いる。
サーバアシスト型署名スキームの一実施形態におけるカメレオン関数は、CH(m,r)=gである。そのような場合、署名者ストレージは、以下の説明に用いる変数「i」を表すために、128ビットの長さのシードs及び20ビットの長さのカウンタのみを記憶する必要がある。よって、署名者ストレージの合計は、署名の数に関係なく148ビットである。RSAのような最新の公開鍵署名スキームでは、もっと大きいサイズの秘密鍵が要求されることに留意されたい。署名者の計算に関しては、署名者は、PRGを一定の回数評価し、xを取得し、そして、O(logq)オペレーションを実行し、仮署名rを計算する。ここで、qは、群Gの位数である。署名者は、160ビットであるrを通信するだけでよい。サーバには、署名ごとに、h及びSigを記憶するストレージが含まれている。本実施形態では、値hは、160ビットであり、一方、適当に短い署名スキームを用いることで、Sigも、320ビット以下に低減することができる。サーバは、オンラインの計算を行わない。その代わりに、サーバは、ペア(h,Sig)を単に検索し、それを検証者に戻す。検証者の計算に関する限り、検証者は、1つの楕円曲線の点の乗法及び1つの通常の署名の検証を行わなければならない。
<指定確認者スキームの例>
仮署名を生成して仮署名を完了するプロセスを、指定確認者スキームに用いてもよい。そのようなスキームの例を、以下に説明する。
図9は、指定確認者署名スキームにおいて用いられる鍵生成プロセスの一実施形態の流れ図である。プロセスは、ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア(汎用コンピュータシステムや専用マシーン上で作動するもの等)、又は、その両方の組み合わせを含んでもよい処理ロジックによって実行されてもよい。
図9を参照すると、プロセスは、標準的で安全なデジタル署名スキーム用の鍵ペアPKとSKを生成し(処理ロジック901)、強秘匿公開鍵暗号スキーム用の鍵ペアPKdc及びSKdcを生成する(処理ブロック902)処理ロジックによって開始される。これは、当技術分野において公知であるやり方で行われる。
図10は、指定確認者署名スキームに用いられる仮署名生成プロセスの一実施形態の流れ図である。プロセスは、ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア(汎用コンピュータシステムや専用マシーン上で作動するもの等)、又は、その両方の組み合わせを含んでもよい処理ロジックによって実行されてもよい。一実施形態において、処理ロジックは、署名者の一部である。
図10を参照すると、プロセスは、メッセージMに対して、コミットメントC(M,r)を生成し(処理ブロック1001)、コミットメントS=Sig(C(M,r))に署名する(処理ブロック1002)処理ロジックによって開始される。次に、処理ロジックは、仮署名(M,S,EPK(r))を出力する(処理ブロック1003)。ここで、Eは、強秘匿公開鍵暗号スキームである。
図11は、指定確認者署名スキームにおける仮署名確認プロセスの一実施形態の流れ図である。プロセスは、ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア(汎用コンピュータシステムや専用マシーン上で作動するもの等)、又は、その両方の組み合わせを含んでもよい処理ロジックによって実行されてもよい。一実施形態において、処理ロジックは、指定確認者の一部である。
図11を参照すると、プロセスは、comm=C(M,r)となるような値rの知識についてのゼロ知識証明を実行する処理ロジックによって始まる(処理ブロック1101)。ここで、commは、仮署名に対応するコミットメントに対応する変数であり、Mは、署名者が署名したとされるメッセージである。
図12は、指定確認者署名スキーム用の仮署名否認プロセスの一実施形態の流れ図である。プロセスは、ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア(汎用コンピュータシステムや専用マシーン上で作動するもの等)、又は、その両方の組み合わせを含んでもよい処理ロジックによって実行されてもよい。一実施形態において、処理ロジックは、指定確認者の一部である。
図12を参照すると、プロセスは、(M,S,EPKdc(r))として署名と考えられているものを構文解析することにより開始される(処理ブロック1201)。そして、処理ロジックは、(M,S,EPKdc(r))を解読し、rを回復する(処理ブロック1202)。最後に、処理ロジックは、Ver(S)=1、C(M’,r)=S、Dch(Ech(r))=r)及びM’≠Mとなるようなr及びM’の知識についてのゼロ知識証明を実行する(処理ブロック1203)。
他の実施形態において、処理ロジックは、追加の情報を検証者に送信する。これにより、処理ロジックは、請求されたメッセージ確認者が、comm=C(M,r)となるように、comm、S、及び、rの知識についてのゼロ知識証明を送信することを、(ゼロ知識において)検証者に確信させる。ここで、Mは、署名者が署名したとされるメッセージである。検証者は、Mが署名されたことを検証するために、ゼロ知識証明を確認し、Sが、comm上の有効な署名であることを確認する。
図13は、指定確認者署名スキームにおける仮署名完了プロセスの一実施形態の流れ図である。プロセスは、ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア(汎用コンピュータシステムや専用マシーン上で作動するもの等)、又は、その両方の組み合わせを含んでもよい処理ロジックによって実行されてもよい。一実施形態において、処理ロジックは、指定確認者の一部である。
図13を参照すると、プロセスは、EPK(r)を解読してrを取得する処理ロジックによって開始される(処理ブロック1301)。次に、処理ロジックは、M上の最終署名として(M,r,S)を出力する(処理ブロック1302)。
図14は、指定確認者署名スキームにおける最終署名検証プロセスの一実施形態の流れ図である。プロセスは、ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア(汎用コンピュータシステムや専用マシーン上で作動するもの等)、又は、その両方の組み合わせを含んでもよい処理ロジックによって実行されてもよい。一実施形態において、処理ロジックは、検証者の一部である。
図14を参照すると、プロセスは、C(M,r)と等しい変数commを計算する処理ロジックによって開始され(処理ブロック1401)、PKの下で有効な署名であるかを確認する(処理ブロック1402)。ここで、Sは、署名スキームの公開鍵である。そして、処理ロジックは、かかる確認が取れた場合のみに受け付けを行う(処理ブロック1403)。
一実施形態において、署名者と検証者とサーバとの間において、指定確認者デジタル署名を実行するためのデータ通信システムには、仮署名を生成可能なクライアントコンポーネント、仮署名を終了し最終署名を得ることが可能なサーバコンポーネント、及び、最終署名を検証可能な検証コンポーネントが含まれる。
一実施形態において、指定確認者署名スキームを実施する一実施形態における署名者、検証者、及びサーバのそれぞれは、ハードウェア装置(例えば、回路、専用ロジック等)、ソフトウェア装置(汎用コンピュータシステムや専用マシーン上で作動するもの等)、又は、処理ロジックを実行可能な、その両方の組み合わせであってもよい。これらのコンポーネントのそれぞれは、図3に示したコンポーネントのように実装されてもよい。指定確認者の署名者は、仮署名のリクエストを受信するために外部ネットワークインターフェイスと、仮署名を生成し外部ネットワークを介して仮署名を依頼者に戻すために外部ネットワークインターフェイス及びメモリに連結されているプロセッサとを用いる。指定確認者署名の検証者コンポーネントは、外部ネットワークインターフェイスを使って最終署名を受信する。指定確認者署名サーバコンポーネントは、仮署名を受信するために外部ネットワークインターフェイスと、指定確認者署名スキームの完了した最終署名をネットワークに送信するために外部ネットワークインターフェイス及びメモリに連結されているプロセッサとを用いる。
<効率的変換の実現>
本明細書に記載の変換を使用して効率的に実施するのがおそらく最も困難なステップは、否認プロトコル及び結果として生じるゼロ知識証明である。なぜならば、「この指定確認者署名は、無効である」ということが、ゼロ知識において証明することが可能なNP-ステートメントであるという事実に基づいているだけだからである。
興味深いことに、指定確認者署名に含まれている暗号文がうまく形成されない可能性は、基礎となる暗号スキームについてのいくつかの仮定によって削除することができる。例えば、ビット文字列の無視可能な端数を除いた場合、その出力が密な暗号文である(ciphertext-dense)暗号システムは、有効な暗号文である。否認プロトコルが、密な暗号文の暗号システムで作動する場合、ビット文字列は、無効な暗号文であり、それを証明する必要はない。
一実施形態において、密な暗号文の公開鍵暗号スキームは、以下のようにトラップドア順列から構成されている。公開鍵を、f:{0,1}→{0,1}とし、秘密鍵を、逆数f-1とする。単一ビットbを暗号化するためには、xr←{0,1}が用いられる。そして、暗号文は、
Figure 2008512060
である。ここで、GLは、「Goldreich-Levin predicate」である。スキームの強秘匿性を破る敵が、「Goldreich-Levin predicate」を予測しており、fの一方向性に矛盾することが容易に分かる。さらに、記号「,」は、連結を意味し、2k+1ビットの各文字列は、有効な暗号文である。或いは、ランダムな回復を提供する暗号スキームを用いることができる。つまり、ランダムrを用いた暗号EPK(m)が与えられているので、復号には、ランダムr及びmが含まれる。
<N次剰余仮定に基づく効率的インスタンシエーション>
基本的に、当技術分野において公知であるペリエ暗号は、以下のように行われる。受取人は、因子分解法が秘密にする合成係数Nを選択する。受取人は、また、Nを法とする「十分に大きな」群、例えば、位数Nφ(N)/2の群、を生成する数字g∈Z/NZを発行する。0≦m≦Nを満たすmを暗号化するためには、送信者は、ランダムなr∈Z/NZを選択し、暗号文c=r(mod N)を設定する。解読するためには、受取人は、基本的に、m=logc(mod N)を計算する。ペリエ暗号では、決定的なN次剰余仮定の問題は難しいと仮定して強秘匿である。
一実施形態において、効率的な指定確認者署名スキームは、基本となる署名スキームを、強秘匿であるペリエ暗号とともに用いて、以下のように構築することができる。
1)鍵生成: 署名者は、標準的で安全なデジタル署名スキームに対して、鍵ペア(PK;SK)を生成する。指定確認者は、ペリエ係数N及びNを法とする適当なジェネレータgを生成する。また、Nは、正しい形式であることを証明する証明書も生成する。最後に、指定確認者は、第2の群G及び位数Nをもつジェネレータg∈Gの説明を提供してもよい。
2)ProvSign(M):
a)署名者は、
Figure 2008512060
を計算するランダムh∈G及びランダムr∈Z/NZを生成して、メッセージmに対してコミットメントを生成する。
b)署名者は、S=Sig(c,h)を生成する。
c)署名者は、r=r+aNを設定し、E(r)=gr’(mod N)を設定するランダムa∈Z/NZを生成して、r∈Z/NZのペリエ暗号を生成する。
d)仮署名は、(m,S,c,h,E(r))である。
3)署名者によって確認: 署名者は、その指定確認者署名が正しく構築されたことを、E(r)=g(g(mod N)、及び、
Figure 2008512060
となるようなr及びaの知識についてのゼロ知識証明を実行することにより証明する。これは、標準的な技術を用いて実施することもできる。指定確認者は、ペリエ暗号を通してr’(mod N)を回復することができ、r’(mod N)は、
Figure 2008512060
を完全に明らかにするので(Gが位数Nを持つため)、検証者は、指定確認者が慣習的な署名(m,S,h2,r)を指定確認者署名から「取り出す」ことができるという知識についてのゼロ知識証明によって確信させられる。知識の証明は、非常に効率的に実施することができることに留意されたい。
4)指定確認者による確認: 確認するために、指定確認者は、仮署名、及び、
Figure 2008512060
の知識についてのゼロ知識証明だけを提供する。ペリエ暗号から容易にr回復することができる。
5)否認: 指定確認者署名が、悪く形成されている場合、Sは、(検証するのが非常に簡単である)(c,h)の有効な署名でなければ、
Figure 2008512060
でもない。つまり、
Figure 2008512060
を設定した場合、logg2c’≠log(E(r))(mod N)でなければならない。この不等式が成り立つことを証明するためには、指定確認者は、まず、ペリエ暗号を用いて、d=log(E(r))(mod N)を回復する。x=φ(N)及びy=dφ(N)の場合、B(r)=g(mod N)であるが、
Figure 2008512060
である。指定確認者は、とても標準的な技術を用いて、これらx及びyの知識についてのゼロ知識証明を提供することができる。特に、1)確認者に、値
u,v∈Z/NZを選択させ、
Figure 2008512060
を送信し、2)検証者に、ランダムにb∈{0,1}を選ばせ、3)b=0の場合、
Figure 2008512060
となり、b=1の場合、
Figure 2008512060
となるような値u’,v’∈Z/NZを確認者に送り返させることによって、通常の3ラウンドのゼロ知識証明を構築することができる。最後のステップにおいて、確認者は、ランダムな0≠k∈Z/NZを生成し、u’=u+bkx(mod N)及びv’=v‐bky(mod N)を設定することによって、そのような(u’,v’)を生成することができる。
指定確認者は、rの値を解読するので、指定確認者署名を誰もが検証可能な「通常の」署名に変換する。この通常の署名は、(m,S,h,r)からなり、検証者は、Sが、
Figure 2008512060
に対する(c,h)上の有効な署名であることを確認する。しかしながら、確認者の安全性を証明するために、すなわち、指定確認者と対話する悪質な敵は、結局、確認者の役割を侵害することができず、指定確認者署名を誰もが検証できる署名に変換する能力を得ることができない。ペリエ暗号の強秘匿なバージョンは、十分ではないと言えそうである。
しかしながら、上記の強秘匿なバージョンを、Camenisch及びShoupが説明したペリエ暗号のIND−CCA2安全バージョンと入れ換えることは、比較的単純な問題である。ゼロ知識証明は、基本的に同じである。主な違いは、暗号スキームが、IND−CCA2なので、確認者は、悪質な敵が選択した暗号文の復号を確実に明らかにすることができ、そのため、上述したように通常の署名を、指定確認者署名から安全に取り出すことができる。
<ブラインド署名スキームの例>
図15は、ブラインド署名スキーム用の鍵生成プロセスの一実施形態の流れ図である。プロセスは、ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア(汎用コンピュータシステムや専用マシーン上で作動するもの等)、又は、その両方の組み合わせを含んでもよい処理ロジックによって実行されてもよい。一実施形態において、処理ロジックは、署名者の一部である。
図15を参照すると、標準的で安全なデジタル署名スキーム用の鍵ペアPK及びSKを生成する処理ロジックによって開始される(処理ブロック1501)。
図16は、ブラインド署名スキーム用の仮署名生成プロセスの一実施形態の流れ図である。プロセスは、ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア(汎用コンピュータシステムや専用マシーン上で作動するもの等)、又は、その両方の組み合わせを含んでもよい処理ロジックによって実行されてもよい。一実施形態において、処理ロジックは、ブラインダ、又は、署名者の一部である。
図16を参照すると、ランダムな値rをとる処理ロジックによって開始され、X=C(M,r)を計算する(処理ブロック1601)。次に、処理ロジックは、Xを署名者に送信し、X=C(M,r)となるようなr及びMの知識についてのゼロ知識証明を実行する(処理ブロック1602)。かかる証明が成功した場合にのみ、処理ロジックは、Xに署名し、Sig(X)を戻し(処理ブロック1603)、M上の仮署名を、Sig(X)=Sig(C(M,r))として出力する(処理ブロック1604)。
図17は、ブラインド署名スキームの仮署名完了プロセスの一実施形態の流れ図である。プロセスは、ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア(汎用コンピュータシステムや専用マシーン上で作動するもの等)、又は、その両方の組み合わせを含んでもよい処理ロジックによって実行されてもよい。一実施形態において、処理ロジックは、ブラインダの一部である。
図17を参照すると、プロセスは、新規のランダム値r’を生成する処理ロジックによって開始される(処理ブロック1701)。次に、処理ブロックは、M上の最終署名を(C(Sig(C(M,r)),r’))として計算する処理ロジックによって開始される(処理ブロック1702)。
図18は、ブラインド署名スキーム用の最終署名検証プロセスの一実施形態の流れ図である。プロセスは、ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア(汎用コンピュータシステムや専用マシーン上で作動するもの等)、又は、その両方の組み合わせを含んでもよい処理ロジックによって実行されてもよい。一実施形態において、処理ロジックは、ブラインダ、又は、署名者の一部である。
図18を参照すると、プロセスは、Sが、値Sig(C(M,r)、Ver(Sig(C(M,r)))=1とコミットせず、C(M,r)が、Mとコミットしないようなr及びr’の検証者に対して、知識のZK証明を行う処理ロジックによって開始される(処理ブロック1801)。
上述の対話型署名は、「Fast-Shamir-heuristic」を通して、ランダムなオラクルを使用して非対話型として表すことができる。
図19は、カメレオンハッシュ関数の検証用に予め計算した値を生成するプロセスの一実施形態の流れ図である。プロセスは、ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア(汎用コンピュータシステムや専用マシーン上で作動するもの等)、又は、その組み合わせを含んでもよい処理ロジックによって実行されてもよい。一実施形態において、処理ロジックは、ブラインダ、又は、署名者の一部である。
問題は、Gが、位数qの群であり、g,y∈G及びx∈[1,q]であるとすると、(G,g,y,x)が与えられているので、Gにおいて、g=yであることを証明して説明してもよい。
便宜上、cmaxをチャレンジcがとることができる最大値、kを上述した整数のパラメータとする、整数dに対するdlogq(cmax+1)e=kdであるとする。
図19を参照すると、プロセスは、定められたkに対して、X={ab:a=2kd’,0≦d’<d,1≦b<2}とする値x∈Xを見つける処理ロジックによって開始される(処理ブロック1901)。その後、処理ロジックは、(x,gxi)として定義されている予め計算された値を定義する(処理ブロック1902)。
図20は、カメレオンハッシュ関数の検証用の予め計算された値を証明するプロセスの一実施形態の流れ図である。プロセスは、ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア(汎用コンピュータシステムや専用マシーン上で作動するもの等)、又は、その両方の組み合わせを含んでもよい処理ロジックによって実行されてもよい。
図20を参照すると、プロセスは、値(x,gxi)上のメルクルツリー(Mekle tree)を計算することにより開始される(処理ブロック2001)。次に、処理ロジックは、ルートとしてhを持つ、メルクルツリーのノードに対応する値hによって構成される出力を出力する(処理ブロック2002)。
図21は、カメレオンハッシュ関数の検証用の予め計算された値を検証するプロセスの一実施形態の流れ図である。プロセスは、ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア(汎用コンピュータシステムや専用マシーン上で作動するもの等)、又は、その両方の組み合わせを含んでもよい処理ロジックによって実行されてもよい。一実施形態において、処理ロジックは、ブラインダ、又は、署名者である。
図21を参照すると、処理ロジックは、値
Figure 2008512060
を与え、(x,g)に対する有効な認証パスをhが形成していることを確認する(処理ブロック2101)。
図22は、カメレオンハッシュ関数の検証用の予め計算された値を用いるカメレオンハッシュを確認するプロセスの一実施形態の流れ図である。プロセスは、ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア(汎用コンピュータシステムや専用マシーン上で作動するもの等)、又は、その両方の組み合わせを含んでもよい処理ロジックによって実行されてもよい。
図22を参照すると、プロセスは、値ごとの認証パス及び請求された(x,g)を有する、予め計算された値
Figure 2008512060
を与える処理ロジックにより開始され、予め計算された値を検証する(処理ブロック2201)。次に、処理ロジックは、Σy=xを確認する(処理ブロック2202)。その後、
Figure 2008512060
を確認する(処理ブロック2203)。処理ロジックは、全ての確認がとれた場合のみ、カメレオンハッシュ関数を受け付ける(処理ブロック2204)。
一実施形態において、署名者と検証者とサーバとの間のデータ通信を行うためのシステムには、仮署名を生成可能なクライアントコンポーネント、仮署名を終了し最終署名を得ることが可能なサーバコンポーネント、及び最終署名を検証可能な検証コンポーネントが含まれる。
一実施形態において、ブラインド署名スキームを実施する、署名者、検証者、及びサーバのそれぞれは、ハードウェア装置(例えば、回路、専用ロジック等)、ソフトウェア装置(汎用コンピュータシステムや専用マシーン上で作動するもの等)、又は、処理ロジックを実行可能な、その両方の組み合わせであってもよい。これらのコンポーネントのそれぞれは、図3に示したコンポーネントのように実装されてもよい。指定確認者の署名者は、仮署名のリクエストを受信するために外部ネットワークインターフェイスと、仮署名を生成し外部ネットワークを介して仮署名を依頼者に戻すために外部ネットワークインターフェイス及びメモリに連結されているプロセッサとを用いる。ブラインド署名の検証者コンポーネントは、外部ネットワークインターフェイスを使って最終署名を受信する。ブラインド署名サーバコンポーネントは、仮署名を受信するために外部ネットワークインターフェイスと、ブラインド署名の完了した最終署名をネットワークに送信するために外部ネットワークインターフェイス及びメモリに連結されているプロセッサとを用いる。
<コンピュータシステムの例>
図4は、本明細書に説明した1つ以上のオペレーションを実行するコンピュータシステムの一例を示すブロック図である。図4を参照すると、コンピュータシステムは、典型的なクライアント、又は、サーバコンピュータシステムを含んでもよい。コンピュータシステムは、通信メカニズム、又は、情報を通信するバス、及び情報を処理するためのバスに連結されたプロセッサを含んでいる。プロセッサには、マイクロプロセッサに限定されるわけではないが、例えば、Pentium(登録商標)、PowerPC、Alpha等のマイクロプロセッサが含まれる。
システムには、更に、ランダムアクセスメモリ(RAM)、又は、情報及びプロセッサにより実行される命令を記憶するバスに連結された他のダイナミックストレージ装置(メインメモリと呼ぶ)を含む。メインメモリを、プロセッサが命令を実行している間に、一時的な変数、又は、他の中間的な情報を記憶するために用いてもよい。
コンピュータシステムには、読み取り専用メモリ(ROM)、及び/又は、静的な情報及びプロセッサ用の命令を記憶するバスに連結された他の静的ストレージ装置、及び磁気ディスク、又は、光学ディスク、及び、その対応するディスクドライブなどのデータ記憶装置も含まれる。データストレージ装置は、情報及び命令を記憶するバスに連結されている。
コンピュータシステムは、更に、コンピュータのユーザに情報を表示するバスに連結されたブラウン管(CRT)、又は、液晶ディスプレイ(LCD)等の表示装置に連結されていてもよい。英数字及び他のキーを含む英数字入力装置も、情報及びコマンドの選択をプロセッサに対して通信するバスに連結されていてもよい。追加的なユーザ入力装置は、指示情報やコマンドの選択をプロセッサに通信し、ディスプレイ上でのカーソルの動きを制御するためのバスに連結されたマウス、トラックボール、トラックパッド、スティラス、又は、カーソル指示キーなどのカーソル制御である。
バスに連結された他の装置は、命令、データ、又は他の情報を、紙、フィルム、又は、同様の種類の媒体などの媒体上に印刷するために使用してもよいハードコピー装置である。さらに、オプションとして、スピーカー及び/又はマイクなどの音声録音再生装置は、コンピュータシステムと音的にインターフェイスするバスに連結させることもできる。バスに連結されてもよい他の装置は、電話、又は、手のひらサイズの装置と通信する有線/無線通信能力である。
本発明において、システム及び関連するハードウェアのコンポーネントのどれでも、全てを使用してもよいことに留意されたい。一方で、コンピュータシステムの他の構成は、装置のいくらか、又は、全てを含んでよいことを理解することができる。上記の説明により、本発明の多くの変更及び修正が当業者には明らかとなることは疑いがなく、図により示し説明した特定の実施形態のどれも、本発明を制限しようとするものではないことが分かる。
上述の説明により、本発明の多くの変更及び修正が当業者には明らかとなることは疑いがなく、図により示し説明した特定の実施形態のどれも、本発明を制限しようとするものではないことが分かる。よって、様々な実施形態の詳細に対する参考文献が、本発明にとって必要不可欠であると見なされる特徴だけを述べた請求項の範囲を制限しようとしたものではない。
仮署名プロセスの一実施形態の流れ図である。 検証者プロセスの一実施形態の流れ図である。 署名者、サーバ、又は、検証者のコンポーネントの一実施形態を示す。 コンピュータシステムの一例を示す。 サーバアシスト型鍵生成プロセスの一実施形態の流れ図である。 サーバアシスト型鍵生成スキームにおける仮署名プロセスの一実施形態の流れ図である。 サーバアシスト型署名スキームにおける仮署名終了プロセスの一実施形態の流れ図である。 サーバアシスト型署名スキームにおける最終署名の検証プロセスの一実施形態の流れ図である。 指定確認者署名スキーム用の鍵生成プロセスの一実施形態の流れ図である。 指定確認者署名スキーム用の鍵生成プロセスの一実施形態の流れ図である。 指定確認者署名スキームの確認プロセスの一実施形態の流れ図である。 指定確認者署名スキームの否認プロセスの一実施形態の流れ図である。 指定確認者署名スキームのためのプロセスの一実施形態の流れ図である。 指定確認者署名スキームの用の最終署名検証プロセスの一実施形態の流れ図である。 ブラインド署名スキーム用の鍵生成プロセスの一実施形態の流れ図である。 ブラインド署名スキーム用の仮生成プロセスの一実施形態の流れ図である。 ブラインド署名の検証プロセスの一実施形態の流れ図である。 ブラインド署名の検証プロセスの一実施形態の流れ図である。 カメレオンハッシュ関数を予め計算するプロセスの一実施形態の流れ図である。 カメレオンハッシュ関数の検証のための予め計算された値を証明するプロセスの一実施形態の流れ図である。 カメレオンハッシュ関数の検証のための予め計算された値を証明するプロセスの一実施形態の流れ図である。 カメレオンハッシュ関数の検証のための予め計算された値を使ってカメレオンハッシュを確認するプロセスの一実施形態の流れ図である。

Claims (11)

  1. メッセージ上でオペレーションを実行して仮署名を生成する工程と、
    前記仮署名を完了して前記メッセージ上で最終署名を生成する工程とを含む方法であって、
    前記仮署名を生成する工程は、
    第1の秘密シードを用いて第1の値xを生成する工程と、
    第2の秘密シードを用いて第2の値cを生成する工程と、
    が、前記メッセージである場合に、
    Figure 2008512060
    を満たす第3の値rを特定する工程と、
    前記第3の値rを前記仮署名として出力する工程とを含むことを特徴とする方法。
  2. 前記仮署名を完了する工程は、
    前記仮署名のインデックスiを受け取る工程と、
    前記インデックスiに応じて、対応する値
    Figure 2008512060
    及びhを取得する工程と、
    前記最終署名
    Figure 2008512060
    (mは、前記メッセージであり、rは、前記仮署名である。)を出力する工程とを含むことを特徴とする請求項1に記載の方法。
  3. 前記最終署名を検証する工程を更に含むことを特徴とする請求項1に記載の方法。
  4. 前記最終署名を検証する工程は、
    Figure 2008512060
    を計算する工程と、
    Figure 2008512060
    であることを確認する工程と、
    前記確認が取れた場合にのみ、前記最終署名を受け付ける工程とを含むことを特徴とする請求項3に記載の方法。
  5. メッセージ上でオペレーションを実行して仮署名を生成する工程と、
    前記仮署名を完了して前記メッセージ上に最終署名を生成する工程とを含む方法であって、
    前記仮署名を生成する工程は、
    Mが、前記メッセージであり、rが、ランダム文字列である場合に、コミットメントC(M,r)を、前記メッセージに対して生成する工程と、
    Sig(C(M,r))が、前記コミットメントC(M,r)の署名を表す場合に、S=Sig(C(M,r))を生成する工程と、
    Eが、強秘匿公開鍵暗号スキームである場合に、前記仮署名として、(M,S,EPK,(r))を出力する工程とを含むことを特徴とする方法。
  6. 前記仮署名を確認する工程を更に含むことを特徴とする請求項5に記載の方法。
  7. 前記仮署名を確認する工程は、
    Mが、前記メッセージであり、rが、ランダム文字列であり、Sが、前記コミットメントC(M,r)に署名することを表す場合に、Ver(S)が1に等しく、コミットメントSig(C(M,r))がSに等しくなるような値rの知識についてのゼロ知識証明を実行する工程を含むことを特徴とする請求項6に記載の方法。
  8. 前記仮署名を否認する工程を更に含むことを特徴とする請求項5に記載の方法。
  9. 前記仮署名を否認する工程は、
    Ver(S)が1に等しく、コミットメントC(M’,r)がSに等しく、Dch(Ech(r))がrに等しく、M’≠Mとなるようなr及びM’の知識についてのゼロ知識証明を実行する工程を含むことを特徴とする請求項8に記載の方法。
  10. メッセージ上でオペレーションを実行して仮署名を生成する工程と、
    前記仮署名を完了して前記メッセージ上に最終署名を生成する工程とを含む方法であって、
    前記仮署名をメッセージ上でオペレーションを実行して生成する工程は、
    ランダム値rを選択する工程と、
    Mが、前記メッセージである場合に、コミットメントC(M,r)と等しい値Xを計算する工程と、
    前記値Xを署名者に送信する工程と、
    前記値Xが前記コミットメントC(M,r)に等しくなるような前記ランダム値r及び前記メッセージMの知識についてのゼロ知識証明を実行する工程と、
    前記証明が成功した場合にのみ、前記値Xに署名して、Sig(X)を戻す工程と、
    Sig(X)=Sig(C(M,r))である場合に、M上の前記仮署名を出力する工程とを含むことを特徴とする方法。
  11. 前記仮署名を完了し、前記メッセージ上に最終署名を生成することには、
    第2のランダム値r’を生成し、
    前記メッセージM上の前記最終署名を(C(Sig(C(M,r)),r’))として出力することを含む、請求項10に記載の方法。
JP2007530274A 2004-08-27 2005-08-29 仮署名スキーム Pending JP2008512060A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US60520604P 2004-08-27 2004-08-27
PCT/US2005/030850 WO2006024042A2 (en) 2004-08-27 2005-08-29 Provisional signature schemes

Publications (1)

Publication Number Publication Date
JP2008512060A true JP2008512060A (ja) 2008-04-17

Family

ID=35658977

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007530274A Pending JP2008512060A (ja) 2004-08-27 2005-08-29 仮署名スキーム

Country Status (3)

Country Link
US (3) US7730319B2 (ja)
JP (1) JP2008512060A (ja)
WO (1) WO2006024042A2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008512060A (ja) * 2004-08-27 2008-04-17 株式会社エヌ・ティ・ティ・ドコモ 仮署名スキーム
EP1978468A1 (en) * 2007-04-04 2008-10-08 Sap Ag A method and a system for secure execution of workflow tasks in a distributed workflow management system within a decentralized network system
US20090080658A1 (en) * 2007-07-13 2009-03-26 Brent Waters Method and apparatus for encrypting data for fine-grained access control
FR2926652B1 (fr) * 2008-01-23 2010-06-18 Inside Contactless Procede et dispositifs de contre-mesure pour cryptographie asymetrique a schema de signature
US20110208972A1 (en) * 2008-05-29 2011-08-25 Agency For Science, Technology And Research Method of signing a message
US8280056B2 (en) 2009-01-29 2012-10-02 Fortress Applications Ltd. System and methods for encryption with authentication integrity
CA2830285C (en) * 2011-03-18 2016-11-08 Blackberry Limited Keyed pv signatures
US10270748B2 (en) 2013-03-22 2019-04-23 Nok Nok Labs, Inc. Advanced authentication techniques and applications
US10333696B2 (en) 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
US9967088B2 (en) 2016-05-23 2018-05-08 Accenture Global Solutions Limited Rewritable blockchain
US10296248B2 (en) 2017-09-01 2019-05-21 Accenture Global Solutions Limited Turn-control rewritable blockchain
WO2019098873A1 (en) 2017-11-16 2019-05-23 Accenture Global Solutions Limited Blockchain operation stack for rewritable blockchain
US11868995B2 (en) 2017-11-27 2024-01-09 Nok Nok Labs, Inc. Extending a secure key storage for transaction confirmation and cryptocurrency
US11831409B2 (en) * 2018-01-12 2023-11-28 Nok Nok Labs, Inc. System and method for binding verifiable claims
WO2020047281A1 (en) * 2018-08-30 2020-03-05 Ideola, Inc. System and method for memetic authentication and identification
DE102018009950A1 (de) * 2018-12-18 2020-06-18 Giesecke+Devrient Gesellschaft mit beschränkter Haftung Verfahren zum Erhalten einer blinden Signatur
US12041039B2 (en) 2019-02-28 2024-07-16 Nok Nok Labs, Inc. System and method for endorsing a new authenticator
US11792024B2 (en) 2019-03-29 2023-10-17 Nok Nok Labs, Inc. System and method for efficient challenge-response authentication
US11005654B2 (en) 2019-05-14 2021-05-11 Google Llc Outsourcing exponentiation in a private group
CN110135909A (zh) * 2019-05-15 2019-08-16 山东工商学院 基于零知识证明的数据处理方法、***、设备及存储介质
US11201746B2 (en) 2019-08-01 2021-12-14 Accenture Global Solutions Limited Blockchain access control system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09251499A (ja) * 1996-03-14 1997-09-22 Nippon Telegr & Teleph Corp <Ntt> 複数信託機関を利用した電子現金方法
JPH1166194A (ja) * 1997-08-15 1999-03-09 Nippon Telegr & Teleph Corp <Ntt> 匿名電子現金預け入れ方法、その装置およびプログラム記録媒体
JP2002530723A (ja) * 1998-11-25 2002-09-17 アナトリエヴィッチ ゾロタレフ,オレグ 支払いを発効させる方法およびそのための装置
JP2004242195A (ja) * 2003-02-07 2004-08-26 Nippon Telegr & Teleph Corp <Ntt> 被認証処理方法、被認証装置、被認証処理プログラム、電子証明書管理サーバ及び電子証明書管理システム
US20090217042A1 (en) * 2004-08-27 2009-08-27 Zulfikar Ramzan Provisional signature schemes

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5016274A (en) * 1988-11-08 1991-05-14 Silvio Micali On-line/off-line digital signing
US5373558A (en) * 1993-05-25 1994-12-13 Chaum; David Desinated-confirmer signature systems
NL9301348A (nl) * 1993-08-02 1995-03-01 Stefanus Alfonsus Brands Elektronisch betalingssysteem.
FR2714780B1 (fr) * 1993-12-30 1996-01-26 Stern Jacques Procédé d'authentification d'au moins un dispositif d'identification par un dispositif de vérification.
US5493614A (en) * 1994-05-03 1996-02-20 Chaum; David Private signature and proof systems
US6292897B1 (en) * 1997-11-03 2001-09-18 International Business Machines Corporation Undeniable certificates for digital signature verification
US6411715B1 (en) * 1997-11-10 2002-06-25 Rsa Security, Inc. Methods and apparatus for verifying the cryptographic security of a selected private and public key pair without knowing the private key
US6108783A (en) * 1998-02-11 2000-08-22 International Business Machines Corporation Chameleon hashing and signatures
US7360080B2 (en) * 2000-11-03 2008-04-15 International Business Machines Corporation Non-transferable anonymous credential system with optional anonymity revocation
JP4774650B2 (ja) * 2001-08-07 2011-09-14 日本電気株式会社 離散対数の一致または不一致を示すゼロ知識証明システム及び方法
JP2005520395A (ja) * 2002-03-13 2005-07-07 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 多項式に基づいたマルチユーザ用の鍵生成および認証方法と認証システム
ATE362249T1 (de) * 2004-03-02 2007-06-15 France Telecom Verfahren und vorrichtungen zur erstellung fairer blindunterschriften

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09251499A (ja) * 1996-03-14 1997-09-22 Nippon Telegr & Teleph Corp <Ntt> 複数信託機関を利用した電子現金方法
JPH1166194A (ja) * 1997-08-15 1999-03-09 Nippon Telegr & Teleph Corp <Ntt> 匿名電子現金預け入れ方法、その装置およびプログラム記録媒体
JP2002530723A (ja) * 1998-11-25 2002-09-17 アナトリエヴィッチ ゾロタレフ,オレグ 支払いを発効させる方法およびそのための装置
JP2004242195A (ja) * 2003-02-07 2004-08-26 Nippon Telegr & Teleph Corp <Ntt> 被認証処理方法、被認証装置、被認証処理プログラム、電子証明書管理サーバ及び電子証明書管理システム
US20090217042A1 (en) * 2004-08-27 2009-08-27 Zulfikar Ramzan Provisional signature schemes

Also Published As

Publication number Publication date
US20060056621A1 (en) 2006-03-16
US7730319B2 (en) 2010-06-01
US20090217041A1 (en) 2009-08-27
WO2006024042A2 (en) 2006-03-02
US20090217042A1 (en) 2009-08-27
WO2006024042A3 (en) 2006-05-26

Similar Documents

Publication Publication Date Title
US7730319B2 (en) Provisional signature schemes
JP5201136B2 (ja) 匿名認証システムおよび匿名認証方法
US6292897B1 (en) Undeniable certificates for digital signature verification
EP0786178B1 (en) Secret-key certificates
JP5205398B2 (ja) 鍵認証方式
US8654975B2 (en) Joint encryption of data
CN110545279A (zh) 兼具隐私和监管功能的区块链交易方法、装置及***
KR100718489B1 (ko) 신규의 공정한 은닉 서명을 위한 서명 방법, 컴퓨터 프로그램, 장치 및 서명 시스템
US20050097316A1 (en) Digital signature method based on identification information of group members, and method of acquiring identification information of signed-group member, and digital signature system for performing digital signature based on identification information of group members
US9882890B2 (en) Reissue of cryptographic credentials
US20050135606A1 (en) Method and apparatus for verifiable generation of public keys
EP2792098B1 (en) Group encryption methods and devices
JP2013539295A (ja) メッセージ復元を伴うデジタル署名の認証された暗号化
JP2002534701A (ja) 寄託されない署名専用キーを用いた自動回復可能な自動可能暗号システム
US9088419B2 (en) Keyed PV signatures
JP5029358B2 (ja) 鍵発行方法、グループ署名システム
CN111245615B (zh) 一种基于身份的数字签名密码逆向防火墙方法
Tso A new way to generate a ring: Universal ring signature
JP2005513564A (ja) 負荷を複数のエンティティおよびそのデバイスに分散させるための暗号法
JP3331329B2 (ja) 公開検証可依頼復元ブラインド署名方法、その装置及びプログラム記録媒体
JP2000231330A (ja) ブラインド署名方法、そのシステム、その装置およびプログラム記録媒体
CN116094726A (zh) 一种基于格公钥密码的部分盲签名方法及***
Lau Proxy signature schemes
Causey Blind Digital Signatures
Pasupathinathan et al. Privacy enhancements for hardware-based security modules

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080306

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110405

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110803