JPH09500977A - 制限付きブラインド署名 - Google Patents

制限付きブラインド署名

Info

Publication number
JPH09500977A
JPH09500977A JP7505757A JP50575795A JPH09500977A JP H09500977 A JPH09500977 A JP H09500977A JP 7505757 A JP7505757 A JP 7505757A JP 50575795 A JP50575795 A JP 50575795A JP H09500977 A JPH09500977 A JP H09500977A
Authority
JP
Japan
Prior art keywords
user
vector
protocol
number vector
function
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.)
Ceased
Application number
JP7505757A
Other languages
English (en)
Inventor
ブランズ、ステファヌス・アルフォンスス
Original Assignee
ブランズ、ステファヌス・アルフォンスス
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 ブランズ、ステファヌス・アルフォンスス filed Critical ブランズ、ステファヌス・アルフォンスス
Publication of JPH09500977A publication Critical patent/JPH09500977A/ja
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/381Currency conversion
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1016Devices or methods for securing the PIN and other transaction-data, e.g. by encryption
    • 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/302Public 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 integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/725Finite field arithmetic over elliptic curves
    • 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/26Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm
    • 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)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Algebra (AREA)
  • Complex Calculations (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Control Of Vending Devices And Auxiliary Devices For Vending Devices (AREA)
  • Developing Agents For Electrophotography (AREA)
  • Materials For Medical Uses (AREA)
  • Orthopedics, Nursing, And Contraception (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 プライバシーを守りつつ認証済み情報を転送する電子システムにおける三種の関係者のための暗号装置と手段を開示している。本発明は、このようなシステムにおける効率と安全性とを改善したプロトコルを明らかにしていると共に、種々の有用な機能拡張が難なく行えるようにしている。これは、制限付きブラインド署名プロトコルに検証プロトコルを用いることにより達成できる。制限付きブラインド署名プロトコルでは、認証側当事者がデータを認証済み情報に暗号化して受信当事者に転送するようにしているので、受信側当事者では改京できないようになっている。検証プロトコルでは、認証済み情報における暗号化データについての種々の特性を関係当事者が検証できるようにしている。

Description

【発明の詳細な説明】 制限付きブラインド署名 1.発明の背景 本発明は、デジタル取引システム、詳述すれば、認証済み電子情報を公開鍵暗 号法に基づいてプライバシーを守りつつ転送する安全なシステムに関する。 2.従来技術の説明 本発明は、認証済み情報をプライバシーを保護しながら転送する電子システム に関する。 従来では、三者、即ち、情報を認証する「認証側」当事者と、認証済み情報を 利用する「ユーザー」と、認証済み情報が提示される「組織」を利用してそのよ うなシステムをモデル化するのが一般的である。一般に、システムは、いく人の ユーザーと組織、そして恐らくは認証側当事者をも含めて構成されている。また 、一人の関係者が一つの役割だけでなくて、例えば認証側当事者と組織、或いは 、ユーザーと組織といった具合に複数の役割を果たすこともあり得る。各関係者 が、例えばスマートカードや、パームトップ型コンピューター、パソコンの如く の記憶能力のある電子演算装置にアクセスできる。認証済み情報は、数のベクト ルとして表されるから、電子手段で転送できる。この意味で、ベクトルとは一つ かそれ以上の数の順序付けられた集合である。 このようなシステムの一例として電子キャッシュシステムがある。認証側当事 者は銀行で、現金を発行する。ユーザーは口座所有者であって、銀行で電子現金 を引き出す。組織としては店やそのようなものであり、システムの規則によれば 、商品や労役提供に対する支払いの手段として認証済み情報を受け取ることにな っている。言うまでもないことではあるが、このようなシステムを実際に実施す るとなると、複数の銀行や手形交換所の如くのその他の組織が絡んでいる。 一般に、自動化の対象となり得る取引システムは、このシステムが利用できる 一例である。投票権や、証明書ないし免状、コイン、自動車運転免許証、医師の 承認書、生誕証明書、国籍証明書、税金関係データーなど、非常に沢山の種類の 認証済み情報を転送するシステムを思い浮かべればよい。 従来より電子情報を認証するのに、デジタル署名が使われているのが知られて いる。この暗号法は、認証側当事者が、一つが公衆側に公開されるようになって いる二つのアルゴリズムないし鍵を発生させることからなる。数のベクトルを認 証するには、認証側当事者が、秘匿アルゴリズムを適用することにより、第2の 数ベクトル(デジタル署名)を発生させるが、この第2の数ベクトルは、認証す べき数ベクトルとある数理的な関係を有している。この関係を有する二つの数ベ クトルは、誰かが秘匿アルゴリズムを知っておれば、効率的に復号できる。公衆 側に公開されているアルゴリズムは、二つの数ベクトルが互いに前述の如くの関 係を有しているかどうかを確かめるのに使われるだけである。従って、第2ベク トルが第1ベクトルについてのデジタル署名として使われる。これらの二つの数 のベクトルは、認証済み情報の一部を構成しており、認証側当事者の署名を表し ている一つのベクトルと見ることができる。 デジタル署名が他の特徴を伴わずに使われると、ユーザーのプライバシーを守 ることができない。このようなデジタル署名を、通常のデジタル署名と称するこ とにする。ユーザーが異なった組織に対して提示した情報は連携させることがで きる。即ち、認証側当事者は、どのユーザーがどの数の認証済みベクトルを受け 取ったのか、また、認証済み情報の転送先である組織が同じ数のベクトルを確実 に見ているかどうかを知ることができる。 暗号を用いるという考えは、そのようなシステムでのプライバシーを保証する ために工夫されたものである(チャーム(Chaum)に付与された米国特許第4,759,0 63号を参照のこと)。この考えは、認証側当事者とユーザーとの間での所謂「ブ ラインド」(blind)署名プロトコルに基づいている。このようなプロトコルで は、ユーザーは、プロトコルの一方側の認証側当事者にはユーザーが所有する数 のベクトルについての手がかりが一切ないと確信することができる。しかも、認 証側当事者は、プロトコル開始時に例えばコインや自動車運転免許証の如くの特 定種の認証済み情報を有していることを確実に知っている。 認証済み情報を転送するに当たってユーザーのプライバシーを保証する暗号化 法には、もう一つ知られている。この二つ目の暗号化法では、一人のユーザーが 異なった組織では異なった仮り名、それも互いに連携のない仮り名で知られてい るようにしている。原理的には、ユーザーは自分の仮り名の間で認証済み情報を 転送することもあり得る。この暗号化法では、ブラインド署名プロトコルを必ず 利用している。即ち、各ユーザーは、ブラインド署名プロトコルでの仮り名を持 っていなければならない。暗号化プロトコルでは、ユーザーがどれか一つの仮り 名での通常のデジタル署名(この仮り名が登録されている組織が作成する。尚、 これは組織が認証側当事者ともなっている場合での一例である。)を、残りの仮 り名での各デジタル署名に変えることができるようになっている。このようにし て、一つの特定の組織が認証した情報が、ユーザーが仮り名を所有している残り の組織に対して示されるが、これらの組織は転送された情報を連携させることは できない。このように互いに連携のない仮り名を利用するが、仮り名の間で資格 認証(credential)が移送されるようにしたシステムは、資格認証機構(creden tial mechanism)として知られている。 現金システムでのコインの如くのある種の認証済み情報は、一回だけ提示され る。ブラインド署名を利用したシステムのユーザーが、自分の身元(identifica tion)を明らかにしなくとも、そのような情報を何回も異なった組織に対して提 示してしまうのを防ぐために、「一回提示」(one-show)ブラインドプロトコル として知られている特殊なブラインド署名を用いた暗号化法が知られている(チ ャームに付与された米国特許第4,914,698号を参照のこと)。この一回提示ブラ インドプロトコルでは、認証側当事者は、関係ユーザーに関する情報が、当該ユ ーザーが得る認証済み情報に暗号化されていることを確実に知っている。その上 で、認証済み情報が提示される組織により当該認証済み情報が「検証」されなけ ればならないようになっているが、この検証では二回検証して暗号化情報が算定 されるようになっている。 プライバシー保証システムで組織及び認証側当事者に対して、ユーザーが認証 済み情報をどうするかについて一層管理できるように保証したものとして、もう 一つの暗号化法が知られている(チャームに付与された米国特許第4,926,480号 を参照のこと)。この方法では、改竄防止型(tamper-resistant)演算装置をユー ザの装置に「埋込み(embedding)」することよりなる。この埋込みは、言葉通り の意味と介すべきではなく、構成としては、ユーザーのパソコンのパラレルポー トと接続した、いわば改竄防止装置を利用している。この改竄防止装置は、認証 側当事者や組織の何れか一方、又は両方の利益ために用いられている。原理的に は、暗号化プロトコルで、ユーザーの装置は、埋込み型改竄防止装置と協働して こそ、認証済み情報を提示したり、削除できると、保証している。この埋込みが ために、ユーザーのモジュールは、個人識別に関する情報が埋込み装置により、 或いは埋込み装置へともれるようなことがないように監視しているから、プライ バシーが保護されていることを保証している。 ところがこれらの方法を実現するとなると、著しい問題点が浮上してくる。こ の中で実現されているものとして知られているのは、仮り名(提案されている若 干の変更点は考慮しない)の間で資格情報を移送する資格認証機構だけである。 この機構では、ユーザーは幾つかの仮り名の内の一つでの署名を、残りの仮り名 での署名に移送することができ、限られた回数だけ利用できる資格の仮り名の間 での移送についての規定はない。何故なら、仮り名で署名するのに通常のデジタ ル署名が使われるからである。それに、ユーザーに対してブラインド法で仮り名 を発行するプロトコルを実施することは、所謂「カット・選択(cut-and-choose) 」法が使われていることから、通信、演算、記憶の機能が絡み合っているところ では効率的なものではないといった問題もある。更に、もう一つの懸念として、 このプロトコル、即ちシステム全体のの安全性に疑問がある。その上、認証側当 事者や組織、改竄防止装置がプロトコル時にこれらの当事者の内の少なくとも二 者に知られいる乱数を作れないようにするとか、従来知られているものの中でも 最も厳しいプライバシー保護基準の下で埋込み型改竄防止装置を実現するプロト コルは知られていない。複数のユーザーの資格の全体(ensemble)がある要件を満 たしていることを当該ユーザーが証明するものは何もないようである。また、ユ ーザーが、この仮り名が自分のものであることを、自分の複数の仮り名のどれか 一つによる署名を得ないで他の方法で証明できないようになっているところにも 問題点がある。更にもう一つの問題点として、ある人が複数の資格のある組合せ を有していると証明するのに利用できる効率的なプロトコルもないところにある 。また、年齢や収入などの如くの数値データを伴う資格についての規則もなく、 従って、数値データそのものを明らかにしないで数々の数値データの関係を証明 する規則もないし、以前の数値データを知らないで認証側当事者がそのような資 格を認証すべくもない。 オフライン式電子キャッシュシステムの特定の場合に当てはまる着想を実現し たものとして幾つかが知られている。これらのシステムでは、仮り名の間で一回 提示資格が移送されるようなことはなく、口座所有者は店に対する仮り名を使う ことはない。その上、この種のシステムは資格認証機構と呼ばれている。兎も角 、文献で知られている限りのキャッシュシステムはどれも、従来公知の資格認証 機構の特定の例でもない、即ち、資格認証機構を実現するのに用いた同一汎用技 術を用いることで派生したものではない。それどころか、一回提示ブラインド署 名(コインは、一回限り提示される資格であるから)のアイデアを実現するのに 、専らそのための構成と思われるものを使っているだけである。それがために、 安全性について疑問の余地が残されており、また、後日に拡張機能を追加すると きに変更しないで済む簡単で身軽かつ効率的なソフトのカーネルに依る効果的な 実施を妨げている。更に、一回提示システムを実現するものと知られている引出 しプロトコルでは、カット・選択法を利用しているから、通信、演算、記憶など が絡み合ったところでは効率的なものとはなり得ない。プロトコルで専用構成を 用いていることから、システムの機能を拡張することは非常に難しく、やれたと しても安全性と効率性に関する問題点が更に悪くなるだけである。 小切手の発行を行えるようにした拡張機能が提案されている。しかし、これで も安全性に疑問の余地があり、また、効率も良くない。銀行による仕掛け(コイ ンを二重払いしたと偽って銀行が口座所有者を告発することを意味する)にたい する保護策を取り入れた汎用技術も知られている。しかし、この技術では、ユー ザーの演算装置のための収納要件が無視できないほど増大するし、また、銀行側 の演算能が限られている場合に保護されるにすぎない。他の問題点としては、期 限や金種などの別の情報を記号化するには、各価値ごとに異なった署名を使って 行うより他にはなすべくもないようである。支払追跡を行わないでコインが一回 以上使われるのを銀行として認めることが提案されているが、これが効果的に実 施されている例はない。前述の最も厳しいプライバシー保護要件の下で埋込み型 改竄防止装置を用いたアイデアを実現させるシステムは知られていないし、それ ほど厳しくはない基準に合致した拡張機能を有する幾つかの既知のシステムでは 安全性に問題がある。もう一つの懸念されている点は、この拡張機能での「停止 チャンネル(halting channel)」を充分防ぐ方法がないことが挙げられる。停止 チャンネルに関する問題は、改竄防止装置がある時点でプロトコルの拡張機能を 停止する、或いは、停止しないだけで、認証側当事者に対して少なくとも1ビッ トの情報を漏らすことを意味する。このような諸問題点かあることから、これら の全ての拡張機能を組み込んだシステムが今まで提案されなかったとしても、驚 くに当たらない。 実用性のありそうな公知の資格認証機構やオフライン式キャッシュシステムは 、当業界ではよく知られている所謂RSA問題(1978年2月発行のCommunicatio ns of the ACMの第120頁から第126頁に掲載のリヴェスト(Rivest)等によ る「A method of obtaining digital signatures and public-key cryptosystem s(デジタル署名を得る方法と公開鍵式暗号システム)」を参照のこと)が突破 される(break)と、これもまた突破される(break)ことになる。RSA問題が突破 されたとしても、安全のままでいるシステムは今の所知られていない。 発明の目的 従って、本発明の目的は、 以後、制限付きブラインド署名プロトコルと呼ぶ特殊ブラインド署名プロトコ ルを導入することにより、電子情報を転送するシステムの機能における効率と安 全性と拡張性とを増加すること、 限定された回数だけ提示し得る資格が、仮り名で署名する制限付きブラインド 署名プロトコルを利用することにより、仮り名の間で移送できるようにすること 、 従来より知られているプロトコルのそれと直接関係のある安全性を有する制限 付きブラインド署名プロトコルを実現することで、資格認証機構の安全性を向上 すること、 特定種の個人識別及び署名に基づいて制限付きブラインド署名プロトコルを構 成する二つの技法を提供することにより、当該制限付きブラインド署名プロトコ ルを効率的、かつ、安全に実現すること、 制限付きブラインド署名に基づいた適当なプロトコルを提供することにより、 埋込み型改竄防止装置を利用したシステムにおけるユーザーのプライバシー保護 を向上させること、 複数の資格を有していることを一つのプロトコルだけを用いて効率的に証明で きるようにすること、 各資格ごとに別々のデジタル署名を要するのを防ぐこと、 ユーザーが複数の資格を保持するのを許容して、一つの対応するデジタル署名 で充分にすること、 各数値データごとに異なった種類の署名を要することなく、数値データを示す 資格を認めること、 ユーザーが既得している資格を知ることなく、組織がユーザーの資格を更新で きるようにすること、 別に情報を明らかにしなくとも、一つの簡単なプロトコルでユーザーの複数の 資格の間での種々の数理的関係をユーザーが証明できるようにすること、 限定された回数に亙って提示される資格を効率的に実現すること、 制限付きブラインド署名プロトコルを利用することにより、オフライン電子キ ャッシュシステムで匿名口座が開設できるようにすること、 専用構成を避けることにより、オフライン電子キャッシュシステムの安全性を 向上させること、 制限付きブラインド署名プロトコルを利用することにより、現金引出しのため のオフラインキャッシュシステムの効率を向上させること、 オフライン電子キャッシュシステムにおいての効率的かつ安全に小切手の発行 ができるようにすること、 一般的な資格認証機構で用いられている技法だけに基づいてオフライン電子キ ャッシュシステムができるようにすること、 ユーザーの演算装置と外部当事者との間に唯一の交信を必要とするプロトコル を構築することにより、改竄防止装置から外部当事者への停止チャンネルを防ぐ こと、 そのようなプロトコルにおいて同様な方法で、外部当事者から改竄防止装置へ の停止チャンネルを防ぐこと、 固定値に対してユーザーがランダム選択する数の部分集合(subset)を設定して 、ユーザーでなくてむしろ認証側当事者にこれらの部分集合における数に関係す る演算をやらせることにより、資格認証機構の機能拡張が簡単にオフに切り替え られるようにすること、 斯かるシステムでの種々の拡張機能の数や種類に係わらず利用できるデータ構 造と基本アルゴリズムの高度にコンパクトな集合を用いた斯かるシステムを実施 すること、 記憶能力に影響のない簡単な方法で仕掛けから保護すること、 認証側当事者が、安全性に影響のない効率的な方法で別の情報を資格に復元で きるようにすること、 システム全体のコンパクトで均質なアルゴリズムの集合を提供することにより 、効率と安全性に否定的な影響を及ぼすことなく、前述の諸目的を達成すること 、 改竄防止装置をして、従来公知の特殊な個人識別プロトコルを引出し支払いプ ロトコルの全体(ensemble)において実行させることにより、埋込み型改竄防止装 置を用いたオフライン電子キャッシュシステムにおける認証側当事者と組織の安 全性を増大させること、 改竄防止装置での必要な記憶容量と演算能力とを少なくして、現在利用されて いるスマートカードの如くの小型演算装置を用いることで実現できるようにする こと、そして 前述の諸目的を効率的かつ経済的、実用的に達成することなどにある。 本発明のその他の特長や目的、利点などについては、図面を参照しながら説明 と請求の範囲を読めば明らかになるであろう。 図面の簡単な説明 第1図は、本発明の教示にかかるワークステーション、外部システム、および 随意の改竄等の不正に対抗する計算デバイスを含む好ましい実施形態のブロック ダイヤグラムである。 第2図は、本発明の教示にかかる第1の好ましい実施形態のための制限付ブラ インド署名プロトコルのフローチャートを示す。 第3図は、本発明の教示にかかる第1の好ましい実施形態のためのいま一つの 制限付ブラインド署名プロトコルのフローチャートを示す。 第4図は、本発明の教示にかかる第1の好ましい実施形態のための第3の制限 付ブラインド署名プロトコルのフローチャートを示す。 第5図は、本発明の教示にかかる第1の好ましい実施形態のための数字Aを標 記する知識を証明するフローチャートを示す。 第6図は、本発明に教示にかかる第1の好ましい実施形態のための仮り名を作 るためのプロトコルのフローチャートを示す。 第7図は、本発明の教示にかかる第1の好ましい実施形態のキャッシュシステ ムにおけるコイン(coin)の引出しプロトコルのフローチャートである。 第8図は、本発明の教示にかかる第1の好ましい実施形態のコインの支払いプ ロトコルのフローチャートである。 第9図は、不正対抗型デバイスがユーザの計算デバイスと共動しなければなら ないときの、本発明の教示にかかる第1の好ましい実施形態のコインの引出しプ ロトコルのフローチャートを示す。 第10図は、不正対抗型デバイスがユーザの計算デバイスと共動しなければな らないときの、本発明の教示にかかる第1の好ましい実施形態のコインの支払い プロトコルとフローチャートを示す。 第11図は、本発明の教示にかかる第1の好ましい実施形態の小切手引出プロ トコルのフローチャートを示す。 第12図は、本発明の教示にかかる第1の好ましい実施形態の小切手支払いプ ロトコルのフローチャートを示す。 第13図は、本発明の教示にかかる第1の好ましい実施形態の小切手払い戻し プロトコルのフローチャートである。 第14図は、本発明の教示にかかる第2の好ましい実施形態の制限付ブライン ド署名プロトコルのフローチャートを示す。 第15図は、本発明の教示にかかる第2の好ましい実施形態のいま一つの制限 付ブラインド署名プロトコルのフローチャートを示す。 第16図は、本発明の教示にかかる第2の好ましい実施形態の第3の制限付ブ ラインド署名プロトコルのフローチャートを示す。 第17図は、本発明の教示にかかる第2の好ましい実施形態のさらにいま一つ の制限付ブラインド署名プロトコルのフローチャートを示す。 第18図は、本発明の教示にかかる第2の実施形態の数字Aを標記する知識を 確認するフローチャートを示す。 第19図は、本発明の教示にかかる第2の好ましい実施形態のキャッシュシス テムにおけるコインの引出プロトコルのフローチャートを示す。 第20図は、本発明の教示にかかる第2の好ましい実施形態のコイン支払いプ ロトコルのフローチャートを示す。 第21図は、不正対抗型デバイスがユーザの計算デバイスと共動しなければな らないときの、本発明の教示にかかる第2の好ましい実施形態のコイン引出プロ トコルのフローチャートを示す。 第22図は、不正対抗型デバイスがユーザの計算デバイスと共動しなければな らないときの、本発明の教示にかかる第2の好ましい実施形態のコイン支払いプ ロトコルのフローチャートを示す。 第23図は、本発明の教示にかかる第2の好ましい実施形態のさらにいま一つ の制限付ブラインド署名プロトコルのフローチャートを示す。 第24図は、本発明の教示にかかる第2の好ましい実施形態の改変されたキャ ッシュシステムにおけるコイン引出プロトコルのフローチャートを示す。 第25図は、本発明の教示にかかる第2の好ましい実施形態のコイン支払いプ ロトコルのフローチャートを示す。 第26図は、本発明の教示にかかる第2の好ましい実施形態のフレーミング化 に対抗する無条件保護を有する引出プロトコルのフローチャートを示す。 第27図は、本発明の教示にかかる第2の好ましい実施形態のフレーミング化 に対抗する無条件保護を有する支払いプロトコルのフローチャートを示す。 第28図は、不正対抗型デバイスがユーザの計算デバイスと共動しなければな らないときに、本発明の教示にかかる第2の好ましい実施形態の口座開設プロト コルのフローチャートを示す。 第29図は、不正対抗型デバイスがユーザの計算デバイスと共動しなければな らないときに、本発明の教示にかかる第2の好ましい実施形態のコイン引出プロ トコルのフローチャートを示す。 第30図は、不正対抗型デバイスがユーザの計算デバイスと共動しなければな らないときに、本発明の教示にかかる第2の好ましい実施形態のコイン支払いプ ロトコルのフローチャートを示す。 第31図は、本発明の教示にかかる第2の好ましい実施形態の小切手引出プロ トコルのフローチャート示す。 第32図は、本発明の教示にかかる第2の好ましい実施形態の小切手支払いプ ロトコルのフローチャートを示す。 第33図は、本発明の教示にかかる第2の好ましい実施形態の小切手払い戻し プロトコルのフローチャートを示す。 第34図は、本発明の教示にかかる第2の好ましい実施形態の仮り名発行プロ トコルのフローチャートを示す。 発明の要約 本発明のこれらおよび他の目的に鑑み、本発明の簡単な要約が与えられている 。以下の要約では、いくつかの単純化および省略がなされているが、以下の要約 は本発明のいくつかの観点を強調して紹介することを意図するものであって、そ の範囲を限定するものではない。当業者が本発明品を製作して使用するのに適し た2つの好ましい実施形態の詳細な説明は、後に与えられるであろう。 計算デバイスは、その内部動作を(殆ど)完全に制御することができるユーザ により保持される。上記ユーザは、1以上の認証側と組織側との間で認証された 電気情報を伝送することにより取引業務を行なう。 必要に応じて、かかる伝送をうまく行なうために上記ユーザの計算デバイスは 改竄等の不正対抗型計算デバイスの補助を必要とする。上記不正対抗型デバイス は認証側の利害を代表し、多分また組織側を代表することもある。上記不正対抗 部分がその所有者により行われた取引業務の追跡不可能性に妥協しないことを保 証するために、上記不正対抗部分がその所有者に単に情報を送信することができ るとともに、同様に、その所有者からのみ情報を受信することができるような物 理的構成を有している。唯一の例外は、認証側と組織側の両方またはその一方が 場合によっては時々、またはユーザに装置を渡す前に少なくとも一度、ユーザが 認証された情報をその助けなしに伝送するために必要とする秘密キーのような( 追加の)情報を不正対抗部分に蓄積してもよいことである。 図2,図3,図4,図14,図15,図16,図17,および図23は、制限 付ブラインド署名プロトコルと呼ばれる第1および第2の好ましい実施形態のた めの特別の例を示している。本発明の技術思想は認証された情報が隠された状態 で得られ、さらに上記プロトコルに対する入力として使用されたメッセージのあ る種の構成がまだ、ユーザによりそれに印加される隠し変換にかかわらず、その 隠された形態(それに対して署名が上記プロトコルの終わりにユーザにより計算 される)で存在することを保証する。すなわち、上記ユーザは見えないフォーム とそれに対応する署名が十分追跡されない、しかも入力に含まれているある情報 を削除できないように、プロトコルの入力メッセージを見えないようにすること ができる。 全てのこれらのフローチャートは、当業者には容易に分かるように、同じ構成 を有している。発明の詳細な説明の節において詳細に説明するように、それらは 全て従来周知の特定のタイプの同定プロトコルに基づいてかかるプロトコルを構 成するための2つの発明技術のうちの一つにより構成されている。フローチャー トは認証側Pを示しており、彼の秘密キーにより定義されるとともにユーザRの 要求に応答する上記プロトコルへの入力mの変換を実行する。Rの作用は出力m ’に対して入力mを隠すのに用いられるとともに、Pにより供給される情報を使 用することにより対応する署名を計算するのに使用される。 図5および図18はそれぞれ第1と第2の好ましい実施形態の、数字Aを標記 する知識をいま一つの側に供給するためのプロトコルを示している。 他のフローチャートは、前者の出力m’が後者の数字Aとして使用され、m’ に含まれる情報は実際Rが知識を検証していることを表している数字の関数とな るように、制限付ブラインド署名プロトコルを標記知識の確認と組み合わせるた めの種々の発明技術に基づいている。この有用性は、目隠しの間に保存されるm に含まれる情報であることが知られているものに資格認証を、Pがインストール することができるという事実を導き、ユーザが知識の証明を行うための表示がそ のときまた同じ資格認証に関連している。 詳細な説明において、これらの基本的なプロトコルがどちらの側によっても、 Aの知られた表示における種々の種類の構成が存在することを証明するために、 どのように使用することができるかを示している。 図6は、取捨選択技術を必要とすることなく、資格認証機構で仮り名を発行す るために制限付ブラインド署名プロトコルをどのようにして使用することができ るかを示している。数字uiは認証側により入力を目隠ししている間に保存する ために知られている上記プロトコルの入力の一部に符号化されるが、この数字は 各ユーザに対して異なっている。このようにして、同じ数字uiは仮り名のRに よって知られた表示で符号化されているので、各ユーザRは全ての関連する組織 において使用するための多くの仮り名を得ることができる。 図7および図8、同様に図19および図20は、基本的なオフラインキャッシ ュシステムのための引出しプロトコルおよび支払いプロトコルを示している。後 に明らかにされるように、これらの図面には特別(ad hoc)ではない構成 が適用され、図7および図19は要するにそれぞれ図2および図14の各々のブ ラインド署名プロトコルを少し変更したものであって、上記支払いプロトコルは 要するに表示の知識を探るためのプロトコルを少し変更したものである。引き出 されたコインによる2回の支払いは支払いプロトコルにおいてユーザにより送信 さ れた応答からAの表現、従って、引出しプロトコルに対する上記入力mに含まれ る情報の計算を可能にする。図24および図25は、いま一つの制限付ブライン ド署名プロトコル、すなわち図23のものが使用されるときの、第2の好ましい 実施形態の引出しプロトコルおよび支払いプロトコルを示している。明らかに、 殆ど変更を要しない。これは他の各々のブラインド署名設計の変更および置換の 下で強力なアルゴリズムおよびデータ構成のコンパクトな集合を開発する本発明 の目的を図示している。さらに、計算デバイスのランダムな選択値を固定値に設 定することにより、プライバシ機能をオフすることができ、この場合には、銀行 Bはcを計算することができ、上記引出しプロトコルの授受は不要である。後に 明らかになるように、プライバシ機能は追加のアルゴリズムもしくはデータ構造 を要することなくオプションとすることができる。 図9および図10のプロトコル、および同様に図21および図22のプロトコ ルは、不正対抗型ユーザモジュールが適用される場合のオフラインキャッシュシ ステムのための引出しおよび支払いプロトコルを示している。前記のように、こ の拡張は基本的なキャッシュシステムの引出しプロトコルおよび支払いプロトコ ルに対して少し変更を加えるこどにより事実上、実現される。後に明らかになる ように、支払いプロトコルにおいて店舗Sは第三者が加わっているということを 意識する必要はない。明らかに、異なったプロトコルが不要であるということは 本当に有利である。同様に、銀行が上記引出しプロトコルにおいて実行しなけれ ばならないことはまた不正対抗部分が使用されているかどうかとは無関係であり 、上記銀行の動作はたった一回だけ実行する必要がある設定フェーズの上記基本 システムにおけるそれらと相違しているにすぎない。上記不正対抗部分により実 行される必要がある作用は非常に限定されている。実際、引出しおよび支払いプ ロトコルの集合において、不正対抗部分の作用は正に同定構成のそれらであって 、引出しプロトコルを基礎としている制限付ブラインド署名プロトコルを構成す るためにまた使用することができる。しかし、上記支払いプロトコルの店舗にお いて予期される応答を計算するために、ユーザは不正対抗部分の助けを必要とす る。同時に、付加情報をSもしくはBに漏らすことが上記不正対抗部分には不可 能で あるばかりでなく、逆もまた同じであり、不正対抗部分、銀行およびSに対して 、引出しおよび支払いプロトコルの間に相関を有する数字を形成することも不可 能であり、かかる数字は不正対抗部分がいつか銀行に知られるような場合に、ユ ーザへの支払いを追跡することを可能にする。上記プロトコルのさらなる特徴は 、誤りチャンネルを防止することができ、その結果1ビットの情報さえも誤り( もしくは遅延伝送)により漏れ出すことができないということである。このため 、上記支払いプロトコルでは、詳細な説明の節で説明するように、ユーザはその とき自分でSから呼掛け(challenge)dを計算しなければならない。 上記の場合、不正対抗部分とユーザの計算デバイスとの間の全ての授受は単に予 備処理にすぎない。実際、基本システムはこの拡張のちょうど特別な場合であり 、ランダムな数字および不正対抗部分の秘密キーを、指数に対して0を固定する とともにベースの数に対して1を固定することにより、上記基本システムに対す る“縮退(degeneration)”が発生する。 図29および図30は、いま一つの制限付ブラインド署名プロトコルが使用さ れるとともに同じリマークが印加されたときの同様のプロトコルを示している。 図11,図12,および図13、および同様に図31,図32,および図33 は、電子小切手を取り扱うためのプロトコルを示している。各々の第1のプロト コルは小切手の引出しを示しており、それらは再び、上記基本システムの引出し プロトコルと大変よく似ている。主たる相違点は上記プロトコルに対する入力を 得るためにm1を有する銀行により乗算される数字mを発生させる付加的な動作 をユーザが行なうことである。これは制限付ブラインド署名プロトコルを繰り返 して使用することにより可能とされる一般的な技術の例であって、資格認証の数 字が何であるかを知る必要なしに、認証側が新しい資格認証の数字をインストー ルするのを許容する。各々の第2のプロトコルは小切手のための支払いプロトコ ルを記述しており、これらは各々の基本システムにおける支払いプロトコルとい ま一度非常に類似している。各々の第3のプロトコルは新しく、それらはユーザ が上記支払いプロトコルにおいて使われなかった小切手の一部に対する払い戻し を受けるのを許容する。詳細な説明から分かるように、このプロトコルは事実上 、 表示の知識の検証のためのプロトコルを少し変更することである。 最後に、図34は秘密口座を開くためのプロトコルを示している。このプロト コルは、さらに変更することなく上記キャッシュシステムの引出プロトコルに先 行しなければならない。詳細な説明の節からも分かるように、このプロトコルは 実際は制限付ブラインド署名プロトコルである。 図面のフローチャートは全て、制限付ブラインド署名プロトコルに適用可能な もっと一般的な発明技術から直接的に導かれる。それらは詳細な説明の節に記載 されており、それらは一般の資格認証メカニズムを構築するために適用すること ができる。例えば、小切手への拡張は2つのかかる技術に基づいている。第1の 技術は、上記プロトコルに対する入力としての数字の関数を取ることにより新し い資格認証をインストールする認証側の能力からなっており、この関数はそれ自 身により決定される。図11および図31では、この関数はユーザにより決定さ れた数字に単にmを乗じたものである。上記秘密口座に対する拡張がいま一つの 例となっている。これは上記プロトコルの以前の使用の出力が上記プロトコルの 後の使用に対する新しい入力として使用することができるという事実に基づいて いる。いま一つの例はフレーミング化を防止する技術である。これは認証側が入 力に含まれている情報を知る必要がない制限付ブラインド署名プロトコルが存在 するという事実から直接生じる。 上記キャッシュシステムが実際、組織の間で限られた回数を示しているにすぎ ない認証された情報を伝送するための方法であるという事実により、人がどのよ うな組織にもその仮り名を有しているかどうかにかかわらず情報を送ることがで きるような別の例が与えられている。制限付ブラインド署名プロトコルは、一般 の技術に対して、所望の回数だけ提示される資格認証と同様に制限された提示資 格認証を伝送することができるようにし(詳細な説明の節では、実際上制限付き 提示資格認証は1提示資格認証と多提示資格認証にさらに分離される)、また、 人が仮り名を有している全ての組織に対してのみ、ただ1つのかかる組織に対し て、もしくは全く任意の組織に対して資格認証を提示するのを許容する一般的な 技術に対しても同様に伝送できるようにする。合計でこれは6つの組合せを与え 、 上記キャッシュシステムはそのうちの1つにすぎない。5つの組合せのうちの1 つを実現するような技術を使用することにより、ユーザが仮り名でだけ支払うこ とができるキャッシュシステムを構築することができる(詳細な説明の節参照) 。後に当業者に明らかになるように、ユーザが仮り名を有しているかどうかに関 係なく、また他のものでは彼らがその組織に仮り名を有しているときにのみ、あ る組織にユーザが支払うことができるように、これらの2つのタイプのキャッシ ュシステムを容易に組み合わせることができる。 資格認証メカニズムを構成するこれらの一般的な技術の広汎な適用可能性は、 資格認証メカニズムへの適用を取り扱っている詳細な説明の節を読めばより明ら かになろう。 発明の詳細な説明 図2ないし図34の標記は当業者には明らかであると信じられるが、明確のた めに最初に上記標記について復習する。 プロトコルに関係する側のものにより行われる動作は、フローチャートのボッ クス内に共にグループ化されている。フローチャートのボックスに記載された動 作を実行する側は、上記ボックス内の縦行に表示されている。縦行は当事者の種 類を表わす記号が付されている。 記号「←」は、その左側の変数もしくは記号にその右側の値が割り当てられる ことを意味する、割当を表している。いくつかのかかる割当は実際に記憶スペー スが確保されなければならないことを意味するものではなく、それは引き続いて 実行される別の演算とともにRAMにおいて実行される単なる中間計算結果であ ることもある。 来技術と同様に、等値性を保持していないときにはプロトコルは停止する。同様 記号∈Rは、その左側の数字が均一な確率分布により他のなんらかのものと独 立に、その右側の集合から選択されることを示している。好ましくは、多分追加 の後処理と関連して、物理的な乱数発生器がこのために使用されるべきである。 実際上は、擬似乱数技術が使用されてもよい。後に当業者に明らかになるように 、独立した均一な分布を有するサンプリング分布によるより良好な近似がより良 く秘密もしくは安全性を保証する。本明細書中の「ある集合からアトランダムに 数字を発生する」(「乱数を発生する」)は同じことを表している。記号∈を使 用したときには、それは数字dが独立した均一な分布により決定される必要がな いことを示しており、特に、左側の数字は本明細書のボックスの対応する記載に おいて規定されるように、右側の集合から決定されてもよい。 いま一つの動作がコロンおよび1以上の数字に続くワード「Send」により 表される。これはそれらの数字が上記ボックスの中に記載された動作を実行する 側により、上記プロトコルに関係しているいま一つの側に送られることを示して いる。受信側は上記フローチャートのボックスの間の接続部分により示されてい る。 いくつかの動作は各関連する側に対してただ一回だけ実行されなければならな い。かかる動作は角括弧の間に表示されている。 「m’をA,Bに分離(Split m’into A,B)」、「署名(m )(sign(m))」、「署名(m)を検証(Verify sign(m) )」のように、種々の動作が言葉で記載されている。かかる場合には、本明細書 の対応する記載は上記動作の意味を詳述している。いずれの場合にも、このこと は同じ動作が前記フローチャートに既に表示されている場合にのみ行われる。 制限付ブラインド署名プロトコルの一般的な説明において、認証側をPにより 表し、ユーザ側をRで表わす。 オフラインキャッシュシステムの特別な場合には、上記プロトコルの種々の関 係者は次の筆記体記号により表される。 B=銀行(認証側) U=口座開設者(ユーザ) S=店舗(組織) O=不正対抗型銀行モジュール ★ ★ ★ 図1に戻って、本発明が実施される装置について詳細に説明する。 ブロック1はユーザとされる側のものにより所有される計算デバイスを示して いる。それは処理手段1b、メモリ手段1a、データ入力手段1c、およびデー タ/メッセージ表示手段1dを有している。これらの手段は簡単のために図示さ れていない適当な手段によりインターフェースされており、メモリ手段と処理手 段との間のインターフェースのみが両側矢印により示されている。かかるインタ ーフェース手段は従来周知である。ブロック1はまた説明される2つの通信イン ターフェースを有している。 ユーザ側の計算デバイスは種々の大きさおよび性能を有していてもよい。それ はスマートカード(smart card)であってもよく、流通しているクレ ジットカードの大きさとすることができる。スマートカードがそれ自身の電源を 有していないときには、通常、それを他の手段に接続することにより電流を供給 するようにしてもよく、その場合、一つのプロトコルの他側もしくは上記ユーザ により所有されている他のデバイスによって行われるような動作を実行しなけれ ばならない。 上記ユーザの計算デバイスは、パームトップコンピュータ、パーソナルコンピ ュータ、もしくはより強力なワークステーションであってもよい。それはインタ ラクティブテレビ受像機もしくはその遠隔制御装置のような、一部のマルチメデ ィア装置であってもよい。それはまたスマート電話、ファクシミリ等であっても よい。後に当業者に明らかになるように、実施形態の装置は非常に多くの形態を とることができ、想像に限りがあるだけである。 明らかに、上記データ/メッセージ表示装置は上記ユーザのデバイスの実施形 態によって異なる。例えば、パーソナルコンピュータではそれはモニタであり、 パームトップコンピュータのようなより小さなものの実施形態ではそれはLCD ドットマトリックスディスプレイである。同様のことが上記データ入力手段に対 して存在している。パーソナルコンピュータの場合はそれはキーボードであり、 スマート電話の場合にはそれはダイヤルボタンである。 通信インターフェースは電気的な直接接続により、もしくは電波、音波等によ るものであってもよい。例えば、ユーザのデバイスがワイドエリアネットワーク (Wide−Area−Network)のパーソナルコンピュータである場合 には、データは上記ネットワークのワイヤを通して伝送することができ、遠隔制 御デバイスのときには赤外線技術を使用することができる。 勿論、これらの機能を有する適当な技術を使用することができる。 後に明らかになるように、ユーザの計算デバイスは完全に彼自身の意のままに することができ、彼はそれ自身を組み立てることも、また市販のものを買うこと もできる。 その上、ユーザの計算デバイスはその所有者に盗難等に対する保護を提供する 。さらに、ユーザは種々のかかる計算デバイスを所有していて、いま一つのプロ トコルを実行する前に一つのかかるデバイスに記憶されたデータをいま一つのデ バイスに伝送してもよい。かかる理由の故に、詳細な説明の節では、上記ボック スにおける動作は、その計算デバイスによるよりもむしろ、含まれている側の種 類のものにより実行されるものとして説明されるであろう。すなわち、上記詳細 な説明で例えば、ユーザが前に受信された認証された情報を店舗へ送信するとい えば、これらの動作は彼の計算デバイスの一つにより実行される。同様に、Uは 「ユーザ」もしくは「彼」と呼ばれ、それに対して実際の計算動作は上記計算デ バイスにより実行される。この規約は従来技術(それでは計算が「アリス」、「 ボブ」等と呼ばれる側により実行される)において共通に使用されており、上記 詳細な説明の文脈中において読まれるときには如何なる曖昧さも生じない。例え ば、「ユーザが乱数を発生させ、これを銀行に伝送し、パスポートによって彼自 身を同定することにより口座を開設する」ということが言われると、パスポート を呈示して上記ユーザが本人であるということを銀行の支店に示さなければなら ないことは明らかであり、パスポートを呈示された銀行側の者はそのときまた銀 行の行員であるか、または上記ユーザの指紋を検査する装置である。乱数を発生 してそれ を銀行に送信する動作は上記ユーザの計算デバイスにより実行される。例えば、 オフラインキャッシュシステムにおいて、上記ユーザが本人であることを検証し 、署名を計算し、預金高のデータベースの正当性を検証し、かつ、口座開設者が ダブルスペント(double−spent)を有している場合に適切な処置を 取るので、同じ規約がまた他の種類の関係者に関して採用される。 ブロック2は、認証側および組織側と呼ばれる関係者の種類により制御される 計算デバイスを表している。それはメモリ手段2aおよび処理手段2bを含んで いる。上記デバイスが認証側に属しているときには、データ/メッセージ入力お よび表示手段がないということが大変よく予想されるが、その理由はその唯一の タスクが最初に検証しなければならない入力メッセージに署名を発生することで あるからである。それが組織の計算デバイスである場合には、テスト結果を搬送 するために単にブール値を表わす非常に基本的な表示手段が存在すると考えられ る。 再び、殆ど無数といえるほどのこのデバイスの実施形態を考えることができる 。例えば、キャッシュシステムでは、それはお金を支払う署名を発生する不正対 抗部分であり、電気通信等により遠隔アクセスされるある種の情報設備であって もよい。特に、それはまたブロック1のそれと同じ装置であってもよく、それは 組織がまたユーザである場合に特に考え得る。 ブロック2の計算デバイスの処理手段は、ユーザの計算デバイスの処理手段と 通信することができる。 ブロック3は、随意の計算デバイスである。それはメモリ手段3aおよび処理 手段3bを含んでいる。組織側および認証側とうまくプロトコルの授受を完成す るために、それはユーザの計算デバイスに必要であって、従って、それはユーザ により実行される動作について組織側および認証側によりよい制御を提供する。 その目的がそれを保持しているユーザからの少なくともいくつかの秘密事項を保 持することであるから、プロトコルをうまく実行するためにその補助が不可避で あるということを確実にするために、それは特に改竄等の不正対抗機能を有する ものでなければならない。 その処理手段は、それを所持しているユーザの処理手段と通信することができ る。しかしながら、それがプロトコルを完了するためにユーザを補助しなければ ならない上記プロトコルの実行中に、それは組織側および認証側とは直接通信で きるべきではない。「外側」の世界に情報を搬送するその唯一の方法はその所有 者の計算デバイスを介してである。 再び、上記不正対抗型デバイスは多くの形式のものとすることができる。例え ば、その所有者の計算デバイスがパーソナルコンピュータもしくはワークステー ションである場合には、その並列ポートに接続されたデバイスであるか、または それはパームトップコンピュータの開口に挿入されるいわゆるPCMCIAカー ドもしくはインタラクティブテレビ受像機の遠隔操作装置であってもよい。 ★ ★ ★ 制限付ブラインド署名プロトコル 従来周知のブラインド署名プロトコルに対して要求されることは、認証された 情報として使用することができる以外にRがプロトコルの終りに得る数字につい てPがいかなる手掛かりも得られないということである。より詳しくは、対応す る署名を有する数字の集合が与えられたときに、Pが上記プロトコルの実行によ り調べた数字はRが上記プロトコルの終りに得たその数字および署名についてい かなる情報も提供しない。 制限付ブラインド署名プロトコルは、重要な他の要求を満足するブラインド署 名プロトコルである。詳細な説明は以下の通りである。上記プロトコルのスター ト(セットアップフェーズという。)に際して、f1およびf2により表される2 つの関数が選択される。 プロトコルのスタートに際して、PおよびRは以下に上記プロトコルの入力と 呼ばれる数字mを承認する。この数字は少なくともRがm=f1(a1,…,ak )のようなk個(a1,…,ak)を知っているようなものである。 制限付ブラインド署名プロトコルの終りに、Rは彼がm’=f2(b1,…,bk )のようなl個(b1,…,bl)を知っているようなPの対応するデジタル署名 を有する(上記プロトコルの出力と呼ばれる)数字m’を計算することができる 。重要な特徴は、上記プロトコルの間にRにより加えられる変形に関係なく、必 然的にI1(a1,…,ak)がI2(b1,…,bl)に等しくなるようなプロトコ ルに関連する少なくとも2つの非定数関数I1およびI2が存在することである。 関数fおよび数字mに対し、以下にf-1(m)はfに関してmを表現するもの とする。例えば、fが該fにより同じ出力に写される複数の引き数が存在するよ うなハッシュ関数(hash−function)であるときには、出力に対し て多くの表現がある。fが同じ結果に写す2つの異なった引き数を決定すること が不可能であることを意味する無衝突ハッシュ関数であるようなときは、ユーザ は高々一つの表現を知ることができるにすぎない。そのような場合には、数字の 表現を知っているユーザについて言うことは意味がある。もしfが単向関数であ る、すなわち1対1である場合もまた同じである。 ユーザが関数fに関する数字を知っているという表現に「含まれる情報」によ って、上記表現の任意の関数Iが意味付けられている。明らかに、表現には多く の情報が含まれており、それは、上記表現の数字に対する多くの異なった関数が あるからである。 以下に使用されるこの用語により、制限付ブラインド署名プロトコルはデジタ ル署名プロトコルであって、該デジタル署名プロトコルではブラインド署名プロ トコルに対する要求を満足するようにRが隠された数字m’に対して数字mを完 全に隠すことができるが、しかしどのように彼がm’に対してmを隠したかに関 係なく、彼がm’に関して知っている表現に含まれているある情報に等しいmに 関して彼が知っている上記表現に含まれるある情報が必然的に存在する。後に当 業者には明らかになるように、このことは実際上、彼がmの表現において各数字 を独立してアトランダムに隠すことができないことを意味している。 一般にmおよびm’は、Rがベクトルの各数字のある表現を知るような数字の ベクトルであってもよい。 後に当業者には明らかになるように、通常、関数f1およびf2が同じであるよ うに決定することができ、そのときには同じ関数fに関してmとm’の表示につ いて語っている。同様に、関数I1とI2とを等しくなるように決定することがし ばしば可能である。この例が2つの好ましい実施形態の説明に与えられている。 m’の表現における数字の間の関係の知識の立証 追加のテストプロトコルなしに制限付ブラインド署名プロトコルを使用すると いう実際的な理由はない(逆もまた真であって、後に当業者には明らかになるよ うに、資格認証メカニズムへの適用に関して2つの節の各々において説明される 種々のテスト技術はそれら自身の正確さに関心がある)。すなわち、Rが「組織 」に対し、(b1,…,bl)は彼がf2に関してm’を知っているという表示で ある、I2(b1,…,bl)の数字について種々のステートメントを検証するこ とができるという事実が制限付ブラインド署名プロトコルに関連している。基本 的なアイデアは、I2(b1,…,bl)の数字が各々あるタイプの情報(の一部 )を表わすことができることである。例えば、これらの数字は0または1であっ てもよく、そのときには値biは種類iの一つの情報を有するか否かを表すこと ができる(種類iは「運転免許証」を意味していてもよい)。一般に、多くの異 なった値のbiが情報の種類もしくは収入の高さのようなある種の種類の「数量 」を表わすために使用することができる。 I1(a1,…,ak)=I2(b1,…,bl)であるから、Rは彼が対応する署 名を示すことができれば、彼自身それらの情報を作り上げないということをこれ は実際に意味している。結局、Pは彼自身mを受け入れるが、Rは制限付ブライ ンド署名プロトコルに対する入力として、それについて表現(a1,…,ak)を 知っている。従って、I2(b1,…,bl)の数字の間の関係を検証することに より、Rはこれらの関係がPにより認証されたいくつかの情報に対して保持して いるということを実際に検証している。Pはこれが何を表しているかを知る必要 がないことに注意すべきである。 本発明の技術の重要性は、関数f2に関して(彼が署名を有している)番号を 彼が知っている表現の知識をRに検証させることができるという事実から一部分 導くことができ、さらに一般的には、f2の適切な数学上の関数を取り、かつ関 数f2に関して上記数字の適当な他の関数の知識をRに検証させることにより、 彼が知っている表現の広範囲の関数を実際に彼に検証させることができる。この ことは、資格認証メカニズムへの適用に関する節において詳細に説明する。 「ワンショウ(one−show)」ブラインド署名との相違 従来から知られているワンショウブラインド署名は、特別なタイプの制限ブラ インド署名と考えられ、それらは一回以上一つの情報を呈示して −− 署名を 2回呈示して、認証された情報に含まれる情報を明らかにするユーザを同定する 手段として使用しているにすぎない。図面とともに詳細な説明の節を参照すれば 明らかなように、制限ブラインド署名においてはかかる制限は不要である。制限 付ブラインド署名計画はもっと広い適用分野に適用することができる。さらに、 制限付ブラインド署名は、いかなる追加の情報を明らかにすることなく認証され た情報に含まれている情報の一部の間の関係を検証するために使用することがで きる。 ワンショウブラインド署名の構成のための唯一の周知の技術は、周知の取捨選 択技術を使用している。これは並列に非常に多くの「通常の」ブラインド署名プ ロトコルを実行することからなっている。ユーザは彼が第1伝送において伝送し た全ての隠された数字の実質部分を第3伝送において「オープン」しなければな らない、すなわち、彼が彼らの各々に正しい情報を実際含んでいるということを 認証側に示さなければならない。その理由は、上記ユーザが実行することができ 、数学的に固有の隠し変換に関する制限が存在しないことである。オープンされ ていない部分(もしくはその結果)は認証側により第4ステップで署名され、そ れから通常のブラインド署名プロトコルにおけるように、ユーザにより隠しが解 かれる。上記ユーザは認証側が彼に開くことを要求するのはどの数字であるかを 前以て知ることができないので、(希望的観測で)高い確率を有する認証側が上 記開かれていない数字がまた正しい情報を含んでいることを保証される。後に当 業者には明らかになるように、各々のブラインド署名プロトコルはかかる効率的 でなくまた安全性を検証するのが困難である技術を利用する必要はなく、従って 、それらは大幅にもっと効率的なものとすることができる。 制限付ブラインド署名プロトコルの固有の特徴は、種々の入力および出力に含 まれている情報が必然的に完全に保存されるようにかかる以前に実行されたプロ トコルの出力は繰り返して(反復して)新しい実行に対する入力として使用する ことができるということである。このことは、f1=f2およびI1=I2であれば 最も明らかである。明らかに、f1とf2とが等しくないときは、しばしばそれら が等しくなるようにそれらを調整することが最もよく行われる。同じものがI1 とI2に対して保持している。このパラグラフの第1センテンスのような制限付 ブラインド署名プロトコルを繰り返し使用することは、以下に「トランシティヴ ィティ(transitivity)」と呼ばれる。含まれる情報は、プロトコ ルの新しい実行に対する入力として以前の出力の関数を使用することにより認証 側の制御の下に変更することもできる。この非常に強力な技術は、2つの好まし い実施形態に対して非常に詳しく示されるように、多くの適用分野で使用するこ とができる。 後に明らかになるように、制限ブラインド署名の特別な使用として、ワンショ ウブラインド署名を構成することがある。しかしながら、制限ブラインド署名の 最も強力な使用法は、ワンショウブラインド署名により達成することができない 一般的な技術から生じることが示されるであろう。 ★ ★ ★ 本発明を説明するために、2つの好ましい実施形態を非常に詳細に説明する。 それらの実施形態の各々を順に説明する。特別の実施形態にのみ使用される追加 の標記上の規約はその特別な実施形態の説明の最初に説明されるであろう。これ ら2つの好ましい実施形態の各々は関数f1およびf2に対する特別な選択により 特徴付けられる。これらの関数はその上に異なるように選択されるけれども、両 方の実施形態において、f1とf2の両方に等しい関数fを指定することができる 。上記詳細な説明から分かるように、このことは次のプロトコルの実行に対する 新しい入力としてプロトコルの以前の実行の出力を使用するときにいくつかの利 点 を有している。 各々の説明は次のように組織化することができる。明細書に記載された2つの 技術のいずれか1つの技術に基づいて各々の好ましい実施形態に対する制限付ブ ラインド署名プロトコルの種々の実現が説明されている。これに続いて、どのよ うにしてRが関数fに関するm’の表現の知識を検証するか、またどのようにし て複数の側がこれを共動して実行するかを説明する。これらのプロトコルは、I2 (b1,…,bk)、ここで(b1,…,bk)はRがfに関してm’について知 っているという表現である、における数字の間の関係の多様性を証明することが できるというプロトコルの構成の基礎を構成している。これら後者のプロトコル は、仮り名の間でワンショウ資格認証を変換するためのプロトコルを含む、いわ ゆる「資格認証メカニズム」への制限付ブラインド署名の適用に関する節に広範 囲にわたって記載されている。最後に、両方の好ましい実施形態に対して、オフ ライン電子キャッシュシステムが非常に詳細に説明されており、多くの説明され た技術がここでいま一度、使用される。 当業者には明らかなように、上記2つの実施形態の各々におけるプロトコルの 説明の例は、多くの特定のここに開示された発明技術および概念を開示するもの であるが、それらはあくまでも示唆を与えることを意図したものであって、それ に限定されるものではない。 第一の好ましい発明の実施の形態 1.はじめに 第一の好ましい発明の実施の形態においては、計算はZn *(nはふたつの大き な識別可能な素数の積)で示される乗法的なモジュロnの群において行われる。 従来技術との関連で説明したRSAの問題は、そのような群においては実行不可 能のように思われる。群の位数は認証されたパーティ(利用者)にのみ知られて いるので、指数における計算は、Zn *の位数の適切な約数でないある値νをモジ ュロとするもので行われる。したがって、 a ∈ Nに対し、 a = a mod ν + ν(a div ν) なる関係があるので、div νなる表現も含まれることとなる。 Zn *における掛算や割算は、常にモジュロnで行われるので、オペレータmod モジュロの計算が関係してくる場合(たとえば、γ1 =x1 + x2c mod ν) は、モジュロ指数は明確に示される。群からいくつかの数値が選ばれた場合、つ ねに最も小さい正の余りが示される。たとえば、a∈Rn *は、nと共素数(co-p rime)となる数値を含むサブセット{1,...,n−1}からaがランダムに選ば れることを示す(実際、このセットは、{1,...,n−1}として捕えられる )。 この好ましい実施の態様における制限された見えない(ブラインド)署名に対 し、次の内容が利用される。群から(Y1,...,Yk)(いずれも1でない)で 示されるベクトルと、群からランダムエレメントAを考えた場合、 ただし、a1,...,ak∈Zνであり、 Y1,...,Yk,ak+1∈Zn *であれば、 (a1,...,ak;ak+1)(A=1の場合、(0,...,0;1)と等しくない )で表されるベクトルを計算することは不可能であるように思われる。ここで、 ベ クトル表示形式において用いられる記号「;」は、その右側に示された数字が、 左側に示された数字と異なったセットであることを強調するためのものである。 上述した制限されたブラインド署名(restrictive blind signatures)の一般的 な説明について言えば、関数f1,f2は、いずれも ただし、i=1,2 で表すことができる。すなわち、f1をf2と等しくなるように選ぶことが可能で ある。このことは、当業者には明らかなように、一般に可能である。したがって 、この関数は、単にfと表示することとする。 プロトコルの始めにおいて、Rは、ベクトル(a1,...,ak;ak+1)がf( a1,...,ak;ak+1)=mであることを知っている。このベクトルを、(Y1 ,...,Yk;ν)に対するmの表現と呼ぶ。 つぎのセクションにおいて、図2、図3をもちいて、二つの異なった種類の制 限されたブラインド署名のプロトコルを説明する。ここでも、関数I1,I2は共に 同じ関数になるように選ばれているので、単にIと示す。最初のふたつのフロー チャートでは、関数Iは、たとえば、 I(a1,...,ak+1)=(a1 mod ν,...,ak mod ν) で表される(当業者には明らかなように、I(a1,...,ak+1)における数字 の関数は、そのような関数の例でもある)。これは、プロトコルにおけるRは、 単にak+1のみを変えることができることを意味し、モジュロνで他の数値を変 えることができない。任意にak+1を変えることができれば、ブラインド署名のプ ロトコルに要求されるmとm’との間の統計的なインピーダンス保証することが できる。制限されたブラインド署名の一般的な説明によれば、mにおける情報「 含まれる(contained)」は、ベクトル(a1 mod ν,...,ak mod ν)である。 図4におけるフローチャートで示されるプロトコル、およびここで説明したそ の変形例では、Rは、数値を見えなくするためのより多くの自由度を、表現にお いて有する。これらのプロトコルにおいて、たとえば、 I(a1,...,ak+1)=(...,ai/aj mod ν,...) ただし、1≦i≠j≦k が成立したとする。すなわち、 bi=ait mod ν ただし、1≦i≦k であれば、必然的にZν *にある数値tが存在することになる。 これにより、これら4つのプロトコルを作成するのに用いられた一般的な手法 が、他の制限されたブラインド署名のプロトコルを作成するのにいかにして用い られたかが理解され得る。 当業者には容易に理解できるように、プロトコルは、種々に変形することが可 能である。制限されたブラインド署名のプロトコルにおいて、νの値を複合また は素のいずれを用いることも可能である。自動現金取扱機であって、オンライン システムに接続されていないものに本発明が適用された場合、νは、Zn *の位数 (次数)と共素数となる素数であるが、別の形式の数であってもよい。たとえば 、素数p’,q’のいずれか一方がZn *の位数を適切に割ることができるとすれ ば、ν=p’q’を用いることができる。 さらに、nを2つ以上の素数の積としてもよいが、システムの安全性を弱める 欠点がある。このような変形は容易に考えられるものである。nに種々の選択を 与えることは容易に考えられることである。 2.制限されたブラインド署名 図2を参照しながら、第一の好ましい発明の実施の形態の制限された見えない 署名の第一のフローチャートを詳述する。 セットアップフェーズすなわちプロトコルが実行される前においては、Pは、 公にトリプル(n,ν,X∈Zn *)として知らしめる。数値nは、2つの大きな 素数の積であり、そのような複合のものの適切な選択は知られている。数値νは 素数であり、群Zn *の位数(ψ(n)と表す)と共素数(co-prime)をなす。当業 者には容易に考えられ、また上述したように、νに他の値を用いることも可能で あり、νは2乗された値であってもよい。最後に、XはZn *のおおきな位数のエ レメントである。Pはνモジュロλ(n)(成り行き上、この値は指数に おいて1/νとして表される)の逆数を、その秘密キイとして記憶する。 Pもまた、公に関数Hとして知らしめる。Hは、好ましくは「無衝突」のハッ シュ関数であって、Zn *からの2個の数値をZνの1個の数値に写像する。「無 衝突」とは、逆数の計算をすることが不可能であるだけでなく、2個の個別に対 となった数であって、Hによって写像され同じ結果となるものを言う。そのよう な関数はこの技術分野においてよく知られている。 プロトコルの始めにおいて、Zn *からの数mは、PとRに知らしめられる。Zn * における数mのpのデジタル署名は、Zn *×Zn *における数(a,b)の対と して決定され、bのν乗はモジュロnの(Xm)cとaの積に等しく、ここでc は、ハッシュ関数Hにおける(m,a)の像を表す。 ブロック21は、Zn *におけるランダム数aを出力するPをしめし、それをR に送る。 ブロック22の第1、第3、第4行目は、Rが共にZn *にある2個のランダム 数s,tと、ランダム数u∈Rν出力していることを示している。第2行目に おけるブロックは、Rが、sのν乗をmで掛けることにより、mの見えない形式 m’を計算することを示している。さらに、ブロックの第5行目は、Rが、数t とuを用いてどのようにしてaの見えない形式a’を計算するかを示している。 次に、「チャレンジ」c’がハッシュ関数の元で(m',a')の像として計算さ れる。第7行目では、Rがどのようにして予め出力したランダム数uを用い、こ れに数uであるモジュロνを加えることにより、このチャレンジを見えなくする かを示す。この経過の結果はcで示されているが、RによってPに送られる。ブ ロック23は、Rからチャレンジcを受けた後、いかにしてPがbで示される「 応答」を計算するかを示している。この数を計算した後、PはそれをRに送る。 ブロック24は、Pから応答bを受けた後のRの動きを決定する。第1行目は 、aと公に知られた情報に基づきRが計算することができる数を掛けた積でモジ ュロnのものと、bのν乗とが等しいかどうかの確認をRがすることを示してい る。この判断の結果、Rが「受諾」したとすれば、Pは正しい応答を計算したこ とを意味する。次いでRは、公に知られた情報、プロトコルへの入力m,および プロ トコルで生成された複数の数を用いてbの変換された形式、すなわちb’を計算 する。この技術分野では一般ではあるが、第1行目での認証が行われなければR の動きを表示しない。なぜなら、これらの動きはプロトコルの正確さに影響を及 ぼすものではないからである。Rは不満となるか、他の適切な動作を取る。かか る動作には、プロトコルが実施される環境に応じて種々のものが考えられる。 もし、PとRがプロトコルの手順に従った動きをすれば(したがってRはブロ ック24を受諾したこととなる)、対(a',b')はm’のPのデジタル署名で ある。ゆえに、公に知られた情報Pを用いることにより、何人によっても認証を 受けることが可能となる。以上より理解されるように、対はm’を含み、署名( a',b')は上述したブラインド署名の条件を満たす。 当業者には容易なように、さらなる限定がなければ、上述した手順により得ら れた署名は容易に偽造されうる。これは、全く問題とはならない。なぜなら、制 限されたブラインド署名に重要なのは署名されたメッセージm’に「含まれる」 情報であるからである。Rはm’の意味しているところを知る必要がある。プロ トコルの始まりにおて、公に知られたベクトル(Y1,...,Yk;ν)に対し、 mが代表しているところが(a1,...,ak;ak+1)であることを、またプロトコ ルの終わりにおいて、同じベクトルに対し、m’が代表しているところが(b1, ...,bk;bk+1)であることを、Rが知っていたとすれば、たとえ(X,Y1,... ,Yk;ν)に対し、1が代表しているところが(c0,...,ck;ck+1)((0 ,...,0;1)に等しくない)であることをRが知らなかったとしても、1≦i ≦kを満たす全てのiに対し、数aiは間違いなくbiモジュロνに等しくなる。 これは、Pによって、たとえばXや、すべてのYi'をランダムに生成すれば容易 に対応することができる。 いくつかの所見を以下に述べる。容易に分かるように、Pは、Xとmのモジュ ロnのν乗根を知れば、P側のプロトコルを正しく実行することができる。特に 、モジュロnの素因数分解を知る必要はない。ブロック23における動作を実行 するために、ブロック21においてPは、モジュロnのν乗根を知るように数a を生成する必要がある。これは、Zn *において数a0をランダムに生成し、aを a0 のモジュロnのν乗に等しくすることにより達成することができる。 当業者には容易に理解できるように、ブロック22の第5、第7行目に示すa ’やcに対するRの作業、またブロック24の第2行目に示すb’に対するRの 作業はいろいろな形に変えることが可能である。 上述したフローチャートの説明において、デジタル署名がm’で示されるひと つの数にのみある。簡単でかつ重要な変形により、複数の数にあるデジタル署名 を得ることができる。もし、署名がm’のみではなく、他にk個の数(B1,... ,Bkで示し、kはある正の整数)に対応すれば、Rによりブロック22の第6行 目の計算c’は、ハッシュ関数Hにおける像(m',B1,...,Bk,a')とし ての計算で十分である。ハッシュ関数の条件は上述したものと同様であり、違う 点はHはk+2個から成る偏角で動作する点である。従来から知られてるほとん どのハッシュ関数では、偏角のエレメントの数はいくつでも良く、この場合は同 じハッシュ関数を用いることができる。この場合の(m',B1,...,Bk,a' )にある署名はZn *×Zn *における数のペア(a',b')であり、モジュロnで のb’のν乗は(Xm')c’a’に等しく、ここでc'は、ハッシュ関数におけ る(m',B1,...,Bk,a')の像である。ここで、Biはいずれのセットから でも選ぶことができる。 さらに、Zn *における数mの署名は、Zn *×Zn *における数のペア(c,d) として、上述とは別の決め方(より効率の良い決め方)を用いても良い。ここで cは、ハッシュ関数Hにおける(m,bν(Xm)-c)の像に等しい。当業者に は容易に理解できるように、この定義は、均等である。特に、その認証関係は、 プロトコルのセットアップ段階の説明で特定した認証関係と置き換えることがで きる。 ハッシュ関係Hは、必ずしも次のようでなくても良い。すなわち、Zνにおけ る各エレメントは、Hによりそれに写像される数がある。Hはその偏角(argume メータ」tは、予めPによりセットされ、適切な長さを有するものである。 当業者には容易に理解できるように、ブロック24の第1行目に示す認証関係 bν=(Xm)caは、その式の一方の辺は計算を必要としない。他方の辺は、 たとえば「同時繰り返し2乗法(simultaneous repeated squaring)」を用いて、 効率よく計算することができる。したがって、ブロック24では、認証関係は、 たとえば次のように表すことができる。 (b-1ν(Xm)c=a-1 この場合、Pはブロック21において、モジュロnの数aそのものより、そのa の逆数を送るほうが好ましい。そして、ブロック23において、モジュロnの数 bの逆数を送るほうが好ましい。これにより、Rによる逆数の計算を省くことが できる。本願発明の説明を理解しやすくするために、いずれの認証関係も上述し た形態をとっていない。 以上の所見は、他のすべてのフローチャートについても言えることができる。 特に、毎回でも認証関係を修正し、等価な内容で署名を定義することができる。 * * * 図3において、第1の実施の態様の別の制限された見えない署名のプロトコル についての第2のフローチャートについて説明する。 セットアップについては、まえのフローチャートに対するものと同様であるが 、ただHは、その偏角をゼロに写像しない点でのみ異なっている。これは、単に 、情報理論プライバシ(information-theoretic privacy)を正確に証明するため に必要な技術である。Zn *における数mにあるPのデジタル署名は、Zn *×Zn * での対(a,b)で定義され、モジュロnのbのν乗は、Xm(a)cに等しい 。上述したように、cは、κにおける(m,a)の像をしめす。同様に、前のフ ローチャートにおいて説明したように、(c,b)を代わりに署名として用いる ことができる。 ブロック31は、PがZn *においてランダム数aを生成し、それをRにおくる 。 ブロック32において、第1、第3行目は、Rが2つのランダム数s,tであ って共にZn *にあるものを生成することが示され、第4行目は、Rが別のランダ ム数uをZν *において生成することが示されている。同ブロックの第2行目は 、 いかにしてRが、ランダム数sを用いてmの見えない形態m’を計算するのかが 示されている。tとuを用いることにより、Rはまたaの見えない形態a’を計 算する。Rはまた、(m’,a’)のHにおける像として、c’でしめされるチ ャレンジを計算する。最後に、Rは、モジュロνの数c’とuを掛けることによ り、見えないチャレンジcを計算し、それをPに送る。 ブロック33は、Pがいかにして、ちょうど受けたチャレンジcを含む表現の モジュロnのν乗根として、応答bを計算するかが示されている。PはbをRに 送る。 ブロック34の第1行目には、Pの応答のテストが示されており、第2行目に は、m’における署名を得るために必要な最終計算が示されている。特に、第1 行目は、いかにしてRがbをν乗に上げ、その結果を比較して、公に知られてい る情報、チャレンジ、プロトコルの入力mに関する結果と等価なものにする。こ のテストが問題なく終了すれば、Rは数b’を計算し、そのb’はbの見えない 形式である。上述したように、もしテストが成立しなければ、Rは別の動作を行 う。 前のフローチャートの説明の最後に行った所見は、これについても言える。す なわち、Rがプロトコルの始めにおいて、(Y1,...,Yk;ν)に対するmの 代表(a1,...,ak;ak+1)を知っており、プロトコルの終わりにおいて、同ベ クトルに対するm’の代表(b1,...,bk;bk+1)を知っていたとすれば、す べてのiに対し、ai(ただし、1≦i≦k)はモジュロνのbiに等しくなる が、ただ、Rが(X,Y1,...,Yk;ν)に対する1の代表(c0,...,ck;ck+1 )((0,...,0;1)に等しくない)を知らないことが条件である。 * * * 4図において、第1の実施の態様の別の制限された見えない署名のプロトコル についての第3のフローチャートについて説明する。 セットアップについては、まえのフローチャート(図3)に対するものと同様 である。Zn *における数mにあるPのデジタル署名は、Zn *×Zn *での対(a, b)であり、bのν乗は、(Xa)cmに等しい。ここでcは、H(m,a) をあらわす。ここでは、Rは、前の2つのプロトコルよりも、入力mを見えなく するのに一層の自由度を有するが、代表における各数を個別に見えなくするのに は十分ではないので、これも制限された見えない署名である。 ブロック41は、Pからランダム数a∈Rn *が生成され、それがRに送られ ることが示されている。 ブロック42において、第1、第2、第4行目は、Rが2つのランダム数s∈Rν、u∈Rν *、および1つのランダム数t∈Rn *を生成することが示され ている。s,tを用いることにより、第3行目にしめすように、Rはmを見えな くして数m’にする。s,uを用いることにより、第5行目にしめすように、R はまた、aを見えなくして数a’にする。Rはまた、(m’,a’)にハッシュ 関数Hを用いてチャレンジc’を計算する。最後に、Rは、モジュロνのc’と uを掛けることにより、見えないチャレンジcを計算し、そのcをPに送る。 ブロック43は、PがRから受けたチャレンジcに対する応答bの計算が示さ れている。Pはこの数をRに送る。 ブロック44の第1行目には、bのν乗が、公に知られている情報、チャレン ジ、プロトコルの入力mに関する表現と等しい場合にのみ、許諾することが示さ れている。もしこれが成立すれば、Rは、前まではb’で示されていたbの見え ない形式を計算する。 Rがプロトコルの始めにおいて、(Y1,...,Yk;ν)に対するmの代表( a1,...,ak;ak+1)を知っており、プロトコルの終わりにおいて、同ベクト ルに対するm’の代表(b1,...,bk;bk+1)を知っていたとすれば、すべて のi,jに対し、ai/aj(ただし、1≦i,j≦k)はモジュロνのbi/ bjに等しくなるが、ただ、sがモジュロνで0に等しくなく、かつRが(X, Y1,...,Yk;ν)に対する1の代表(c0,...,ck;ck+1)((0,...,0; 1)に等しくない)を知らないことが条件である。 以上から理解できるように、第2のフローチャート(図3)が第1のフローチ ャート(図2)に極めて似ているように、このフローチャートに極めて似ている 制限された見えない署名がある。そのプロトコルのセットアップはほぼ同じであ り、 違う点は、Zn *における数mにあるPのデジタル署名は、Zn *×Zn *における対 (a,b)であり、bのν乗はXa(m)cに等しく、ここでハッシュ関数Hに おける(m,a)の像はcで表される。Rは、第3のフローチャート(図4)に 示したと同様のmを見えなくする自由度がある。図4で示した第3のフローチャ ートにおける所見がそのままここにあてはまる。違う点は、ブロック42やブロ ック43で、Rによるa’,cおよびb’に対する割り当ては、当業者には容易 な修正を加える必要がある点だけであるので、その詳細な説明は省略する。 * * * 以上説明した4つの制限された見えない署名のプロトコルは、すべて次に挙げ る署名の変形に基づくものである。ギロウ/キスカテル識別プロトコル(Guillow /Quisquater identification protocol)であって、エル.ギロウ、ジェイ.キス カテル(L.Guillou,J.Quisquater)著の「伝送およびメモリを小さくし、マイ クロプロセッサの安全に適した実用ゼロ知識プロトコル(A practical zero-kno wledge protocol fitted to security microprocessor minimizing both transm ission and memory)」、コンピュータサイアンス(Computer Science)330の講義 ノート、ユーロクリプト(Eurocrypt)’88の議事録123−128ページ、および写 された(mirrored)変型(ケイ.オオタ、ティ.オカモト(K.Ohta、T.Okamoto) 著の「フィアットーシャマー案の変形(A modification of the Fiat-Shamir sc heme)」、コンピュータサイアンス(Computer Science)403の講義ノート、クリプ ト(Crypto)’88の議事録222−243ページ)。ギロウ/キスカテル(Guillow/Quis quater)のプロトコルは、いわゆるフィアット/シャマー(Fiat/Shamir)型と呼 ばれるもので、エイ.フィアット(A.Fiat)とエイ.シャマー(A.Shamir)著の「 いかに自分自信を証明するか:身分証明および署名の問題の実用解決策」クリプ ト’86,スプリンガーバーレグ(Springer-Verlag),1987,186-194ページに基づく 。 当業者には容易に分かるように、上に説明した種々のフローチャートにおける 制限された見えない署名を実現する技術は、基本的に、フィアット/シャマー型 の身分証明(名前確認)用のプロトコルのいずれにも適用可能であるが、他の数 であって以前に受けた数のハッシュ関数の出力としてチャレンジcを計算するこ と(これがフィアット/シャマーの構成である)により、それを署名プロトコル に変換できることを条件とする。この目的のため、PではなくRがチャレンジc を計算する必要があり、認証関係を得るため入力mを適切に掛け算(または他の 数学的演算、たとえば指数計算)する必要がある。たとえば、ギロウ/キスカテ ル案の認証関係ではbν=Xcaである。これにより第1フローチャート(図2 )の認証関係を得ることができる。 たとえば、この技術により、ティ.オカモトの名前確認用のプロトコル、「証 明可能な安全で実用的な名前確認案および対応する署名案」クリプト’96の議 事録(1-15)-(1-25)ページ、を制限された見えない署名用のプロトコルに替える こ の形式である公のキイに相当するZν×Zn *における秘密キイ(s1,s2)を知 っていることを証明する。 これは、図2、3、4のフローチャートで同じような方法で実現され(制限さ れた見えない署名用のプロトコルを作り出す変形が全部で4つある)、本発明に 基づく他の種々のプロトコルは第2の実施の態様において詳細に説明されるので 、その詳細な説明はここでは省略する。ここで説明したフローチャートは、当業 者が本発明を他の種類のフィアット/シャマー型の名前確認用のプロトコルに適 用するために必要な情報以上の情報が含まれている。 フィアット/シャマー型の名前確認用のプロトコルを制限された見えない署名 用のプロトコルに替える技術は、他にも存在する。この技術は認証関係を倍増す る手順を含み、そこでは第2の認証関係において、公のキイの一つの数が入力m で置き換えられる。上述したように、Rは、それ自身でチャレンジcを計算する 。ギロウ/キスカテルのプロトコルにおいては、たとえば、認証関係b1 ν=Xc 1およびb2 ν=mc2(ここで認証関係の「コピー」において、Xはmに置き 換えられる)を用いることができる。この倍増する技術の他の例とし、第2の実 施の態様で説明する図23に示す制限されたブラインド署名用のプロトコルがあ る。図2、3、4で示したフローチャートに適用した第1の技術との差は、こ の方法で作られた署名は、たとえRが署名された番号の代表を知る必要がなくて も、Rによって偽造されることはない。 3 代表の知識の証明 図5は、第1の好ましい実施の態様のプロトコルに用いられるフローチャート であって、Rが(Y1,...,Yk;ν)に対するZn *における数Aの代表(a1,. ..,ak;ak+1)を知っていることを証明するためのフローチャートである。な お、代表自身は明らかにされることはない(したがって、Aに含まれる情報は秘 密状態にされる)。 ブロック51は、RがZνにおいてk個のランダム数x1,...,xkを、またZn * において1個のランダム数xk+1を生成することを示している。Rは、第3行 目に示されているように、これらを用いて数Bを計算をし、その結果をPに送る 。 ブロック52は、PがZνにおいてチャレンジdを生成することを示し、その 結果はRに送られる。 ブロック53は、いかにしてRが応答γi、ただし1≦i≦k+1,を計算す るかをしめしている。ついで、Rは、γ1,...,γk+1をPに送る。 ブロック54は、もしRから今受けたk+1の応答に関する積が、モジュロn におけるAdとBの積に等しい場合にのみ、Pが証明を受諾することが示されて いる。 このプロトコルは、公知のプロトコルを一般化したものであり、署名や名前確 認のためにのみ用いられるものである。詳細に示すように、本発明においては、 Rが、代表に用いられる数について、ある特定の数学的関係を証明するためのプ ロトコルの基本としてこの証明が用いられる。本発明の概念により、効率のよい プライバシィ保護を保つ(privacy-protecting)人物証明機構を提案するものであ る。 当業者にはよく知られているように、基本的に2つの方法によりこのプロトコ ルが用いられる。第1に、ブロック52で生成されたdが最大たとえば10ビッ トであり、プロトコルは数回繰り返し実行される。この場合、Pは、プロトコル の実行の写しを、証明が行われたことを更に別の者に示すために用いることはで きない。すなわち、このプロトコルは、ゼロ知識と言われるもので、公知の暗号 法を用いる。 第2に、Pがブロック52において、公に知られ、対立せず、少なくとも数A とBの間の偏角とたとえばメッセージmを有するハッシュ関数の出力としてdを 決定することである。R自身もdを計算することが可能な場合もあり、RとPと の間で相互作用を必要としない。プロトコルの実行の写しはmにおいてデジタル 署名として作用し、それにより証明が実行されたことが証明される。これは、暗 号法において「署名証明(signed proof)」と呼ばれこともある。 プロトコルの各実行において、R自身によりBが選ばれることがあれば、Rは 、何回でも、しかもPが知っているAについての代表をPが計算することなく、 Aの代表の知識の証明を実行することができる。しかしながら、Rが同じ数Bを 用いて、2回プロトコルを実行すれば、Pは、Rが知っているAの代表を、ブロ ック52にしめす2つの異なったチャレンジdを用いて、計算することができる 。 RがA1の代表を知っており、R’がA2の代表を知っている場合、RとR’は 共同して、共にAの代表である個別の数の積A12を知ってことをPに証明する ことができる。この場合、ブロック51ではB1とB2を掛け算し、その結果のB をPに送る。ブロック53では、その応答の対応同士γi,γ’i(1≦i≦k) を加算し、γk+1とγ'k+1を掛け算する。それらは、k+1個の応答をPに送り 、Pでは、図5に示すフローチャートにしたがって、変更する。当業者には容易 に理解できるように、この変形は、2つ以上の受信手段が存在する場合にも適用 可能である。 2つの利用者の一方において、どのような数(A1,B1,γiを含む)を用い ているかという情報をPに与えることが許されていなければ、より複雑な関係が 生じる。この関係は、特に、一方の利用者が組織であったり、証明を業とする団 体であったりする場合に重要となる。このプロトコルの構成は図10に示すフロ ーチャートにしたがって説明する。 これら2つの技術の中間にある変形は種々考えられ、たとえば4つの利用者が ある場合、2つは残りの2つに組み込まれることも可能である。このような変形 は、後で詳述する。 4 資格認証機構(mechanisms)への適用 資格認証機構は、組織(organization)間で、ユーザによる情報認証の転送を 可能にする暗号プロトコルの集まりである。一つの情報認証は、「資格認証」と 呼称される。税金情報、金、医療データ、運転免許、選挙権等と言った様々な種 類の資格認証が思い浮かぶ。データベースのマッシブマッチングを避ける(つま り、組織間での情報転送のプライバシーを保証する)為に、異なる組織において 各ユーザーは、異なる仮り名によって知られている。一人が一つの組織に関して 複数の仮り名を有することもあり得る。 一つの組織から受けた情報認証が、情報が得られたプロトコルの実施にリンケ ージしてしまうこと無く、他の組織から確認できるように、それ故に、組織の署 名は、同一ユーザーの別個の仮り名の間で転送可能でなければならない。 そのような従来技法における機構に関する記述が、Chaum,D.,Evertse,J.H. の著作である「個人情報の組織間転送の為の安全且つプライバシー保護プロトコ ル」及び、シュプリンガー出版の1986年版コンピュータサイエンス、頁11 8〜168の「暗号会報」に見ることができる。この機構は通常ブラインド署名 であり、情報を認証するために用いられる。これこそが、以前の技法(従来技法 において、小規模の改良が提案されている)において知られている資格認証であ る。 制限されたブラインド署名に基づく技法によって、より洗練され、効果的、且 つ安全な資格認証機構の構築が可能となる。以下の記述において、普遍性が失わ れることなく、図2の制限されたブラインド署名が使用されるものと想定する; つまり、s∈Rn *の秘密選択の為の対応署名を有して、mがmsνにブライン ドすることができる。明らかに、例えば、図3のプロトコルを替わりに用いるこ とができる。なお、その選択は単に明確さの為なされたものである。 4.1仮り名の確認 従来技法に於いて知られている資格認証機構では、ユーザ−iの組織jでの仮 り名は、mij νの形態をとり、ユーザーはmiとsiを知ると共に、Zn *に含ま れる。少なくとも一つは、異なるユーザーが、ν番目のルートモジュロnを互い に知らない異なる仮り名を用いることを保証しなければならない。仮り名は最初 に、便宜上「センター」と呼称される特別な認証パーティによって確認されなけ ればならない。センターは、モジュラスnを知る唯一のパーティである。これは 、センターがすべての署名を計算しなければならないことを意味する。 本記述に於いて、センターは常に、組織の要求により、情報を証明するものと する;つまり、組織がデジタル署名を計算する場合には、たとえば一つのオンラ イン接続を経由してセンターが実際に計算を行うと理解されるもとのする。この ことは、当該技法に習熟した者にとって明白であり、特別な知識を必要とするも のではない。 従来技法に於いて知られている資格認証機構では、仮り名を認証するために、 インエフィシェント「カット-アンド-チューズ」技法を用いる。制限されたブラ インド署名を用いることにより、非常に洗練されたシステムになると共に、バリ デーションプロトコルがより効率的、且つ安全に実施できる。 図6に、ユーザ−iが、他の組織jに対して用いる仮り名認証を有することを 可能ならしめる、第一実施例に於ける仮り名認証プロトコルが記述されている。 プロトコルの最初では、センターは、以前にプロトコルを実行した際に用いら れなかったZν *中のuiを選択する。あるいは、ユーザ−iは、あるいはセンタ ーと協力して、この番号を決めることも出来る。ボックス61は、図2のプロト コルが実行されていることを示している。そのプロトコルのフローチャートのボ ッ j νに対してブラインドする、これはmiによって示される。この仮り名は、Pij によって示される。この番号Yは、センターによって予め選ばれた公知の数で ある。ユーザーは、第ν番目のYのnルートモジュロを知らないものと想定され る。 ボックス62は、組織jに於いて仮り名Pijを使用するために、iは、得られ たセンターの署名と共にこの番号を組織jに送出することを表現する。 ボックス63は、(Y;ν)に関して、Pijの表現の知識を明らかにすること なく、ユーザーが組織に対して証明しなければならないことを示している。図5 の フローチャートは、これがどのようにして行われるかを示している。組織が証明 の実行の転写を用いて、例えば、証明が行われたことをセンターに対して証明で きるよう(図5の記述に於いて説明したように)に、証明されることが好ましい 。 仮り名が正しい形態であることを証明するに十分な署名をユーザーが示すこと ができると言う限定ブラインド署名を用いることができる。このことは、当該技 法に習熟した者にとって明白である。ボックス63に示された知識の証明は、こ の場合省略できる。そのような署名は、既に詳しく述べたように、Fiat/Shamir 型の識別プロトコルの第二の技法を用いて構成することができる。 ボックス64は、組織jがユーザーの知識の証明を容認した場合には、Pijを 仮り名として用いることを容認することを明示している。このプロトコルを、数 度繰り返すことによって、明らかに、iは様々な組織に対して用いる数種の仮り 名を得ることができる。 幾つかの状況に於いては、本章の最後に述べたように、仮り名間のワン-ショ ウ資格認証を転送するシステムに於いてそうであるように(このようなシステム は従来技法に於いては知られていない)、更にユーザーが異なる組織で同一の仮 り名を用いることは防止されねばならない;この為に、ボックス63は更にセン ターに接続する組織を規定しなければならない。このことにより、仮り名が他の 組織で既に使用中であるかがテストできる。 もし、ユーザiが単にuiについての全てを「失念」してしまったのであれば 、システムは従来技法に於いて知られていた資格認証機構に戻る。すなわち、こ の場合のユーザ−iは、ユーザーにとって既知の組織jでのmi及びsjに関して 、仮り名Pij=miν jを有する。しかしながら、表現(簡略化した)数の間に 於ける関係を証明する非常に多数の新技法と組み合わせて制限されたブラインド 署名を用いることによって、uiと働く際に多大な利益が得られる。そのような 利益の一つに、(Y;ν)に関する表現の知識を証明することによって、Pijが 彼の仮り名であることを、iはjに何時でも証明できるいうことが明白である。 いかなる場合でも、バリデーションプロトコルが非常に効率的であり、安全の維 持についても同様である。 ターに送信できる。そして、Guillou/Quisquater識別プロトコル(従来技法で良 く知られている)のような暗号プロトコルを用いて、ユーザーはuiを暴露する 従来技法に習熟した者にとって十分明白である。これにより、(演算力に関係無 く)センターがiの(u0i,u1i)を算出することができないと言う利点を有す る。このようにして、フレーミングが防止される。 4.2 適切に選択されたベクトルに関する数の表現としての資格認証の表現 新しい資格認証機構に於いて、個人が所有する特定のタイプの資格認証は、署 名に対するνを選択することに特徴があるのでは無く(つまり、従来技法で知ら れているシステムに於ける場合と同様に、RSAルートの種類が計算される)、 公知のベクトルに関して、ブラインド署名を求める元になる数mを知る所有者を 表現することに特徴がある。個人が特定の資格認証を所有していることを組織に 証明することが、もはや、その組織の仮り名に関する適切なタイプの署名を暴露 すると言う問題では無い(従来技法のシステムに於いては、問題である);個人 は、個人が署名を得る元になった数の(または、積や商と言う数種の数の数理的 機能)表現の知識を、数(Y1,...,Yk;ν)の公知のベクトルからなる数のベ クトルに関して、証明しなければならない。ここで、Yi(νを選択しても良い )のそれぞれは、資格認証の異なるタイプを示している。個人が証明に成功する 特定のベクトルは、個人の所有する資格認証のタイプを反映している。このよう にして、ユーザーは、効率的且つ柔軟な方法で、一つの署名を有する一つの数に 含まれる資格認証を、他の中から、効率的且つ柔軟に多数「集める」ことができ る。次の章で、この件に関して詳細に述べる。個人が証明できることに関する特 定のベクトルは、個人が所有する資格認証のタイプを反映する。このようにして 、ユーザーは、署名を有する数の中に、効果的かつ柔軟な方法で、とりわけ、多 数の資格認証を「集める」ことができる。 これを説明する為に、公知のベクトル(Y1,...,Y6;ν)を考える。なお、 Yiは資格認証タイプiを表す。ユーザーが、(Y;ν)に関するm/(Y26とき、ユーザーはタイプ2及び6の資格認証を有していることを示している。 言うYiの指数を用いることができる。それによって、より優れた機能が得られ る。 特定のベクトルに関する数の表現の知識を証明するために、既に説明したよう に、「ゼロ知識証明」或いは、「符号化証明」のいずれかを用いることができる 。後者の場合、証明に含まれる組織は、証明を行っている他の者達を納得させる ことができると共に、証明自体には相互関係は不要である。 個人が、自分が選択した唯一の組織に、自分の資格認証を示すことができるよ うな特別な場合に於いては、そのような証明は必要ではなく;このことは署名を 示すに十分である。本章の最後で、これは、仮り名での支払い(つまり、仮り名 間での、個人を提示する資格認証の転送を許すシステム)を構築する為に適用さ れる。 4.3 制限されたブラインド署名のトランジビティ;「更新」資格認証 従来技法で知られる機構に於ける各資格認証は、一つの数の一つの署名から構 成される。それ故、個人の所有する資格認証の数に比例して、署名に対する記憶 要求が増える。(一つの集合に含まれる資格認証集合の所有者を示す新しい資格 認証に対する資格認証の集合を交換することが、従来技法で知られているが) 制限されたブラインド署名によって、ユーザーの複数の資格認証が、公知のベ クトルに関するユーザーの知る一つの番号(それによってユーザーが署名を知る )を知るところの表現の中に保存され、更新されると言う全く異なる機構が可能 となる。ユーザが新しい資格認証を受領する度に、この従来の表現が更新される (そして、対応する新しい署名が得られる)。この場合、以前の署名は、もはや 必要ないので、破壊される。 この技法は、情報が繰り返しブラインドされることができると言う制限された ブラインド署名の特異な特性、つまり少なくともユーザーが知る表現の部分がユ ーザー自身によって修正できないこと(つまり、mで得られた情報は、必然的に 保存される)によって可能となる。このような特性を、「トランジビティ」を呼 ぶ。 最も単純な形態に於いて、この「トランジビティ」は、プロトコルの次の実行 に対する新しい入力として、以前に実行されたプロトコルの出力をとるものであ る。例えば、m0は署名と共にm00 νにブラインドされることができる。m1に よってこの数を示し、続いて、m1が同様にして、署名と共にm11 ν=m0(s01νにブラインドされる。この数をm2によって指示し、そして、i+1回 このプロセスを繰り返して、m0(s0・・・siνに等しい数mi+1を得る。当技法 に習熟した者にとっては、以下のことは明白である。つまり、表現(γ1,...,γk ;γk+1)を考慮し、miの署名のレシーバーが、適切に選択されたベクトル( Y1,...,Yk;ν)に関してmiを知り、ブラインドプロセスの全反復を通して、 唯一γk+1だけが彼によって修正可能である。最初のk番号が、不変のモジュロ νとして留まる。明らかに、第三のフローチャート、或いは第三のフローチャー トに密接に関連したプロトコルが用いられた場合には、同様のものが有効である 。このようなケースに於いて、i,j≦kの場合、γijmod νの値は不変 である。 より一般的には、制限されたブラインド署名に関して以下の事が言える。以前 に実行されたプロトコルより得た出力の機能は、プロトコルの次の実行に対する 入力として用いることができる。もし、個人がプロトコルの第i番目の実行時に miの署名を受領すれば、これは、プロトコルf(mi)の次の実行の入力として 用いることができる。fに関する選択は(νの選択と同様に)、プロトコルの実 行によって変化すると共に、証明パーティが決定することができる。この技法に より、証明パーティが、新しい資格認証をブラインド状態で保存された表現の部 分中にインストールする事が許される。 Yjが資格認証タイプiを表現しているとする。資格認証タイプjをもってmi を更新する為には、f(mi)=mijが、証明パーティによって入力として採 用 されなければならない。ユーザはmi+1=mijの署名を得る。証明パーティは 、ユーザーがこのためのmiを知る表現を知る必要はない。つまり、ユーザーが 既に有している資格認証を証明パーティが知る必要無く、更新を行うことができ る。 ユーザーは、各資格認証の為の署名のータイプを用いる為に、良く知られた従 来技法の技法と組み合わせて、本技法を非常に良く用いることができる。例えば 、ユーザーは、彼がそれによりに署名を有する数maを知るところの表現中の医 療データに関する全ての資格認証;及び彼がそれにより署名を有する数mbを知 るところの表現中の税に関する全ての資格認証を保存し、更新することができる 。医療資格認証はmaに、そして税資格認証はmbに、インストールされ、更新等 される。 4.4 個人が特定の資格認証を有していることを証明する方法 新技法は、ユーザーが特定の資格認証を有していることを組織に証明すること に関する自由度に各種の等級を提供している。 従来技法に於ける資格認証機構は、単にユーザ−iに、仮り名Pijに関する組 織jの署名を、他の仮り名Pikに関する組織jの署名に変換するこを許す(明ら かに、署名を他のユーザーの仮り名に関する署名に変換することは、仮にその他 のユーザーが協力したとしても、実行不能である)。資格認証の各タイプは、異 なる数νi∈Zλ(n) *及び、ν=Πνiによって表現される。数νiは相互に素数 でなければならない。 従来技法で知られている資格認証に反して、新資格認証機構では、それぞれ異 なる3段階の自由度が許されている: (1)ユーザーは、自身の仮り名の内の一つに関する証明された情報を使用する ことだけができる;ユーザーは特定の仮り名を証明パーティから隠すことができ る。この技法を説明する為に、ユーザ−iは、組織jに関する一つの仮り名Pij 定する。ユーザ−iは、kに示すことのできる特定のタイプの資格認証をjから 得ることを希望する。基本的な技法がこれを、jを有する制限されたブラインド 署名プロトコルの実行中に、iをして、同プロトコルの中にてPikをPik=Pijk/sjとして計算することにより、出力Pikに基づく署名(kを知るjを除い て)を得させることにより、解決した。第一(図2)或いは第二(図3)のフロ ーチャートに関する記述に関して、第二のボックスの第二行に於いて、ユーザー は、商Sk/Sjに等しいsを求めなければならない、そして、プロトコルの入力 は、m=Pijである。 これにより、ブラインディングのトランジビティの最も単純な形態が構成され る、これは制限されたブラインド署名プロトコルに特有である。第一のプロトコ k νに変換される。 以下に述べるように一般的な技法を用いることも可能である。ユーザーが資格 認証を持っていることを組織kに対して証明するために、一つの数mに維持され ている、ユーザ−iは、m/Pikの表現の知識(当然mに関する署名を持ってい ること)を、ベクトル(.,...,.)に関して、証明しなければならない。その数は 、数Y1,...,Yk(の数学的機能)からなり、それらはY或いはνと等しくない 。 この一般的技法を一例によって説明する。もしiがlに対してのみ、彼が数{ 1,...,k}の部分集合Sから全てのタイプの資格認証を有していることを示す のであれば、彼は以下の事柄を保持するベクトルに関する(m/Pil)/(Πis i)の表現の知識を証明しなければならない;Yとνがその中に無く、そして iを有する各Yiが集合Sに無い。そのために、彼が有していることを明らかに しなければならないようなタイプの資格認証を有しているかどうかを、そのベク トル中に、明白にすることを望まない。 本技法を更に説明するために、他の例について、述べる。iは未だいかなる資 格認証を受領していない、そして、組織kに示すために、jから2および5のタ イプの資格認証を得ることを望んでいると想定する。m=Pij25が組織jの 制限されたブラインドプロトコルの入力として獲得される、そして、iは彼が( 証 明された)出力Pik25を獲得していることを確認する。ユーザ−iは、今や 、彼はタイプ2および5の資格認証を有していることを、kに対して証明するこ とを望んでいる:そのように実行中に、彼が他のタイプの資格認証を有している かを明らかにしてしまう可能性について危惧を持つことはない。図2のフローチ ャートのプロトコル中の署名((c',b')(または、(a',b'));何の変化を引 き起こすことなく、図3のプロトコルを代わりに用いることも可能である)を、 kに対して送信すればに十分である。kは、単に(c',b')がPik25の署名 であることを証明する必要がある。更に、この特殊なケースに於いては、特定の 表現の知識を証明する必要が無いということが分かるであろう。表現の知識の証 明が空ベクトルに関してなされなければならないという事を実際に考えることが できる。 (2)ユーザーは、自身の仮り名の全てに対する認証された情報を用いることが できる。つまり、ユーザーが仮り名を有する組織に対して、彼が所有しているこ とを証明できるが、彼が仮り名を所有していない組織に対しては証明できない。 上述の如く、この特異な状況(そしてこれに限り、従来技法に於いて知られて いる機構を用いることができる。しかし、この場合、一つの番号(署名を有する )の中に各種の資格認証を集めることができないという不都合を被る。 新しい資格認証機構に於いては、これらは以下の如く対応することができる。 任意の組織1に対して、特定の資格認証の所有を証明するために、ユーザーiは Yは見えないがνが見えるYiのベクトルに関して、m/pilの表現の知識をlに 対して証明しなければならない。 例えば、もしiがlに対して、彼が部分集合S⊆{1,...,k}に相当する全 てのタイプの資格認証を所有していることを証明することを望めば、彼は以下の 条件を維持しているベクトル(...;ν)に関して、(m/Pil)/(Πisi )の表現の知識を証明しなければならない。Yはその中に現れない、そして、彼 が Sを有する各Yiがその中に現れる。 そのベクトル中の要素の数は、彼が所有する資格認証のタイプ、ただし彼はそ の所有の有無を明らかにすることを望まない、の数が増えるほど大きくなる。i が一切を明らかにすることを望まない資格認証がもっとあれば、証明するために 、iはより多くの乱数を発生させることが必要となる。 257として書くことのできる数m(署名を有する)中の自身の資格認証を 更新するものと想定する。彼は、(m/Pil)/(Y257)の第ν番目のルー トモジュロnの知識を証明することによって、任意の組織1に対して、彼が正確 に資格認証タイプ2、5、および7を所有していることを証明できる。iが他の 資格認証を所有しているかどうか、またそれは何かについてを明らかにする可能 性について煩わないという極端な状況に於いては、彼が証明しなければならない 事柄に関するベクトルの長さは最短である。更に、表現の知識の証明がディジェ ネレートして、彼が、第ν番目のルート((;ν)に関する知識の証明に関して思 いつく)を知っているという事を証明する。もし、彼が少なくともタイプ2の資 格認証を所有していることを証明したいと望めば、(Y1,Y3,...,Yk)に関し て、(m/Pil)/Y2の表現の知識を証明しなければならない。 (3)ユーザーは認証された情報の所有を、如何なる組織、その組織に於いて彼 が仮り名を所有の有無に関わらず、に対しても証明できる。もし、iが、数{1 ,...,k}の特定の部分集合Sから彼が所有する全ての資格認証を、他の者に対 して証明できることを望むのであれば、彼は以下の条件を満たすベクトル(Y,. ..;ν)に関する商m/(Πisi)の表現の知識を証明できなければならない 。そして、彼が対応するタイプの資格認証を所有しているかどうかを明らかにす る いずれのケースに於いても現れなければならない。 4.5 例 次に、本技法を説明するために、複数の例について説明する。ベクトル(Y1, ...,Yk)は公知であり(各Yiは、資格認証タイプiをあらわしている)、と共 に、数Yは仮り名の「基礎」として働くと想定する。ユーザ−iは、jに関して り名は、本章ですでに述べた方法で獲得されているので、(Y;ν)に関するPij のZν×Zn *中の表現(ui,sj)をiが知っているということを、jは確実 に知っている。 彼の「キャリア」が開始した時点では、iは明らかに資格認証は何も所有して いない。組織jに関して、図2のフローチャートの制限されたブラインド署名プ ロトコルを実行することによって、iは、タイプ1の資格認証を得、且つ、m= Pij、プロトコルの入力はmY1であると想定する。プロトコルのフローチャー トのボックス22の第一行目に於いて、iはmY1を(mY1)tνにブラインド する数t∈Zn *を生成する。数tは、ボックス22の中のsによって示される。 もし、出力が一つの組織に関してのみ用いられるのであれば、組織はiに対して 、Y1を有する組織に対する彼の仮り名の積に関する署名を示すように要求でき る。この場合、iは、制限されたブラインド署名プロトコルにおけるtのために 適切な選択を知なければならない。 このようにして、この資格認証にしばらく参加した後に、iは或る時点で、彼 る署名を有するmを有する。つまり、彼は、(Y,Y1,...,Yk;ν)に関するm の表現(ui,1,0,1,0,1,1,0,...,0;s)を知っている。 もし、iが組織jに対して、彼がこれらの資格認証を所有していることを証明 するだけであれば、jが積Pij1356に対応する署名を確認すれば十分で ある。 もし、iが特定の資格認証を所有していることを、彼が仮り名Pijを持ってい るjの如何なる者にも証明できなければならないのであれば、iがYが現れない ベクトルに関するm/Pijの表現を知っている事実が構成される。例えば、何者 も暴露することなくタイプ1の資格認証を、彼が所有していることを証明するた めに、iは(Y2,...,Yk;ν)に関する商(m/Pij)/Y1の表現の知識を証明 しなければならない。同様にして、jに、彼がタイプ1、5、および6の資格認 証を所有していることを証明し、それ以外は明らかにしたくない場合には、iが (Y2,Y3,Y4,Y7,...,Yk;ν)に関する商(m/Pij)/(Y156)の表現 の知識を証明すれば十分である。 もし、iがその組織での仮り名を有しているかに係わり無く、いかなる組織に 対しても証明できなければならないのであれば、彼は、それ以外は明らかにした くない場合には、既に述べた例と同様に、(Y1,Y2,Y3,Y4,Y7,...,Yk;ν )に関する商m/(Y156)の表現の知識を証明しなければならない。既に説 明したように、彼が追加の情報が明らかになることに煩わされないのであれば、 少なくとYとνを含む短ベクトルに関する番号の表現の知識を証明すれば十分で ある。 4.6 何度資格認証を提示するのか? 個人が、自分のアイデンティティーを暴露することなく特定のタイプの資格認 証を提示することが許される回数に関して、三つの範疇が述べられている。 (1)制限無く提示される資格認証 これは、既に説明された事例の全てに当てはまる。これを実現する技法は、ボ ックス22の第六行目のハッシュ関数に余分な数を供給することをユーザーに要 求しない、第一(又は第二)のフローチャート(図2)のプロトコルを用いるこ とである。つまり、ユーザーが獲得する署名は、ただ一つの数Aに対応する。も し、ユーザーが特定のベクトルに関するAの表現の知識を証明を必要とすれば、 彼は同ベクトルに関するBのランダム表現を彼が知るような方法で第二の数Bを 発生させる。そして、彼はこの二つの数AおよびBを、第四のフローチャート( 図5)に記述の知識の証明を実行するために用いる。彼がBを知っているという 表現が予想外であればあるほど、彼のプライバシーは保証される、ということが 当技法に習熟した者には明白であろう。つまり、これは、乱数を発生させるユー ザーの計算装置が採用している方法の品質による。 要約すると、実行すべき各証明のために、ユーザーは新しい、必要なベクトル に関する表現を知るところのランダムに選択された数Bを用いることにある。 (2)資格認証は一度だけ提示される。1枚のコインが、このような資格認証の 良い例である。もし、ユーザーがそのような資格認証を、彼が仮り名を有してい る組織に対して一度だけ提示することが許されるならば、簡単に測定できる。つ まり、組織に対して、資格認証は以前は提示されていなかったというトラックを 組織に保持することを要求できる。この測定が十分であるというシステムの一例 は、仮り名の基づいて支払われるシステムである。これについては、本章の最後 に説明する。 一般に、この方法は十分である。一般的技法は以下の通りである:ユーザーが 一度以上、資格認証を提示するとすれば、料金を課すためには、中心的な位置( 例えば、センター)に於いて、ユーザーの数ui(および彼のアイデンティティ ーも)を計算できなければならない。(これは、ユーザーがフレーミング行為を 証明できるように、仮にセンターがuiを知らなくてもそうであることを意味し ている。この問題は、オフラインキャッシュシステムについて詳しく述べた次の 章で触れる。) これに関しては、第一(又は、第二)のフローチャートの第二番目のボックス の中に、署名が両方の数に対応するように、ユーザーがハッシュ関数(ボックス 22の第六番行)に余分な数を供給することが要求されている。 Aはユーザーが自身の資格認証を更新する数、及び特定の資格認証の所有を提 示するために、彼は特定のベクトルに関するAの表現の知識を証明できなければ ならない、そしてボックス22の中で彼は、同一ベクトルに関してランダムに選 ばれた表現を知るように数Bを選択しなければならないものと想定する。A及び Bを使って、第4番目のフローチャート(図5)に記載の表現の知識の証明を、 彼は実行する。 もし、ユーザーが、署名プロトコル中に加わっている時に、ベクトル(Y1,.. .,Yk;ν)より成る、数のベクトルに関して知らなければ、彼は証明を行うで あろうし、また彼は、(Y1,...,Yk;ν)に関するBの表現を知るのと同様の 方法で、Bを生成できる。また、このことより、彼はこのベクトル中の数から成 るベクトルに関するBのいかなる表現も簡単に決定する事ができる。 表現の知識を証明するためには、プロトコルを実行する度に、同じBを使用し なければならないので、(異なるチャレンジの為)同じ資格認証を二度提示する ことによって、証明の二つの写しより、Uiを計算することが可能となる。 (3)資格認証はk回提示される。地下鉄の切符やテレフォンカードと言った事 例が思い浮かべられる。地下鉄を15回利用できる切符は、15回提示されるク ーポンである。 この種の資格認証が一つの組織に提示されるだけと言う特殊なケースに於いて は、(2)で述べたのと同じ方法で十分である。 資格認証がk回以上提示されるという一般的なケースでは、一回だけ提示され る資格認証の処理で述べられた一般的技法を少し修正すれば、用いることができ る。すなわち、第一(または、第二の)フローチャートの第二のボックスの第六 行目に於いて、ユーザーは更に、数Biをハッシュ関数Hkに、彼がAの表現を 知らなければならないことに関するベクトルと同じベクトルに関する(ランダム に選択された)を、各Biについて知るように、「供給」する。 Aが第i回目に特定の資格認証を「含む」プロトコルを、ユーザーが実行する とき、彼はAとBiを用いる表現の知識(図5)を証明するためのプロトコルを 実行する。(この技法は、k回使われたコインを作り出すための次の章に於ける オフラインキャッシュシステム中で用いられる。) 4.7 資格認証としての基本数のべき 現在に至るまで、基本数Yiだけが資格認証タイプを表してきた。新しい機構 に於いては、公知のベクトル(Y1,...,Yk;ν)から数Yiのべきを使用するこ とは大いにあり得ることである。Yiの異なるべきは、例えば、異なるタイプの 資格認証を表現したり、或いは資格認証タイプiのもっと詳細な仕様を表現する 。べきの特別な使用としては、それらを「カウンター」として用いることである 。 例えば、k種のタイプの資格認証の集合から一つの資格認証タイプを使用する よりも多くは、決して提示しないと言う極端な例に於いて、カウンターは(Y1, ...,Yk)の代わりに公知のY1を作ることによって十分である。資格認証タイ プ1はY1 1によって表現される。もしユーザ−iが、例えば、仮り名Pijを有し て 1 3νとして書く方法を知っている)ことを証明できることを望むのであれば 、彼は(m/Pij)Y1 3のnの第ν番目のモジュロの知識を証明しなければなら ない。 一般的に、両方の技法(異なるYi及びべき)は、非常に良く組み合わせるこ とができ、それについては様々な例を用いて簡単に説明してある。 4.8 ネガティブ資格認証、ポジティブ資格認証 ポジティブ資格認証は、例えば卒業証書のように、ユーザーが所有したがるよ な資格認証である。ネガティブ資格認証は、ユーザーが提示したがらない資格認 証である。明らかに、資格認証はある時はポジティブであり、別の場合はネガテ ィブでり、そして、これはユーザーによっても異なる。多分、犯罪記録は、犯罪 組織に参加する事に興味を持っている者には、良い印象を与える。 以前述べたように、mは、ユーザ−iが自分の資格認証を集め(保持し)てい る数であると想定する。明確にするため、ユーザーがその組織での仮り名を有し ているかに関わらず、ユーザーは組織に対して資格認証の所有を証明できなけれ ばならないものと想定する。当技法に習熟したものであれば、既に述べた状況に 対しても本技法を適応できる。 Yjで表現されるポジティブタイプjに関して、iは、Yjが現れないベクトル に関するm/Yjの表現の知識を証明しなければならない。Yjのべき及び積につ いても、一般的に、同様である。もし、仮に、iがY1 10、Y3 20、及びY6 3を所 有していることを提示することを望めば、彼は数Y1、Y3、及びY6のいずれも が現れないベクトルに関するm/(Y1 103 206 3)の表現の知識を証明しなけ ればならない。iが証明できないような場合には、安全の為に、iは少なくとも これらの資格認証を所有していないものと想定される。 Yiに対応する特定のネガティブ資格認証を所有していないことを証明するた めに、iは、Yjが現れないベクトルに関する表現の知識を証明しなければなら ない。もし、iが、三つの資格認証Y3、Y5、及びY7に対応する資格認証のど れも所有していないことを証明する事を望むのであれば、彼はこれら三つの数の いずれも現れないベクトルに関するmの表現の知識を証明しなければならない。 もし、彼がこの証明をできない場合には、安全のため、iは、これら三つのネガ ティブ資格認証の内少なくとも一つを所有しているものとする。 資格認証が嘗てインストールされなかったmの旧バージョンを使うことによっ て、勿論、ユーザーは、特定のネガティブ資格認証を有することを表さないこと もできる。この為に、彼は勿論、mの旧バージョンに対応する署名を予め消去し てしまう必要は無い。そのような乱用は、例えば、追加の改竄不正使用に抗する 防止計算装置をユーザーに供給することによって、防止することができる。この 問題は、すぐに、また説明する。そして、詳細な例が次の章で説明される。 4.9 資格認証間の直線関係 を知っている。そして、彼は、例えば、a2モジュロνが17a1+13に等しい ことを証明することを望んでいる(しかし、a1及びa2の実際の値を明らかにす ることを望んでいない)と想定する。彼は、積Y12 17が現れるベクトルに関す る商の表現の知識を証明しなければならない。もし、彼がa1+a2モジュロνが a3 mod νに等しいことを証明できることを望んでいる場合、彼は、積(Y1 3)及び(Y2 ν3)が現れるベクトルに関するmの表現を知らねばならない 。 最後の例について説明する。この例は、当業の通常の技法に習熟した者であれ ば、本技法を他の式に応用するに、十分開示されている。2a1+2a2+3a3 =a−5 mod νであることを証明できる為には、彼は、(Y14 2)、(Y2 4 2)、及び(Y4 3)の全てが現れるベクトルに関してm/Y4 5の表現を知らな ければならない。 当業の通常の技法に習熟した者であれば、本技法によって、同様に、いかなる 直線関係を証明できることは明白である。 直線関係はモジュロνによって証明されている。νは大きく(例えば、実際上 128ビット)なければ成らないので、これは実用上の目的の為には、整数間で の直線関係を証明する事を意味する。このことは、べき指数が意図モジュロνの みを有していると言う事実より明白である。なお、Yiは証明パーティによって 乗算されてmになり、そして、数Yiのべきはνと較べて非常に小さい。 次の章では、上記技法の特別な例について説明する。 4.10 k個の規定された資格認証の内1個の所有を証明する k個の資格認証の内少なくとも、例えば、(Y1,...,Yk)に対応する1個、 を任意に有していることを証明することを望んでいると想定する。商Y1/Yk,Y2 /Yk、...、及びYk-1のそれぞれが現れるベクトルに関するm/Yk lの表現の知 識を証明しなければならない。 て実際に書けることを証明する。もし、aiの値が1或は0だけであれば、同じ Yiを二度乗算してmにしていないことを証明パーティは確認するので、k個の 数aiの内1個は、値1を有しており、そしてモジュロν演算子は実際問題とな らないことを、証明能力が正確に証明する。 この技法の特別なケースは、「排他的論理和」資格認証である。そのような資 格認証をもって、正に二つの資格認証の内一つを持っていることを証明する。例 えばY1及びY2に対応する場合、商Y1/Y2を有するベクトルに関するm/Y2の 表現の知識を証明しなければならない。 4.11 所有しているかどうかを明かにしたくない資格認証 体表的な例を用いて、本技法について最善と思えるものを説明する。iは、m 中に「含まれている」特定の資格認証の証明を行うのであって、いかなる場合で も、彼が資格認証Y3、Y4、Y5を所有しているかどうかを明らかにしたくない 時には、行わない。この場合、彼は数Y3、Y4、Y5のそれぞれが現れるベクト ルに関する表現の知識の証明を行わなければならない。 彼が、数Y3、Y4、Y5の全体を所有しているかどうかを秘密にしておきたけ れば、積Y345が現れるベクトルに関する証明を行えば十分である。 当業に普通に習熟している者にとっては、他の資格認証を表に現さないように するために、本技法をどの様に採用すれば良いかは十分明白である。事実、本技 法を用いたその他の状況が簡単に説明されている。 4.12 ユーザーの計算機に埋め込まれた、改竄防止計算装置による特別保障 従来技法に於いて知られた資格認証機構に於いて、計算装置は完全にユーザー の制御下にある。それゆえ、ユーザーは、彼の望むいかなる組織にも資格認証を 提示することができる、そして多分(犯罪記録のような)ネガティブ資格認証を 破壊することさえできる。ユーザーの計算機に埋め込まれた追加の不正変更防止 計算装置(次の章で述べられるオフライン電子キャッシュシステムの「バンクモ ジュール」と呼ばれている)を用いて、証明パーティは、ユーザーが自身の資格 認証を用いている方法を超えて、良く制御していることを確認できる。この考え は、それ自身が、従来技法に於いて十分知られているが、従来技法で知られた資 格認証機構と合同した従来技法に於いては、構造については何も提案されていな い。 新しい特許性のある発想を用いて、そのような装置を効果的に、且つ安全に組 み込むことができる。これに関して、彼が署名を有しているところの数mをユー ザーが知るところの表現の知識が埋め込まれモジュールと分け合っていることに 気をつけなければならない。つまり、全体として、ユーザーモジュールと埋め込 まれたモジュールがmの表現をしている。もし、ユーザーが、特定の資格認証を 所有していることを証明すること(その為には、適当なベクトルに関するmの表 現の知識の証明がされねばならない)を望めば、必然的に埋め込まれたモジュー ルと協力して証明がなされねばならない。 これは、例えば、以下のような方法で実現できる。既に述べたように、数mに 「含まれた」彼の資格認証について、ユーザーが何か証明する度に、署名と多分 m自身が、制限されたブラインド署名プロトコルによって「更新」される。第一 実施例に適した制限されたブラインド署名プロトコルを用いることができるのが 分かる。このような場合、同じ署名に関する数mに含まれる資格認証を提示する ために、プロトコルを一回だけ実行するのを、改竄防止計算機が補助することで 十分である。mの表現(a1,...,ak;s)中の数aiの少なくとも一つの為に、 改竄防止計算機が0i∈Zν(この数は、ユーザーに知られていてはならない) を知り、ユーザーの計算機がxi∈Zνを知り、a1=0i+xi mod νである 。多分、sの知識は分け合うことができる。 表現の知識が二つの計算機によって分け合うことができるような、二つの(極 端な)方法があることは、当業技法に通常に習熟した者にとっては明白なことで ある。第一には、特定の数がそのような装置の一方にだけ知られている、そして 別のが他方の装置に知られている。第二には、各数が二つの数の合計(または積 )として用いられる、そして、これら二つの因子の内一つを、計算機のそれぞれ が正確に知っている。これら二つの方法は、勿論、組み合わせて使うことができ る。 一般に、m=m12が採用されるべきであり、そして改竄防止計算機はm1の 表現を知る(そしてm2を知ってはならない)唯一のものである。これにより、 ユーザー自身はmの表現を知らず、そしてそれ故に、ユーザーは改竄防止計算機 の補助を必要とする。 この補助は、常に以下の技法にて実現される。改竄防止計算機は、ユーザーモ ジュールに、miの表現を知っていることを証明する。そして、そのようにして 、証明が二段階に分けられる。制限されたブラインド署名プロトコルの間に、最 初の転送が行われる。そして、mの特定の表現の知識がユーザーによって組織に 証明されるプロトコルの間に、他の二つの転送(チャレンジと対応する応答)が 行われる。この新しい技法は、次の章で、オフライン電子キャシュシステムに関 連した例に基づいて、詳しく説明される。 当業に普通に習熟している者にとっては、二台以上の計算機が用いられる場合 には、本技法に若干の修正を加えて一般化することは明白である。 4.13 別のmに含まれた資格認証間の関係 もし、資格認証が「互いに属す」各範疇が、自身の数miに集められ、そして 保持されいる場合、同じベクトル(Y1,...,Yk;ν)に関する異なるmiに対 する表現をなお考慮することができる。そのようにしている間、Ykが資格認証 の範疇毎に別のものである場合にのみ、コンベンションとして扱われる。そして 、Ykはどんな範疇の資格認証が含まれているのかを示す。特定のベクトルに関 する表現の知識の証明を実行中に、それと同時に、正しいYkが含まれているこ とを証明しなければ成らない。 例えば、或る個人がm2中の金に関係する自分の資格認証及び、m1中のチェス に関連する資格認証を集めるものと想定する。Y1の指数は、m1の場合のELO レーティングを示す、そしてm2の場合のY1指数は月収入の高を示す。明らかに 、個人で、チェス連盟に、m2を用いて、自分が2800のELOレーティング を持っていることを証明することは(事実、2800の月収入であるにも関わら ず)不可能である。チェス資格認証としてYk1を、そして収入資格認証としてYk2 を提示して、確認する事によって、そのような事態を防ぐことができる。チェ スの目的の為にm2に含まれる特定の資格認証を提示し、適当なベクトルに関す るm2/Yk1の表現の知識を、ユーザーは証明しなくてはならない。彼はこの数が 現れるベクトルに関する表現m2を知らないので、彼はこれを行うことができな い。 他のYiがm1とm2の両方に対して同じであるので、m1とm2の積或は商を用 いて、チェス資格認証及び収入資格認証間の関係を証明することができる。例え ば、ユーザーが自分の月収入がELOレーティングを500超えていることを証 明する事を望むとする。既に説明した全ての技法を、様々なmの商及び積に適応 できる。この技法について、例を用いて簡単に説明する。 同様に、異なるユーザー達は、彼らの資格認証の全体が特定の基準に合致する ことを共に証明できる。例えば、彼らは、グループとして特定の資格認証を有し ていることを証明できる。さらに、集合仮り名、つまり個々のパーティはその集 合仮り名の表現を知らない、を認めることができる。集合仮り名は、例えば、個 々の仮り名の積であり得る。 これらの技法については、オフライン電子キャッシュシステムに関する章で、 詳しく説明する。ここに説明した技法は、多くの組み合わせが可能であり、それ は当業技法に通常に習熟した者にとっては明白である。 4.14 新機構に於ける資格認証に関する更なる技法 当業技法に通常に習熟した者にとっては明白であるが、既に述べてきた技法は 、以下に述べる本発明技法の核から逸脱することなく、非常に多くの変形が可能 である。核とは、特定のベクトルに関する特定の数(デジタル署名を有すること に対応する)を知るユーザーの表現手段によって、ユーザーの資格認証が表現さ れる。ユーザーが証明を実行できる数の機能、及びユーザーが所有している資格 認証を示す証明ができることに関するベクトル、或いはそれらの間の特定の関係 。 主眼点を説明するために、それらの変形のうち数種について述べる。 特別に指名された数Ykは、例えば、m中の資格認証の数、或いは期限満了日 に対するカウンターの役割を実行する。証明パーティの役割に於けるセンター( 組織の要求に基づいて、その後に、署名をすべて計算する)が、数Yk(或いは 、それらのべき)によって署名を計算する前に符号化するよう要求され、そして 、各数を乗算できる。 組織は、資格認証を割り出す(資格認証を壊してしまう)ことができる。これ は、例えば、表現の長さが成長するのを常に防止するのに用いることができる。 資格認証は有しているがタイプ2の資格認証は有していない場合には、特定の組 織はタイプ7の資格認証のみを提供するものと想定する。ユーザーiは最初に、 組織に対して彼がこの要求に合致するタイプ1及び5の資格認証を所有している が、2は有しないことを、証明しなければならないだろう。既に述べた技法によ って成される。すなわち、mY7/(Y15)が入力とされる制限されたブライン ド署名プロトコルに於いて組織はエンゲージする。特定の数t∈Zn *に対して、 していることを証明すれば十分である。何故ならば、これによって彼は資格認証 タイプ1及び5を有する(2は有しない)ことを意味するからである。このよう にして、「要約」資格認証を得ることができる。 二つの異なるベクトルのうち少なくとも一つに関する表現の知識を証明するこ とによって、例えば、資格認証タイプk或いは1を所有していることを、この二 つのベクトルのうちどちらを知っているかについて明らかにせずに、証明できる 。 一つの数m(署名を有する)中に資格認証を集める付加的な利点は、ポジティ ブ及びネガティブの資格認証が全て互いにリンクされることである。既に述べた ように、潜在的危険性は、ネガティブの資格認証を提示したくないユーザーが初 期のバージョンのm(対応する署名と共に)を用いようとすることである。改竄 防止計算機を用いて、mの表現の部分を制御し(つまり、要求されたベクトルに 関する表現をユーザーモジュール自身が知らない)、そして、(既に説明したよ うに)mの表現の知識の証明に関する署名毎に一度だけ補助することによって、 問題が大部分解消する。つまり、特定のネガティブ資格認証が未だインストール されていない数mの初期のバージョンを使用することをユーザーが望む場合には 、改竄防止装置は協働しないので、彼は表現の知識の証明を実行できない。ポジ ティブ及びネガティブの資格認証はm内で互いにリンクされているので、彼はも はや、ポジティブ資格認証を含む自身の他の資格認証を提示できないことを意味 する。これ故に、このようにして欺くためには、ユーザーは改竄防止計算機の記 憶内容を抽出できなればならなくなる。改竄防止をそれ自身で破壊するのは、非 常に困難な仕事である。各署名がmに基づく代わりに、一組(m、B)に基づく ように要求することによって、既に説明したように、数mを一度だけ使用するこ とができる。それを証明で二度用いることによって、ユーザーの身元が暴露され る。このようにして、仮にユーザーが改竄防止装置の内容を抽出できたとしても 、彼が同じmに対する証明を実行したかどうかの事実の後でも、なお、彼は確認 される。明らかに、センターは証明が行われる全ての数mを保存しなければなら ない、そしてユーザーが組織に対して行う証明は、「符号化証明」タイプでなけ ればならない。次の章で述べているキャッシュシステムは、この技法を広範囲に 使用している。 その他の注意事項は、センターのべきに関連し、それは全ての証明に間接的に 影響を与える。(説明したように、実際に一つの証明パーティが存在する。もし 、 組織が特定のユーザーに対して証明された数f(m)を有することを望めば、セン ターにそのようにする事を要求する)。それが何を証明したかをセンターが知る ことを防ぐ為に、組織はf(m)γνを証明できる、なおγ∈Zn *は乱数である。 図2のフローチャートの第3番目のボックスに於いて、組織はセンターの数bを 受け取り、それをユーザーに送出する前に、最初に、γc mod nをそれより 「剥ぎ」とる(図2の場合、第二実施例に適した他の制限されたブラインド署名 プロトコルが用いられた時に、同様のものが保持する)。更に、図2及び3に於 いて、署名が任意の数に基づいて作り出される、しかしこれらの数表現を知るこ とはない。このようにして、実際に実行された証明の数を、組織が隠すことがで きる。仮にセンターが更に対応する署名の受領を常に希望した(何故なら、組織 はmの表現を知っているとは考えられないからである)としても、組織は証明に 関する「ダミー」数mをセンターに差し出す。他の方法は、「閾値」スキームを 用いて、制限されたブラインド署名プロトコルに於けるPの役割を果たす為に、 少なくともk台の計算機の内1が協働しなくてはならないことを保証する。この ようにして、センターのべきを分散させることができる。ユーザーは、同一のY それぞれ別の範疇の資格認証を証明する多数のセンターがある。各センターは、 異なる計数nを用いる。 既に述べた技法は全て、簡単に組み合わせることができる。様々な例について は既に説明されており、また他の例についても簡単に説明する。本出願の記述を 研究することにより、新技法を様々に組み合わせて用いることは、当業技法に通 常に習熟した者であれば容易である。 4.15 実施 実施の効率について若干述べる。ユーザーの計算機に於いて、数Y、(Y1,.. .,Yk;ν)、X及びnが、不揮発性メモリに保存されねばならない。しかしな がらセンターは、単純で、公知の関数f(withY=Y0)及び無作為に選んだY0に 関する回帰関数Yi+1=f(Yi)に基づいて、これらの数を発生することができ る。 例えば、Yi+1=Yi+1 mod n。この場合、ユーザーモジュールは、(n、 ν、X、Y)を保存する必要があるだけである。明らかに、XをYk+1に等しく とることにより、Xを保存することを防止できる。 資格認証を保存するためには、ダイナミックメモリをそれほど必要としない。 mを知るところの表現だけが保存されなければならない(そして、勿論最後に受 領した署名も)。 既に述べたフローチャート(図2、3、及び4)のそれぞれの制限されたブラ インド署名プロトコルに於いて、第一の転送に対する要求(第一のボックスに規 定されている)が防止できる。この為に、証明パーティがユーザーに数a1を供 給し、そしてai=ai-1+1 mod nが二つのパーティ間で第i番目に実施さ れるプロトコルの一番目のボックスの中の数aとして用いられる。明らかに、証 明パーティが多数のユーザーとプロトコルを実行するシステムに於いて、プロト コルを一つ以上実行するような場合には、一番目のボックスの中の同じ数aは使 用されないように注意しないといけない。ユーザーjは最初に、「登録」した時 、証明パーティはユーザーに、例えば、数a1,j=a1,j-1+107 mod nを 供給すると共に、jを有するプロトコルの第i番目の実行に於いて、最初のボッ クスの中に、数ai,j=ai-1,j+1 mod nが用いられることに同意する。ユ ーザーはプロトコルを107回以上実行することはないと仮定すると、プロトコ ルの実行が異なる場合、ステップ1で同じ数aが二度使われるような事態にはな り得ない。(この方法は、異なるユーザーにのみと言うよりも、異なる仮り名Pij のそれぞれに対して行われるものである)。様々な他の回帰関係が、ここで述 べたものの代わりに用いることができることは、当業技法に通常に習熟したもの にとっては明らかである。 以下の二つ章に於いて、本技法を説明することによって、数種類のシステムが 説明されている。次の章では、特定の分野への適用について非常に詳しく述べて ある。 4.16 例 (対応する署名を有する)数mは、チェスゲームに関する資格認証を保持する 為に使用されており、そして他の範疇の資格認証は別のm中に保持されていると 想定する。この場合、センターは、国単位のチェス連盟であろう。組織は、チェ スクラブ、スポンサー、チェス雑誌の発行者等からなるトーナメントの委員会で ある。国単位のチェス連盟は、制限されたブラインド署名及びYを確かめる為に 必要な情報に加えて、公知のベクトル(Y1,...,Y5;ν)を有している。資格 認証Y1は個人がチェスをしているのかどうかを表現する。より具体的に言えば 、Y1に基づく指数は個人のELOレーティングを示している。 Y2に基づく指数は、個人が過去の年に何勝しているかを示し、そしてY3に基 づく指数は、何敗しているかを示している。 資格認証Y4は、幾分複雑である。つまり、Y4は個人がナショナルチェスチャ ンピョンシップに参加したことを示す。そして、その指数は、個人が各チャンピ ョンシップで獲得したランクを示している。1から9までのランクからなる地位 の内、いずれかの一つの地位で終了すると想定すると、以下の如くコード化でき る。第i番目のナショナルチャンピョンシップで、個人がjの地位で終了した場 合、これはj・10iと表現される。(それ故、ゼロは不参加を意味する。)1 0を底として(通常は、底は適当にとる;仮にd個の地位がある場合には、底d +1が用いられる)、それぞれの歴史が一つの整数で表現することができる。 最終的に、資格認証Y5は、個人はかつて試合相手を虐待したことがあるかど うかを示している。 数mi(署名を有している)を有している。これは、彼がmiの表現(ui,23 50,150,10,2400,0;s)を知っていると言うことである。これ は、iがELOレーティング2350を有しており、過去に150勝10敗して おり、第3回ナショナルチャンピョンシップで第4位、その次は、第2位で終了 し、そして、試合相手を虐待したことがないことを意味している。 iが勝利したゲーム数は15回であり、敗北したゲーム数を、そして彼は第3 回及び第4回のナショナルチャンピョンシップで、それぞれ4位、2位であった が、彼は試合相手を虐待したことはないことを、箇々の数字は伏せたまま、証明 することを望んでいると想定する。彼は、自分のELOレーティングについて明 らかにすることは望んでいない。彼が仮り名Pijを有しているいかなるチェス組 織jに対して証明できるはずである。 このためには、iはmiに基づく署名を提示し、そして(Y1,Y2 153;ν) に関する指数(mi/Pij)/Y4 2400の表現の知識を(例えば、図5に示されたプ ロトコルを用いて)証明する。 今、iは第5回のナショナルチャンピョンシップに参加して、16ゲーム全て に敗北し、その結果欲求不満になり、チャンピョンを虐待したと想定する。さら に、その結果、彼のELOレーティングは250ポイント下がったと想定する。 mi中の資格認証が以下の如く更新されるであろう。つまり、ELOレーティン グ250減、16ゲーム敗北、第5回ナショナルチャンピョンシップに於いて9 位で終了、試合相手を虐待となる。それ故に、組織委員会は制限されたブライン ド署名プロトコルに、mi1~2503 164 900005を入力する。数miはiによ って、プロトコルによって、出力(単にmiによって規定される)に、新しい署 名 kを有していると想定する。彼らの平均ELOレーティングが正確に2300で あることを、組織に知らせるために、iとkは、彼らが共に(Y,Y2,Y3,Y4, Y5;ν)に関する表現(mki)/Y1 4600を知っていると言うことを証明しな ければならない。もし、一方、彼らが組織jに対して、単にその組織での一つの 仮り名(或いは、一つの集合仮り名)を有していることを証明するのであれば、 彼らは、共に(Y2,Y3,Y4,Y5;ν)に関する(mki/(Pijkj))/Y1 4600の表 現を知っていることを証明しなければならない(Pijkjは集合仮り名と成り得 る)。両方のケースに於いて、彼らは自身の自由になる二つの技法を有している 。第一に、彼らの一人は他方の人が実際には何を証明しようとしているのか知ら ないで(プロトコルは、追加の改竄防止計算機を有した状況にある)、彼らは証 明することができる。第二に、彼らは互いに相手が何を証明しようとしているの かを 知っていることが問題にならない方法で証明できる。第二の場合、iとkは、各 ステップで彼らが有している数を結合して、彼ら自身の証明に用いる。このプロ トコルは、第四のフローチャート(図5)の記述の後に、説明されている。 4.17 第二の例:仮り名に基づくオフライン支払い 上述の技法を更に説明するために、ここに、安全且つ高度に効率的なオフライ ンキャシュシステムについて説明する。このシステムに於いては、ユーザーは、 それぞれが支払いを受けたい組織毎に異なる仮り名を有していると想定される。 もっと複雑なオフラインキャッシュシステムについては、次の章で述べる。 明確にするために、一つの金種のみを有するコインが発行されたと想定する。 このシステムはキャッシュシステムに言及するものであるが、資格認証をコイン とし、資格認証はクーポンであっても良い、または他の使い切りタイプの資格認 証であればなんでも良い。 準備。 準備に於いて、ユーザ−jは銀行で口座を開く。このために、彼(もし してこの数がmiで示される。 ユーザ−iは、その銀行に関するバリデーションプロトコルを実行(図6のフ トコルは、iが組織用の仮り名を必要とする限り何度でも繰り返される。iが組 織j用の仮り名の使用を望む場合には、彼はPij及び署名をjに提示するばかり でなく、(Y;ν)に関する表現Pijの知識も証明しなければならない。もし、 jが容認すれば、銀行にコンタクトし、その仮り名が既に使用中で無いことの確 認を行う。もし、これが保持されれば、jはその数を仮り名として登録する。 コインの引き出し。 このためには、i及び銀行は、miを入力として用いて、 第一或いは第二のフローチャートを実行する。ちょうどこの時、iはどの銀行で コインを使ったかを知っていなければならない。彼はそれをjで使うつもりだと 想定すると、彼はプロトコルによって、miをPijに基づく署名(c',b')に変 換する。このため、彼は第二のボックスの最初の行の数sjを使う。 コインでの支払い。 ユーザ−iは、Pijに基づく署名(c',b')をjに送る 。組織jは、それがPijに基づく署名であり、以前に受領していない時には、こ の情報を支払いと認める。(一つの仮り名に対応する署名は非常に多い。そして 、ユーザーは毎回異なるものを受領することを引き出しプロトコル中で確認して いる)。署名は、iによって、仮り名Pijを参照するデーターベースに記憶され る。 組織の口座クレジット。 ある程度、時間が経過すると、jはPijに対応する 、受領署名の集合を銀行に送ることができる。銀行はそれらの署名の全てについ て、重複していないか、また既に「支払い済み」の署名が無いかを確認する。も し、有効であれば、銀行はjの口座に支払う。 備考。 様々な金種のコイン(一般的に、異なるタイプのワンショウ(one-show) 資格認証)の発行を実現するために、銀行は公知のベクトル(Y1,...,Yk)を 作成する。Ylは金種タイプlを示す。ユーザーiがタイプlのコインの引き出し を望む場合、数milが入力とされる。支払い「プロトコル」に於いて、組織j は、受領した情報がPijlに基づく署名であることを確認する。 金種を表現する別の方法に、公知の数Y1だけに基づく指数を用いるものがあ る。タイプkを引き出す為のプロトコルへの入力は、mi1 kになる。支払いプ ロトコルに於いて、jは、受領した情報がPij1 kに基づく署名であることを確 認する。 次の章で、より複雑なキャッシュシステムについて述べる。つまり、受取人の 仮り名の有無に関わらず、ユーザーがどこでも支払えるものである。唯、一つの 仮り名の下でユーザーが支払うことができる上述のシステムは、非常に単純であ る。何故なら、コインが既に支払われたかについて、組織自身によって確認でき るからである。この理由により、署名を送ることが、支払う為の唯一の必要条件 である(チャレンジ及び応答は必要ない。) 5. オフライン電子キャッシュシステム 以下に説明するオフラインキャッシュシステムは、認証された情報のプライバ シイ保護転送用の有力な技術を説明する為に本願に記載された最も完全な1例で ある。 前に述べた技術の多くを、本システムと共に、再度詳細に説明する。 以下の説明には、第1のフローチャート(2図)よりの制限ブラインド署名プ ロトコル(restrictive blind signature protocol)を用いる。当業者に明らか な様に、他のどの様な制限ブラインド署名プロトコルでも(例えば、本明細書で 述べる他のプロトコルの1つ)代わりに用いることができる。その場合すべての プロトコルは、入力及び出力に関して知られる表現に存する特定の関係によって のみ、いくつかの小さい修正を必要とするにすぎない。 5.1 基本システム システムの設定:システムが使用される前に、Bは、次のような数を発生する 。 1.2つの大きな素数p,q。 pとqの積nは、Bにより分かる。pとqを適切に選 定することは当技術に於いて公知である。 2.ψ(n)に対し互いに素である大きな素数ν。Bはν-1modλ(n)を計算する 。この数は、今後1/νとして表す。当技術で公知の様に、関数ψはオイラーのフ ァイ関数(phi-function)で、λは、カーマイケル(Carmichael)関数である。 3.望ましくはオーダλ(n)である2つの異なる数X,Y∈Zn *。 実際には、nはしばしば、少なくとも512ビットとされ、νは例えば、12 8ビットとされる。この特別のシステムでは、好ましいと思われるが、νを素数 とするとの条件は必要ではない。コンポジット(composite)νを用いた場合必 要な改作を行う方法は当業者に明らかであろう。 Bは又、2つの「無衝突(collision-free)」ハッシュ関数HとH0選択する。 ここで、Hは、Zn *よりZνの3つの数よりなるアーギュメント(argument)を 写像し、例えば、H0はZn *×Zn *×ショップ−ID×デート/タイムからZν への4つの数のベクトルよりなるアーギュメントを写像する。Rに、Hへ、第6 行目の特別な数を供給させることにより署名が1対の数に対応するという相違点 はあるが、関数Hは、第1のフローチャート(2図)について詳述した様に用い られる。この様な使用方法は、第1のフローチャートを記載した後で説明されて いる。 関数H0は、支払いプロトコルのショップがどの様にチャレンジ(challenge) を発生すべきかを特定する。上記のH0の特定フォーマットは、各ショップSが 、少なくともS自身及びBに知られるべき独特の識別ナンバーIsを有するもの と仮定している。それは、例えば、BでのSの口座番号であってもよい。その場 合、ショップ−IDは、ショップの、全ての可能性のある口座番号の1組を示す 。セットデート/タイムは、日付及び時間を示す数よりなっている。支払処理に おいて、Sは、このセットから、処理の日付と時間を表す数を選ぶ必要がある。 当業者に明らかな様に、このκ0のフォーマットは1例にすぎない。支払写本(p ayment transcript)の偽造を防止する為に少なくともAとBの両方ともアーギ ュメント(argument)に入っているべきであるが、他のフォーマットも代わりに 用いることができる(例えば、Sは、追加してランダムに選んだ数を、H0に供 給することができ、又、Uの署名は、アーギュメント(argument)の1部と考え てもよい)。 Bは、(X,Y,ν,n)とH,H0の記載を公知とする。nの素因数分解(prime factorization)は、Bの秘密のキーである。基本システムと第1の延長部(追 加のいたずら防止計算システム)において、Bは原則として、プロトコルを適切 に実施する為の秘密キーとしてX1/νとY1/νを知る必要があるのみである。こ れを実現する方法は、すでに第1のフローチャートの説明の後で示した。 Zn *×Zn *でのペア(A,B)におけるBのディジタル署名は、検算関係c=H (A,B,bν(XA)-c)が保たれる様にZν×Zn *の対(c,b)からなっている(第 1のフローチャートの記載で説明した様に、これは、署名として(a,b)を用い ることに相当する)。 Bは又、口座所有者に関する関連情報を記憶する為にそれ自体の使用の為のデ ータベース(名前,住所等の形での識別関係情報等)と、預金プロトコルとして 、 ショップによりBに送られる情報の関係部分を記憶する為のデータベースとを設 ける。 明らかに、一般に知られている情報は、口座所有者の計算装置のソフトウエア に組みこまれるであろう(又は、例えばROM等のハードウエアに)。 Bとの取り引きの開始:Bと取り引きを開始する為には、Uは先ず、自分自身 を確認する必要がある(例えば、パスポートを用いて)。Bは、Zνでの数Ui と共に確認関係の情報(名前,住所等)を登録する。Bは、数が各口座所有者毎 に異なる様に、この数を選ぶ。もし、Uが同じコインを何回も使って、「いかさ ま」をする時は、BはUiを計算することができる。これは、その段階で登録さ れるので、BはUが2重使用者(double spender)であることを知り代金を請求 する 今度は7図を参照して、コインに対するUとB間の引き出しプロトコルのフロー チャートを以下に詳述する。 ボックス71は、Bが、次にUに送る乱数a∈Rn *を発生するのを示してい る。 ボックス72は、ボックス22と殆ど同様である。唯一の違いは、数m'が、こ こではAで表され、追加の数Bが発生される点である。これは、第3,4,5の 行に特定した様に、2つの追加乱数を発生することによりなされる。この数は、 又、Hのアーギュメント(argument)にも含まれている。 Uにより行われる他の動作についてボックス22を参照する。ブラインデッド チャレンジ(blinded challenge)cがBへ送られる点に注意する必要がある。 ボックス73は、ボックス23と同様である。同様に、ボックス74でUによ り行われた動作は、ボックス24でRにより行われる動作と同じである。 Bが、Uの借方に、引き出されたコインの値を記入している点は表示されない 。これは、フローチャート内の動作に無関係に、いつでも行うことができる。 両者がフローチャートにより特定されるプロトコルに従うものとすると、Uは に等しいという様に5つの数を自分の自由処理とする。 支払いプロトコル:図8を参照して、UとSとの間の支払いプロトコルのフロ ーチャートについて詳述する。 ボックス81は、Uが、引き出しプロトコルで得た(A,B)と署名(c',b') をSに送るのを示している。 ボックス82は、Sが、日/時が処理の日付けと時間に示す数の場合、ハッシ ュ関数H0の下で(A,B,Is,date/time)のイメージとしてチャレンジdを計算 することを示している。 ボックス83の初めの2行は、Uが2つの応答γ1とγ2を計算する方法を示し ている。Uは、これらの応答をSに送る。 ボックス84の第1の行は、Sが、Uによりボックス81に送られた署名の正 しさをテストするのを示す。次の行は、どの様にしてSが、ボックス83でUに より送られた応答が正しいか否かをテストするかを示している。 これにより了解される様に、Uは、クロックへのアクセスを有すれば、自分で ステップ2のチャレンジdを計算し、又、自分でSのIsを調べることができる。 預け入れプロトコル:次に、預け入れプロトコルを説明する。必要とされる相 互作用がないので、図は省略する。 例えば、その日の終りに、Sは((A,B),(c',b'),(γ12))と処理の日付 /時間よりなる「支払い写し」を、Bに送る。 Bは、Aが、ショップにより以前に預け入れられたか否かを決定する為に、そ のデータベースを検索する。2つの場合が区別できる。 1.Aが未だデータベースに入っていない。その場合は、BはSのIsを用い て数dを計算し、与えられた数は、処理の日付と時間を示す。次に、Bは、c'が る。両者の実証が正しければ、Bは、データベースにベクトル(A,d,γ1)を記 憶し、Sの貸方に、問題のコインの値を記入する。 2.Aがすでに、データベースに記憶されている。その場合は、詐欺行為が発 生する。もし、すでに記憶されている情報もSにより与えられ、日付と時間が、 新しく与えられた支払写しのそれと等しい場合には、Sが、同じ写しに対し、2 回クレジットを得ようとしていることになる。そうでない場合は、Bは数dを算 出し、最初の場合の様に2つの実証関係を確認する。 両方の立証が正しい場合、口座所有者が、同じコインで(少なくとも)2回支 払を行ったことになる。その場合、Bは、新しく呈出された支払い写しからの( d,γ1)と、すでに記憶されている(d',γ'1)を自由処理することができる。そ の時、数(γ1−γ'1)/(d−d') mod νは、2重使用の口座所有者Uの「べき」指 数Uiとならねばならない。ここで、Bは詐偽者の同一性を決定し、適切なアク ションを取ることができる。 (註)当業者にとって、フローチャートは、表現上の知識と組み合せた制限ブラ インド署名の発明のコンセプトを用いることから逸脱することなしに、種々変形 可能なことが理解されるであろう。例えば、「無地」(blank)コインも使用で きることも公知である。これらは、一定した値を持っていない。使用者の計算装 置又は、その部品は、メモリへのアクセスを防止する為に、不正防止構造となっ ている。計算装置のカウンタは、その場合、使用者が無地コインを使った金額を たどる。金銭の引き出しや消費は、その場合、単にカウンタの日付を最新とする ことよりなる。使用者がカウンタに、いたずらした場合、彼は、後で立証される ことなしに何回も同じ金額を消費することはできない。 キャッシュシステムにおいて、前述の種々の技術を用いることは可能である。 用いることができる。その場合、数tは、例えば、コインが消費される特定の月 を表すこともできる。残りのプロトコルは、同じままである。t'により表される ある月に支払う為に、Uは、今度は、ただmのかわりに商m/Y1 tを用いて、上述 の支払いプロトコルにおけるのと同じ試験を行う必要があるが(その場合、彼は 、実際上、自分がY1 tに対応する資格認証を有することを証明している)。もう 一つの可能性は、tがコインの値を表していることである。この様に、一般の資 格認証機構(credential mechanism)における様に、種々のYi'sとその「べき 」(p る。 実用上の実施においては、「真の乱」数のかわりに、しばしば、疑似乱数を用 いたい場合がある。例えば、Uは、係数νでパラメータ不明の線形調和ジェネレ ータ(linear congruential generator)を用い、Bは、恐らく例えば、ノイズ ジェネレータの出力と混合された(又は、ビット上排他的論理和(exclusive or )暗号的に強力なジェネレータを用いる。 プロトコルを通じて、H(B)は適当なハッシュ関数Hとして、(恐らくは、す でに使用されているのと同じハッシュ関数)、Bのかわりに用いることができる ことに注目すべきである。ボックス72の引き出しプロトコルでは、数H(B)は 、ハッシュ関数のアーギュメント(argument)として供給される。支払いプロト コルでは、Uは次に、B自体のかわりにHの下のBのイメージを送り、Sは、c' が いことを立証する。 更に(これが確実なことは余り明らかではないが)、支払いプロトコルにおい て、Sにより立証されるべき2つの立証関係は、1つの関係を他の関係に代入す ることにより1つにまとめることができる。 実用的に実施する場合、使用者に、引き出しプロトコルのステップ3の立証関 係をチェックさせないか、時々だけ、又は、後でのみチェックさせることにより 能率は向上される。同様に銀行は、2重使用を探知する為に、そのデータベース を介してサーチを行ったり、又、支払い写しを受け取る度毎にテストを行うかわ りに、時々のみ2重使用のテストを行う様にすることも可能である。 最後に、前のセクションで述べた様に、Uがその取引を開始した時に、銀行は 、数a0に関してUと取り決めを行うことができる。Uとの引き出しプロトコルの i回目の実施時に、例えば、ランダムに選んだaのかわりに、a=a0+i mod nを用 いる。引き出しプロトコルは、その場合2つのステップを要するのみである。当 業者に明らかな様に、本システムは、支払のプライバシィを任意に選択できる様 に実施できる。即ち、Bがプライバシィを必要としない場合、全てのブラインデ ィングファクタ(blinding factor)は、一定の値にセットされる(望ましくは 、Zn *の数は、1に設定され、Zνの数は、ゼロに設定される)。その場合、 銀行はそれを計算できるので、引き出しプロトコルでの相互作用は必要とされな い。 明らかに、これらの全ての註は、以下に述べる全ての延長部にも、あてはまる ものである。 5.2 延長:使用者の計算装置に埋め込まれた追加のバンクモジュール 基本システムの可能性のある不利な点は、Bは、コインの2重使用を後になっ てからしか発見できないことである。Bが2重使用を前もって実行不可能(prio ri infeasible)にすることができることは、技術上よく知られている。この目 的の為に、Bの各口座所有者は、いたずら防止になっている、いわゆるバンクモ ジュールを受けとる。このバンクモジュールは、丁度使用者の計算装置の様に、 それ自身のメモリ(スマートカード(smartcard)等)を有する計算装置である。 そのいたずら防止性の為に、使用者自身の計算装置に反して、バンクモジュール の内容は、調べたり及び/又はコピーすることはできない。したがって、使用者 の計算装置は、バンクモジュールとの協働によってのみ処理を行うことができる ことになる。この為、バンクモジュールは2重使用には協働しないので、コイン の2重使用の事前制限が提供される。 使用者のプライバシィを保証する為に、バンクモジュールは使用者の計算装置 内に「埋め込む」必要があることが技術上知られている。又、プライバシィの各 種段階を保証する為にプロトコルに適合することを要する種々の基準も知られて いる。ここでは、延長説明は、プライバシィに対する全ての必要事項の最もきび しいものに基づいて述べられているので、例えバンクモジュールの不正防止性が 破壊しても、Bは、尚、後で2重使用者を確認できる(前記の様に)。即ち、バ ンクモジュールのいたずら防止性が破壊された場合でも、「安全ネット」が存在 する。当業者に明らかな様に、この様なシステムは先行技術では公知ではない。 明らかに、もし、それ程きびしくない条件で満足する場合は、技術の要点より 逸脱することなく多くの変形が可能である。これらの変形例は、当業者により、 本明細書中の説明及び多くの実施例より容易に導出できるものと考えられる。 システムの設定:これは、基本システムのそれと同じである。 Bとの取引開始:先ず、UとBが、取引開始の為基本システムに述べた手順を 実行する。次に、Bは、UにバンクモジュールOを与える。Oは、そのメモリに (例えばROMに)、Bがランダムに選んだZn *の数o1を記憶する。Bはこの数 をUに知らせない。 る。事実上、mAoを、BとのOとUの集合的の仮り名(pseudonym)と考えるこ とができる。 引き出しプロトコル:図9を参照して、Oにより助けられるUとBの間のコイ ンの引き出しプロトコルのフローチャートを詳細に説明する。 ボックス91は、Zn *の乱数o2を発生し、その第n乗「べき」モジュロnを算出 するOを示す。次に、OはBoで示されるこの数を、Uに送る。Oはこのステッ プを、ボックス93で必要とされる前にいつでも行うことができる点に注目すべ きである。 ボックス92は、ボックス71と同じである。 ボックス93もボックス72と同様である。第2の行は、プロトコルへの入力 が、mとAoの積であることを示し、ボックス72と同様にUにより見えなく(bl ind)されている。次の3行は、Uがどの様にBを算出する必要があるかを特定 している。ボックス72との違いは、Uが数AoとBoとを、それと掛け合す必要 があることである。上記より了解される様に、さもなければ、支払いプロトコル のOの助力は、Sにより期待される応答を計算するのにUを助けることにはなら ないであろう。残りの行は、数aが見えなくされる方法及び、c'とcの構造を述べ ている。最後に、Uは見えなくしたチャレンジc(blinded challenge)をBに送 る。 ボックス94は、ボックス73と同様であり、その違いは、第1行の指定にお いて、Aoとmの積が、数mのみのかわりに用いられる点である。 ボックス95は、ボックス74と同様で、その相違点は、ボックス94と同じ である。 Bが引き出されたコインの値を、Uの借り方に記入することは表されない。 支払いプロトコル:図10を参照して、Oに助けられるUとSとの間の支払い プロトコルのフローチャートを詳述する。 ボックス101は、(A,B)と署名を、Sに送るUを示している。それは、 ボックス81と同じである。 ボックス102は、チャレンジdを、H0の下で(A,B,Is,date/time)のイ メージとして算出するSを示している。Sはこの数をUに送る。それは、ボック ス82と同じである。 ボックス103は、どの様にしてUが、ボックス93で発生した数であるモジ ュロνを加えて、dを数d'として見えなくするかを示している。この見えなくし たチャレンジは、Oに送られる。 ボックス104は、Oが、前に特別のコインを使うのに助けとなったかどうか を立証することを特定する。そのボックスは、o2が未だそのメモリに記憶されて いるかを立証することにより、これが、Oによりなされることを示す。当業者に 明らかな様に、Oは、実際には、1たび使ったo2を消去する必要はない。第2の 行は、Oが、Uに送る、チャレンジd'への応答γ'1を算出するのを示している。 次に、Oはメモリからo2を消去するか、少なくとも、それがコインを消費するの に、かつて助力したことを示すフラグを設定する。 ボックス105は、ボックス83と同様である。ボックス105の第1行はU がOの応答を検査するのを示している。Oの応答が正しければ、Uは、dに対応 しSにより期待され、第2と第3行により示される様にして、2つの応答γ1と γ2を算出する。第1の応答はボックス83と同様に計算されるが、第2の応答 を算出する為に、Uは又、たった今Oにより送られた応答を利用する必要がある ことに注目すべきである。 ボックス106は、Sが署名の有効性と応答を検査することを示している。そ れは、ボックス84と同じである。 基本システムに於ける様に、Uは、日付/時間とIsへのアクセスがあれば、 自分でボックス102内のチャレンジを算出できる。 預け入れプロトコル:これは、基本システムで述べた手順と同様である。Bが 、コインが2重に使われたこと(そして、2重に使った者が、そのバンクモジュ ールの不正防止機能を破壊したこと)を発見した場合、Bは前の様に2重使用者 の口座番号Uiを算出し、その同一性を見出すことができる。 5.3 延長:多数回使用されるコイン 基本システムは、唯1度示される資格認証を使用する。前述の様に、k回示さ れる資格認証も使用することができる。基本システムの引き出しプロトコルのボ ックス72の9行目では、Uは、H0に1つの追加数Bではなく、k数B1,...,Bk を供給すべきである。これらの数は、Bが各Biに対しZν×Zn *のペア(xi1, x ロトコルでは、Uは、ボックス81において、全てのBi'sを送って行かねばな らない。第i回目の支払いでは、Uは、ボックス83で、数γi1=dUi+xi1 mod ので、例えば、H0のチャレンジとして使われる様に要求することができる(勿 論、1回の支払いで、種々のこの様な「ユニティ(unities)」で支払うこともで きる)。 Bが、コインがk+1回使用されたことを見出すと、彼は2つの個別の対(γi1 i2)と(γ'i1,γ'i2)と、同じBiに対して必然的に少なくとも2回行われ た支払い写しに含まれている対応チャレンジdとd'により、基本システムにおけ る様に2重使用者の数Uiを算出することができる。 支払いプロトコルの為にボックス81で送られねばならないビット数を減じる 方法は、すでに述べた。Biを使用するかわりに、Hの適切な選定の為にH(Bi) を用いることもできる。それは、Bi'のハッシュ値が、引き出しプロトコルのス テップ2でのハッシュ関数に対するチャレンジとして用いられることを意味し、 支払いプロトコルのステップ1で送られるのは、これらの数である。同様の他の 最良化の方法は、当業者には明らかである。 上記から理解される様に、プロトコルは、引き出しプロトコルでのBの作動と 支払いプロトコルでのSの作動は、基本システムにおけるのと同じ(不正防止部 はなしで)である様になっている。これは、本明細書に述べる全てのキャッシュ システムに当てはまる。これは、本システムを実施する時に明らかに利点となる 。UがOを使うか否かは関係がない。しかし、Bが、引き出しプロトコルの入力 mを計算する方法に応じて、Bは、Uがそれを用いる必要があるかないかをコン トロールすることができる点に注目したい。 5.4 延長:BによるUのでっちあげ(framing)に対する保護。 基本システムでは、BがUのUiを全てにわたって知っていたので、Uは、B が偽って彼を2重使用について告訴した場合、自分の潔白を証明できない。 この問題は、制限ブラインド署名技法(restrictive blind signature techni que)により容易に解決することができる。この目的の為に、Uが、Bとの取り 引きを開始した段階で、BではなくU自身が、数Uiを発生する。次いでUはI それ以上の修正は、システムでは必要とされない。保安上の理由で、Uは、Uに ついて何ら他の情報を公表することなく、自分が、I=Yuであり、U<ν(ν よりゆるい上限も同様ではあるが)で、ある数U∈Zνを知っていることをBに 証明すべきである。Uは、このことを唯1度行うことで充分である。 Uが2重使用を行った場合、Bは、支払い写しからUi mod νを算出できる。 各口座所有者が、そのIに対する「べき」指数Uがνより小さいことを証明して いるので、又、2重使用者のIは算出できるので、これにより識別が可能となる 。 他方、偽って、2重使用に関してUを告訴する為には、Bは、2重使用者の「 べき」指数Uiを示す必要がある(「審判官」(judge)がそれを求めるであろう) 。しかし、Uiを算出することは、実行不可能と考えられる作業である。 本技術は、Bの計算能力に無関係に、Bが使用者を、でっちあげる(frame) ことができないことを証明する為に、容易に修正できる。この目的の為に、プロ より決定され、Bはmのみを知っている。 当業者には明らかな様に、全てのブラインディング係数(blinding factor) を一定値に設定して、プライバシィを選択自由とするが(1は「基本」数、0は 「べき」指数で、Bはこれらの値を引き出しプロトコルに用いるので、相互作用 はない)、支払いプロトコルは修正しないのであれば、使用者は未だ計数的に、 2重使用の告白に署名することになる。当技術の従来公知のシステムでは、それ らの充分追跡可能な変形例においても、「でっちあげ」をさせることに対する防 護策は設けられていなかった。 5.5 延長:電子的小切手 小切手を実現するには、mは先ず変数部分と乗算され、その結果が、引き出し プロトコルの入力として用いられる。上記は銀行により許可される時のみ行える ことに注意を要する。これは、既知の数の関数を、プロトコルの次の実施時の入 力として用いる為に、制限ブラインド署名プロトコルに適用可能の技術を説明し ている。 システムの設立:これは、基本システムに述べたものと同じで、相違点は、B が更に、公知のkを、更に大きい位数の乱数Y1,...,Yk∈Zn *(望ましくは、λ (n))としている点である。これらのYiは、異なる単位名を表している。 保安上の理由で、Bは基本システムにおけるものと異なるν(及び/又はn) を用いる必要がある。 Bとの取り引き開始:これは、基本システムと同じである。 引き出しプロトコル:図11を参照して、UとBとの間の小切手の引き出しプ ロトコルのフローチャートを以下に詳述する。 ボックス111は、Uが、自分が(Y1,...,Yk;ν)に対するそのランダム な提示が分かる様に数m1を発生することを示している。Uはこの数をBに送る。 ボックス112は、ボックス71と同様で、Bは、再びUの口座にm1を登録す る。 ボックス113は、ボックス72と同様である。第2と第8行において、mの かわりに積m1mが用いられていることに注目を要する。他の唯一の相違は、第3 ,第4及び第5行で、Uは、単に2ではなく、k+1の乱数を発生し、それらをす べてBの算出に用いることである。 ボックス114は、ボックス73と同様で、唯一の相違は単なるmのかわりに 、 m1mが用いられていることである(そこで、これは、事実上プロトコルに対する 入力である。又、これは、UとBが協働してプロトコルへの入力を決定する1例 であることに注目を要する)。 ボックス115は、ボックス74と同様で、その相違点は、前のボックスと同 様である。 Bが、小切手が使われる最高額に対応する額を、Uの口座の借り方に記入する ことは示されない。 支払いプロトコル:図12を参照して、UとSとの間の小切手に対する支払い プロトコルのフローチャートを以下に詳述する。 ボックス121は、ボックス81と同じである。Uは、引き出しプロトコルで 受け取られた、署名済の情報(小切手)を、Sに送る。Uは又Sに、自分が小切 手で支払いたい金額(最高額以下)を知らせることは表示されない。普遍性を失 うことなく、UはY1,...,Yjに対応する額(1≦j≦k)を使うことを望んでいる と仮定する。 ボックス122は、ボックス82と同じである。それは、どの様にしてSが、 それがUに送るチャレンジdを算出するかを特定する。 ボックス123は、ボックス83と全く同様である。相違点は、Uが2つでは なく、Sに送られるk+2応答を算出することである。このボックスは、どの様に して、Uがこれらの応答を計算すべきかを述べている。明確化:Uが使うことを 望んでいる全ての金種(Yiに対応)に対し、Yiの対応する2つの「べき」指数 (1つはAで、他方はBにある)が表示される。これは第2と第3行に特定され ている。前記の様に確認部(identity part)(Yに対応する)に対しては、線上 の1点が示されている。これは、第1の行に示されている。そこでUは、第1の 「検査」で直接Aに含まれる情報の部分を示すが、補足的な部分は示さない。他 の応答の計算は、実際には、単にSが応答の正確さを証明するのに役立つのみで ある。明らかに、γ1迄で、かつ、γjを含む「べき指数」は、かわって、ボック ス121に送られてもよい。 ボックス124は、Sの作用を示している。第1の行は、ボックス84と同じ である。Sは署名の有効性を検査する。他の行は、Uの応答が正しいことを証明 する為に、Sにより与えられた検査を示す。両方の検査が正しければ、Sは、U がこのプロトコルで使った小切手の部分に対応するサービスを受け取り、かつ、 提供する。 預け入れプロトコル:前の様に、Sは支払い写しをBへ送り、Bはそれが正し いことを確認する。その確認が正しく、同じAを含む写しが、未だ預け入れデー タベースに登録されていないならば、Bは数(A,γ0,d)と、j迄とjを含むi= 1に対しγiも記憶する。Bは、小切手の使われた部分に対応する額を、Sの口座 の貸し方に記入する。 小切手が以前に使われている場合は、Bは、dとγ0を用いて前の様に、2重使 用者の同一性Ui(identity)を計算する。 返済プロトコル:図13を参照して、UとB間の返済プロトコルのフローチャ ートを詳細に説明する。 小切手の使われていない部分の返済を得る為に、UはBに、問題の小切手に対 応する数m1を知らせる。 ボックス131は、Bが、Uの口座情報と共にm1が登録されていることを確認 することを示している。この場合においてのみ、プロトコルの残りが行われる。 明らかに分かる様に、Bにm1を知らせるUの部分が、ボックス132と結びつけ られている場合は、ボックス131は、ボックス133と結合してもよい。ボッ クス132は、Uが、j<i≦kに対する数ai、即ち、使われていない小切手の源 Yiに対応する「べき」指数を、Bに送っていることを示す。図12にしたがっ て、これらは、最後のk−j項であると仮定する。ボックスは又Uに、(Y1,..., Yj;ν)に対する、そのランダムな表現が分かる様に数Aを示す。明らかに、 これは、ボックス51の作用と同様である(唯一の違いは、他のシンボルが用い られることである)。 ボックス133は、Bが、Uにより送られたZνのk−j数のいずれもが、その 預け入れデータベースに入っていないのを確認することを示している。この場合 、 ることを証明する必要がある。図5のフローチャートに述べた特定のプロトコル は、図の明白化の為に用いられたものである。第3及び第4行が、実際は、ボッ クス52と同じであることに注意を要す。 ボックス134は、ボックス53と同様で、実際には、記号が異なるのみであ る。 最後に、ボックス135は、事実上ボックス54と同じで、Bが確証を受けと るとm1を消去し、ボックス132にUにより送られた数aiを記憶する点が追加さ れている。その場合、Bは又、Uの口座の貸し方に、小切手の使用されていない 部分に対応する額を記入することが示されていない。 5.6 延長:匿名の口座 今までの所、口座所有者のプライバシィは、その支払いに関するのみである( それらは、追跡することができない)。それでも、Bは、その口座所有者の口座 の流入や流出や、所有金額を正確に知ることができる。しかし、これさえも防止 可能である。口座所有者は、架空の名前(本当の意味での仮り名)を用いて取り 引きを始めることができる。 匿名の口座を開始する為には、Bとの先行する制限ブラインド署名プロトコル 的の為に事実上、例えば、第1のフローチャート(図2)のプロトコルであった 認する為に前のセクションで説明したプロトコルそのものとなる。数Iは、基本 システムにおいて、mが行った役割を演じることになる。この「仮り名発行」プ ロトコルは、例えば、次の様にして実現できる。BはUに対して、Zνで、独自 のランダム番号Uiを発生し、それをUに送る。Uは前述の様にして、自分自身 を確認する。Bは、データベースに関係情報を記憶する。前記説明から当業者 より小である確証と共に)ことにより、でっちあげ(framing)に対し自分を保 護することさえできる。次に、第1のフローチャートで説明した制限ブラインド 確認された(Bの署名を伴う)Uの仮り名である。 Uがその取引を始める段階で、UはI及び署名をBに送るが、自分自身は識別 しない。BはIが識別されたことを確認するのみで、Uは、図5のフローチャー トで説明した様に、自分が(Y;ν)に対するIの呈示を知っていることを証明 する必要がある(この様に、Uはお金を引き出す必要がある場合は、後で口座の 所有権も立証することができる)。もし、Uが偽造した仮り名を用いても、とに かく引き出し情報で払出すことはできないので証拠となるものは事実上省略でき る点に注目を要す。 システムの残りの部分は前と同じである。もしUが2重使用を行っても、Bは Uiを計算し、そして2重使用者の身元を算出できる(口座情報で、そのデータ ベースを探索することによってではなく、発行された仮り名についての情報で、 そのデータベースを探索することにより)。 この延長においては、一般の資格認定技術が次の様に適用される。銀行は、先 ず口座所有者iに対する仮り名Piを選ぶ。この目的の為に、銀行はUi∈Zν *口座所有者は、次に、この仮り名を、銀行と匿名での取り引きを始めるのに使用 する。口座所有者が、コインを引き出したい場合、その関数を示すPiは、コイ ン又は小切手への銀行とのプロトコルで口座所有者により見えなく(blind)さ れる。これは制限ブラインド署名の推移的(transitivity)性格を再度示すもの である。 第2の好ましい実施形態 6 序 第2の好ましい実施形態において、計算は、Gqと名付ける(乗法的に書かれ る)群においてなされる。この群は、qの数を含む(ここにqは素数である)。 多くの種類のそのような群が知られている。たとえば、適当な選択は、Zp *の位 数qの一意部分群である(ここに、pは、qがp−1の約数であるような素数で ある)。他の選択は、たとえば、有限体での楕円曲線である。この理由のため、 Gqのための選択は、ここでは明示して説明されない。 る。モジュロqの計算がなされる場合(たとえばr1=x1+x2mod qにおい て)、モジュロ演算子は、明示される。元が群から選ばれる場合、これは最小の 正の代表(representative)であると暗黙に仮定される。同じことが、計算の結果 について成り立つ。 この好ましい実施形態における制限されたブラインド署名のため、群において うにベクトル(a1,...,ak)(A=1ならばすべてが0ではない)(ここに、ai ∈Zqかつgi∈Gq)を計算することは実行不可能であるべきである。当業者に は明らかであるが、これは、いわゆる離散対数を計算することが実行不可能にみ える群Gqが使用される場合である。(数mの数qに対するGqにおける離散対数 (loggmと名付けられる)は、gxがmに等しいようなZの中の数xである。 ) 制限されたブラインド署名の一般的説明によって、関数f1とf2は、互いに等 めにて、Rは、f(a1,...,ak+1)=mとなるようなベクトル(a1,...,ak+1)を 知っている。そのようなベクトルは、(g1,...,gk,g)に関するmの表現と名付 けられる。 当業者に理解されるように、プロトコルは、種々の明白な方法で変更できる。 たとえば、説明において、qが使用者に知られていると仮定され、そこで、使用 者はモジュロqの計算を実行できる。可能な変更は、群の位数qが未知のままで あることを確実にすることである。この目的に対して、たとえば、GqをZp *の 部分群とする。このとき、すべてのモジュロqの計算は、モジュロp−1の計算 と置き換えられねばならない。そのような変更は、当業界で知られている。なお 、文献において、pについての適当な選択が知られている。 次の節で、2つの異なった制限された種類のブラインド署名が、この好ましい 実施形態において説明される。図14と図15のフローチャートにより表された プロトコルにおいて、関数I1とI2は、(たとえば)I(a1,...,ak+1)=(a1 mod q,...,akmod q)により定義される同じ関数Iとすることができる 。この意味は、Rがプロトコルにおけるak+1を変更できるのみであり、(モジ ュロqはもちろん)他の数は変更できないことである。 図16のフローチャートにより表されたプロトコルと文で説明されたその変形 において、Rは、表現の中の数を見えなくすることにおいて、より多くの自由度 を有する。ここに、I1とI2は、同じ関数Iととることができ、たとえば、1≦ i≠j≦kとして、I(a1,...,ak+1)=(...,ai/ajmod q,...)により定 義される。すなわち、1≦i≦kとしてbi=aitmod qであるような1つ の数t∈Zq *が必然的にある。 次に、これらの4つのプロトコルを構成するために使用される技法が、どのよ うに、多くの他の制限されたブラインド署名のプロトコルを作るために使用され るかが説明される。 7 制限されたブラインド署名 図14を参照して、第2の好ましい実施形態における第1の制限されたブライ ンド署名のフローチャートが詳細に説明される。 このプロトコルの準備段階の先立つ実行において、Pは、Gqの中の数gとZq の中の数xを選択し、gとgxを公開させる。数xは、Pの秘密キイである。数 gxはhと名づけられる。 また、Pは、関数Hを公開させる。Hは、第1のフローチャートにおいて説明 されたように、Gqからの2つの数に演算しそれらをZqの中の数に写像する無衝 突ハッシュ関数である。 プロトコルの開始において、両者が知っている数m∈Gqが選択される。たと えば、1者がそれを作り、他者にそれを知らせる。または、その数は、プロトコ ルの前の実行の出力、または、その関数である。 Gqの中の数mについてのPのデジタル署名は、認証関係gr=(hm)caが成り 立つようなGq×Zqの中の1対(a,r)である。ここに、cは、ハッシュ関数H の下での(m,a)の像を表す。 ボックス141は、Zqの中の乱数wを生成し、公開された数gをこのベキに 上げるPを示す。aで表される結果は、Rに送られる。 ボックス142は、Rの見えなくする動作を詳細に示す。はじめの複数の行は 、Uが入力mを出力m'に対し見えなくするために使用する乱数を生成すること を示す。他の複数の行は、Pからちょうど受け取られた数aをRがどのように見 えなくしmとa'からc'をどのように計算するかを具体的に示す。第6行は、R が、aを見えなくするときに用いられた乱数の1つをcと名付けた数に加えるこ とにより数cに対してこの「チャレンジ」を見えなくすることを示す。この数c はPに送られる。 ボックス143は、公開された情報、入力m、チャレンジおよびその秘密キイ から応答rを計算するPを詳細に示す。なお、このプロトコルにおけるPは、成 功するためには、mの基底gに対する離散対数(loggmという)を知ってい なければならない。 ボックス144の第1行は、Rがいま受け取った応答rの正しさを検査する方 法を示す。もし検査を通れば、Rは、第2行に表されるように、r'のブライン ド形を計算する。 対(a',r')は、m'についてのPのデジタル署名である。さらに、対m'は、 署名とともに、ブラインド署名のプロトコルのための条件を満足する。 当業者にとって明らかなように、Rによりa',c(ボックス142において) とr'(ボックス144において)に対してなされた割り当ては、種々の方法で変 更できる。また、この注意は、フローチャートを短く記した他の制限されたブラ インド署名のプロトコルにも当てはまる。 これ以上の制限なしでも、以上に説明したように得られた署名は、容易に偽造 できる。しかし、もしプロトコルの開始においてRが(g,g1,...,gk)に関して mの表現(a0,a1,...,ak)を知っていて、プロトコルの終わりに同じベクトル に関してm'の表現(b0,...,bk)を知っていると仮定するならば、aiは、もし Rのみが表現(c0,...,ck)((g,g1,...,gk)に関して1の(0,...,0)に等し くない)を知らないならば、必然的に、1≦i≦kであるすべてのiについてbi に等しいモジュロqである。 図2のフローチャートの説明においてなされた注意と同様に、いくつかの注意 が順に与えられる。プロトコルの説明において、署名は、m'と名付けられる1 つの数についてのみである。簡単な変更は、若干数の数についてブラインド署名 を得るのに十分である。もし署名がm'にのみならず、k個の数B1,...,Bk(こ こにk∈N)にも直接関連するならば、ボックス142の第5行においてRがH の下で(m',B1,...,Bk,a')の像としてc'を計算することが十分である。Hの ための条件は、前と同様であり、ただ1つの違いは、Hがk+2個の数に演算す ることである。(当業界において最もよく知られた無衝突ハッシュ関数は、そこ に供給される数の元について気にしない。)この場合における(m',B1,...,Bk )についての署名は、gr'が(hm')c'a'である(ここにc'はκ(m',B1,...,Bk ,a')を表す)ようなGq×Zqの中の1対(a',r')である。なお、数Biはどの 集合からも選択できる。 さらに、別の方法で、m∈Gqについての署名は、c'がH(m,gr(hm)-c)に 等しいようなZq×Zqの中の1対(c,r)であるように、いくらかより効率的に 定義される。この定義は等価である。 ハッシュ関数Hは、必ずしもZqへの上への(onto)写像(全射)でなくてもよ こに、「セキュリティパラメタ」tは、適当な長さである。 また、これらの注意は、後で説明されるすべての他のプロトコルにも当てはま る(等価であるがより効率的な署名の定義を、それぞれについて明白な方法で修 正するだけでよい)。 * * * 図15を参照すると、第2の好ましい実施形態におけるもう1つの制限された ブラインド署名のプロトコルのフローチャートが詳細に記される。 このプロトコルは、実際、前のフローチャートに非常に似ている。開始は、ほ とんど同じであり、唯一の区別は、Hがそのアーギュメントを0に写像しないこ と(プライバシーを厳密に証明するためにのみ必要とされる技術的詳細)である 。 Gqの中の数mについてのPのデジタル署名は、grがhmacである(ここに cはH(m,a)を表す)ようなGq×Zqの中の1対(a,r)である。(または、 前の説明において述べたように、mについての署名は、cがH(m,gr/c(hm)1 /c )に等しいようにZq×Zqの中の1対(c,r)として等価に定義できる。) ボックス151は、ボックス141と同じである。 ボックス152は、ボックス142と似ていて、違いは、aをa'に対して見 えなくし(第4行)cをc'に対して見えなくする(第6行)ためにRがランダ ムに生成された数を使用する方法である。 ボックス153は、ボックス143と同様であり、第1行は、応答rがPによ ってどのように計算されねばならないかを具体的に示す。 ボックス154は、ボックス144に似ていて、Rに適用される検査が違って いて(第1行)、次のr'への割り当ても違っている(第2行)。 前のフローチャート(図14)のプロトコルにおけるのと正確に同じことが当 てはまる。すなわち、もしプロトコルの開始においてRが(g,g1,...,gk)に関 してmの表現(a0,a1,...,ak)を知っていて、プロトコルの終わりに同じベク トルに関してm'の表現(b0,b1,...,bk)を知っていると仮定するならば、ai は、もしRのみが表現(c0,...,ck)((g,g1,...,gk)に関して1の(0,..., 0)に等しくない)を知らないならば、必然的に、1≦i≦kであるiについて 、bimod qに等しい。 * * * 図16を参照すると、第2の好ましい実施形態におけるさらに別の制限された ブラインド署名のプロトコルのフローチャートが詳細に記される。 開始は、図14のフローチャートにおけるようである。Gqの中の数mについ てのPのデジタル署名は、grが(hm)cmである(ここにcはH(m,a)を表す) ようなGq×Zqの中の1対(a,r)である。(または、等価的に、mについての署 名は、cがH(m,(gr-11/c-1)に等しいようにZq×Zqの中の1対(c,r )である。当業者によって証明できるように、このプロトコルの中のRは、前の 2つのプロトコルにおけるより、mを見えなくする点でいくらかより多い自由度 を有する。 ボックス161は、ボックス141と同じである。 ボックス162は、ボックス142と似ていて、Rは1つの追加の数を生成す る。乱数s,tを用いて、Rは、第4行において具体的に示されるように、mの ブラインド形m'を計算する。c'の割り当ては、前のフローチャートにおけるの と同じである。第6行は、Rがcに対してc'をどのように見えなくするかを具 体的に示し、この数は次にPに送られる。 ボックス163は、ボックス143と同様であり、Pがどのように応答rを計 算せねばならないかを具体的に示す。応答rは次にRに送られる。 ボックス164は、ボックス144に似ている。第1行は、応答rの妥当性を 調べるためRにより適用される検査を具体的に示し、第2行は、検査を通った場 合に、Rによりr'になされる割り当てを示す。 プロトコルの開始においてRが(g,g1,...,gk)に関してmの表現(a0,a1,. ..,ak)を知っていて、かつ、プロトコルの終わりに同じベクトルに関してm'の 表現(b0,b1,...,bk)を知っていると仮定するならば、もしs≠0でありRが 表現(c0,...,ck)((g,g1,...,gk)に関して1の(0,...,0)に等しくない) を知らないならば、常に、1≦i,j≦kでi≠jであるiとjについて、商ai /ajがbi/bjに等しいモジュロqである場合である。 当業者によって明らかであるように、gは、このプロトコルにおいて、Rが表 現を知っていなければならないGqの生成元の(k+1)-ベクトルから除かれるが 、ブラインド署名が得られた(m≠1を仮定して)事実を保つ。その場合、Rは 、もし終わりにおいて(g1,...,gk)に関してm'の表現を知りたいならば、必然 的にt=0を用いねばならない。また、だれでも、ボックス162においてs= 0を使用したかを認証できる。もしs=0なら、m'=1である。これは、後で 説明されるオフラインデジタル現金システムの説明において用いられる。 理解されるように、図15のフローチャートが図14のフローチャートに密接 に関連したのと同じように、また、このフローチャートに密接に関連される制限 されたブラインド署名のプロトコルがある。Gqの中の数mについてのPのデジ タル署名は、grがhamcである(ここにcはH(m,a)を表す)ようなGq×Zq の中の1対(a,r)であることを除いて、そのプロトコルのための開始は同じで ある。(または、等価的に、mについての署名は、cがH(m,gr-c-1)に等 しいようにZq×Zqの中の1対(c,r)である。) Rは、図16のフローチャートにおけるように、見えなくすることにおいて多 くの自由度を有する。そのフローチャートの説明においてなされた注意は、同様 に当てはまる。図16のフローチャートとの唯一の違いは、ボックス162にお けるRのa',cへの割り当てとボックス164におけるr'への割り当てが変更 されることである。上述の制限されたブラインド署名のプロトコルを検討するこ とにより、これは、当業者にとって明らかな仕事である。この理由のため、詳細 な説明は省略される。 当業者にとって理解されるように、制限の特性は、ささいなものとは程遠い。 なお、ブラインド署名(以上に説明した4つのプロトコルを構成するために使用 される技法を用いる)は、Gqの中のmについてのPの署名が、以下の4つの関 係(gr=h(am)c、gr=hcam、gr=(ham)c、gr=ham)の1つが 成り立つようなGq×Zqの中の対(a,r)として定義される場合には、制限的で ない(!)。(または、変更された認証関係をもつ対(c,r)として。) すなわち、これらの4つの場合の各々において、割り当ては同じボックスにお いてa'への適当な割り当てを用いて「キャンセル」できるので、フローチャー トの第2のボックスの第2行にあるものとしてのRは、m'に所望のいずれも割 り当てできる。(当業者にとって明らかなように、本質的に、mとnは、積にお ける2つの数の正確に1つについての指数c=H(m,a)により、署名の認証関 係の定義において相互に「分離」されねばならない。 * * * 上記の4つのプロトコルは、シュノール身元確認プロトコル(Schnorr,C., ”Efficient Signature Generation by Smart Cards",Journal of Cryptology ,Vol.4,No.3(1991),161−174)、および、その「ミラー」変形 の署名の変形に基づく。シュノールのプロトコルは、先に述べたフィアット/シ ャミール型である。 第1の好ましい実施例において詳細に説明したように、制限されたブラインド 署名のプロトコルを組み立てるために用いられる技法は、もしチャレンジcを、 特に第1ステップで転送される数のハッシュ関数の結果とすることにより、署名 プロトコルに転換できるならば、原理的に、フィアット/シャミール型のどの身 元確認プロトコルにも適用できる。ここで留意すべきことは、この技法を用いて 、当業界において知られている、次のそのようなプロトコルのいずれも、制限さ れたブラインド署名プロトコルに転換できる(T.Beth、"Efficient zero-knowl edge identification scheme for smart cards"、Proceedings of EuroCrypt’8 8,77-88、Brickell,E.and MaCurley,K."An interactive identification sc heme based on discrete logarithms and factoring"、Journal of Cryptology 、Vol.5,no.1(1992)29-39)。また、NIST-DSSアルゴリズム(米国で標準化さ れた)は、原理的に、この技法で転換できる。 この重要な点をもう1度説明するため、他の周知の身元確認プロトコルが、制 限されたブラインド署名に変更するために使用される。(Okamoto,T,"Provabl y Secure and Practical Identification Schemes and Corresponding Signatur e Schemes"、Proceedings of Crypto'92、(1-14)一(1-25)参照。) 図17を参照して、得られた制限されたブラインド署名のプロトコルのフロー チャートが詳細に説明される。 PがGqの中の2つの数g1とg2と、Zqの中の2つの数x1とx2を選択し、g れる。数x1、x2はPの秘密キイである。関数Hは、上述のプロトコルのように 、ふたたび無衝突のハッシュ関数である。さらに、前のように、プロトコルの開 始において、両者が知っているべきGqからの数mが選択される(入力)。 いような、Gq×Zq×Zqの中の3つ組(c,r1,r2)である(ここにcはH( m m)-1)に等しいような、Zq×Zq×Zqの中の3つ組(c,r1,r2)である。 ボックス171は、2つの乱数を生成するPを示す。第2行に具体的に示され るように、これらを使用して数aを計算する。次に、Pは、数aをRに送る。 ボックス172の第1行と第3行は、すべてZqの中にある5つの乱数を生成 するPを示す。これらの中の2つを用いて、Rは、第2行に具体的に示されるよ うに、mのブラインド形m'を計算する。他の3つを用いて、Rは第4行に具体 的に示されるように、aのブラインド形a'を計算する。第5行は、先のフロー チャートにおけるように、同じ割り当てを示す。次に、Rは、乱数のモジュロv をそれに加えることによりcのブラインドチャレンジc'を計算し(第6行に具 体的に示される)、そして、cをPに送る。 ボックス173は、Pが2つの応答r1とr2をどのように計算するかを示す。 これらは、次に、Rに送られる。 ボックス174の第1行は、この2つの応答のRの検査を示す。もし検査を通 れば、Rは、第2行と第3行に具体的に示される方法でこれらの応答のブライン ド形を計算する。 当業者により容易に検証されるように、3つ組(a',r1',r2')は、m'につ いてのデジタル署名である。署名をもつ対m'は、ブラインド署名のための条件 を満足する。 それ以上の条件なしで、前のように、署名は容易に偽造される。図14と図1 5のフローチャートと同様に、もし生成元により適当に選択されたkベクトルに 関して表現Rがmとm'を知ることを考慮するなら、以下のことが成り立つ。R は、s1,s2のランダムな選択のためmg1 s12 s2に対しmを見えなくできるが 、しかし、たとえば選択sについてのmsに対してそれを見えなくできない。 図14と図2のフローチャートに関して詳細に示されたように、署名を定義す る検証関係を変更する(c'を「移動する」)ことにより、3つの他の検証関係 が得られ、その各々は、制限されたブラインド署名プロトコルに対応する。この 変更は(はじめの4つのプロトコルと同様に)当業者にとって簡単であるので、 詳細な説明はここで省略される。 当業者にとって明らかであるが、後者のプロトコルは、事実上、図14の第1 プロトコルの一般化であり、同じことが他の変形についても成り立つ。それ以上 とることにより可能である。実際、図14のプロトコル(およびその変形)はk =1を有し、図17のプロトコル(およびその変形)はk=2を有する。そのよ うな変形は、この出願に記載される多くの制限されたブラインド署名プロトコル を調べることにより当業者により容易に作られる。 8 表現の知識を証明すること 図18を参照して、フローチャートは、表現の知識を証明するための基本的プ ロトコルを表す。このプロトコルは、Rが(g1,...,gk)に関してGqの中の数 Aの表現(a1,...,ak)の知識をPに対し証明することを可能にする。 ボックス181は、RがまずZqからkの乱数xiを生成することを示す。これ の乱数はxiのベクトルが(g1,...,gk)に関して数Bのランダムに選択された 表現であるように数Bを作るために使用される。BはPに対してBを送る。 ボックス182はPがZの中のチャレンジdを生成し、それをRに送ることを 示す。 ボックス183の第1行は、AとBについて知っているチャレンジと表現から kの応答riをどのように計算するかを具体的に示す。i=1,...,kに対する応 答riは、次にPに送られる。 ボックス184は、Pにより加えられる応答の正確さの検査を具体的に示す。 第1の好ましい実施形態において詳細に議論されたように、ボックス182の 中のPが数dを選ぶことができる2つの基本的な方法がある。さらに、種々の人 (複数)が個々のAの積または商の表現の知識を集団で証明するようにさせるこ とも可能である。2つの好ましい実施形態について記載された発明の技法を学ぶ ことは、当業者に、困難なしにそのような変形を作ることを可能にする。 9 資格認証メカニズムの応用 制限されたブラインド署名は、素元(prime order)の群Gqにおける資格認証 メカニズムを作るために、第1の好ましい実施形態におけるのと同じ方法で使用 る。異なった種類の資格認証は、異なったgiにより表現される。ここに、ベク トル(g1,...,gk)は、公開され利用できる。どの資格認証を人が持っている かは、第1実施形態におけるように、m(の関数)の表現(それに関して数のベ クトルが(g1,...,gk)から組み立てられる)に依存する。 当業者にただちに明らかなように、数giは、数Yiが第1実施形態において演 じた役割を行い、同様に、g0はYの役割を、gはνの役割を行う。すなわち、 gについての指数は、ユーザーが希望するときにプロトコルを用いて変更できる 唯一のものである(ここで、第1の好ましい実施形態におけるように、図14ま たは図15のプロトコルが使用されることを仮定して)。 ふたたび、種々のベクトルに関するmの表現の知識を証明できるだけでなく、 giのベクトルの部分集合Vについてのm/Pijまたはm/Πvlなどの商の知 識や、または、人が署名を有する第1の数m'についてのm/m'の知識でさえも 証明できる。第2の好ましい実施形態のための現金システムは、このアナロジー を詳細に説明する。第1の好ましい実施形態の研究は、第2の好ましい実施形態 のためのプロトコルを当業者が容易に作ることを可能にする。 この理由のため、特定の認証メカニズムの、オフライン電子現金システムの詳 細な説明のみが詳細に説明される。第1の好ましい実施形態における説明と同様 に、図14と図15に説明された2つの制限されたブラインド署名の1つが、一 般性を失うことなく、最後まで使用される。他の任意の制限されたブラインド署 名方式が、若干の小さな修正を必要とするだけで、同様に使用できる。このこと は当業者にとって明らかであるはずであるけれども、説明を追っていくと、さら に別の制限されたブラインド署名プロトコルに基づいた現金システムをどのよう に作るかの詳細な説明がある。理解されるように、そのような置換は、小さな変 更のみを要する。 ここに説明される制限されたブラインド署名と第1の好ましい実施形態におけ る制限されたブラインド署名との差は、実際に1つであり、事実上ちょうど1つ であることに留意する。このことは、制限されたブラインド署名の配送性(trans itivity)を用いる技法に直接関係する。第1の好ましい実施形態において記載さ れたプロトコルにおいて、認証者は、プロトコルを適切に実行するために、mの ν次の根を計算できねばならない。認証者は、モジュラスの因数分解を知ってい るので、これを行うことができる。第2の好ましい実施形態のために記載された 特定のプロトコルにおいて、認証者は、プロトコルを適切に実行するために、l oggmを計算できねばならない。しかし、もしRSA群におけるように、そう することを可能にする「落し戸」情報があるかは、当業界において知られていな い。したがって、記載されたプロトコルにおける認証者は、たとえばユーザーが そのことを知らせてくれたため、または、自分自身で選択したため、前もってl oggmを知らねばならない。したがって、制限されたブラインド署名の配送性 を利用する場合に、第2の好ましい実施形態のために明示して説明された制限さ れたブラインド署名のプロトコルを使用できない。 たとえば、第1の好ましい実施形態において説明された仮り名のもとで支払い をするシステムにおいて、配送性を見えなくすることは使用されず、したがって 、そのシステムは第2の好ましい実施形態に直接に「翻訳」できる。 第2の好ましい実施形態のためこの出願において明示的に一般に説明された制 限されたブラインド署名のプロトコルは配送性の性質が適用される状況では使用 できないけれども、これが単に説明されたプロトコルの奇妙な性質であるという ことは、当業者にとり明らかである。理解されるように、プロトコルを適切に行 うために認証者がloggmを知る必要がない制限されたブラインド署名のプロ トコルもまた第2の好ましい実施形態において存在する。1つのそのようなプロ トコルは、オフライン現金システムの第2の説明の始めに説明される。このプロ トコルは、第1の好ましい実施形態の図4の説明において説明された2つのプロ トコルと正確に同じ機能性(functionality)を有することが示される。 したがって、理解されるように、第1の好ましい実施形態において可能なすべ ての構成などを簡単に理解することが可能である。この理由のため、第1の好ま しい実施形態における技法の説明は、(これはほとんど文字どおりの翻訳である ので)ここでは「繰り返され」ない。 図14以降の、図17を含む説明されたフローチャートは、第1の好ましい実 施形態の最初の3つのフローチャートのプロトコルを作るために使用される技法 により作られる。現金システムの詳細な説明の後で説明される他の制限されたブ ラインド署名のプロトコルは、第1の好ましい実施形態において説明される第2 の技法(「2重化」)を用いて作られることがわかるだろう。 10 オフライン電子現金システム この節において、プライバシー保護オフライン電子現金システムを作るための 第2の好ましい実施形態における制限されたブラインド署名の使用が詳しく説明 される。一般性を失うことなく、図14からの制限されたブラインド署名が使用 される。後で詳細に説明されるように、もし他の任意の制限されたブラインド署 名がその代わりに使用されるなら、ユーザーが知っている、保存される入力と出 力の表現における含まれる情報の特定の形に依存して、プロトコルへの小さな変 更のみが十分である。 10.1 基本システム Bでの硬貨の引き出しのためのプロトコルは、店で硬貨を支払い、預金プロト コルは、ただ1つの金種の硬貨が発行されると仮定して、説明される。これが基 本システムである。 システムの準備 このシステムが使用できるようになる前に、Bは、Gqの中の1に等しくない 数gとZの中の2つの数xとyを生成する。また、Bは、2つの無衝突ハッシュ 関数HとH0を選ぶ。ここで、Hは、Gq×Gq×GqからのアーギュメントをZ* に写像し、たとえば、H0は、Gq×Gq×SHOP−ID×DATE/TIME からのアーギュメントをZに写像する。関数Hは、ボックス143においてRが 追加のアーギュメントをHに供給させることにより署名が1対の数に対応すると いう違いを除いて、図14のフローチャートにおいて説明されるように使用され る。関数H0は、支払いプロトコルのボックス202において店がチャレンジを どの方法で生成しなければならないかを具体的に示す。すなわち、この2つのハ ッシュ関数は、第1の好ましい実施形態において説明された基本現金システムに おいて2つのハッシュ関数によりなされたのと同じ役割を実行する。H0のフォ ーマットに関して、第1の好ましい実施形態において説明された現金システムに 関してなされたのと正確に同じ注意があてはまる。 Bは、(g,gx)、gyおよびH、H0の記載を公開させる。数gxはhにより 表され、数gyはg1により表される。対(s,y)はBの秘密キイである。 Gq×Gqの中の1対(A,B)についてのBのデジタル署名は、cがH(A,B ,gr(hA)-c)に等しいようなGq×Zqの中の1対(c,r)から成り立つ。明 らかに、この署名の等価な定義が、その代わりに使用できるが、しかし、対(c ,r)の格納にはいくらか少ないメモリを要する。 また、Bは、それ自体が使用するため、その口座所有者に関する関連情報(名 前、住所などの形の身元確認関連情報など)を格納するデータベースや、店が預 金段階でBに送る情報の関連部分を格納するデータベースを配列する。 公開された情報は、もちろん、口座所有者の計算装置のソフトウエア(または 、ROMなどのハードウエアに)に組み込まれねばならない。 口座をBで開くこと 口座をBで開くため、Uは、(たとえばパスポートにより)自分自身について 身元確認をせねばならない。Bは、(名前、住所などの)身元確認関連情報を、 Zqの中の数uiとともに登録する。この数は、各口座所有者に異なって選ばれる 。Uが2重に使う場合、Bは、uiを計算できる。この数はこの段階で登録され る で表される。なお、mは口座所有者ごとに変わる。 引き出しプロトコル 図19を参照して、UとSの間の引き出しプロトコルのフローチャートが詳細 に説明される。 ボックス191はボックス141と同じである。 ボックス192は、ボックス142と同様である。さらに、第2行と第3行に おいて、Uは、(g1,g)に関してそのランダムな表現を知るように、Gqにお ける数Bを具体的に示す。この数は、第7行に示されるように、同様にHに供給 される。他の動作は、ボックス142におけるのと同じである。次に、Uは、チ ャレンジcをBに送る。 ボックス193は、Bがどのように応答を計算するかを具体的に示す。これは ボックス143におけるのと同じであるが、ここで、Bがloggm(これはy uiに等しい)を知っているという事実が使用されている。Bはこの応答をUに 送る。 ボックス194の第1行は、Uにより使用されたとき応答rの正確さの検査を 具体的に示す。もし検査を通れば、第2行に特定されるように、Uは、チャレン ジrをr'に対して見えなくする。 BがUの口座を硬貨の値で貸方に記入することは示されない。 ここで、Uは、(c',r')が(A,B)についての署名であるような、自分が 当業者に明らかなように、Uは、ボックス192のための多くの予備計算をす ることができる。aに依存する計算のみがリアルタイムに(部分的に)なされる べきである。 支払いプロトコル 図20を参照して、UとSの間の支払いプロトコルのフローチャートが詳細に 説明される。 ボックス201は、Uが、引き出しプロトコルにおいて得られるように、対( A,B)と署名をSに送ることを示す。 ボックス202は、Sがチャレンジdを具体的に示し、Uに送ることを示す。 ボックス203のはじめの2行は、UがAとBから知られるチャレンジと表現 とから2つの応答をどのように計算せねばならないかを具体的に示す。これらの 応答はSに送られる。 ボックス204の第1行は、(A,B)についての署名が正しいことを認証す るためSにより行われる検査を具体的に示す。第2行は、応答が正しいことをS がどのように認証するかを具体的に示す。 明らかに、Uは、もしクロックにアクセスしSのIsを「ルックアップ」でき るなら、ボックス204におけるチャレンジをそれ自体で計算できる。 預金プロトコル 次に、預金プロトコルが説明される。相互作用は要求されないので、図は省略 される。 たとえば、日の終わりにSは「支払いの写し」(これは((A,B),(c',r'),( r1,r2))と取引の日/時間からなる)をBに送る。 Bは、そのデータベースを探索して、Aがすでに前に店で預金されたかを決定 する。2つの場合が区別される。 1.Aはまだデータベースにない。その場合、Bは、SのIsと取引の日/時 間の与えられた数とを用いて数dを計算する。次に、Bは、c'がH(A,B,gr る。もし2つの認証が成り立てば、Bは、Sを参照してデータベースにおけるベ クトル(A,d,r1)を格納し(実際には、Bはまた日/時間を格納することを 望むかもしれない)、いま扱っている硬貨の値でSの口座に信用貸しをする。 2.Aはすでにデータベースに格納されている。その場合、詐欺が発生した。 もしすでに格納されている情報がSによっても与えられ、日/時間が新しく与え られる支払いの写しのそれに等しいならば、Sは同じ写しに対し2度信用貸しが されることを試みている。もしこれが本当でないならば、Bは、dを計算し、第 1の場合におけるように2つの認証関係を認証する。 もし2つの認証が有効であれば、口座保有者は、同じ硬貨で(すくなくとも )2度支払われねばならなかった。Bは、自分の自由で、新しく提示された支払 いの写しからの(d,r1)と既に格納された(d',r1’)を有する。数(r1− r1')/(d−d’)mod qは、2重に使われる口座保有者Uの数uiでなけれ ばならない。したがって、Bは、詐欺師の身元確認を決定し、適当な行動をとる 。 当業者にとって明らかであるように、Bは、たとえば、適当なハッシュ関数H としてAの代わりにH(A)を格納する。 注意 第1の好ましい実施形態の基本現金システムにおいてなされた注意は、ここで 同様に適用される。 10.2 拡張:使用者の計算装置において装入される追加の、書き換え防止の 、銀行モジュール システムの準備 これは、基本的システムにおいて説明されたものである。 口座をBで開くこと UとBは、まず、口座を開くために基本システムにおいて説明された手続をお こなう。次に、Bは、銀行モジュールOをUにあたえる。Oは、そのメモリ(た とえばROM)に、ランダムに選ばれているZq *の中の数o1を格納している。 Bは、この数をUに明らかにしない。 される。 当業者にとって明らかであるように、ここに記載されるすべてのことは、Oが 2つの数o1,o2を格納し、UがBにより選択される固定値g2についての数g1 更は、異なった制限されたブラインド署名プロトコルを用いて、支払いシステム の第2の説明において用いられる。 もちろん、Oの乱数は、実際、(好ましくは高品質の)疑似乱数により提供さ れる。 引き出しプロトコル 図21を参照して、Oにより支援されたUとBの間の引き出しプロトコルのた めのフローチャートが詳細に説明される。 す。次に、Oは、Boと名付けるこの数をUに送る。なお、ボックス213で必 要になる前にいつでも、Oはこのステップを実行できる。 ボックス212は、ボックス141と同じである。 ボックス213は、ボックス142と同様である。第2行は、このプロトコル への入力がmとAoの積であることを示し、これは、ボックス142におけるよ うにUにより見えなくされる。第3行は、UがどのようにBを計算せねばならな いかを具体的に示す。ボックス142との違いは、Uが数AoとBoをその中に掛 けねばならないことである。理解されるように、そうでないと、支払いプロトコ ルにおけるOの支援は、Sにより期待される応答の計算においてUを助けない。 残りの行は、数aがどのように見えなくされねばならないか、および、c'とc の作成を具体的に示す。最後に、Uは、見えなくされたチャレンジcをBに送る 。 ボックス214は、ボックス143と同様であり、違いは、第1行での割り当 てにおいて、数mのみを用いるのでなく、Aoのmとの積が用いられることであ る。なお、loggomはy(o1+ui)に等しい。 ボックス215は、ボックス144に似ていて、違いは、ボックス214にお けるのと同じである。 Bが、引き出された硬貨の値でUの口座の貸し方に記入することは示されない 。 支払いプロトコル 図22を参照して、Oにより支援されたUとSの間の支払いプロトコルのため のフローャートが詳細に説明される。 ボックス221は、Uが(A,B)と署名をSに送ることを示す。これは、ボ ックス201と同じである。 ボックス222は、SがHoの下で(A,,s,日/時間)の写像としてチャ レンジdを計算することを示す。Sは、この数をUに送る。なお、動作はボック ス202におけるのと同じである。 ボックス223は、ボックス213において生成された数モジュロqをチャレ ンジdに加えることにより、Uがどのようにdをd'に対して見えなくするかを 示す。この見えなくされたチャレンジは、Oに送られる。 ボックス224は、硬貨の使用において前に助けたかどうかをOが検査するこ とを具体的に示す。このボックスは、Oがo2がなおそのメモリに格納されてい るかを認証することによりこれを行なうことを示す。当業者にとって明らかなよ うに、Oは実際には1度用いられたo2を消す必要はない。第2行は、Oがチャ レンジd'に対する応答r1'を計算し、Uに送ることを示す。次に、Oは、メモ リからo2を消すか、または、少なくとも、硬貨を使用するときに1度助けたこ とを示すフラグを立てる。 ボックス225は、ボックス203に似ている。ボックス225の第1行は、 UがOの応答を検査することを示す。もしOの応答が正しければ、Uは、第2行 と第3行に具体的に示されるように、dに応答してまたSにより期待されて、2 つの応答r1とr2を計算する。なお、第2の応答は、ボックス203におけるの と同様に計算されるが、第1の応答を計算するため、Uは、Oにより送られる応 答をも使用しなければならない。次に、Uは、2つの応答をSに送る。 ボックス226は、Sが署名と応答の妥当性を検査することを示す。これは、 ボックス204と同じである。 基本的システムにおけるように、Uは、もし日/時間およびIsにアクセスす るならボックス222自体においてチャレンジdを計算できる。 預金プロトコル これは、基本システムにおいて説明された手続を同様である。硬貨が2重に使 われたこと(したがって2重使用者がその銀行モジュールの書き換え防止を破る ことができるはずであること)をBが見いだした場合、Bは、前に説明したよう に、2重使用者の数ui+o1mod qを、したがって、その身元確認を計算で きる。 10.3 拡張:複数回使用され得る硬貨 図14のフローチャートの説明において述べたように、署名は、ただ1つの数 の代わりにベクトルに対応できる。基本システムにおいて、これは1対の数につ いて使用された。基本システムは、(k∈Nとして)k回使用され得る硬貨を得 るために、簡単に変更できる。第1の好ましい実施形態におけるこの拡張の説明 から、これをすることは当業者にとって明らかである。明快さのため、次の説明 がされる。 ボックス192において、Uは、H0への追加のアーギュメントとして1つの 数Bでなく、kの数B1,...,Bkを供給しなければならない。これらの数は、B i2)を知るように選択される。 支払いプロトコルにおいて、Uは、ボックス201において全Biを送らねば ならない。i番目の支払いにおいて、Uは、ボックス203において、数r1= dui+xi1mod qとr2=ds+xi2mod qをSに送る。iの値は、支払 いプロトコルから明らかでなければならず、ここで、Hoのアーギュメントの部 分であることが要求され得る。 もしBが硬貨がk+1回使われたことを見いだしたなら、基本システムにおけ るように、同じBiを含む(少なくとも)2度行われた支払いに対応する2つの 異なった対(r1,r2)から、詐欺者の指数(exponent)を計算できる。 明らかに、支払いのフローチャートのボックス201において転送されるビッ トの数を減らすことができる。当業者にとって明らかなように、これをおこなう 種々の方法がある。1つの可能性が前に説明された。すなわち、終わりまでBi を用いる代わりに、H(Bi)がHの適当な選択のために使用される。これは、 Biのハッシュ値が引き出しプロトコルのボックス192におけるハッシュ関数 のアーギュメントとして使用される。 11.オフライン電子現金システム:異なる制限的なブラインド署名プロトコ ルの使用 前節の冒頭にて述べたことに従って、さらに別の制限的なブラインド署名プロ トコルについて述べる。上述の現金システムにて使用された制限的なブラインド 署名のプロトコルに反して、認証する利用者は応答γを計算するためloggm を知る必要がなく、匿名の口座及び小切手へのプロトコルの拡張は第1の好まし い実施形態におけるように理解できる。理解されるように、上述のプロトコルを ほとんど変更する必要はない。 第1に、準備段階が必要とされる。この段階において、Pは数g∈Gq及び数 x∈Zqを選択し、g及びh=gxを公開する。数xは、Pの秘密キーである。関 数Hは、Gqにおける4つの数をZq *における数に写像するという無衝突ハッシ ュ関数である。 上述のように、プロトコルのスタートにて、両者が知っているGqにおける数 mが選択される。これはプロトコルの入力である。 数m∈Gq上のPのデジタル署名は、H(m,z,a,b)をしめすcとともに、 grがhcaに等しく、mrがzcbに等しいようなベクトル(z,a,b,γ)であ る。上述したように、数(c,γ)も、代わりに署名として使用可能である。 図23を用いて、制限的なブラインド署名プロトコルのフローチャートを詳細 に述べる。 理解されるように、このプロトコルは、フィアット/シャミールタイプであっ て、第1の好ましい実施形態の記述にて説明した本発明の第2技法を応用するこ とにより、名前確認のための上述のシュノールプロトコルから構成される。 ボックス231は、Zqから乱数wを生成するPを示す。3行及び4行目は、 a,bにて示される2つの数を得るためにどのようにPがこの数をg及びプロト コルの入力mに適用するかを示す。また、秘密キーxを使用し、2行目に記入さ れるように、それをmに応用することで、Pは数zを計算する。Pはz,a,bを Rに送る。 ボックス232の第1行は、2行目に示すようにmをm'に見えなくする(bl ind)ために適用されるZqから2つの乱数を生成するRを示す。3行目は、4, 5行目にそれぞれ記されるように、前のボックスにおいてPにより送られる数a ,bを数a’,b’に対し見えなくするために使用されるさらに2つの乱数を生成 するRを示す。6行目は、上述のボックスにおいてPにより送出されるzをどの ようにRがz’に見えなくするかを示す。次に、Rは、上記見えなくされた数に ハッシュ関数を適用することによりチャレンジc’を計算するために上記見えな くされた数を使用し、8行目に記されるようにc’をcに見えなくする。最後に 、RはcをPへ送る。 ボックス233は、Rへ送られる応答γをPがどのように計算するかを示す。 ボックス234の最初の2行は、応答γの正確さを認証するためRにより適用 される検査を示す。もし両方の等式が成り立つならば、Rは3行目に記される方 法にてγのブラインド形態のγ’を計算する。 このプロトコルは、図16のプロトコル及び対応するフローチャートの記載に おいて記述されたそれと正確に同一の、mに関して見えなくする操作、及びそれ の制限をさせる。ベクトル(z’,a’,b’,γ’)は、m’についてのPのデ ジタル署名である。対m’、(z’,a’,b’,γ’)は、ブラインド署名プロ トコルに関する要求を満足する。明りょうにするため、記号(m)の表記法は、 以後、m’についての署名を示すために使用する。 図16及びその別形のプロトコルに述べられるように、gは、ブラインド署名 が得られた(m≠1と仮定する)という事実に影響せずに、Rが表現を知らねば ならない(k+1)−ベクトルから排除可能である。その場合、もしRが最後に て(g1,…,gk)に関してm’の表現を知りたいならば、Rはゼロに等しいt を当然に使用しなければならない。又、この場合において、だれもがRがボック ス232においてsをゼロに設定したか否かを認証することができる。即ち、も しs=0ならm’=1である。 当業者に明らかなように、また、上述の制限的なブラインド署名プロトコルの 記載に従って、このプロトコルから関連した別形を得ることは容易である。例え ば、認証関係がgγ=hac及びmγ=zbcである別形は、又、制限的なブライ ン ド署名プロトコルである(a,b,zに設定される割り当てが、この場合、いくら かより複雑になるであろうが。) 次に、オフラインの現金システムの構成においてこのプロトコルの使用方法が 示される。即ち、得られたシステムは第1の好ましい実施形態にて述べたシステ ムと明確に同じ拡張を許容する。期待されるように、上述の記載への小さな適合 のみが必要とされる。 11.1 基本システム 上述のように、1タイプのみの硬貨が発行されると仮定する。異なる表現の硬 貨の発行は上述したように実現可能である。 システムの準備 上記システムが使用可能となる前に、BはZqにおいて乱数xを、Gqにおいて 数gを生成する。hにて示されるgxをBは計算し、(g,h)を公開する。数x は、Bの秘密キーである。BはまたGqにおいて2つの数g1,g2を生成する。ま たこれらは公開される。当業者に明らかになるように、セキュリティーのため、 g,h,g1,g2に関するBの選択は、他者が(g,h,g1,g2)に関してゼロでな い1の表現を計算することが実行不可能にみえるようにすべきである。即ち、こ のことはランダムに数を生成することにより容易に処理される。 又、Bは適切なハッシュ関数Hを公開する。この関数は、Gqからの5つの数 にて演算しそれらをZqへ写像する。関数Hは無衝突であるべきである。 Bを用いて口座を開く Bを用いて口座を開くために、Uは自分自身の身元確認をしなければならない 。Bは、数uI∈Zq *とともに身元確認関連情報を記録する。この数は、各口座 の所有者に関して異なって選択される。Uが2重使用の場合、Bはu1を計算可 能である。 引き出しプロトコル 図24において、引き出しプロトコルのフローチャートが詳細に記載されてい る。 ボックス241は、ボックス231に同様のものであるが、第2行にて具体的 に挙げられた方法において、数mがg1,g2、及びプロトコルにおける口座所有 者配当の数u1から計算されという違いを有する。当業者に明らかなように、m は各口座所有者に関し一度だけ計算される必要がある。即ち、それは予め格納可 能である。さらに、Uはそれ自身にてそれを計算可能であるので(それを格納す る計算装置で一度だけこれが実行されるかもしれない)、数mはUへ送られる必 要がない。Bは数z,a,bをUへ送る。 ボックス242は、ボックス232に同様のものであるが、幾つかの違いを有 する。第1の違いは、ランダムにtを選択する代わりに、Uが実際にtをゼロに 等しく設定するということである。第2は、sがゼロに等しく選択されないかも しれないということである。第3に、Uは一つの数だけよりもむしろ、A及びB にて示される2つの数をハッシュ関数へ提供する。上述した引き出しプロトコル におけるように、このことは、(g1,g2)に関するランダムに選択された表現 が間接的に知られているようにm’に等しいA及びBを用いることで実行可能で ある。本発明の技術からいずれかの方法で外れる必要なく多くの小さな変更が可 能であるという事実を再度説明するため、A及びBを生成する別の方法がここで 使用される。これは、m’をA及びBに「分ける」Uからなり、このことは積A Bがm’に等しく、UがA及びBの両方の表現を知らねばならないということを 意味する。この目的のため、Uは、Zqから乱数x1,y1の両方を生成し、6、7 行目に記される方法において、このことからA、Bを計算する。数u1s−x1m od qは、x2にて示され、y2はs−y1 mod qにて示される。 ボックス243は、ボックス233に同じである。BがUの勘定を借方に記入 することは示されていない。 ボックス244はボックス234に同じである。 Uは、これが(g1,g2)に関するA及びBの表現を知るように、自由に処分 できる対応署名サイン(A,B)(ベクトル(z’,a’,b’,γ’)である)と 数A,Bを有する。 当業者に明らかなように、準備段階にてもしBが再度g1 x及びg2 xを公開する ならば、ボックス241にて、Uはzをそれ自身にて計算するので、BはzをU に送る必要はない。あらゆる場合において、同じ口座の所有者はプロトコル内に 含まれるとき、数zは常に同じであるので、Bは数zを多くて一回のみUへ送る 必要がある。即ち、Uはzを格納できる。各口座所有者のため一回のみ行う必要 がある計算及び伝送は、角括弧([ ])にて示される。 支払いプロトコル 図25において、支払いプロトコルのフローチャートが詳細に記載される。 ボックス251は、A,B及び引き出しプロトコルにて得られた署名をSに送 るUを示す。 ボックス252の第1行は、ボックス242におけるUがゼロに等しいsをと らないことを認証するSを示す。即ち、当業者に明らかなように、もしs=0が 使用されるならば、口座所有者は、常に後で同一人であることを確認されること なく、2重使用可能である。第2行に示されるように、SはまたUにて送られた 署名が正しいことを認証する。署名が正しいために成立しなければならない関係 式は、図23の署名プロトコルに関する準備段階の記載に述べられている。上記 ボックスの第3行目は、1に等しくないかもしれないZqからチャレンジdを生 成するSを示す。そしてこのチャレンジはUに送られる。 尚、上記フローチャートは、上述した支払いプロトコルのフローチャートの場 合のように、ボックス254よりもむしろこのボックスにてなされる署名の正確 さに関する検査を具体的に挙げている。このことは、種々の検査が複数のフロー チャートにて示されるものよりも異なる順序にて実行可能であることを単にもう 一度指摘する。即ち、Uがボックス253の計算を実行している間に、またはボ ックス254にて、上記検査は実行されてもよい。 ボックス253は、上記チャレンジが1とは異なることを認証するUを示す。 第2及び第3行は、上記チャレンジ及び既知のA及びBの表現に基づく2つの応 答を生成するUを示す。明らかになるように、チャレンジが1に等しくないこと に関する検査はUのプライバシーを保護するためである。即ち、もしd=1なら ば、上記応答は数u1をSに知らせる。 ボックス254は、上記応答の正確さを検査するSを示す。上述のように、も し上記検査が成り立つならば、Sは支払いを許す。 チャレンジdは以前の支払いプロトコルにおけるものと同じ方法にて決定可能 である。しかしながら、当業者に明らかなように、たとえ上記署名プロトコルの 出力の表現を知る必要がないとしても、制限的なブラインド署名プロトコルは偽 造を許さないという事実により、dが無衝突ハッシュ関数の結果であるという要 求はこの場合弱められることができる。 預金プロトコル Sは、支払い写しをBへ送る。Bは、Sが支払いプロトコルにて実行したのと ーマットのd)を実行することにより上記写しの妥当性を認証する。実際には、 この段階は、上述の支払いプロトコルの記載に同じである。2重使用の場合にお いて、Bは、異なるチャレンジであるが同じA,Bを含み、応答に対応する(少 なくとも)2つの異なる支払い写しを知っている。このことは、当業者に明らか になるように、Bがu1を計算することを可能とする。 11.2 拡張:でっちあげに対する保護 上述したように、でっちあげの企てに対してユーザを保護するためわずかな変 更で十分である。これに関して、UがBとともにそれの口座を開く段階において 、BではなくUがそれ自身、数u1を生成すべきである。そしてUはu1自身では な トコルのボックス241にてm(=Ig2)を計算するのに十分である。当業者 に明らかなように、Uは、Bがu1を知らないというような方法においてBと協 力してIを生成可能である。即ち、このことの有利な点は、u1がUの計画的な 選択よりもむしろUへの乱数であることをBは確実にできることである。 Uが2回以上同じ硬貨を使用することによりだます場合、上述のようにBはu1 を計算可能であり、これゆえに2重使用者の身元を決定する。 本出願において今までのところで示した記載は、当業者が彼ら自身で困難なく 必要な変更を可能にするのに十分以上のものであるけれども、完ぺきにするため 、でっちあげに対する絶対的な保護の組み込みの記載を示す。 システムの準備 これは、基本システムの記述にほとんど同じであるが、Bがg,hg1及びg2 のそれぞれから異なる数g3∈Gqを公開するという拡張をしている。 口座を開く Bを用いて口座を開くとき、Uは自分自身の身元確認をしなければならない。 Uは、Zqから2つの乱数u1,u2を生成し(上述のように、Bと協力するかもし その身元に関する情報とともに記録されるので、Bは2重使用者の身元を見つけ 出すことができ、費用を強要することができる。 引き出しプロトコル 第1に、Uは引き出されるお金が自分の本当の口座から引き出されることを、 (g1,g2)に関して自分がIの表現を知っていることをBに証明することによ り、証明可能であるということは特筆される。即ち、図18のプロトコルは、こ の目的のため使用可能である。選択的に、Uは、準備された公開キーを使用して 引き出し要求に署名可能である。 図26において、変更された引き出しプロトコルが記述される。 ボックス261は、ボックス241に同様である。注意されたように、BはI からmを計算可能である。このことは上記ボックスの2行目に示される。その他 の動作は同じである。 ボックス262はボックス242に同様であり、唯一の違いはmがg3のI倍 として計算されることである。m’のA及びBへの分割はボックス242の場合 と同じであるので、明示していない。 ボックス263はボックス243に同じであり、ボックス264はボックス2 44に同じである。 支払いプロトコル 図27において、変更された支払いプロトコルのフローチャートを述べる。 ボックス271及びボックス272のそれぞれは、ボックス251及びボック ス252にそれぞれ同じである。 ボックス273は、ボックス253に同様であるが、Uが2つの応答の代わり に3つの応答を計算するという相違を有する。 ボックス274は、ボックス254に同様であるが、検査されねばならない3 つの応答が存在することを考慮し変更された応答の正確さに関する検査を有する 。 預金プロトコル これは基本システムにおけるのと同じである。2重使用が起こった場合におい てBにより実行された計算が明らかな方法にて変更されることのみが必要である 。 11.3 拡張:ユーザの計算装置に埋め込まれた付加的な書き換え対抗銀行モ ジュール 説明のため、この拡張の記述は、Bの計算力に独立に、でっちあげに対する保 護の特徴が組み込まれたようなものである。これは、当業者に明らかなように、 すべての拡張は同時に容易に組み込み可能であるという事実を単に説明するもの である。 システムの準備 これはまさに上記基本システムの前の拡張におけるようなものである。 口座を開く 上述のように、対(o1,o2)をBにランダムに生成させることができ、口座 保持者Uにそれを与える前に、不正防止(書き換え防止(tamper-resistant))装 置OのいわゆるROM内にBがこの対を格納する。 この出願に示される本発明の技法と直接に組み合わせできることを説明するた め、代わるべき実現されたものが記述されている。図28において、このプロト コルのフローチャートが詳細に述べられる。 このプロトコルにおいて、Oによる署名は計算されねばならず、よって公開キ ーの準備が必要とされる。これはBにより信頼されたいくつかの組織によりOへ 取り付け可能である。当業者に明らかなように、この組織は、銀行そのものであ る必要はない。即ち、それは、例えば書き換え防止装置の発行者であるかもしれ ない。このように、先に発行された書き換え防止モジュールは、AOを取り付け るためにユーザの書き換え防止部分を銀行にユーザが手渡すことをしなくても、 後の段階にて開始される現金システムにおいて援助するために使用可能である。 さらに、それは事実上BがAOを知る必要がないことを説明する。尚、Oが復号 された情報をBへ送るのを防止するため、Oの公開キー署名準備は各数に関して 一つの署名のみが存在するようにしなければならない。 ボックス281は、(g1,g2)に関して数AUのランダムな表現を知るように 数AUを生成するUを示す。この数は、あらゆるところでUによって使用される 。4行目は、数T’にこの数を見えなくするUを示す。数T’はOへ送られる。 ボックス282は、(g1,g2)に関してそれのランダムな表現(o1,o2)を それが知るような数AOを生成するOを示す。3行目は、ボックス281にてU により送られる数とこの数の積を計算するOを示す。Oは準備されたその公開キ ーを使用するこの積を署名し、AO及び積についての署名をUに送る。 ボックス283は、Oがなしたように積を計算し、Oがその署名を確かに送っ たことを検査するUを示す。もしこれがそのような場合であれば、Uは、この積 、Oの署名、及びボックス281にてAUを見えなくするのに使用される数をB へ送る。 ボックス284は、UがなしたようにTについての署名を認証するBを示す。 もし上記署名が正しく、よって書き換え防止部分が協力したことをBが保証する ならば、それはT/gtを計算する。この数はIにより示され、新たな口座のも とでUの身元とともにBにより登録される。 理解されるように、O及びUは、この段階もしくは後の段階において、上記数 について付加的な情報を明らかにすることなく、また、Oが対(o1,o2)につ いて有益な情報をUに明らかにしないように、(g1,g2)に関してIの表現を 知ることを証明可能である。このプロトコルは先に記載されている。即ち、これ は図22の支払いプロトコルに同様である。尚、このように、Uは、例えば引き 出しプロトコルにおいて、その口座の所有者であることを常に証明可能である。 意外にもUが書き換え防止装置の内容を決定可能であり(書き換え防止を無視 することにより)、同一の情報に許されるよりも多く回数使用するならば、Bは (o1+u1,o2+u2)を決定可能である。上述のように、これからIを計算す ることにより、Bは2重使用者の身元を決定可能である。 当業者に明らかなように、o2はOによりゼロに設定可能(設定を要求可能) である。この場合、引き出しプロトコルにおいて、短く述べると、Uはu4をゼ ロに設定可能で、Oはo4をゼロに設定可能である。又、βはゼロに設定可能で ある。支払いプロトコルにおいて、この場合γ1’のみが計算されねばならず、 Uに送られねばならない。 引き出しプロトコル 図29において、Oにより援助されるUとBとの間で硬貨の支払いプロトコル のフローチャートが詳しく記載される。 ボックス291は、(g1,g2)に関してそれの表現を知るようなB0にて示さ れる数を生成するため2つの乱数を生成するOを示す。そしてOはB0をUへ送 る。図21のプロトコルにおけるように、Oはボックス293にて必要となる前 のいつでもこのステップを実行可能である。 ボックス292はボックス261に同じである。 ボックス293はボックス262に同様である。1行目は、一度だけ実行され るのに必要なI及びg3の積としてのmを計算するUを示す。2行目及び3行目 は、ボックス262におけるように、この数がUにより見えなくされることを示 す。尚、見えなくする数はsの代わりにαにより示される。その理由はすべての 乱数を示すことにおいて命名法の不一致を避けるためのみである。基本システム にて使用されるように、A及びBの分割に従い、8行目及び9行目は、A及びB を生成するUを示す。尚、この目的のため、Uは上述したように、数AO及びBO を上記分割へ掛ける。そうでないと、上述したように、別のやり方で、支払いプ ロトコルにおけるOの援助はSにて予期される応答を計算することにおいてUを 助けないであろう。残りの行はボックス262におけるものと同じである。 ボックス294はボックス263に同じであり、ボックス295はボックス26 4に同じである。 支払いプロトコル 図30において、Oにより援助されるUとSとの間の支払いプロトコルに関す るフローチャートが詳細に記述される。 ボックス301は、(A,B)及び上記対における署名をSへ送るUを示す。 これはボックス201に同じである。 ボックス302はボックス272に同じである。 ボックス303は、ボックス293にて生成される乱数を使用することで、U がどのようにdを数d’に見えなくするのかを示す。この見えなくされたチャレ ンジはOへ送られる。 ボックス304はボックス224に同様である。ボックス304は、硬貨を使 用することにおいて以前にOが助けたか否かをOが検査することを明記する。第 2行目は、受領したチャレンジがゼロと異なることを検査するOを示す。理解さ れるように、ボックス293及びボックス303における動作は、そのような検 査が必要ないように変更可能である。即ち、この場合、上記ボックスにて明記さ れるようなもの(さらにγ2’に関する)よりもむしろγ1’がd’o1+o3とし て計算されねばならず、ボックス305、306における検査がそれに応じて変 化しなければならない。そのような変更は当業者に明らかとなろう。実際に、書 き換え防止部分を含む先のすべての支払いプロトコルにおいて、チャレンジに関 するそのような検査は必要ない。 第3、4行目は、チャレンジd’への2つの応答を計算するOを示し、Oは両 方をUへ送る。そして、Oは、メモリからo2を消し、又は少なくとも硬貨を使 用することにおいてOがかつて援助したことを示すフラグを設定する。 ボックス305はボックス225に同様である。ボックス305の第1行は、 Oの応答を検査するUを示す。もしOの応答が正しければ、Uは次の3行により 明記される方法にて3つの応答γ12及びγ3を計算する。そしてUはこの3つ の応答をSへ送る。 ボックス306はボックス274に同じである。 預金プロトコル これは上述の拡張におけるものと同じである。 理解されるように、たとえ告発されるユーザの書き換え防止装置がそのような でっちあげの企てにおいてBを助けるようにプログラムされたとしても、Bので っちあげの企てはほとんど成功の可能性がない。即ち、u1,u2を決定すること は、たとえそれが実際になされたのとo1,o2に関して使用された異なる値をO が使用したように見せかけたとしても、成功の可能性はほとんどない。 さらに、当業者に明らかなように、o2,o4,u2,及びu4はゼロに設定可能で あり、g3は1に設定可能である。この場合、でっちあげは保護されるが、Bが 「無制限の」計算力を有しない場合に限られる。 この出願にて記載される他のすべての引き出し及び支払いプロトコルのように 、このプロトコルの対におけるOの動作は、明確に、フィアット/シャミールタ イプの名前確認プロトコルを事実上実行する本発明の技法が適用されるようなも のである。即ち、引き出しプロトコルにおいて、第1の「ラウンド」(round) が起こり、支払いプロトコルにおいて、チャレンジ及び応答のラウンドが起こる 。 11.4 拡張:多重使用可能な硬貨 上述の記載から明らかなように、プロトコルは、同じ硬貨が多数回使用される ことが許されるように変更可能である。k回使用可能硬貨に関して、もしBがk +1回に関して同じA,Bを含む支払いの写しを受領したならば、Bは上述のよ うに詐欺師の名前確認を見つけ出すことができる。 11.5 拡張:電子小切手 再び、説明のため、この拡張は、計算力に独立に、でっちあげに対する保護が 組み込まれたようにここでは記述する。 システムの準備 これは、まさに第1の拡張にて述べたようなものであり、Bが、互いからすべ て異なりg,h,g1,及びg2から異なる、Gqから2kの数ek,fkを、Gqから2 つの数d1,d2を公開することが付加される。 (ここで、d1はg3の役割を引き継ぐ。これは、単に命名の目的のものである。 )より明確には、それらすべての数は、他人が2k+6の数bi∈Zq(すべては ゼ 1に等しいようなもの、を計算するのが困難と思われるようなものでなければな らない。前のように、この要求に合わすことは容易である。 このシステムにおける小切手は、Uが小切手をどのくらい使用するかを予め知 ることを必要なしに、2kの異なる量で使用可能である。この目的のため、上述 したように、対(ei,fi)に、例えば2i-1の1/4(quarter)を表現させる ことができる。当業者に明らかなように、セキュリティーのため、Bにより使用 される数xは、硬貨を証明するために使用される数と異なるものでなければなら ない。 Bを用いて口座を開く これは第1の拡張におけるものと同じである。 引き出しプロトコル 図31において、UとB間の小切手の引き出しプロトコルに関するフローチャ ートが詳細に記載される。 ボックス311は、(e1,f1,…,ek,fk,d2)に関して数m1のランダム な表現を知っているような数m1を生成するUを示す。Uは、この数をBへ送る 。 ボックス312は、ボックス261に同様であるが、BがUの口座でm1を記 録することを付加する。尚、d1(図29においてg3で示される)に加えて数m1 は入力mを得るためにIと乗算される。 ボックス313はボックス262に同様である。尚、2行目において、積Id11はId1の代わりに使用される。他に唯一異なることは、3行目,4行目,及 び5行目において、Uは2つでなくk+1の乱数を生成し、m’のA及びBへの 分割を計算するためにそれらをすべて使用することである。このことは以下のよ うに行われる:u1s=x1+x2modq,u2s=y1+y2modq,s=z1+ z2modq,a1s=α1A+α1Bmodq、b1s=β1A+β1Bmodq,…,ak s=αkA+αkBmodq,bks=βkA+βkBmodq,ak+1s=αA+αBmo dq。 これらの等式の右辺における数は、等式が成り立つように、Zqからランダム 上記ボックスの他の行は、ボックス262におけるように他の数を計算するU を示す。 ボックス314は、ボックス263と同じであり、ボックス315はボックス 264と同じである。 小切手が使用可能な最大量に対応する量に関してBがUの勘定を借方に記入す ることは示されていない。 支払いプロトコル 図32において、UとSの間での小切手の支払いプロトコルのフローチャート が詳細に述べられる。 ボックス321はボックス271に同じである。Uがそれが小切手で支払いを 望む量をSに知らせることは表示されていない。一般性を欠くことなく、Uは( e1,f1),…,(ej,fj)、ここで1≦j≦k、に対応する量の使用を望むこ とが仮定されるであろう。 ボックス322はボックス272に同じである。 ボックス323は、ボックス273にまったく同じである。異なるのは、上記 ボックスに記されるように、Uが2つではなくk+1の応答を計算することであ る。そしてUはそれらのすべての応答をSへ送る。 ボックス324は、上記応答の正確さを検査するSを示す。この目的のため、 SはUが使用する小切手の部分に対応するサービスを受け入れかつ提供する。 預金 前のように、Sは支払いの写しをBへ送り、Bは正確さを認証する。もし認証 ができ、小切手が以前に使用されていないならば、Bは(1≦i≦jにて)数( γi1+γi2)(γi3+γi4-1modq をデータベースに格納する。 もし小切手がすでに使用されていたなら、Bは上述のように2重使用者の身元 を決定可能である。 払い戻しプロトコル 図33において、UとBとの間の払い戻しプロトコルのフローチャートが詳細 に記載されている。 小切手の未使用部分に関する払い戻しを得るため、UがBに問題となっている 小切手に対応する数m1を知らせることは示されていない。 ボックス331は、m1がUの口座情報とともに記録されることをBが認証す ることを示す。この場合にのみプロトコルの残りの部分が実行される。明らかに なるように、Bにm1を知らせるUの一部がボックス332に組み込まれるなら ば、ボックス331がボックス333に組み込み可能である。 ボックス332は、j<i≦k、即ち使用されていない小切手の項ei,fiに 対応する指数に関して数ai,biをBへ送るUを示す。図32の通り、それらは 最後のk−j項であると推定される。上記ボックスはまた、(e1,f1,…,ej ,fj,d2)に関して数zのランダムな表現を知るような数zを計算するUを示す 。明らかになるように、これはボックス181における動作に同様である(唯一 の異なる点は他のシンボルが使用されていることである。)。 ボックス333の3行目は、Uにより送られた数ai,biのk−jの商のいず れもその預金データベース内に存在しないことをBが認証することを示す。これ に関して、第2行に示されるように、biのいずれもゼロに等しくないかもしれ ない。この場合、Uは、(e1,f1,…,ej,fj,d2)に関してm1/(Πk i=j+ ローチャートに記載された明示的なプロトコルは、図18において明示のために 使用されている。 ボックス334は、シンボルが異なるのみでありボックス183に同じである 。 最後にボックス335は、ボックス184に同じであるが、さらに、もしBが 上記証明を受け入れるならばBはm1を消しUにより送られた上記商ai/biを そのデータベースにおいてボックス332に格納する。この場合Bが小切手の使 用されていない部分に対応する量でUの口座に信用を与えることは示していない 。 当業者に明らかなように、この拡張はわずかな変更にて、追加の書き換え防止 計算装置への拡張を組み込むことができる。この変更を理解するのに2つの基本 的な方法がある。それは、すべての指数の識別がOとUの間に共有されるか、又 は、g1,g2,d1の指数だけの識別が共有されUは(d2,e1,f1,…,ek,fk )の全ての指数を知る。 11.6 拡張:匿名の口座 とともに記録される。口座を匿名で開くために、Uは、再び制限的なブラインド 署名を使用して、Bを用いた前のプロトコルにおいてIを「引き出し」しなけれ ばならない。このプロトコルは、基本システムにて記載したプロトコルに非常に よく似ている。異なるのは、Uが硬貨を引き出すのではなく、仮り名を引き出す ことである。 図34において、このプロトコルを理解できるフローチャートが記載されてい る。 基本現金システムにおけるように、Uがそれ自身を身元確認することは示され ない。 ボックス341はボックス231に同様である。これはこのプロトコルの前の 実行で使用されない乱数u1∈Zqを生成し、Uへ送るBを示す。プロトコルへの 入力mは、2行目に記される方法にてこれから計算される。z,a,bへの割り当 てはボックス231におけるように計算される。当業者に明らかなように、でっ とにより組み込み可能である。 ボックス342はボックス232に同様である。しかしながらボックス242 におけるように、Uはmを乱数に上げる(raise)ことによりmのみをブライン ドする。 ボックス343はボックス233に同じであり、ボックス344はボックス2 34に同じである。数mγはIにより示される。これはUの認証された仮り名で ある(UはBの署名を有するからである)。 口座を開くための手続きにおいて、Uはもはや自分自身の名前確認をしない。 Bは、Iが認証され、Uが、前のように、(g1,g2)に関してIの表現を知る ことを(任意的に)証明しなければならないことの認証のみを行う。引き出しプ ロトコルにおいてUは口座の所有者であることを証明可能であり、お金はこの方 法においても引き出されるであろう。 システムの残りは上述したようなものである。 等しくなるであろう。もしUが2重使用ならば、Bはu1を計算可能であり、し たがって2重使用者の名前確認ができる(仮り名の発行プロトコルにて使用され るデータベースを検索することにより)。 上記プロトコルのこの実現において、Bはγも計算可能であり、したがって2 重使用におけるIを計算でき、よってBは2重使用者の口座を知ることもできる であろう。当業者に明らかになるように、この技法への種々の簡単な変更がある 。それを行うことにおいて有利な点があるか否かの問題は別として、プロトコル は2重使用者の口座ではなく身元のみが明らかになるであろうように変更可能で ある。 容易に明らかになるように、でっちあげに対する保護でさえこのシステムにて Bへ送られる。この場合ボックス341においてBはさらにmを計算可能である ことを特筆する。 さらに、当業者に明らかになる簡単な変更は、Bの計算力に無関係に、でっち あげの企てに対して口座保有者を保護するために十分である。この目的のため、 * * * これは2つの好ましい実施形態の詳細な記載を含んでいる。本発明のこれらの 記載は例として与えられるものであり、本発明の思想及び権利範囲から離れるこ となく使用可能な種々の変更、別の態様、及び等価なものが当業者により明らか になるであろう。例えば、表現を決めるための基本的に等価な命令、表現を決め る方法、フローチャートボックス内の表現、検査、及び伝送を指示する方法、フ ローチャートボックスへ動作を分類する方法、及びフローチャートボックスを指 示する方法が多く存在する。ここでなされる特別な選択は、単に解説を明らかに するためのものである。そのような種々の変更、別の態様、及び等価なものは本 文に示されている。 確実な変形や置換が当業者に明らかであろう。そのような確実な変形や置換は 本書に示され、しばしば詳細に記述されている。一つ若しくは複数のボックスに 存在し示される2つの動作間で特別に検査が実行されることは必ずしも必要では ない。 ここに開示される本発明の技法及びプロトコルの部分が、信用証明メカニズム 若しくは現金システムのすべてのプロトコルを必要とすることなくどのように有 利に使用可能であるかは、当業者に明らかになるであろう。このことは幾つかの 例の見方にてより十分に明らかになるであろう。4節において、ユーザにより知 られている多数の表現に依存する種々のものを証明するため、両方の好ましい実 施形態に適用可能な多くの技法が記述されている。これらの技法及びそれらの対 応するプロトコルは、ブラインド署名プロトコルに関連して使用される必要は必 ずしもない。例えば、もし、伝送された信用証明書(credential)を結合するこ とにおいて組織を助けることによりそれらのプライバシーを傷つけないためにユ ーザに信頼可能な認証利用者により署名がなされる場合、上記信用証明書は通常 のデジタル署名によって発行可能である。実際、このことは、記述されたプロト コルにおいて、それぞれのブラインド署名プロトコルのフローチャートのそれぞ れの第2ボックスにて、ユーザにより選択されたブラインドする要素を固定値に 設定することにより理解可能である。このことは、プライバシーを任意とするた めの方法として、詳細な説明にて記述された。この場合認証者は結合にて助けな いが、プライバシーは依然として保証される。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FR,GB,GR,IE,IT,LU,M C,NL,PT,SE),OA(BF,BJ,CF,CG ,CI,CM,GA,GN,ML,MR,NE,SN, TD,TG),AP(KE,MW,SD),AM,AU, BB,BG,BR,BY,CA,CN,CZ,FI,G E,HU,JP,KG,KP,KR,KZ,LK,LT ,LV,MD,MG,MN,NO,NZ,PL,RO, RU,SI,SK,TJ,TT,UA,US,UZ,V N

Claims (1)

  1. 【特許請求の範囲】 1.第1の利用者と第2の利用者の間の情報認証用プロトコルを提供する方法 であって、数ベクトルの関数の逆関数は、該関数が第1の通信装置について逆関 数化するのが実質的に困難である場合に、該関数に関する数ベクトルの表現と呼 ばれており、該方法は以下のステップを備える: 第1の利用者に知られている第1の数ベクトルを、第2の利用者が第1数ベク トルの不等関数(non-constant function)f1、該関数は身元確認関数でありう る、を知っているように決定する; 第1の数ベクトルを第1の利用者によって第2の数ベクトルに変換する、該変 換は第1の利用者がランダムに選んだ数を含んでおり、第1の利用者はある関数 f2に関して第2の数ベクトルの表現を知っている; 第1の数ベクトルの関数f1を第2の利用者によって第3の数ベクトルに変換す る、該変換は第2の利用者の秘密キイを含み、該変換は第1の利用者との相互作 用(interaction)を必要とする; 第3の数ベクトルを第2の利用者によって第1の利用者に送信する;及び 第1の利用者によって第3の数ベクトルを第4の数ベクトルに、第4の数ベク トルが、第2の利用者の秘密キイに対応する公開キイを含む関係に従って第2の 数ベクトルに対応するように変換する、ここで、 第1の数ベクトルの不等関数I1は、第1の数ベクトルの第2の数ベクトルへ の変換において第1の利用者により行われたランダムな選択にも拘わらず、第1 の利用者によって知られている第2の関数f2に関しての第2の数ベクトルの表現 の不等関数I2に等しい; 実質的に各第1の数ベクトルについて及び実質的に各第2の数ベクトル及び第 2の利用者の公開キイを含む関係に従って第2の数ベクトルに対応する第4の数 ベクトルについて、第1の数ベクトルの第2の数ベクトルへの変換における第1 の利用者の少なくとも1セットのランダム選択が存在し、第1の利用者は、第1 の数ベクトルの第2の数ベクトルへの変換における少なくとも1セットのランダ ム選択を適用した場合に第2,第4の数ベクトルを知りうるようになっている; 及び 第1の利用者が、第2の利用者の協力なしに、関数f2に関しての表現を第1の 利用者が知っている数ベクトルと、第2の利用者の公開キイを含む関係に従って 該数ベクトルに対応する数ベクトルを生成することは実質的に不可能であるよう になっている。 2.第1の利用者は、第2の利用者の協力なしに、第2の数ベクトルおよび第 2の利用者の公開キイを含む関係に従って第2の数ベクトルに対応する第4の数 ベクトルを実行的に生成することができる、請求項1記載の方法。 3.プロトコルの新たな実行のための第1の数ベクトルは、第1の利用者に知 られている、上記関数f2について少なくとも1つの第2の数ベクトルの表現の不 等関数として決定され、上記少なくとも1つの第2の数ベクトルは、プロトコル の先の実行において第1の利用者により知られている、請求項1記載の方法。 4.第2の数ベクトルが第1の利用者によってある仮り名として用いられるの で、上記プロトコルは仮り名発行プロトコルと称される、請求項1記載の方法。 5.第1の利用者に知られている関数f2に関しての第2の数ベクトルの表現の 関数I2は、第1の利用者の資格認証(credentials)の特定のセットを表すので 、第1の利用者は、第2の数ベクトルにおいて、資格認証のセットを保持する、 請求項1記載の方法。 6.第1の数ベクトルは、第1の数ベクトルの関数I1が、第2の利用者が第 1の利用者に対して発行する資格認証のセットを特定するように決定されるので 、第2の利用者により、資格認証のセットが第2の数ベクトルに備え付けられて いる、請求項1記載の方法。 7.プロトコルの新たな実行における第1の数ベクトルは、第1の利用者の資 格認証が更新される値を特定する数ベクトルと、第1の利用者に知られている関 数f2に関する第2の数ベクトルの表現との関数として決定されるので、第2の数 ベクトルにおいて第1の利用者により保持されている資格認証のセットは、新た なプロトコルの実行において更新される、請求項5記載の方法。 8.第2の利用者は、第1の利用者により、第2の数ベクトルに保持された資 格認証のセットを知らない、請求項7記載の方法。 9.第2の利用者は、第1の利用者の資格認証が更新される数値を特定する数 ベクトルを知らない請求項7又は8記載の方法。 10.第1の利用者は、関数f2に関して第2の数ベクトルの表現を知るために 必然的に協同しなければならない少なくとも2つの利用者からなる、請求項1か ら7のいずれか1つに記載の方法。 ak+1 νが数ベクトル(m0,B1,...,Bl)の不等関数f3に等しくなるような数ベク トル(a1,...,ak;ak+1)である、ここで、 数kと1は0に等しいか0より大きい; f3(m0,1,...,Bl)は、Zn *で表され、整数モジュロnの有限群と呼ばれる 、数学構造体の1要素である; 数nは少なくとも2つの大きな素数の積である; 数Y1,...,Ykは有限群Zn *の要素である; 数νは正の整数である; 数a1,...,akは、Zνで表され、整数モジュロνの環と呼ばれる数学構造体 の要素である;及び 数ak+1はZn *の要素である。 12.数νは有限群Zn *の要素の数に対して共役素数である請求項11記載の 方法。 13.数νは偶数である請求項11記載の方法。 14.m0は有限群Zn *の要素であり、f3(m0,B1,...,Bl)はm0に等しい請求項 11記載の方法。 15.第2の利用者の公開キイは、有限群Zn *からの数Xとハッシュ関数Hか らなり、第2の利用者の秘密キイは、数X,Y1,...,Ykもしくは数nの素因数分 解の各々のモデュロnのν乗根からなり、第2の利用者を含む関係が、その関係 にしたがって第4の数ベクトルが第2の数ベクトルに対応し、bν=(Xm)caもし くはbν=Xm(a)cの関係が成立すると満足される; ここで、aとbは有限群Zn *の数であり; cはH(m0,B1,...,Bl,a)を表し、(m0,B1,...,Bl)は第2の数ベクトルを 示し;及び mはf3(m0,B1,...,Bl)を表す、請求項11記載の方法。 16.第2の利用者の公開キイは、有限群Zn *からの数Xとハッシュ関数Hか らなり、第2の利用者の秘密キイは、数X,Y1,...,Yk又は数nの素因数分解の 各々のモジュロnのν乗根からなり、第2の利用者の公開キイを含む関係が、そ の関係に従って第4の数ベクトルが第2の数ベクトルに対応しており、bν=(X a)cm又はbν=Xa(m)cの関係が成立したときに、満足される、 ここで、 aとbは有限群Zn *の数であり; cはH(m0,B1,...,Bl,a)を表し、(m0,B1,...,Bl)は第2の数ベクトルを 表し; mはf3(m0,B1,...,Bl)である、 請求項11記載の方法。 17.第2の利用者の公開キイは、有限群Zn *からの数Xとハッシュ関数Hと からなり; 第2の利用者の秘密キイは、数Y1,...,Ykの各々のν乗根と数ベクトル(s1, . 数s1,...,sjは環Zνの要素であり; 数Sj+1は有限群Zn *の要素であり; 数Z1,...,Zjは有限群Zn *の要素であり;及び 数jは1に等しいかそれより大きい、 又は、第2の利用者の秘密キイは、数nの素因数分解であり;及び 第2の利用者の公開キイを含む関係は、その関係に従って第4の数ベクトルが aとbj+1は有限群Zn *の数であり; b1,...,bjは環Zνの数であり; cはH(m0,B1,...,Bl,a)を示す、(m0,B1,...,Bl)は第2の数ベクトルを 示し;及び mはf3(m0,B1,...,Bl)を示している、請求項11記載の方法。 18.第2の利用者の公開キイは、有限群Zn *からの数Xとハッシュ関数Hと からなり; 第2の利用者の秘密キイは、数Y1,...,Ykの各々のν乗根と数ベクトル(s1, . 数s1,...,sjは環Zνの要素であり; 数sj+1は有限群Zn *の要素であり; 数Z1,...,Zjは有限群Zn *の要素であり;及び 数jは1に等しいかそれより大きい、 又は、第2の利用者の秘密キイは、数nの素因数分解であり;及び 第2の利用者の公衆キイを含む関係は、その関係に従って第4の数ベクトルが aとbj+1は有限群Zn *の数であり; b1,...,bjは環Zνの数であり; cはH(m0,B1,...,Bl,a)を示す、(m0,B1,...,Bl)は第2の数ベクトルを 示し;及び mはf3(m0,B1,...,Bl)を示している、請求項11記載の方法。 数ベクトル(m0,B1,...,Bl)の不等関数f3に等しくなる(a1,...,ak)の数ベ クトルであり、ここで、 数1は0か0より大きく; 数kは1か1より大きく; f3(m0,B1,...,Bl)は、q個の要素を持ち、Gqで表され、次数qの有限群と 称される数学構造体の要素であり; 数g1,...,gkはGqの要素であり;及び 数a1,...,akは、Zqで表され、整数モジュロqの環と称される数学構造体の 要素である、 請求項1記載の方法。 20.数qは素数である請求項19記載の方法。 21.Gqは有限群Zp *の部分群であり; 数pは、(p−1)が少なくとも2個の大きな素数を有し、そのうちの1つはqに 等しい; 第1の利用者が、数(p−1)の素数を決定することは不可能であり;及び 環Zq内の数の線形結合は、第1の利用者による計算されたモジュロ(p−1) である、請求項20に記載の方法。 22.m0は有限群Gqの要素であり、f3(m0,B1,...,Bl)はm0に等しい、請求 項19に記載の方法。 23.第2の利用者の公開キイは、有限群Zqからの2つの数gとh及びハッシ ュ関数Hからなり; 第2の利用者の秘密キイは、数gに関して数hの環Zqにおける離散対数からな り;及び 第2の利用者の公開キイを含む関係は、その関係にしたがって、第4の数ベク トルが第2の数ベクトルに対応しており、gγ=(hm)ca又はgγ=hm(a)cが成立す ると満足され、ここで、 aは有限群Gq内の数であり; cはH(m0,B1,...,Bl,a)を表し、(m0,B1,...,Bl)は第2の数ベクトルを 表し; γは環Zq内の数であり;及び mはf3(m0,B1,...,Bl)を表す、 請求項19に記載の方法。 24.第2の利用者の公開キイは、有限群Zqからの2つの数gとh及びハッシ ュ関数Hからなり; 第2の利用者の秘密キイは、数gに関して数hの環Zqにおける離散対数からな り;及び 第2の利用者の公衆キイを含む関係は、その関係にしたがって、第4の数ベク トルが第2の数ベクトルに対応しており、gγ=(ha)cm又はgγ=ha(m)cが成立す ると満足され、ここで、 aは有限群Gq内の数であり; cはH(m0,B1,...,Bl,a)を表し、(m0,B1,...,Bl)は第2の数ベクトルを 表し; γは環Zq内の数であり;及び mはf3(m0,B1,...,Bl)を表す、 請求項19に記載の方法。 25.第2の利用者の公開キイは、有限群Zqからの2つの数gとh及びハッシ ュ関数Hからなり; 第2の利用者の秘密キイは、数gに関して数hの環Zqにおける離散対数からな り;及び 第2の利用者の公開キイを含む関係は、その関係にしたがって、第4の数ベク トルが第2の数ベクトルに対応しており、gγ=hca及びmγ=zcbの両方又はgγ =hac及びmγ=zacの両方が成立すると満足され、ここで、 cはH(m0,B1,...,Bl,a)を表し、(m0,B1,...,Bl)は第2の数ベクトルを 表し; γは環Zq内の数であり;及び z,aおよびbは有限群Gq内の数であり; mはf3(m0,B1,...,Bl)を表す、 請求項19に記載の方法。 26.第2の利用者の公開キイは、有限群Gqからの数hとハッシュ関数Hから なり; に等しく、ここで、 数s1,...,sjは環Zqの要素であり; 数f1,...,fjは有限群Gqの要素であり;及び 数jは2に等しいかそれ以上であり;及び 第2の利用者の公開キイを含む関係は、その関係に従って第4の数ベクトルが したときに満足される、ここで aは有限群Gq内の数であり; cはH(m0,B1,...,Bl,a)を表し、(m0,B1,...,Bl)は第2の数ベクトルを 示し; γ1,...,γjは環Zq内の数であり;及び mはf3(m0,B1,...,Bl)を表す、 請求項19に記載の方法。 27.第2の利用者の公開キイは、有限群Gqからの数hとハッシュ関数Hから なり; に等しく、ここで、 数s1,...,sjは環Zqの要素であり; 数f1,...,fjは有限群Gqの要素であり;及び 数jは2に等しいかそれ以上であり;及び 第2の利用者の公開キイを含む関係は、その関係に従って第4の数ベクトルが したときに満足される、ここで aは有限群Gq内の数であり; cはH(m0,B1,...,Bl,a)を表し、(m0,B1,...,Bl)は第2の数ベクトルを 示し; γ1,...,γjは環Zq内の数であり;及び mはf3(m0,B1,...,Bl)を表す、 請求項19に記載の方法。 28.第1の利用者と第3の利用者との間のプロトコルを与え、第1の利用者 に知られている、関数f0に関して第1の数ベクトルの表現の記述(predicate) を試験する方法であって、数ベクトルの関数の逆関数が、その関数が少なくとも 第1の利用者について逆関数化するのが実質的に困難であるときに、その関数に 関する数ベクトルの表現と称され、該方法は以下のステップからなる: 第3の利用者に対し、第1の利用者が、第2の利用者の公開キイを含む関係 に従って第2の数ベクトルが第1の数ベクトルに対応していることを知っている ことを証明する、この証明は、単に第2の数ベクトルを知らせることによって達 成される;及び 第3の利用者に対し、第1の利用者が、関数f2に関して第1の数ベクトルの 関数f1の表現を知っていることを証明する; ここで、試験は第1の利用者と第3の利用者との間の以下のような相互作用を 必要とする、 第1の利用者に知られている、第3の利用者によって試験される関数f0に関 する第1の数ベクトルの表現の特定の記述を関数f1とf2が決定し;及び 第1と第2の数ベクトルが第2の利用者の協力で得られたときにのみ、第1 の利用者が第1の数ベクトルの試験を合格させることができる。 29.第3の利用者による第1の数ベクトルの繰返しの試験は、第3の利用者 をして、第1の利用者に知られている、関数f0に関する第1の数ベクトルについ ての表現又はその表現の不等関数を決定することを不可能とする、請求項28に 記載の方法。 30.第1の数ベクトルが第3の利用者によって試験される回数が、1回もし くはそれ以上である所定の回数を越えた場合、第1の利用者に知られた、関数f0 に関する第1の数ベクトルの表現の不等関数は、第3の利用者によって効率的に 演算されうる、請求項28に記載の方法。 31.第1の利用者に知られている、関数f0に関する第1の数ベクトルの表現 の不等関数は、第1の利用者により、プロトコルの第1回の実行中に第3の利用 者に告知される;及び 第1回のプロトコルの実行中にいかなる関連情報も第3の利用者に対して告知 されない関数に関する第1の数ベクトルについての表現の不等関数が存在する、 請求項28に記載の方法。 32.第1の利用者が、第1の数ベクトルの試験を合格させるために、必然的 に協力しなければならない少なくとも2つの利用者からなる、請求項28に記載 の方法。 33.第1の利用者は、第2の利用者の協力なしに、第1の数ベクトルと、第 2の利用者の公開キイを含む関係に従って第1の数ベクトルに対応する第2の数 ベクトルとを容易に生成することができる、請求項28に記載の方法。 34.プロトコルの実行中に第3の利用者からみて、発せられたメッセージの セットが、第2の利用者を巻込むことなしに、第2の利用者が第1,第2の数ベ クトルの生成に関与したときの確率分布とは明確に区別できる確率分布で容易に 生成される、請求項33に記載の方法。 35.第1の利用者に知られている、関数f0に関する第1の数ベクトルの表現 の不等関数は、第2の利用者により第1の利用者に対して発行された信用状のセ ットを表している;及び 関数f1とf2が、第3の利用者によって試験される第1の利用者の資格認証の特 定の記述を特定する、請求項28から34の一つに記載の方法。 ak+1 νが数ベクトル(m0,B1,...,Bl)の不等関数f3に等しくなるような数ベク トル(a1,...,ak;ak+1)であり、ここで、 数kと1は0に等しいか0より大きく; f3(m0,B1,...,Bl)は、Zn *で表され、整数モジュロnの有限群と称される 数学構造体の要素であり; 数nは、少なくとも2つの大きな素数の積であり; 数Y1,...,Ykは有限群Zn *の要素であり; 数νは正の整数であり; 数a1,...,akは、Zνで表され、整数モジュロνの環と称される数学構造体 の 要素であり;及び 数ak+1はZn *の要素である、 請求項28に記載の方法。 37.数νは、有限群Zn *の要素の数に対して共役素数(co-prime)である、 請求項36に記載の方法。 38.数νは偶数である、請求項36に記載の方法。 39.m0は有限群Zn *の要素であり、f3(m0,B1,...,Bl)はm0に等しい、請求 項36に記載の方法。 40.第1の利用者が、第3の利用者に対して、関数f2に関する数ベクトル( m0,B1,...,Bl)の表現(a1,...,ak;ak+1)を知っていることを以下の方法に より証明する; それについて数ベクトル(b1,...,bk;bk+1)を知っている、有限群Zn * k+1)は第3の利用者にとって予測不可能である; 環Zν内の挑戦数(challenge number)cに対応するk個の応答数(response number)γ1,...,γkを告知する、γiは1≦i≦kのときcai+bi mod νに等しい ;及び 数γk+1を告知する、 請求項36に記載の方法。 ,Zjは第2の利用者によって決定された有限群Zn *の要素である;及び 0に等しいかそれより大きいkについて、数Y1,...,Ykの各々は、集合{Z1, ...,Zj}内の数のべき乗とそれらの逆数との積である、 請求項36に記載の方法。 42.関数f2に関する数ベクトル(m0,B1,...,Bl)の表現は数ベクトル(a1 , しい、 ここで、 数1は0に等しいか0より大きく; 数kは1に等しいか1より大きく; f3(m0,B1,...,Bl)は、Gqで表され、次数qの有限群と称される、q個の要 素を有する数学構造体の要素であり; 数g1,...,gkはGqの要素であり;及び 数a1,...,akはZqで表され、整数モジュロqの環と称される数学構造体の要 素である、 請求項28に記載の方法。 43.数qは素数である、請求項42に記載の方法。 44.Gqは有限群Zp *の部分群であり; 数pは(p−1)がそのうちの一つがqに等しい少なくとも2つの大きい素数を 有する素数であり; 第1の利用者が数(p−1)の素因数分解を決定することが不可能であり;及 び環Zq内の数の線形結合が第1の利用者により演算されたモジュロ(p−1)で ある、 請求項43に記載の方法。 45.m0が有限群Gqの要素であり、f3(m0,B1,...,Bl)がm0に等しい、請求 項42に記載の方法。 46.関数f2に関する数ベクトル(m0,B1,...,Bl)の表現(a1,...,ak)を 知っていることを第1の利用者が第3の利用者に以下の方法で証明する、 それについて数ベクトル(b1,...,bk)を知っている有限群Gq内の数Bを与 不可能である;及び γiが1≦i≦kのときcai+bi mod qに等しいような、環Zq内の挑戦数cに対 応するk個の応答数γ1,...,γkを告知する、 請求項42に記載の方法。 の利用者によって決定された、有限群Gqの要素であり;及び 1に等しいかそれより大きいkについて、数g1,...,gkの各々は、集合{e1,. ..,ej}内の数のべき乗とそれらの逆数との積である、 請求項42に記載の方法。 48.第1の利用者が、第2の利用者に対し、数ベクトルについてのいかなる 付加情報なしに、ある数ベクトルを証明するプロトコルを与える方法であって、 ここで、 数ベクトルは、kが1に等しいかより大きい整数であるとして、(u1,...,uk )で表され; 数u1,...,ukの各々は、νが正の整数であるとして、整数モジュロνの環と 呼ばれ、Zνで表される数学構造体の要素であり; 数ベクトル(Z1,...,Zk)は第1の利用者と第2の利用者に知られており ; 数Z1,...,Zkの各々は、nが少なくとも2つの素数の積であるとして、整数 モジュロnの有限群と呼ばれ、Zn *で表される数学構造体の要素であり;及び 第1の利用者は、uk+1が有限群Zn *の要素であるとして、Aで表されるべ uk)に拘束されており、 該方法は、以下のステップを含む: 第1の利用者によって、第2の利用者に対し、Aの関数f1がべき乗の積Y1 ていることを証明する、 ここで、 1に等しいか1より大きい1について、数Y1,...,Ylの各々が、集合{Z1, ...,Zk}内の数のべき乗とそれらの逆数との積であり; Aの関数f1は、集合{A1,Z1,...,Zk}内の数のべき乗とそれらの逆数と の積であり;及び ベクトル(Y1,...,Yl)と関数f1は、第1の利用者が証明する数ベクトル (u1,...,uk)についての記述を一緒に特定する。 49.第1の利用者が、第2の利用者に対し、数ベクトル(a1,...,al;al+1 )を知っていることを以下によって証明する; 有限群Zn *について第1の利用者が数ベクトル(b1,...,bl;bl+1)を知っ しく、かつ(b1,...,bl;bl+1)は第2の利用者にとって実質的に予測できない ; 1≦i≦1について、γiがcai+bi mod νに等しいような、環Zν内のチャレ ンジ数cに対応する1個の応答数γ1,...,γlを告知する;及び 数γl+1を告知する。 50.第1の利用者が、第2の利用者に対し、数ベクトルについてのいかなる 付加情報なしに、ある数ベクトルを証明するプロトコルを与える方法であって、 kが1か1より大きい整数であるとして、数ベクトルが(u1,...,uk)で表さ れ; 数u1,...,ukの各々は、qが正の整数であるとして、整数モジュロqの環と呼 ばれ、Zqで表される数学構造体の要素であり; 数ベクトル(e1,...,ek)は、第1の利用者と第2の利用者に知られており ; 数e1,...,ekの各々は、qが正の整数であるとして、次数qの有限群と呼ばれ 、Gqで表される数学構造体の要素であり;及び て数ベクトルに拘束される、 該方法は、以下のステップを含む: する、 ここで、 0に等しいか0より大きい1について、数g1,...,glの各々が、集合{e1,... ,ek}内の数のべき乗とそれらの逆数との積である;及び ベクトル(g1,...,gl)と関数f1とは、一緒に、第1の利用者が証明する数 ベクトル(u1,...,uk)の記述を特定する方法。 51.第1の利用者が、第2の利用者に対し、以下により、数ベクトル(a1,. ..,al)を知っていることを証明する、請求項50に記載の方法: 有限群Zn *について、第1の利用者が、数ベクトル(b1,...,bl)を知って bl)が第2の利用者にとって実質的に予測不可能である;及び 1≦i≦1についてγiがcai+bi mod qに等しいような、環Zq内のチャレンジ 数に対応する1個の応答数γ1,...,γlを告知する。 52.少なくとも一つの第1の利用者と少なくとも一つの第2の利用者との間 で認証された情報の電子転送を実行する方法であって、少なくとも一つの第3の 利用者は情報認証用の第1のプロトコルと認証された情報を試験するための第2 のプロトコルを使用し、ここで、数ベクトルの関数を逆関数化することが、少な くとも第1の利用者にとって実質的に困難であるならば、数ベクトルの関数の逆 関数が、該関数に関する数ベクトルの表現と呼ばれる、 該方法は、以下のステップからなる: 第2の利用者は、第1の数ベクトルの不等関数f1(これは身元確認関数でも よい)を知っているような、第1の利用者に知られている第1の数ベクトルを第 1のプロトコル内において決定する; 第1の利用者により、第1のプロトコル内において第1の数ベクトルを第2 の数ベクトルに変換する、該変換は、第1の利用者が、関数f2に関する第2の数 ベクトルの表現を知っているような、第1の利用者によりランダムに選ばれる数 を含んでいる; 第2の利用者により、第1のプロトコルにおいて第1の数ベクトルの関数f1 を第3の数ベクトルに変換する、該変換は、第2の利用者の秘密キイを含み、第 1の利用者との相互作用を要求することができる; 第2の利用者によって、第1のプロトコルにおいて、第3の数ベクトルを第 1の利用者に通信する; 第1の利用者によって、第1のプロトコルにおいて、第3の数ベクトルを第 4の数ベクトルに変換する、ここで、第4の数ベクトルは、第2の利用者の秘密 キイに対応する公開キイを含む関係に従って第2の数ベクトルに対応する; 第1の利用者により、第2の利用者の公開キイを含む関係に従って第2の数 ベクトルに対応する数ベクトルを知っているということを、第2のプロトコルに おいて第3の利用者に対し証明する、ここで、証明は単に第4の数ベクトルを告 知することによって実行することができる;及び 第1の利用者により、関数f4に関する第2の数ベクトルの関数f3の表現を知 っているということを、第2のプロトコルにおいて、第3の利用者に対し証明す る; ここで、 第1の数ベクトルの不等関数I1は、第1の数ベクトルの第2の数ベクトル への変換において、第1の利用者により行われたランダムな選択に関係なしに、 第1の利用者に知られた、関数f2に関する第2の数ベクトルの表現の不等関数I2 に等しく; 第2のプロトコルにおいて、第3の利用者により試験される関数f2に関する 、第1の利用者に知られている、第2の数ベクトルの表現の関数I2の関数の特 定の記述を関数f3とf4が決定する; 第2のプロトコルの第1回の実行中に第3の利用者に告知された情報は、第 2のプロトコルの第1回の実行中に試験される第2の数ベクトルを得る第1のプ ロトコルの実行中に第1の利用者が使用した特定の第1の数ベクトルの関数f1と の一意対応関係に持ち込まれ得ない;及び 第2と第4の数ベクトルが、第1のプロトコルの実行中に得られたときにの み、第1の利用者が第2のプロトコルにおいて第2の数ベクトルの試験を合格さ せることができる。 53.第2のプロトコルの実行中に、第3の利用者により任意の多数回、第2 の数ベクトルが試験されたとしても、第2のプロトコルの実行中において第3の 利用者に対して告知された情報を、第1の数ベクトルの関数f1と一意対応関係に 持ち込むことが実質的に実行不可、即ち不可能のままである、請求項52に記載 の方法。 54.第3の利用者により、第2のプロトコルの実行中に第2の数ベクトルが 試験される回数が、1か1より大きい所定の境界を越えたならば、第2の数ベク トルは第1の数ベクトルの関数と一意対応関係に持ち込まれる、請求項52に記 載の方法。 55.第3の利用者により、第2のプロトコルの実行中に第2の数ベクトルが 試験される回数が、1か1より大きい所定の境界を越えたならば、第2の数ベク トルは第1の数ベクトルと一意対応関係に持ち込まれる、請求項52に記載の方 法。 56.第1の数ベクトルの関数のみが与えられた第2の利用者と、第1のプロ トコルの実行中に第1の利用者により告知された情報によって、第1の数ベクト ルを決定することは、実質的に実行不能、即ち不可能であるため、第2の利用者 による第1の数ベクトルの知識は、公平な利用者にとって、第2の数ベクトルが 所定の境界を越える回数試験されたことの正当な証明とすることができる、請求 項55に記載の方法。 57.第2の数ベクトルが、第3の利用者を相手とした第1の利用者の仮り名 として用いられる、請求項52に記載の方法。 58.第1のプロトコルの新規の実行のための第1の数ベクトルは、第1の利 用者に知られた、関数f2に関する少なくとも1つの第2の数ベクトルの表現の不 等関数として決定され、ここで、少なくとも1つの第2の数ベクトルは、第1の プロトコルの先の実行中に第1の利用者により獲得されている、請求項52に記 載の方法。 59.第1のプロトコルが少なくとも2回実行され、第1のプロトコルの先の 実行中に得られた少なくとも1つの第2の数ベクトルが、第3の利用者を相手と した第1の利用者の仮り名として用いられ、第2のプロトコル中に第1の利用者 は、第1のプロトコルの新規の実行中にその仮り名の1にのみ対応し、かつ第1 の他の利用者の仮り名に対応することなく、得られる第2の数ベクトルの試験を 、以下の理由により、合格させることができる; 第1の利用者は、第1の数ベクトルを第2の数ベクトルに変換するときに、 第1のプロトコルの新規の実行において既に上記仮り名に拘束されていなければ ならない;及び 関数f3は第1のプロトコルの新規の実行において得られる第2の数ベクトル のみならず、第1の利用者が第1のプロトコルの新規の実行において拘束されて いることを主張する仮り名にも作用する、 請求項52に記載の方法。 60.第1のプロトコルが少なくとも2回実行され、第1のプロトコルの先の 実行中に得られた少なくとも1つの第2の数ベクトルが、第3の利用者を相手と した第1の利用者の仮り名として用いられ、第2のプロトコルの実行中に、第1 の利用者は、第1のプロトコルの新規の実行中に、その仮り名の1つのみに対応 し、かつ第1の他の利用者の仮り名に対応することなく得られる第2の数ベクト ルの試験を、以下の理由により合格させる、 ここで、第1の利用者が、第2のプロトコルの実行において第4の数ベクト ルを第3の利用者に転送すれば足りる: 第1の利用者は、第1のプロトコルの新規の実行において、第1の数ベクト ルを上記仮り名の不等関数に変換する、ここで、該関数は第2の利用者に知られ ている;及び 第3の利用者は第2のプロトコルにおいて、第1の利用者が転送した数ベク トルが第2の利用者の公開キイを含む関係に従って上記仮り名の関数に対応する 、 請求項52に記載の方法。 61.第1のプロトコルは、少なくとも2回実行され、ここで、第1のプロト コルの先の実行で得られた少なくとも1つの第2の数ベクトルが第3の利用者を 相手として第1の利用者の仮り名として使用され、第1の利用者は、第3の利用 者を相手とするいずれか一つの仮り名に対応し、かつ第1の他の利用者の仮り名 に対応することなく、第1のプロトコルの新規の実行において得た第2の数ベク トルの試験を第2のプロトコルにおいて合格させる;それは関数f3が第1プロト コルの新規の実行において得られた第2の数ベクトルのみならず、第1の利用者 が所有者であると主張するいずれかの仮り名にも作用するという理由による、請 求項52に記載の方法。 62.第1の利用者に知られた、関数f2に関する第2の数ベクトルの表現の関 数I2は、第1の利用者の資格認証(credentials)の特定のセットを表すので、 第1の利用者は、あるセットの資格認証を第2の数ベクトル内に保持していると いわれる、請求項52に記載の方法。 63.第1の数ベクトルの関数I1は、第2の利用者が第1の利用者に対して 発行する資格認証のセットを特定するので、資格認証のセットは、第2の利用者 によって第2の数ベクトル内に備え付けられているといわれる、請求項62に記 載の方法。 64.第1のプロトコルの新規の実行における第1の数ベクトルは、 それによって第1の利用者の資格認証が更新される値を特定する数ベクトル と、第1の利用者に知られている、関数f2に関する第2の数ベクトルの表現との 不等関数として決定されるので、 第2の数ベクトル内に第1の利用者によって保持されている資格認証のセッ トは第1のプロトコルの新規の実行において更新されるといわれる、 請求項62に記載の方法。 65.第2の利用者は、第1の利用者によって第2の数ベクトル内に保持され ている資格認証のセットを知らない、請求項64に記載の方法。 66.第2の利用者は、それによって第1の利用者の資格認証が更新される値 を特定する数ベクトルを知らない、請求項64に記載の方法。 67.第1のプロトコルにおいて第2の利用者により計算される変換は、少な くとも2つの異なる秘密キイの1つを含んでおり、第2の利用者によって使用さ れる特定の秘密キイは、第2の数ベクトル内に保持された資格認証のセットが、 どの範ちゅうに関係するかを特定するので、第1の利用者は、異なる第2の数ベ クトル内に、異なる範ちゅうに属する複数の資格認証のセットを保持することが できる、請求項62に記載の方法。 68.第1の利用者は、各々が異なる範ちゅうに属するとともにそれ自身の第 2の数ベクトル内に保持される少なくとも2つの資格認証のセットを保持し、第 1の利用者は、第2のプロトコルにおいて、少なくとも2つの異なる範ちゅうに 属する資格認証を、対応する全ての第2の数ベクトルに作用する関数f3を特定す ることにより試験する、請求項67に記載の方法。 69.第1の利用者は、第2のプロトコルにおける第2の数ベクトルの試験を 合格させるために、第1と第2のプロトコルにおいて必然的に協力しなければな らない少なくとも2つの利用者からなる、請求項52に記載の方法。 70.第1の利用者を構成する利用者の少なくとも1つは、第2又は第3の少 なくとも1つの利用者の関与において行動し(acts in the interest);及び 第2のプロトコルにおいて選ばれた利用者(これらの利用者)は第1の利用者 を構成するいま一つの利用者(複数の利用者)に情報を転送することのみができ る、請求項69に記載の方法。 71.第1及び第2のプロトコルにおいて選ばれた利用者(複数の利用者)が 、第1の利用者を構成するいま一方の利用者(複数の利用者)から受取り、それ に送信する情報及び選ばれた利用者(複数の利用者)に知られている、それを( それらを)同定するために使用されうるいかなる情報は、第1の利用者を構成す るいま一方の利用者(複数の利用者)が第2のプロトコルにおいて第3の利用者 に送信し、それから受信する情報とは実質的に統計的に独立である、請求項70 に記載の方法。 72.第1の利用者は、丁度2つの利用者からなり、 第1の利用者を構成する2つの利用者の夫々は、他の利用者にとって実質的 に予測不可能な数ベクトルを知っており、ここで、第1の利用者を構成する各利 用者に知られている数ベクトルはその利用者の初期数ベクトルとして参照される ; 第1のプロトコル内の第1の数ベクトルは、たかだか第2の利用者と第2又 は第3の利用者のために行動する選ばれた利用者とが第1の数ベクトルを知って いるように、第1の利用者を構成する2つの利用者に知られている上記初期数ベ クトルの不等関数として決定される; 選ばれた利用者は、第1のプロトコルにおいて、ランダム数ベクトルとして 参照される数ベクトルを、第1の利用者を構成するいま一方の利用者に渡す、こ こで、上記ランダム数ベクトルは、選ばれた利用者が実質的にランダムに選ばれ た関数f2に関するランダム数ベクトルの表現を知っている; 第1の利用者を構成するいま一方の利用者により適用される第1のプロトコ ルにおける第1の数ベクトルの第2の数ベクトルへの変換は、選ばれた利用者が それに移したランダム数ベクトルを巻込む;及び 第2のプロトコルにおいて、選ばれた利用者は応答ベクトルとして参照され る数ベクトルを、第1の利用者を構成するいま一方の利用者に渡し、応答ベクト ルは、上記いま一方の利用者により選ばれた利用者に譲渡され、呼びかけベクト ルとして参照される数ベクトルに応答する、選ばれた利用者の初期数ベクトルと そのランダム数ベクトルとの不等関数である、 請求項70に記載の方法。 73.仮り名は、第1の利用者が、関数f2に関する仮り名の表現を知るために 必然的に協力しなければならない少なくとも2つの利用者により構成されるので 、集合的仮り名と言われる、請求項59又は61に記載の方法。 74.本方法は電子支払いに用いられる: 第1の利用者は消費者などの支払う側である; 第2の利用者は現金を発行する銀行の如き金融機関である; 第3の利用者は商店などのサービス機関である; 第1の利用者は、第2の利用者を相手に引き出しプロトコルと呼ばれる第1 のプロトコルを実行することによってお金を引き出し、第3の利用者を相手にし て、支払いプロトコルと呼ばれる第2のプロトコルを実行することにより、第3 の利用者でお金を使う;及び 第3の利用者は、第2の利用者から自らの口座にお金が振り込まれるように 、支払いプロトコルの実行の写しを送る、 請求項52から72の1つに記載の方法。 75.第1の利用者の所持金額は、第1の利用者が保持しているが制御下には ないカウンタの値で指示され、 引き出しプロトコルにおいて、第1の利用者によって引き出された額だけカ ウンタの値は増加される;及び 支払いプロトコルにおいて、第1の利用者が使った額だけカウンタの値は減 少される、 請求項74に記載の方法。 76.第1の数ベクトルの関数f1が、第2の利用者によって第1の利用者の身 元に唯一無二の方法で関連付けられているので、第1の利用者が、所定の値を越 える回数試験された第2の数ベクトルを有している場合にのみ、第1の利用者の 身元が確認される、追跡不能な電子キャッシュシステムを実施するための、請求 項54に記載の方法。 77.選ばれた利用者(利用者達)によって保持される情報が、第1の利用者 を構成する他の利用者(利用者達)にとって享受することができるようになり、 かつ、詐欺があったとしても、その後、第2の利用者によって第1の利用者の身 元を追跡できる場合にのみ、第2の数ベクトルを1に等しいかそれより大きい境 界値を越える回数使うことができる追跡不可能な電子キャッシュシステムを実施 するための、請求項70から72の1つに記載の方法。 78.第2の利用者が誤って所定の境界値を越える回数第2の数ベクトルを使 った第1の利用者を告発するといった第2の利用者の故意の企みに対して第1の 利 用者を法的に保護するための機構を、追跡不可能な電子キャッシュシステムにお いて実現するための請求項56に記載の方法。 79.取り下げられた各第2の数ベクトルは、1つの特定の仮り名のもとでの み使うことができる、追跡不可能な電子キャッシュシステムを実現するための請 求項59に記載の方法。 80.電子小切手を送ることができ、ここで、 第1の数ベクトルの関数I1は、実質的にランダムで第2の利用者に知られ ないように選ばれた数を含んでおり; 第1の利用者は、自らが知っている関数f2に関する第2の数ベクトルの表現 の関数I2内の数のサブセットを告知し、告知された特定のサブセットは電子小 切手によって支払われた額を指示する;及び 第1の利用者は、第1の数ベクトルの関数I1に含まれ、実質的にランダム に選ばれた数のサブセットを第2の利用者に告知することにより、使われなかっ た小切手の部分について、第2の利用者から払いもどしを受けることができ、上 記サブセットは、第2のプロトコルにおいて第3の利用者に告知した数のサブセ ットと相補的である、 追跡不可能な電子キャッシュシステムを実現する、請求項54に記載の方法。 81.第1のプロトコルが少なくとも2回実行され、 第1のプロトコルの第1回の実行における第1の数ベクトルの関数f1は、第 2の利用者により、第1の利用者の身元と唯一無二の方法で関連付けられる; 第1のプロトコルの第1回の実行において第1の利用者が獲得した第2の数 ベクトルは第2の利用者を相手とした第1の利用者の仮り名として用いられる; 第1のプロトコルの相続く実行における第1の数ベクトルの関数f1は第2の 利用者を相手とした第1の利用者の仮り名に等しい;及び 第2のプロトコルの対応する実行において第1の利用者が告知した情報は、 第2の利用者が、第1のプロトコルの第1回目の実行において用いられた第 1の数ベクトルの関数f1を計算することを可能とするので、第1の利用者の身元 は、第1の利用者が、第1のプロトコルの相続く実行の1つで獲得した第2の数 ベクトルを1に等しいかそれより多い所定の境界値を越える回数使用したときに 決定されうる、 匿名銀行口座を備える追跡不可能な電子キャッシュシステムを実現する、請求項 58に記載の方法。 ak+1 νが数ベクトル(m0,B1,...,Bl)の不等関数f3に等しくなるような数ベク トル(a1,...,ak;ak+1)であり、ここで、 数kと1は0に等しいかそれより大きい; f3(m0,B1,...,Bl)はZn *で表され、整数モジュロnの有限群と呼ばれる数 学構造体の要素である; 数nは少なくとも2つの大きな素数の積である; 数Y1,...,Ykは有限群Zn *の要素である; 数νは正の整数である; 数a1,...,akはZνで表され、整数モジュロνの環と呼ばれる数学構造体の 要素である;及び 数ak+1はZn *の要素である、 請求項52に記載の方法。 ak+1 νが数ベクトル(m0,B1,...,Bl)の不等関数f3に等しくなる数ベクトル( a1,...,ak;ak+1)であり、ここで、 数kと1は0に等しいかそれより大きい; f3(m0,B1,...,Bl)はZn *で表され、整数モジュロnの有限群と呼ばれる数 学構造体の要素である; 数nは少なくとも2つの大きな素数の積である; 数Y1,...,Ykは有限群Zn *の要素である; 数νは正の整数である; 数a1,...,akはZνで表され、整数モジュロνの環と呼ばれる数学構造体の 要素である、 及び 第1の利用者を構成する選ばれた利用者に知られた初期数ベクトルは(o1, ..,ok;ok+1)で記述され、o1,...,okは環Zνの要素であり、ok+1は有限 群Zn *の要素である; 選ばれた利用者が第1のプロトコルにおいて第1の利用者を構成する他の利 1,...,ukは環Zνの要素であり、uk+1は有限群Zν *の要素である; 第1の利用者を構成する他の利用者が選ばれた利用者に渡した呼びかけベク トルは、環Zν内の数cである;及び 選ばれた利用者が第2のプロトコルにおいて第1の利用者を構成する他の利 用者に渡した、(γ1,...,γk;γk+1)で表される数ベクトルは、1≦i≦kに ν)・ok+1 ck+1に等しい、 請求項72に記載の方法。 数ベクトル(m0,B1,...,Bl)の公開された不等関数f3に等しくなるような数ベ クトル(a1,...,ak)であり、ここで、 数1は0に等しいかそれより大きい; 数kは1に等しいかそれより大きい; f3(m0,B1,...,Bl)はq個の要素を持ち、Gqで表され、次数qの有限群と呼 ばれる数学構造体の要素である; 数g1,...,gkはGqの要素である;及び 数a1,...,akは、Zqで表され、整数モジュロqの環と呼ばれる数学構造体の 要素である、 請求項52に記載の方法。 数ベクトル(m0,B1,...,Bl)の公開された不等関数f3に等しくなるような数ベ クトル(a1,...,ak)であり、ここで、 数1は0かそれより大きい; 数kは1かそれより大きい; f3(m0,B1,...,Bl)はq個の要素を持ち、Gqで表され、位数qの有限群と呼 ばれる数学構造体の要素である; 数g1,...,gkはGqの要素である;及び 数a1,...,akは、Zqで表され、整数モジュロqの環と呼ばれる数学構造体の 要素である、 及び 第1の利用者を構成する、選ばれた利用者に知られている初期数ベクトルは (o1,...,ok)で記述され、ここでo1,...,okは環Zqの要素である; 選ばれた利用者が、第1のプロトコルにおいて、第1の利用者を構成する他 は環Zqの要素である; 第1の利用者を構成する他の利用者により、選ばれた利用者に渡された呼び かけベクトルは、環Zq内の数cである;及び 選ばれた利用者が、第2のプロトコルにおいて、第1の利用者を構成する他 の利用者に渡した、(γ1,...,γk)で表される数ベクトルは、1≦i≦kについて 、各γiがcoi+ui mod νに等しい、 請求項72に記載の方法。 86.第1の利用者と第2の利用者との間における情報を証明するためのプロ トコルを実施するための装置であり、ここで、ある関数が少なくとも第1の利用 者について逆関数化することが実質的に困難であるときに、その数ベクトルの関 数の逆関数は、当該関数に関する数ベクトルの表現と呼ばれ、該装置は以下のも のからなる: 第1の利用者に保持される第1情報処理手段; 第2の利用者の制御下にあり、第1の利用者の制御が及ばない第2情報処理 手段; 第1情報処理手段と第2情報処理手段との間にあって両者間の情報の交換を 可能とするインターフェース手段; 第1情報処理手段にとって入手することができる第1の数ベクトルを、第1 の数ベクトルの不等関数f1、ここでf1は身元確認関数、へのアクセスを、第2の 情報処理手段が有するように決定する手段; 第1の数ベクトルを第2の数ベクトルに変換する、第1情報処理手段内の手 段、該変換は、第1情報処理手段が、関数f2に関する第2の数ベクトルの表現へ のアクセスを有するように、第1情報処理手段によりランダムに発生されうる数 を含んでいる; 第1の数ベクトルの関数f1を第3の数ベクトルに変換する、第2情報処理手 段内の手段、該変換は、第2の利用者の秘密キイを含んでおり、インターフェー ス手段を通じて第1情報処理手段との相互作用を要求する; インターフェース手段を通じて第2情報処理手段により第3の数ベクトルを 第1情報処理手段に渡す手段;及び 第4の数ベクトルが、第2の利用者の秘密キイに対応する公開キイを巻き込 む関係にしたがって第2の数ベクトルに対応するように、第3の数ベクトルを第 4の数ベクトルに変換する、第1情報処理手段内の手段; ここで、 第1の数ベクトルの不等関数I1は、第1の数ベクトルの第2の数ベクトル への変換において第1情報処理手段により実行されたランダムな選択に無関係に 、第1情報処理手段にアクセスしうる、関数f3に関する第2の数ベクトルの表現 の不等関数に等しい; 各第1の数ベクトル、各第2の数ベクトル及び第2の利用者の公開キイを巻 き込む関係に従って第2の数ベクトルに対応する第4の数ベクトルについて、第 1の数ベクトルの第2の数ベクトルへの変換において、少なくとも1つのランダ ム選択のセットが以下のように存在する、即ち、第1情報処理手段が、第1の数 ベクトルの第2の数ベクトルへの変換において上記少なくとも1つ のランダム選択のセットを応用すれば、第1情報処理手段が、第2及び第4の数 ベクトルを獲得する;及び 第1の利用者が、関数f2に関する数ベクトルの表現及び第2の利用者の公開 キイを巻き込む関係に従ってこの数ベクトルに対応する数ベクトルを知っていて も、第1の利用者は、第2情報処理手段の協力なしには上記数ベクトルを生成す ることができない。 87.第1の利用者は、第2の数ベクトル及び第2の利用者の公開キイを巻き 込む関係にしたがって第2の数ベクトルに対応する第4の数ベクトルを、第2情 報処理手段の協力なしに生成することができる、請求項86に記載の装置。 88.プロトコルの新規の実行のための第1の数ベクトルは、第1情報処理手 段にアクセスされる、関数f2に関する少なくとも1つの第2の数ベクトルの表現 の不等関数として決定され、ここで上記少なくとも1つの第2の数ベクトルは、 プロトコルの先の実行において第1情報処理手段により獲得されている、請求項 86に記載の装置。 89.プロトコルは、第2の数ベクトルが第1の利用者により仮り名として使 用されるので、仮り名発行プロトコルと呼ばれる、請求項86に記載の装置。 90.第1情報処理手段にアクセスされうる、関数f2に関する第2の数ベクト ルについての表現の関数I2が、第1の利用者の資格認証の特定のセットを表す ので、第1の利用者は、第2の数ベクトル内に資格認証のセットを保持するとい われる、請求項86に記載の装置。 91.第1の数ベクトルは、第1の数ベクトルの関数I1が、第2の利用者が 第1の利用者に対し発行した資格認証のセットを特定するので、資格認証のセッ トが、第2の利用者によって第2の数ベクトル内に仕込まれているといわれる、 請求項90に記載の装置。 92.第1の数ベクトルは、プロトコルの新規の実行において 第1の利用者の資格認証がそれによって更新される値を特定する数ベクトル と、第1情報処理手段にアクセスされる、関数f2に関する第2の数ベクトルの表 現との、 不等関数として決定されるので、第1の利用者により第2の数ベクトル内に保持 される資格認証のセットはプロトコルの新規の実行において更新されるといわれ る、請求項90に記載の装置。 93.第2の利用者は、第1の利用者により第2の数ベクトル内に資格認証の セットが保持されていることを知らない、請求項92に記載の装置。 94.第2の利用者は、それによって第1の利用者の資格認証がそれによって 更新される値を特定する数ベクトルを知らない、請求項92又は93に記載の装 置。 95.第1情報処理手段は、各々それ自身のメモリ手段を有する少なくとも2 つの別個の情報処理手段からなり、両方の情報処理手段は、関数f2に関する第2 の数ベクトルの表現へのアクセスをもつために必然的に協力しなければならない 、請求項86から93の1つに記載の装置。 ak+1 νが数ベクトル(m0,B1,...,Bl)の不等関数f3に等しくなるような数ベク トル(a1,...,ak;ak+1)である、ここで、 数kと1は0に等しいか0より大きい; f3(m0,B1,...,Bl)は、Zn *で表され、整数モジュロnの有限群と呼ばれる 、数学構造体の1要素である; 数nは少なくとも2つの大きな素数の積である; 数Y1,...,Ykは有限群Zn *の要素である; 数νは正の整数である; 数a1,...,akは、Zνで表され、整数モジュロνの環と呼ばれる数学構造体 の要素である;及び 数ak+1はZn *の要素である、 請求項86に記載の装置。 97.数νは有限群Zn *の要素の数に対して共役素数(co-prime)である請求 項96に記載の装置。 98.数νは偶数である請求項96に記載の装置。 99.m0は有限群Zn *の要素であり、f3(m0,B1,...,Bl)はm0に等しい請求項 96に記載の装置。 100.第2の利用者の公開キイは、有限群Zn *からの数Xとハッシュ関数H からなり、第2の利用者の秘密キイは、数X,Y1,...,Ykもしくは数hの素因数 分解の各々のモデュロnのν乗根からなり、第2の利用者を含む関係が、その関 係にしたがって第4の数ベクトルが第2の数ベクトルに対応し、bν=(Xm)caも しくはbν=Xm(a)cの関係が成立すると満足される; ここで、aとbは有限群Zn *の数であり; cはH(m0,B1,...,Bl,a)を表し、(m0,B1,...,Bl)は第2の数ベクトルを 示し;及び mはf3(m0,B1,...,Bl)を表す、請求項96に記載の装置。 101.第2の利用者の公開キイは、有限群Zn *からの数Xとハッシュ関数H からなり、第2の利用者の秘密キイは、数X,Yl,...,Yk又は数nの素因数分解 の各々のモジュロnのν乗根からなり、第2の利用者の公開キイを巻き込む関係 が、その関係に従って第4の数ベクトルが第2の数ベクトルに対応しており、bν =(Xa)cm又はbν=Xa(m)cの関係が成立したときに、満足される、 ここで、 aとbは有限群Zn *の数であり; cはH(m0,B1,...,Bl,a)を表し、(m0,B1,...,Bl)は第2の数ベクトルを 表し; mはf3(m0,B1,...,Bl)である、 請求項96に記載の装置。 102.第2の利用者の公開キイは、有限群Zn *からの数Xとハッシュ関数H とからなり; 第2の利用者の秘密キイは、数Y1,...,Ykの各々のν乗根と数ベクトル(s1, . 数s1,...,sjは環Zνの要素であり; 数sj+1は有限群Zn *の要素であり; 数Z1,...,Zjは有限群Zn *の要素であり;及び 数jは1に等しいかそれより大きい、 又は、第2の利用者の秘密キイは、数nの素因数分解であり;及び 第2の利用者の公開キイを巻き込む関係は、その関係に従って第4の数ベクト aとbj+1は有限群Zn *の数であり; b1,...,bjは環Zνの数であり; cはH(m0,B1,...,Bl,a)を示し、(m0,B1,...,Bl)は第2の数ベクトルを 示し;及び mはf3(m0,B1,...,Bl)を示している、請求項96に記載の装置。 103.第2の利用者の公開キイは、有限群Zn *からの数Xとハッシュ関数H とからなり; 第2の利用者の秘密キイは、数Y1,...,Ykの各々のν乗根と数ベクトル(s1, . 数s1,...,sjは環Zνの要素であり; 数sj+1は有限群Zn *の要素であり; 数Z1,...,Zjは有限群Zn *の要素であり;及び 数jは1に等しいかそれより大きい、 又は、第2の利用者の秘密キイは、数nの素因数分解であり;及び 第2の利用者の公開キイを巻き込む関係は、その関係に従って第4の数ベクト aとbj+1は有限群Zn *の数であり; b1,...,bjは環Zνの数であり; cはH(m0,B1,...,Bl,a)を示し、(m0,B1,...,Bl)は第2の数ベクトルを 示し;及び mはf3(m0,B1,...,Bl)を示している、請求項96に記載の装置。 が数ベクトル(m0,B1,...,Bl)の不等関数f3に等しくなる(a1,...,ak)の数 ベクトルであり、ここで、 数1は0か0より大きく; 数kは1か1より大きく; f3(m0,B1,...,Bl)は、q個の要素を持ち、Gqで表され、次数qの有限群と 称される数学構造体の要素であり; 数g1,...,gkはGqの要素であり;及び 数a1,...,akは、Zqで表され、整数モジュロqの環と称される数学構造体の 要素である、 請求項86に記載の装置。 105.数qは素数である、請求項104に記載の装置。 106.Gqは有限群Zq *の部分群(subgroup)であり; 数pは、(p−1)が少なくとも2個の大きな素数を有し、そのうちの1つはqに等 しい; 第1の利用者が、数(p−1)の素数を決定することは不可能であり;及び 環Zq内の数の線形結合は、第1の利用者による計算されたモジュロ(p−1) である、請求項105に記載の装置。 107.m0は有限群Gqの要素であり、f3(m0,B1,...,Bl)はm0に等しい、請 求項104に記載の装置。 108.第2の利用者の公開キイは、有限群Zqからの2つの数gとh及びハッ シュ関数Hからなり; 第2の利用者の秘密キイは、数gに関して数hの環Zqにおける離散対数からな り;及び 第2の利用者の公開キイを巻き込む関係は、その関係にしたがって、第4の数 ベクトルが第2の数ベクトルに対応しており、gγ=(hm)ca又はgγ=hm(a)cが成 立すると満足され、ここで、 aは有限群Gq内の数であり; cはH(m0,B1,...,Bl,a)を表し、(m0,B1,...,Bl)は第2の数ベクトルを 表し; γは環Zq内の数であり;及び mはf3(m0,B1,...,Bl)を表す、 請求項104に記載の装置。 109.第2の利用者の公開キイは、有限群Zqからの2つの数gとh及びハッ シュ関数Hからなり; 第2の利用者の秘密キイは、数gに関して数hの環Zqにおける離散対数からな り;及び 第2の利用者の公開キイを巻き込む関係は、その関係にしたがって、第4の数 ベクトルが第2の数ベクトルに対応しており、gγ=(ha)cm又はgγ=ha(m)cが成 立すると満足され、ここで、 aは有限群Gq内の数であり; cはH(m0,B1,...,Bl,a)を表し、(m0,B1,...,Bl)は第2の数ベクトルを 表し; γは環Zq内の数であり;及び mはf3(m0,B1,...,Bl)を表す、 請求項104に記載の装置。 110.第2の利用者の公開キイは、有限群Zqからの2つの数gとh及びハッ シュ関数Hからなり; 第2の利用者の秘密キイは、数gに関して数hの環Zqにおける離散対数からな り;及び 第2の利用者の公開キイを巻き込む関係は、その関係にしたがって、第4の数 ベクトルが第2の数ベクトルに対応しており、gγ=hca及びmγ=zcbの両方又は gγ=hac及びmγ=zacの両方が成立すると満足され、ここで、 cはH(m0,B1,...,Bl,a)を表し、(m0,B1,...,Bl)は第2の数ベクトルを 表し; γは環Zq内の数であり; z,aおよびbは有限群Gq内の数であり;及び mはf3(m0,B1,...,Bl)を表す、 請求項104に記載の装置。 111.第2の利用者の秘密キイは、有限群Gqからの数hとハッシュ関数Hか らなり; に等しく、ここで、 数s1,...,sjは環Zqの要素であり; 数f1,...,fjは有限群Gqの要素であり;及び 数jは2に等しいかそれ以上であり;及び 第2の利用者の公開キイを巻き込む関係は、その関係に従って第4の数ベクト 成立したときに満足される、ここで aは有限群Gq内の数であり; cはH(m0,B1,...,Bl,a)を表し、(m0,B1,...,Bl)は第2の数ベクトルを 示し; γ1,...,γjは環Zq内の数であり;及び mはf3(m0,B1,...,Bl)を表す、 請求項104に記載の装置。 112.第2の利用者の公開キイは、有限群Gqからの数hとハッシュ関数Hか らなり; に等しく、ここで、 数s1,...,sjは環Zqの要素であり; 数f1,...,fjは有限群Gqの要素であり;及び 数jは2に等しいかそれ以上であり;及び 第2の利用者の公開キイを巻き込む関係は、その関係に従って第4の数ベクト 成立したときに満足される、ここで aは有限群Gq内の数であり; cはH(m0,B1,...,Bl,a)を表し、(m0,B1,...,Bl)は第2の数ベクトルを 示し; γ1,...,γjは環Zq内の数であり;及び mはf3(mo,B1,...,Bl)を表す、 請求項104に記載の装置。 113.第1情報処理手段にアクセス可能で、第1の利用者により保持されて いる、関数f0に関する第1の数ベクトルの表現の記述を試験するための第1の利 用者と第2の利用者との間のプロトコルを実施する装置であり、ここで、ある数 ベクトルの関数の逆関数は、その関数が少なくとも第1の利用者にとって逆関数 化することが困難である場合には、関数の数ベクトルの表現と呼ばれ、 該装置は以下の手段からなる: 第1情報処理手段; 第3の利用者により保持された第2情報処理手段; 第1情報処理手段と第2情報処理手段との間で情報交換を可能とする両手段 間のインターフェース手段; 第2の利用者の公開キイを巻き込む関係に従って第1の数ベクトルに対応す る第2の数ベクトルへのアクセスを持っていることを、第2情報処理手段に証明 する、第1情報処理手段内の手段、ここで、証明は、単に第2の数ベクトルを第 2情報処理手段に告知することによって行われる;及び 関数f2に関する第1の数ベクトルの関数f1の表現へのアクセスを持っている ことを第2情報処理手段に対して証明する、第1情報処理手段内の手段、 ここで、試験は、インターフェース手段を通じた、第1と第2の情報処理手段の 間の以下の如き相互作用を要求する、 関数f1とf2は、第2情報処理手段により試験される関数f0に関する第1の数 ベクトルについての、第1情報処理手段へのアクセスが可能な表現の特定の記述 を決定する;及び 第1及び第2の数ベクトルが第2の利用者の協力によって得られたときにの み、第1の利用者が第1の数ベクトルの試験を合格させることができる。 114.第3の利用者の情報処理手段の繰返し試験は、第3の利用者が、第1 の情報処理手段にアクセスすることができる、関数f0に関する第1の数ベクトル の表現又はその不等関数を決定することを不可能とする、請求項113に記載の 装置。 115.第1の数ベクトルが第2の情報処理手段によって試験される回数が、 1回もしくはそれ以上である所定の回数を越えた場合、第1の情報処理手段にア クセス可能な関数f0に関する第1の数ベクトルの表現の不等関数は、第3の利用 者によって効率的に演算されうる、請求項113に記載の装置。 116.第1情報処理手段にアクセスできる、関数f0に関する第1の数ベクト ルの表現の不等関数は、プロトコルの第1回目の実行において、第1情報処理手 段によって第2情報処理手段に告知される;及び 第1情報処理手段にアクセスできる、関数f0に関する第1の数ベクトルの表 現の不等関数が存在し、それについての情報はプロトコルの第1回目の実行にお いて第2情報処理手段に告知されない、 請求項113に記載の装置。 117.第1情報処理手段は、夫々が自身のメモリ手段を含む少なくとも2つ の別個の情報処理手段からなり、第1情報処理手段の両方の情報処理手段は、第 1の数ベクトルの試験を合格させるために必然的に協力しなければならない、請 求項113に記載の装置。 118.第1の利用者は、第2の利用者の協力なしに、第1の数ベクトルと、 第2の利用者の公開キイを巻き込む関係に従って第1の数ベクトルに対応する第 2の数ベクトルとを容易に生成することができる、請求項113に記載の装置。 119.プロトコルは知識ゼロである、即ち発行されたメッセージのセットは 、プロトコルの実行において第2情報処理手段からみると、第2の利用者のいか なる関与なしに、第2の利用者が第1及び第2の数ベクトルの生成に関与したと き に適用される確率分布とは識別できない確率分布を用いて生成することができる 、請求項118に記載の装置。 120.第1情報処理手段にアクセスできる、関数f0に関する第1の数ベクト ルの表現の不等関数は、第2の利用者によって第1の利用者に対し発行された資 格認証のセットを表している;及び 関数f1とf2は、第2情報処理手段によって試験された、第1の利用者の資格 認証の特定の記述を特定する、 請求項113から119の1つに記載の装置。 クトル(a1,...,ak;ak+1)であり、ここで、 数kと1は0に等しいか0より大きく; f3(m0,B1...,Bl)は、Zn *で表され、整数モジュロnの有限群と称される数 学構造体の要素であり; 数nは、少なくとも2つの大きな素数の積であり; 数Y1,...,Ykは有限群Zn *の要素であり; 数νは正の整数であり; 数a1,...,akは、Zνで表され、整数モジュロνの環と称される数学構造体 の要素であり;及び 数ak+1はZn *の要素である、 請求項113に記載の装置。 122.数νは、有限群Zn *の要素の数に対して共役素数(co-prime)である 、請求項121に記載の装置。 123.数νは偶数である、請求項121に記載の装置。 124.m0は有限群Zn *の要素であり、f3(m0,B1,...,Bl)はm0に等しい、請 求項121に記載の装置。 125.関数f2に関する数ベクトル(m0,B1,...,Bl)の表現へのアクセスを 有することを第2情報処理手段に対し証明することができる第1情報処理手段内 の手段は、以下の手段からなる: 有限群Zn *内の数Bに委任する(comit)手段、該手段は、数ベクトル(b1, 1,...,bk;bk+1)は第3の利用者にとって予測不可能である; 環Zν内の呼びかけ数cに対応するk個の数γ1,...,γkを計算し、インター フェース手段を通じて送る手段、γiは1≦i≦kについてcai+bi mod νに等しい ;及び 算し、インターフェース手段を通じて送る手段、 請求項121に記載の装置。 ..,Zjは第2の利用者によって決定された有限群Zn *の要素である;及び 0に等しいかそれより大きいkについて、数Y1,...,Ykの各々は、集合{Z1, ...,Zj}内の数のべき乗とそれらの逆数との積である、 請求項121に記載の装置。 127.関数f2に関する数ベクトル(m0,B1,...,Bl)の表現は数ベクトル( a 等しい、 ここで、 数1は0に等しいか0より大きく; 数kは1に等しいか1より大きく; f3(m0,B1,...,Bl)は、Gqで表され、位数qの有限群と称される、q個の要 素を有する数学構造体の要素であり; 数g1,...,gkはGqの要素であり;及び 数a1,...,akはZqで表され、整数モジュロqの環と称される数学構造体の要 素である、 請求項113に記載の装置。 128.数qは素数である、請求項127に記載の装置。 129.Gqは有限群Zp *の部分群(subgroup)であり; 数pは(p−1)がそのうちの一つがqに等しい少なくとも2つの大きい素数を 有する素数であり; 第1の利用者が数(p−1)の素因数分解を決定することが不可能であり;及 び環Zq内の数の線形結合が第1情報処理手段により演算されたモジュロ(p−1 )である、 請求項128に記載の装置。 130.m0が有限群Gqの要素であり、f3(m0,B1,...,Bl)がm0に等しい、請 求項127に記載の装置。 131.関数f2に関する数ベクトル(m0,B1,...,Bl)の表現(a1,...,ak) に対するアクセスを有することを第2情報処理手段に対して証明することができ る第1情報処理手段内の手段は、以下の手段からなる: 数ベクトル(b1,...,bk)に対するアクセスを有する、有限群Gq内の数Bに 第3の利用者にとって実質的に予測不可能である;及び 1≦i≦kについてγiがcai+bi mod qに等しい、環Zq内の呼びかけ数cに対 応するk個の応答数γ1,...,γkを計算し、インターフェース手段を通じて送る手 段、 請求項127に記載の装置。 の利用者によって決定された、有限群Gqの要素であり;及び 1に等しいかそれより大きいkについて、数g1,...,gkの各々は、集合{e1,. ..,ej}内の数のべき乗とそれらの逆数との積である、 請求項127に記載の装置。 133.第1の利用者に保持された第1情報処理手段が、第2の利用者に保持 された第2情報処理手段に対して、数ベクトルの記述を、数ベクトルについての いかなる付加情報を告知することなしに、証明するプロトコルを実施するための 装置、ここで、 数ベクトルは、kが1に等しいか大きい整数として、(u1,...,uk)で表さ れ; 数u1,...,ukの各々が、νを正の整数として、整数モジュロνの環と呼ば れ、Zvで表される数学構造体の要素であり; 数ベクトル(Z1,...,Zk)は第1及び第2情報処理手段の両方にアクセス 可能である; 数Z1,...,Zkの各々は、nを少なくとも2個の素数の積として、整数モジュ ロnの有限群と呼ばれ、Zn *で表される数学構造体の要素であり;及び 第1情報処理手段は、uk+1を有限群Zn *の要素とし、Aで表されるべき乗 に委任している、 該装置は以下の手段を備えている: 第1情報処理手段と第2情報処理手段との間にあって両者間の情報交換を可 能とするインターフェース手段; al+1)へのアクセスを有することを第1の情報処理手段により第2の情報処理手 段に対して証明する手段; ここで、 lを1に等しいか大きい数として、数Y1,...,Ylの各々が、集合{Z1,..., Zk}内の数のべき乗とそれらの逆数との積であり; Aの関数f1は集合{A,Z1,...,Zk}内の数のべき乗とそれらの逆数との積 であり;及び ベクトル(Y1,...,Yl)と関数f1は、一緒に、第1情報処理手段が証明す る数ベクトル(u1,...,uk)の記述を特定する。 134.第1情報処理手段が第2情報処理手段に対して、数ベクトル(a1,... ,al;al+1)へのアクセスを有することを証明することができる第1情報処理手 段 内の手段は、以下の手段からなる: 数ベクトル(b1,...,bl;bl+1)に対するアクセスを有する、有限群Zn *,bl;bl+1)は第2の利用者にとって予測不可能である; 1≦i≦lなるiについてγiがcai+bi mod νに等しい、環Zν内の呼びかけ 数cに対応する1個の応答数γ1,...,γlを計算し、インターフェース手段を介し て送る手段;及び 1を計算し、インターフェース手段を介して送る、 請求項133に記載の装置。 135.第1の利用者が、第2の利用者に対し、数ベクトルについてのいかな る付加情報なしに、ある数ベクトルを証明するプロトコルを与える方法であって 、 kが1か1より大きい整数であるとして、数ベクトルが(u1,...,uk)で表さ れ; 数u1,...,ukの各々は、qが正の整数であるとして、整数モジュロqの環と呼 ばれ、Zqで表される数学構造体の要素であり; 数ベクトル(e1,...,ek)は、第1の利用者と第2の利用者に知られており ; 数e1,...,ekの各々は、qが正の整数であるとして、次数qの有限群と呼ばれ 、Gqで表される数学構造体の要素であり;及び て数ベクトルに拘束される、 該方法は、以下のステップを含む: する、 ここで、 0に等しいか0より大きい1について、数g1,...,glの各々が、集合{e1,..., ek}内の数のべき乗とそれらの逆数との積である;及び ベクトル(g1,...,gl)と関数f1とは、一緒に、第1の利用者が証明する数 ベクトル(u1,...,uk)の記述を特定する方法。 136.第1情報処理手段が、第2情報処理手段に対し、数ベクトル(a1,... ,al)へのアクセスを有することを証明することができる第1情報処理手段内の 手段は以下の手段からなる; 数ベクトル(b1,...,bl)へのアクセスを有する、有限群Zn *内のBに委任 することができない;及び 1≦i≦lなるiについてγiがcai+bi mod qに等しい、環Zq内のチャレンジ 数cに対応する1個の応答数γ1,...,γlを計算し、インターフェース手段を介し て送る手段、 請求項135に記載の装置。 137.少なくとも一つの第1の利用者と少なくとも一つの第2の利用者との 間で認証された情報の電子転送を実行する方法であって、少なくとも一つの第3 の利用者は情報認証用の第1のプロトコルと認証された情報を検査するための第 2のプロトコルを使用し、ここで、数ベクトルの関数を逆関数化することが、少 なくとも第1の利用者にとって実質的に困難であるならば、数ベクトルの関数の 逆関数が、該関数に関する数ベクトルの表現と呼ばれる、 該装置は、以下の手段を備える: 第1の利用者に保持される第1情報処理手段; 第2の利用者の制御下にあり、第1の利用者からは制御できない第2情報 処理手段; 第3の利用者に保持される第2情報処理手段; 第1情報処理手段と第2情報処理手段との間にあって第1プロトコルにお ける両手段間の情報交換を可能にする第1インターフェース手段; 第1情報処理手段と第3情報処理手段との間にあって第2プロトコルにお ける両手段間の情報交換を可能にする第2インターフェース手段; 第1プロトコルにおいて第1情報処理手段にアクセス可能な第1の数ベク トルを決定する手段、 該第1の数ベクトルの不等関数f1に対するアクセスを、第2情報処理手 段が有しており、ここで、関数f1は身元確認関数でありうる; 第1プロトコルにおいて第1の数ベクトルを第2の数ベクトルに変換する 第1情報処理手段内の手段、該変換は第1情報処理手段によりランダムに発生さ れうる数を含み、第1情報処理手段は関数f2に関する第2の数ベクトルの表現 に対するアクセスを有している; 第1のプロトコルにおいて、第1の数ベクトルの関数f1を第3の数ベク トルに変換する第2情報処理手段内の手段、該変換は第2の利用者の秘密キイを 含んでおり、ここで、変換は第1インターフェース手段を通じてのこの第1情報 処理手段との相互作用を要求する; 第1のプロトコルにおいて、第2情報処理手段により第3の数ベクトルを 第1インターフェース手段を介して第1情報処理手段に渡す手段; 第1のプロトコルにおいて第3の数ベクトルを第4の数ベクトルに変換す る第1情報処理手段内の手段、該第4の数ベクトルは第2の利用者の秘密キイに 対応する公開キイを含む関係に従って、第2の数ベクトルに対応する; 第2のプロトコルにおいて、第2の利用者の公開キイを含む関係にしたが って第2の数ベクトルに対応する数ベクトルに対するアクセスを有することを、 第2のインターフェース手段を介して、第3情報処理手段に対して証明する第1 情報処理手段内の手段、証明は単に第4の数ベクトルを第3情報処理手段に対し 告知することにより行われる;及び 第2のプロトコルにおいて、関数f4に関する第2の数ベクトルの関数f3 の表現に対するアクセスを有することを、第2インターフェース手段を介して第 3情報処理手段に対し証明する第1情報処理手段内の手段; ここで、 第1の数ベクトルの不等関数I1は、第1情報処理手段による第1の数ベ クトルの第2の数ベクトルへの変換において適用されたランダムな選択に無関係 に、第1情報処理手段にとってアクセス可能な関数f2に関する第2の数ベクト ルの表現の不等関数I2に等しく; 関数f3とf4は、第2のプロトコルにおいて第3情報処理手段により試験 される関数f2に関する第2の数ベクトルの表現の関数I2の特定の記述を決定す る; 第2のプロトコルの第1回目の実行において、第3情報処理手段に告知さ れた情報は、第2のプロトコルの第1回目の実行において、試験される第2の数 ベクトルを得る第1のプロトコルの実行において第1情報処理手段が使用する特 定の第1の数ベクトルの関数f1と唯一無二の対応関係に持ち込むことができな い;及び 第1の利用者は、第1のプロトコルの実行において第2及び第4の数ベク トルが得られたときにのみ、第2のプロトコルにおいて、第2の数ベクトルの試 験を合格させることができる。 138.第2のプロトコルの実行中に、第3の利用者の情報処理手段により任 意の多数回、第2の数ベクトルが検査されたとしても、第2のプロトコルの実行 中において第3の利用者の情報処理手段に対して告知された情報を、第1の数ベ クトルの関数f1と一意対応関係に持ち込むことが実質的に実行不可、即ち不可能 のままである、請求項137に記載の方法。 139.第3の利用者の情報処理手段により、第2のプロトコルの実行中に第 2の数ベクトルが検査される回数が、1か1より大きい所定の境界を越えたなら ば、第2の数ベクトルは第1の数ベクトルの関数と一意対応関係に持ち込まれる 、請求項137に記載の方法。 140.第3の利用者の情報処理手段により、第2のプロトコルの実行中に第 2の数ベクトルが検査される回数が、1か1より大きい所定の境界を越えたなら ば、第2の数ベクトルは第1の数ベクトルと一意対応関係に持ち込まれる、請求 項137に記載の方法。 141.第1の数ベクトルの関数と、第1のプロトコルの実行中に第1の利用 者により告知された情報によって、第2の利用者が第1の数ベクトルを決定する ことは、実質的に実行不能、即ち不可能であるため、第2の利用者による第1の 数ベクトルの知識は、公平な利用者にとって、第2の数ベクトルが所定の境界を 越える回数検査されたことの正当な証明とすることができる、請求項140に記 載の方法。 142.第2の数ベクトルが、第3の利用者を相手とした第1の利用者の仮り 名として用いられる、請求項137に記載の方法。 143.第1のプロトコルの新規の実行のための第1の数ベクトルは、第1の 情報処理手段にアクセス可能な、関数f。に関する少なくとも1つの第2の数ベ クトルの表現の不等関数として決定され、ここで、少なくとも1つの第2の数ベ クトルは、第1のプロトコルの先の実行中に第1の利用者により獲得されている 、請求項137に記載の方法。 144.第1のプロトコルが少なくとも2回実行され、第1のプロトコルの先 の実行中に得られた少なくとも1つの第2の数ベクトルが、第3の利用者を相手 とした第1の利用者の仮り名として用いられ、第2のプロトコル中に第1の利用 者は、第1のプロトコルの新規の実行中にその仮り名の1にのみ対応し、かつ第 1の他の利用者の仮り名に対応することなく、得られる第2の数ベクトルの検査 を、以下の理由により、合格させることができる; 第1の情報処理手段は、第1の数ベクトルを第2の数ベクトルに変換すると きに、第1のプロトコルの新規の実行において既に上記仮り名に拘束されていな ければならない;及び 関数f3は第1のプロトコルの新規の実行において得られる第2の数ベクトル のみならず、第1の情報処理手段が第1のプロトコルの新規の実行において恐ら くコミットした(commit)仮り名にも作用する、 請求項137に記載の方法。 145.第1のプロトコルが少なくとも2回実行され、第1のプロトコルの先 の実行中に得られた少なくとも1つの第2の数ベクトルが、第3の利用者を相手 とした第1の利用者の仮り名として用いられ、第2のプロトコルの実行中に、第 1の利用者は、第1のプロトコルの新規の実行中に、その仮り名の1つのみに対 応し、かつ第1の他の利用者の仮り名に対応することなく得られる第2の数ベク トルの検査を、以下の理由により合格させる、 ここで、第1の情報処理手段が、第2のプロトコルの実行において第4の数 ベクトルを第3の情報処理手段に転送すれば足りる: 第1の情報処理手段は、第1のプロトコルの新規の実行において、第1の数 ベクトルを上記仮り名の不等関数に変換する、ここで、該関数は第2の情報処理 手段にアクセス可能である;及び 第3の情報処理手段は第2のプロトコルにおいて、第1の情報処理手段が転 送した数ベクトルが第2の利用者の公開キイを含む関係に従って上記仮り名の関 数に対応する、 請求項137に記載の方法。 146.第1のプロトコルは、少なくとも2回実行され、ここで、第1のプロ トコルの先の実行で得られた少なくとも1つの第2数ベクトルが第3の利用者を 相手として第1の利用者の仮り名として使用され、第1の利用者は、第3の利用 者を相手とするいずれか一つの仮り名に対応し、かつ第1の他の利用者の仮り名 に対応することなく、第1のプロトコルの新規の実行において得た第2の数ベク トルの試験を第2のプロトコルにおいて合格させる;それは関数f3が第1プロト コルの新規の実行において得られた第2の数ベクトルのみならず、第1の利用者 が所有者であると主張するいずれかの仮り名にも作用するという理由による、請 求項137に記載の方法。 147.第1の情報処理手段にアクセス可能な、関数f2に関する第2の数ベク トルの表現の関数I2は、第1の利用者の資格認証(credentials)の特定のセッ トを表すので、第1の利用者は、あるセットの資格認証を第2の数ベクトル内に 保持しているといわれる、請求項137に記載の方法。 148.第1の数ベクトルの関数I1は、第2の利用者が第1の利用者に対し て発行する資格認証のセットを特定するので、資格認証のセットは、第2の利用 者によって第2の数ベクトル内に備え付けられているといわれる、請求項147 に記載の方法。 149.第1のプロトコルの新規の実行における第1の数ベクトルは、 それによって第1の利用者の資格認証が更新される値を特定する数ベクトル と、第1の情報処理手段にアクセス可能な、関数f2に関する第2の数ベクトルの 表現との 不等関数として決定されるので、 第2の数ベクトル内に第1の利用者によって保持されている資格認証のセッ トは第1のプロトコルの新規の実行において更新されるといわれる、 請求項147に記載の方法。 150.第2の利用者は、第1の利用者によって第2の数ベクトル内に保持さ れている資格認証のセットを知らない、請求項149に記載の方法。 151.第2の利用者は、それによって第1の利用者の資格認証が更新される 値を特定する数ベクトルを知らない、請求項149に記載の方法。 152.第1のプロトコルにおいて第2の情報処理手段により計算される変換 は、少なくとも2つの異なる秘密キイの1つを含んでおり、第2の情報処理手段 によって使用される特定の秘密キイは、第2の数ベクトル内に保持された資格認 証のセットが、どの範ちゅうに関係するかを特定するので、第1の利用者は、異 なる第2の数ベクトル内に、異なる範ちゅうに属する複数の資格認証のセットを 保持することができる、請求項147に記載の方法。 153.第1の利用者は、各々が異なる範ちゅうに属するとともにそれ自身の 第2の数ベクトル内に保持される少なくとも2つの資格認証のセットを保持し、 第1の利用者は、第2のプロトコルにおいて、少なくとも2つの異なる範ちゅう に属する資格認証を、対応する全ての第2の数ベクトルに作用する関数f3を特定 することにより試験する、請求項152に記載の方法。 154.第1の情報処理手段は夫々メモリ手段を有する少なくとも2つの別個 の情報処理手段からなり、第1情報処理手段内に設けられた両方の情報処理手段 は、第2のプロトコルにおける第2の数ベクトルの試験を合格させるために、第 1と第2のプロトコルにおいて必然的に協力しなければならない、請求項137 に記載の方法。 155.第1情報処理手段は各々それ自身のメモリ手段を含む2つの情報処理 手段からなる; 第1情報処理手段を構成ずる一方の情報処理手段は、不正に対抗的であっ て、そのメモリ手段は第1の利用者に対しアクセスすることができない; 不正に対抗的な情報処理手段は、第1及び第2インターフェース手段に対 するアクセスを持たない; 第1情報処理手段を構成する他方の情報処理手段は第1の利用者の制限下 にあって、第1及び第2インターフェース手段へのアクセスを有する; 不正に対抗的な情報処理手段及び第1の利用者の制御下にある情報処理手 段は、両処理手段間の情報交換を可能とする第3のインターフェース手段を含む ;及び 不正に対抗的な情報処理手段と第1の利用者の制御下にある情報処理手段 とは、不正に対抗的な情報処理手段が第3情報処理手段と直接に通信できな いように構成されているので、不正に対抗的な情報処理手段は、第2のプロトコ ルにおいて、第1の利用者の制御下にある情報処理手段に情報を送ることのみが できる、 請求項154に記載の装置。 156.不正に対抗的な情報処理手段が、第1及び第2プロトコルにおいて、 第1の利用者の制御下にある情報処理手段から受信し、或はそこに送信する情報 及び不正に対抗的な情報処理手段にとってアクセス可能でそれを同定するのに用 いられる情報は、第1の利用者の制御下にある情報処理手段が、第2のプロトコ ルにおいて第3情報処理手段に送信し、或はそれから受信する情報とは統計的に 独立である、請求項155に記載の装置。 157.第1情報処理手段を構成する2つの情報処理手段の各々は、第1情報 処理手段を構成する他方の情報処理手段にアクセスできない数ベクトルに対する アクセスを有し、第1情報処理手段を構成する各情報処理手段にアクセス可能な 数ベクトルはその情報処理手段の初期数ベクトルとして参照され; 第1のプロトコルにおいて第1の数ベクトルは、第1情報処理手段を構成 する2つの情報処理手段に知られた初期数ベクトルの不等関数として決定され、 第2情報処理手段と不正に対抗的な情報処理手段とは、第1の数ベクトルに対す るアクセスを有する; 不正に対抗的な情報処理手段は、第1プロトコルにおいて、ランダム数ベ クトルとして参照される数ベクトルを第1の利用者の制御下にある情報処理手段 に送る、ここでランダム数ベクトルは不正に対抗的な情報処理手段が関数f2に 関するランダム数ベクトルについてのランダムに選んだ表現に対するアクセスを 有するものである; 第1の利用者の制御下にある情報処理手段により第1プロトコルにおいて 行われる、第1の数ベクトルから第2の数ベクトルへの変換は、不正に対抗的な 情報処理手段が上記情報処理手段に送ったランダム数ベクトルを含んでいる;及 び 第2プロトコルにおいて、不正に対抗的な情報処理手段は、応答ベクトル として参照される数ベクトルを第1の利用者の制御下にある情報処理手段に送る 、上記応答ベクトルは、第1の利用者の制御下にある情報処理手段によってそれ に送られた、呼びかけベクトルとして参照される数ベクトルに対応する、不正に 対抗的な情報処理手段の初期数ベクトルとそのランダム数ベクトルの不等関数で ある、 請求項155に記載の装置。 158.仮り名は、第1の利用者が、関数f2に関する仮り名の表現を知るため に必然的に協力しなければならない少なくとも2つの利用者により構成されるの で、集合的仮り名と言われる、請求項144又は146に記載の方法。 159.本方法は電子支払いに用いられる: 第1の利用者は消費者などの支払う側である; 第2の利用者は現金を発行する銀行の如き金融機関である; 第3の利用者は商店などのサービス機関である; 第1の利用者は、第2の利用者を相手に引き出しプロトコルと呼ばれる第1 のプロトコルを実行することによってお金を引き出し、第3の利用者を相手にし て、支払いプロトコルと呼ばれる第2のプロトコルを実行することにより、第3 の利用者でお金を使う;及び 第3の利用者は、第2の利用者から自らの口座にお金が振り込まれるように 、支払いプロトコルの実行の写しを送る、 請求項137から157のいずれか1つに記載の方法。 160.第1の利用者の所持金額は第1情報処理手段内に設けられたカウンタ の値によって指示されており、 第1情報処理手段は不正に対抗することができ、第1の利用者にとってアク セス不可能なメモリ手段を含んでいる; 第1情報処理手段は上記カウンタをアップさせダウンさせる手段を含んでい る; 第1情報処理手段は、引き出しプロトコルにおいて、第1の利用者により引 き出された金額だけカウンタをアップする;及び 第1情報処理手段は、第1の利用者により使われた金額だけ、支払いプロト コルにおいてカウンタをダウンする、 請求項159に記載の装置。 161.第1の利用者の所持金額が第1情報処理手段内に設けられたカウンタ の値によって指示されており、 第1情報処理手段は2つの情報処理手段からなり; 第1情報処理手段を構成する一方の情報処理手段は不正に対抗的で第1の利 用者にとってアクセスできないメモリ手段を含み、さらに、第1及び第2のイン ターフェース手段に対するアクセスを持っておらず; 不正に対抗的な情報処理手段は上記カウンタを有しており、それをアップ・ ダウンする手段を有し; 第1情報処理手段を構成する他方の情報処理手段は第1の利用者の制御下に あり、第1及び第2インターフェース手段に対するアクセスを有し、メモリ手段 を含んでおり; 不正に対抗的な情報処理手段と第1の利用者の制御下にある情報処理手段と は、両者間の情報交換を可能とする第3インターフェース手段を含んでおり; 不正に対抗的な情報処理手段と第1の利用者の制御下にある情報処理手段と は、不正に対抗的な情報処理手段は第3情報処理手段と直接に交信できないよう に構成されているので、支払いプロトコルにおいて、不正に対抗的な情報処理手 段は、第3インターフェース手段を介して、第1の利用者の制御下にある情報処 理手段に情報を送ることができるのみであり; 不正に対抗的な情報処理手段は、引き出しプロトコルにおいて、第1の利用 者により引き出された金額だけカウンタをアップし;及び 不正に対抗的な情報処理手段は、支払いプロトコルにおいて、第1の利用者 が使った金額だけカウンタをダウンする、 請求項159に記載の装置。 162.第1の数ベクトルの関数f1が、第2の利用者によって第1の利用者の 身元に唯一無二の方法で関連付けられているので、第1の利用者が、所定の値を 越える回数第2の数ベクトルを用いた場合にのみ、第1の利用者の身元が確認さ れる、追跡不能な電子キャッシュシステムを実施するための、請求項139に記 載の方法。 163.不正に対抗的な利用者によって保持される情報が、第1の利用者を構 成する他の利用者(利用者達)にとってアクセスすることができるようになり、 かつ、詐欺があったとしても、その後、第2の利用者によって第1の利用者の身 元を追跡できる場合にのみ、第2の数ベクトルを1に等しいかそれより大きい境 界値を越える回数使うことができる追跡不可能な電子キャッシュシステムを実施 するための、請求項155から157の1つに記載の方法。 164.第2の利用者が誤って所定の境界値を越える回数第2の数ベクトルを 使った第1の利用者を告発するといった第2の利用者の故意の企みに対して第1 の利用者を法的に保護するための機構を、追跡不可能な電子キャッシュシステム において実現するための請求項141に記載の方法。 165.取り下げられた各第2の数ベクトルは、1つの特定の仮り名のもとで のみ使うことができる、追跡不可能な電子キャッシュシステムを実現するための 請求項144に記載の方法。 166.電子小切手を送ることができ、ここで、 第1の数ベクトルの関数I1は、実質的にランダムで第2の利用者に知られ ないように選ばれた数を含んでおり; 第2プロトコルにおいて、第1の情報処理手段は、アクセス可能な関数f2に 関する第2の数ベクトルの表現の関数I2内の数のサブセットを告知し、告知さ れた特定のサブセットは電子小切手によって支払われた額を指示する;及び 第1の利用者は、第1の数ベクトルの関数I1に含まれ、実質的にランダム に選ばれた数のサブセットを、第1情報処理手段により第2の利用者に告知する ことにより、使われなかった小切手の部分について、第2の利用者から払いもど しを受けることができ、上記サブセットは、第2のプロトコルにお いて第3の利用者に告知した数のサブセットと相補的である、 追跡不可能な電子キャッシュシステムを実現する、請求項139に記載の方法。 167.第1のプロトコルが少なくとも2回実行され、 第1のプロトコルの第1回の実行における第1の数ベクトルの関数f1は、第 2の利用者により、第1の利用者の身元と唯一無二の方法で関連付けられる; 第1のプロトコルの第1回の実行において第1の情報処理手段が獲得した第 2の数ベクトルは第2の利用者を相手とした第1の利用者の仮り名として用いら れる; 第1のプロトコルの相続く実行における第1の数ベクトルの関数f1は第2の 利用者を相手とした第1の利用者の仮り名に等しい;及び 第2のプロトコルの対応する実行において第1の情報処理手段が告知した情 報は、第2の利用者が、第1のプロトコルの第1回目の実行において用いられた 第1の数ベクトルの関数f1を計算することを可能とするので、第1の利用者の身 元は、第1の利用者が、第1のプロトコルの相続く実行の1つで獲得した第2の 数ベクトルを所定の境界値を越える回数使用したときに決定されうる、 匿名銀行口座を備える追跡不可能な電子キャッシュシステムを実現する、請求項 143に記載の方法。 168.関数f2に関する数ベクトル(m0,B1,...,Bl)の表現が、Y1 a1・・・Yk ak ak+1 νが数ベクトル(m0,B1,...,Bl)の不等関数f3に等しくなるような数 ベクトル(a1,...,ak;ak+1)であり、ここで、 数kと1は0に等しいかそれより大きい; f3(m0,B1,...,Bl)はZn *で表され、整数モジュロnの有限群と呼ばれる数 学構造体の要素である; 数nは少なくとも2つの大きな素数の積である; 数Y1,...,Ykは有限群Zn *の要素である; 数νは正の整数である; 数a1,...,akはZνで表され、整数モジュロνの環と呼ばれる数学構造体の 要素である;及び 数ak+1はZn *の要素である、 請求項137に記載の方法。 169.関数f2に関する数ベクトル(m0,B1,...,Bl)の表現は、Y1 a1…Yk ak ak+1 νが数ベクトル(m0,B1,...,Bl)の不等関数f3に等しくなる数ベクトル (a1,...,ak;ak+1)であり、ここで、 数kと1は0に等しいかそれより大きい; f3(m0,B1,...,Bl)はZn *で表され、整数モジュロnの有限群と呼ばれる数 学構造体の要素である; 数nは少なくとも2つの大きな素数の積である; 数Y1,...,Ykは有限群Zn *の要素である; 数νは正の整数である; 数a1,...,akはZνで表され、整数モジュロνの環と呼ばれる数学構造体の 要素である、 及び 不正に対抗的な情報処理手段にアクセス可能な初期数ベクトルは(o1,..., ok;ok+1)で記述され、o1,...,okは環Zνの要素であり、ok+1は有限群Zn * の要素である; 不正に対抗的な情報処理手段が第1のプロトコルにおいて第1の利用者の制 に等しく、ここで、u1,...,ukは環Zνの要素であり、uk+1は有限群Zν *の 要素である; 第1の利用者の制御下にある情報処理手段が不正に対抗的な情報処理手段に 渡した呼びかけベクトルは、環Zν内の数cである;及び 不正に対抗的な情報処理手段が第2のプロトコルにおいて第1の利用者の制 御下にある情報処理手段に渡した、(γ1,...,γk;γk+1)で表される数ベ クトルは、1≦i≦kについて各γiがcoi+ui mod νに等しく、γk+1は(Π 請求項157に記載の方法。 170.関数f2に関する数ベクトル(m0,B1,...,Bl)の表現は、g1 a1…gk ak が数ベクトル(m0,B1,...,Bl)の公開された不等関数f3に等しくなるような数 ベクトル(a1,...,ak)であり、ここで、 数1は0に等しいかそれより大きい; 数kは1に等しいかそれより大きい; f3(m0,B1,...,Bl)はq個の要素を持ち、Gqで表され、位数qの有限群と呼 ばれる数学構造体の要素である; 数g1,...,gkはGqの要素である;及び 数a1,...,akは、Zqで表され、整数モジュロqの環と呼ばれる数学構造体の 要素である、 請求項137に記載の方法。 171.関数f2に関する数ベクトル(m0,B1,...,Bl)の表現は、g1 a1…gk ak が数ベクトル(m0,B1,...,Bl)の公開された不等関数f3に等しくなるような 数ベクトル(a1,...,ak)であり、ここで、 数1は0かそれより大きい; 数kは1かそれより大きい; f3(m0,B1,...,Bl)はq個の要素を持ち、Gqで表され、位数qの有限群と呼 ばれる数学構造体の要素である; 数g1,...,gkはGqの要素である;及び 数a1,...,akは、Zqで表され、整数モジュロqの環と呼ばれる数学構造体の 要素である、 及び 不正に対抗的な情報処理手段にアクセス可能な初期数ベクトルは、(o1,.. .,ok)で記述され、ここでo1,...,okは環Zqの要素である; 不正に対抗的な情報処理手段が、第1のプロトコルにおいて、第1の利用者 しく、u1,...,ukは環Zqの要素である; 第1の利用者の制御下にある情報処理手段により、不正に対抗的な情報処理 手段に渡された呼びかけベクトルは、環Zq内の数cである;及び 不正に対抗的な情報処理手段が、第2のプロトコルにおいて、第1の利用者 の制御下にある情報処理手段に渡した、(γ1,...,γk)で表される数ベクトル は、1≦i≦kについて、各γiがcoi+ui mod νに等しい、 請求項157に記載の方法。
JP7505757A 1993-08-02 1994-08-01 制限付きブラインド署名 Ceased JPH09500977A (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
NL9301348A NL9301348A (nl) 1993-08-02 1993-08-02 Elektronisch betalingssysteem.
NL9301348 1993-08-02
NL9302103A NL9302103A (nl) 1993-08-02 1993-12-03 Vertrouwelijke electronische gegevensoverdracht.
NL9302103 1993-12-03
US08/203,231 US5521980A (en) 1993-08-02 1994-02-28 Privacy-protected transfer of electronic information
PCT/NL1994/000179 WO1995004417A1 (en) 1993-08-02 1994-08-01 Restricted blind signatures

Publications (1)

Publication Number Publication Date
JPH09500977A true JPH09500977A (ja) 1997-01-28

Family

ID=27352448

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7505757A Ceased JPH09500977A (ja) 1993-08-02 1994-08-01 制限付きブラインド署名

Country Status (8)

Country Link
US (1) US5521980A (ja)
EP (1) EP0740872A1 (ja)
JP (1) JPH09500977A (ja)
AU (1) AU698271B2 (ja)
CA (1) CA2168658A1 (ja)
NL (2) NL9301348A (ja)
SG (1) SG49828A1 (ja)
WO (1) WO1995004417A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11110464A (ja) * 1997-10-03 1999-04-23 Nri & Ncc Co Ltd 電子証券の発行、移転、証明、消去のための処理システム及びその処理方法
WO2006070682A1 (ja) * 2004-12-27 2006-07-06 Nec Corporation 制限付ブラインド署名システム

Families Citing this family (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5271061A (en) * 1991-09-17 1993-12-14 Next Computer, Inc. Method and apparatus for public key exchange in a cryptographic system
US5983207A (en) 1993-02-10 1999-11-09 Turk; James J. Electronic cash eliminating payment risk
US6415271B1 (en) 1993-02-10 2002-07-02 Gm Network Limited Electronic cash eliminating payment risk
US5712913A (en) * 1994-02-08 1998-01-27 Digicash Incorporated Limited-traceability systems
US5604805A (en) * 1994-02-28 1997-02-18 Brands; Stefanus A. Privacy-protected transfer of electronic information
US5668878A (en) * 1994-02-28 1997-09-16 Brands; Stefanus Alfonsus Secure cryptographic methods for electronic transfer of information
US5682430A (en) * 1995-01-23 1997-10-28 Nec Research Institute, Inc. Secure anonymous message transfer and voting scheme
FR2731534B1 (fr) * 1995-03-07 1997-04-04 France Telecom Procede de paiement dans une application telematique et dispositif de mise en oeuvre de ce procede
DE69611605T2 (de) * 1995-03-27 2001-06-13 Stefanus Alfonsus Brands System zur sicherstellung, dass das "blinding" von geheimschlüsselzertifikaten begrenzt ist, auch wenn das vergabeprotokoll im parallelmodus ausgefürht wird
US5832089A (en) * 1995-06-07 1998-11-03 Sandia Corporation Off-line compatible electronic cash method and system
US5742845A (en) 1995-06-22 1998-04-21 Datascape, Inc. System for extending present open network communication protocols to communicate with non-standard I/O devices directly coupled to an open network
EP0835572A1 (en) * 1995-06-30 1998-04-15 Stefanus Alfonsus Brands Restritedly blindable certificates on secret keys
US5889862A (en) * 1995-07-17 1999-03-30 Nippon Telegraph And Telephone Corporation Method and apparatus for implementing traceable electronic cash
JPH0954808A (ja) * 1995-08-18 1997-02-25 Fujitsu Ltd オンライン決済システム、電子小切手の発行システム及び検査システム
US6175626B1 (en) 1995-09-29 2001-01-16 Intel Corporation Digital certificates containing multimedia data extensions
US5712914A (en) * 1995-09-29 1998-01-27 Intel Corporation Digital certificates containing multimedia data extensions
FR2739469B1 (fr) * 1995-10-03 1997-12-26 Gemplus Card Int Procede de cryptographie a cle publique base sur le logarithme discret
JPH11514752A (ja) * 1995-11-03 1999-12-14 ブランズ,ステファヌス・アルフォンスス 命題論理から充足可能な論理式を証明するための暗号手段
US5901229A (en) * 1995-11-06 1999-05-04 Nippon Telegraph And Telephone Corp. Electronic cash implementing method using a trustee
US6026163A (en) * 1995-12-13 2000-02-15 Micali; Silvio Distributed split-key cryptosystem and applications
US5812670A (en) * 1995-12-28 1998-09-22 Micali; Silvio Traceable anonymous transactions
US5615269A (en) * 1996-02-22 1997-03-25 Micali; Silvio Ideal electronic negotiations
EP0792044B1 (en) * 1996-02-23 2001-05-02 Fuji Xerox Co., Ltd. Device and method for authenticating user's access rights to resources according to the Challenge-Response principle
US6945457B1 (en) 1996-05-10 2005-09-20 Transaction Holdings Ltd. L.L.C. Automated transaction machine
CA2263588C (en) * 1996-08-19 2005-01-18 Ntru Cryptosystems, Inc. Public key cryptosystem method and apparatus
GB2317790B (en) * 1996-09-26 1998-08-26 Richard Billingsley Improvements relating to electronic transactions
US6320966B1 (en) 1996-10-23 2001-11-20 Stefanus A. Brands Cryptographic methods for demonstrating satisfiable formulas from propositional logic
EP0956673A4 (en) * 1996-12-20 2005-04-06 Financial Services Technology METHOD AND SYSTEM FOR PROCESSING ELECTRONIC DOCUMENTS
US6131090A (en) * 1997-03-04 2000-10-10 Pitney Bowes Inc. Method and system for providing controlled access to information stored on a portable recording medium
US20050049082A1 (en) * 1998-03-18 2005-03-03 Callaway Golf Company Golf ball
RU2157001C2 (ru) * 1998-11-25 2000-09-27 Закрытое акционерное общество "Алкорсофт" Способ проведения платежей (варианты)
CA2290170C (en) * 1999-01-29 2005-06-14 International Business Machines Corporation Improved digital signature
WO2000070487A1 (en) 1999-05-14 2000-11-23 Frenkel Marvin A Anonymous on-line cash management system
US20040133782A1 (en) * 1999-08-11 2004-07-08 International Computer Science Institute, A California Corporation Anonymous electronic transactions using auditable membership proofs
US20020078358A1 (en) * 1999-08-16 2002-06-20 Neff C. Andrew Electronic voting system
AU2001241609A1 (en) * 2000-02-23 2001-09-03 Capital One Financial Corporation Systems and methods for providing anonymous financial transactions
US7099471B2 (en) * 2000-03-24 2006-08-29 Dategrity Corporation Detecting compromised ballots
US20060085647A1 (en) * 2000-03-24 2006-04-20 Neff C A Detecting compromised ballots
US20030028423A1 (en) * 2000-03-24 2003-02-06 Neff C. Andrew Detecting compromised ballots
DE60114833T2 (de) * 2000-03-24 2006-04-13 Dategrity Corp., Bellevue Überprüfbare, geheime mischung von verschlüsselten daten wie z. b. elgamal-verschlüsselte daten für gesicherte mehrinstanzwahlen
US7389250B2 (en) 2000-03-24 2008-06-17 Demoxi, Inc. Coercion-free voting scheme
US7222362B1 (en) * 2000-05-15 2007-05-22 International Business Machines Corporation Non-transferable anonymous credentials
GB0013349D0 (en) * 2000-06-01 2000-07-26 Tao Group Ltd Pseudo-random number generator
WO2001095078A1 (en) * 2000-06-06 2001-12-13 Ingeo Systems, Inc. Creating and verifying electronic documents
US6976162B1 (en) 2000-06-28 2005-12-13 Intel Corporation Platform and method for establishing provable identities while maintaining privacy
GB0017479D0 (en) * 2000-07-18 2000-08-30 Bit Arts Ltd Transaction verification
CN1336597A (zh) * 2000-08-02 2002-02-20 邵通 密码物权转移方法和系统
US6910132B1 (en) * 2000-09-15 2005-06-21 Matsushita Electric Industrial Co., Ltd. Secure system and method for accessing files in computers using fingerprints
CA2439093A1 (en) * 2001-02-20 2002-10-03 Votehere, Inc. Detecting compromised ballots
US8554607B2 (en) * 2001-03-13 2013-10-08 Science Applications International Corporation Method and system for securing network-based electronic voting
US7729991B2 (en) * 2001-03-20 2010-06-01 Booz-Allen & Hamilton Inc. Method and system for electronic voter registration and electronic voting over a network
CA2441304C (en) * 2001-03-24 2005-05-31 Votehere, Inc. Verifiable secret shuffles and their application to electronic voting
WO2002087148A1 (en) 2001-04-23 2002-10-31 International Business Machines Corporation Non-transferable anonymous digital receipts
US7194760B2 (en) * 2001-05-21 2007-03-20 Nokia Corporation Method for protecting privacy when using a Bluetooth device
AU2003246823A1 (en) * 2002-04-12 2003-10-27 Thomson Licensing S.A. Method for the anonymous authentication of a data transmitter
US20030221105A1 (en) * 2002-05-20 2003-11-27 Autodesk, Inc. Extensible mechanism for attaching digital signatures to different file types
SG145524A1 (en) * 2002-08-07 2008-09-29 Mobilastic Technologies Pte Lt Secure transfer of digital tokens
US20040107170A1 (en) * 2002-08-08 2004-06-03 Fujitsu Limited Apparatuses for purchasing of goods and services
US7822688B2 (en) * 2002-08-08 2010-10-26 Fujitsu Limited Wireless wallet
US7606560B2 (en) * 2002-08-08 2009-10-20 Fujitsu Limited Authentication services using mobile device
US7784684B2 (en) * 2002-08-08 2010-08-31 Fujitsu Limited Wireless computer wallet for physical point of sale (POS) transactions
US7801826B2 (en) * 2002-08-08 2010-09-21 Fujitsu Limited Framework and system for purchasing of goods and services
US7107447B2 (en) * 2003-04-17 2006-09-12 America Online, Inc. Use of pseudonyms vs. real names
US7290278B2 (en) 2003-10-02 2007-10-30 Aol Llc, A Delaware Limited Liability Company Identity based service system
ZA200602880B (en) * 2003-10-08 2007-08-29 Stephan J Engberg Method and system for establishing a communication using privacy enhancing techniques
US7930757B2 (en) * 2003-10-31 2011-04-19 Adobe Systems Incorporated Offline access in a document control system
US8108672B1 (en) 2003-10-31 2012-01-31 Adobe Systems Incorporated Transparent authentication process integration
US8627489B2 (en) * 2003-10-31 2014-01-07 Adobe Systems Incorporated Distributed document version control
US7877605B2 (en) * 2004-02-06 2011-01-25 Fujitsu Limited Opinion registering application for a universal pervasive transaction framework
ATE362249T1 (de) * 2004-03-02 2007-06-15 France Telecom Verfahren und vorrichtungen zur erstellung fairer blindunterschriften
CA2567727A1 (en) * 2004-06-07 2005-12-22 Dategrity Corporation Cryptographic systems and methods, including practical high certainty intent verification, such as for encrypted votes in an electronic election
US7730319B2 (en) * 2004-08-27 2010-06-01 Ntt Docomo, Inc. Provisional signature schemes
US7995758B1 (en) 2004-11-30 2011-08-09 Adobe Systems Incorporated Family of encryption keys
EP1882330A1 (de) * 2005-05-20 2008-01-30 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum erstellen und übertragen eines schlüsselpaars zwischen einer zertifizierungsautorität und einem empfänger
US8832047B2 (en) 2005-07-27 2014-09-09 Adobe Systems Incorporated Distributed document version control
TWI340354B (en) * 2006-12-14 2011-04-11 Inst Information Industry System, method, and computer readable medium for micropayment with varying denomination
US7958057B2 (en) * 2007-03-28 2011-06-07 King Fahd University Of Petroleum And Minerals Virtual account based new digital cash protocols with combined blind digital signature and pseudonym authentication
CN101335622B (zh) * 2007-06-27 2012-08-29 日电(中国)有限公司 使用匿名柔性凭证的用于分布式授权的方法和装置
US7986779B2 (en) * 2007-06-30 2011-07-26 Intel Corporation Efficient elliptic-curve cryptography based on primality of the order of the ECC-group
US7877331B2 (en) * 2007-09-06 2011-01-25 King Fahd University Of Petroleum & Minerals Token based new digital cash protocols with combined blind digital signature and pseudonym authentication
US8549589B2 (en) * 2008-11-10 2013-10-01 Jeff STOLLMAN Methods and apparatus for transacting with multiple domains based on a credential
US8464313B2 (en) * 2008-11-10 2013-06-11 Jeff STOLLMAN Methods and apparatus related to transmission of confidential information to a relying entity
US9183407B2 (en) 2011-10-28 2015-11-10 Microsoft Technology Licensing Llc Permission based query processing
WO2014040717A1 (de) * 2012-09-11 2014-03-20 Giesecke & Devrient Gmbh Börse-zu-börse übertragung eines elektronischen geldbetrags (münze)
US20150242597A1 (en) * 2014-02-24 2015-08-27 Google Inc. Transferring authorization from an authenticated device to an unauthenticated device
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
US11367077B2 (en) * 2015-06-11 2022-06-21 Idid Tecnologia Ltda Antifraud resilient transaction identifier datastructure apparatuses, methods and systems
US10243738B2 (en) 2015-12-04 2019-03-26 Microsoft Technology Licensing, Llc Adding privacy to standard credentials
SG10201701044SA (en) * 2017-02-09 2018-09-27 Huawei Int Pte Ltd System and method for computing private keys for self certified identity based signature schemes
US11122033B2 (en) * 2017-12-19 2021-09-14 International Business Machines Corporation Multi factor authentication
US11012435B2 (en) 2017-12-19 2021-05-18 International Business Machines Corporation Multi factor authentication
US11068240B1 (en) * 2020-06-19 2021-07-20 Panagiotis Andreadakis Aperiodic pseudo-random number generator using big pseudo-random numbers

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4529870A (en) * 1980-03-10 1985-07-16 David Chaum Cryptographic identification, financial transaction, and credential device
US4759063A (en) * 1983-08-22 1988-07-19 Chaum David L Blind signature systems
US4759064A (en) * 1985-10-07 1988-07-19 Chaum David L Blind unanticipated signature systems
US4926480A (en) * 1983-08-22 1990-05-15 David Chaum Card-computer moderated systems
US5005200A (en) * 1988-02-12 1991-04-02 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US5214702A (en) * 1988-02-12 1993-05-25 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US4868877A (en) * 1988-02-12 1989-09-19 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US4914698A (en) * 1988-03-16 1990-04-03 David Chaum One-show blind signature systems
JP3333503B2 (ja) * 1988-03-16 2002-10-15 デジキャッシュ・インコーポレーテッド 1回提示ブラインドサインシステム
US4949380A (en) * 1988-10-20 1990-08-14 David Chaum Returned-value blind signature systems
US4996711A (en) * 1989-06-21 1991-02-26 Chaum David L Selected-exponent signature systems

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11110464A (ja) * 1997-10-03 1999-04-23 Nri & Ncc Co Ltd 電子証券の発行、移転、証明、消去のための処理システム及びその処理方法
WO2006070682A1 (ja) * 2004-12-27 2006-07-06 Nec Corporation 制限付ブラインド署名システム

Also Published As

Publication number Publication date
AU698271B2 (en) 1998-10-29
SG49828A1 (en) 1998-06-15
NL9302103A (nl) 1995-07-03
WO1995004417A1 (en) 1995-02-09
NL9301348A (nl) 1995-03-01
EP0740872A1 (en) 1996-11-06
AU7709394A (en) 1995-02-28
US5521980A (en) 1996-05-28
CA2168658A1 (en) 1995-02-09

Similar Documents

Publication Publication Date Title
JPH09500977A (ja) 制限付きブラインド署名
US5604805A (en) Privacy-protected transfer of electronic information
Brickell et al. Trustee-based Tracing Extensions to Anonymous Cash and the Making of Anonymous Change.
Lee et al. A Survey on Security and Privacy in Blockchain-based Central Bank Digital Currencies.
Hölbl et al. EduCTX: an ecosystem for managing digital micro-credentials
KR20000014231A (ko) 오프라인 전자 거래 시스템 및 이를 이용한 전자 상거래 방법
CN113994357A (zh) 在终端与支付系统之间直接传输电子硬币数据记录的方法
Park et al. Towards secure quadratic voting
US7356842B2 (en) Cryptographic revocation method using a chip card
US20070262135A1 (en) Method and system for postdating of financial transactions
Carbunar et al. Conditional e-payments with transferability
Noam et al. Realizing privacy aspects in blockchain networks
KR20230088694A (ko) 분산 원장에서의 익명성 취소를 통한 안전하고 추적 가능하며 개인 정보를 보호하는 디지털 통화 송금 방법
Stancel Economic Consequences of Cryptocurrencies and Associated Decentralized Systems
Ogiela et al. Protocol for irreversible off-line transactions in anonymous electronic currency exchange
US11386406B2 (en) BitMint*LeVeL: decentralized mathematics digital coin * quantum safe, robust anonymity
Burmester et al. Uncoercible e-bidding games
Doesburg et al. Using IRMA for small scale digital elections
JP3428876B2 (ja) 電子証券の発行、移転、証明、消去のための処理システム及びその処理方法
Luo et al. An e-cash Scheme with Multiple Denominations and Transferability
Hong et al. A Solution for the Offline Double-Spending Issue of Digital Currencies
Nijholt et al. Why do we need/want cryptocurrency
Xue Privacy-Preserving and Regulation-Enabled Mechanisms for Blockchain-based Financial Services
JPH09128465A (ja) 信託機関付き電子現金方法
JONÁŠ et al. Economic Consequences of Cryptocurrencies and Associated Decentralized Systems

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050405

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050705

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050822

A313 Final decision of rejection without a dissenting response from the applicant

Free format text: JAPANESE INTERMEDIATE CODE: A313

Effective date: 20051121

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060104