JP2005513564A - 負荷を複数のエンティティおよびそのデバイスに分散させるための暗号法 - Google Patents
負荷を複数のエンティティおよびそのデバイスに分散させるための暗号法 Download PDFInfo
- Publication number
- JP2005513564A JP2005513564A JP2003555732A JP2003555732A JP2005513564A JP 2005513564 A JP2005513564 A JP 2005513564A JP 2003555732 A JP2003555732 A JP 2003555732A JP 2003555732 A JP2003555732 A JP 2003555732A JP 2005513564 A JP2005513564 A JP 2005513564A
- Authority
- JP
- Japan
- Prior art keywords
- proof
- integer
- entity
- public key
- modulo
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public 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/302—Public 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3218—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
Abstract
本発明は、第2のエンティティ(B)が公開鍵を使って第1のエンティティ(A)により提供されるプルーフを検証するための、第1エンティティ(A)が第1のエンティティ(A)によって秘密にされている秘密鍵に含まれる第1の整数sよりも、かなり大きい第1の乱数rを生成する暗号法に関するものである。第1のエンティティ(A)は、指数を第1の乱数rとする前記公開鍵に含まれるあるいは含まれない第1の整数Gの、nを法とする累乗計算から得られるプルーフの第1の要素を生成する。第1のエンティティ(A)は、第1の乱数rと少なくとも第1の秘密鍵整数sの一次結合により前記秘密鍵のイメージyを生成する。第2のエンティティ(B)は、プルーフの第1の要素がプルーフYの第2の要素の、指数が第3の整数eである累乗と前記公開鍵に含まれる第4の整数vの、指数が前記共通数cである累乗の、nを法とする積に一致するかどうかを検証する。
Description
本発明は、暗号の技術分野に関するものであり、より正確には、公開鍵暗号法と呼ばれるものに関する。この種の暗号法では、ユーザは所定の用途に関して一対の鍵を所有する。前記一対の鍵は、このユーザが公表しないで隠しておく秘密鍵と、このユーザが他のユーザに伝達することができる関連する公開鍵とからなる。例えば、一対の鍵が機密にすることのみを目的とする場合、公開鍵を使用して、データを暗号化し、秘密の鍵を使用してそれを暗号解読する、つまりこのデータを平文で再確立する。
公開鍵暗号法は、秘密鍵暗号法とは異なり、これまで非常に広く使用されてきており、セキュリティ保護された通信を確立するために相手と同じ秘密を共有する必要はない。しかし、セキュリティに関するこのような利点はパフォーマンスに関する欠点と裏腹であるが、それは「公開鍵スキーム」とも呼ばれる公開鍵暗号法は、「秘密鍵スキーム」とも呼ばれる秘密鍵暗号法と比べて数百倍から数千倍程度遅いことが多いためである。したがって、接触型であろうと非接触型であろうと標準マイクロプロセッサカードなど資源が制限されている環境において使用できるような、実行速度の速い公開鍵暗号法を見つけることは大変な難題である。
現時点で存在するほとんどの公開鍵スキームは、算術演算(つまり「数輪」)の分野の数学的問題の難しさに依存している。したがって、RSA(Rivest,Shamir,Adleman)数値署名および暗号化スキームのセキュリティは、因数分解の難しさ、つまり、比較可能なサイズの2つまたはそれ以上の素数を掛け合わせて秘密のうちに得られた非常に大きな整数(500ビットを超えるもの)が与えられた場合に、現時点では元の素数を求める実効的方法が存在しないということに基づいている。
ElGamalデジタル署名または暗号化スキームなどの他の公開鍵スキームは、そのセキュリティに関して、「離散対数問題」と呼ばれる問題の難しさに依存している。この問題は、その最も一般的なケースにおいて、Eを演算(つまり、2つの元aとbが与えられた場合に、「a.b」または「ab」と表され、「aとbの積」と呼ばれる元を関連付ける関数)の与えられている集合とし、gをEの1つの元とし、rを大きな整数とし、yをy=gr(つまり、gがr回出現する積g・g・...・g)により定義された整数とすると、gとyから元のrを求めることは可能でない、というように表現できる。
本発明は、より具体的には、「識別」とも呼ばれるエンティティ認証の技術分野に関するものであり、また公開鍵暗号手法を使ったメッセージの認証およびデジタル署名の認証の技術分野に関するものである。このような方法では、「証明者(prover)」と呼ばれる認証されたエンティティは、秘密鍵および関連する公開鍵を所有する。証明者は、その秘密鍵を使用して認証値を出力する。「検証者」と呼ばれる認証側エンティティでは、認証値を検証するのに証明者の公開鍵のみがあればよい。
本発明は、より具体的には、さらに「ゼロ知識開示」と呼ばれる認証方法に関するものである。これは、認証は、実証済みの方法では、何回使用したとしても、認証済みエンティティの秘密鍵に関して何ら明らかにしないプロトコルを使用して実行されることを意味している。この種のスキームからは、標準の手法を使用して、メッセージおよびこのメッセージのデジタル署名を認証するスキームを推論する方法が知られている。
本発明は、さらに具体的には、セキュリティが整数の因数分解の問題および離散対数問題の難しさに両方とも基づく方法に関するものである。
本発明は、公開鍵暗号法を使用してその要素および/または取引のセキュリティを保護する多くのシステムにおいて、またより具体的には、さまざまなパーティによって実行される計算の数が、計算を高速化するため「暗号プロセッサ」と呼ばれることの多い暗号計算専用のコプロセッサが利用可能になっていないという理由から、あるいは例えば中央サーバの場合に多数の計算を同時に実行することができるという理由から、または他の何らかの理由により、少なくともそれらのうちの1つについて、クリティカルなパラメータであるシステムにおいて適用することが可能である。
通常のアプリケーションは、銀行カードまたは電子サイフによる、電子決済である。近接通信決済の場合、決済端末は公開の場所にあり、公開鍵暗号法を使用し、マスター鍵を格納しないよう指示される。そのようなシステムの総コストを減らすため、カードを標準マイクロプロセッサカード、つまり、暗号プロセッサを搭載しないカードとするか、または端末自体に内蔵されるセキュリティ保護マイクロプロセッサを標準タイプとするか、またはそれら両方とすることが望ましいと思われる。場合によっては、また採用されている暗号方法によっては、現時点で知られている従来技術はこれらの目標の一方または他方を達成しているが、両方を同時に達成しながら、システムの制約に適合することは容易でない。このような制約の例として、1秒以内に、さらには非接触型取引の場合には150ミリ秒以内に、さらには高速道路料金所の場合には数ミリ秒以内に決済する事例がある。
知られているすべての暗号方式の制限の1つに、パーティそれぞれが実行しなければならない計算の回数が方法自体により固定されており、変更できないという問題がある。特に、そのようなものまたはそのような環境に適合するように、証明者と必ずしも機密でない第三者との間の計算の分散を変更することは可能でない。このため、制約が異なるさまざまな環境において同じ方法を利用することができなくなっている。
本発明の目的は、かなりの量の計算を、関わっている複数のエンティティのうち少なくとも2つの間に分散し、しかもこの分散で前記方法により実現されるセキュリティのレベルが変わらないようにすることが可能な公開鍵暗号法を指定することである。公開鍵デジタル署名または認証方法の場合、本発明は、実行される計算の回数を減らすことにより証明者の負担を軽減するのに特に役立つ。本発明では、計算の一部を他のエンティティに任せることが可能であり、しかも、この他のエンティティを機密にする必要がない。より一般的には、本発明では、計算の全部または一部を注目する複数のエンティティの間に何らかの方法で分散させ、所定のアプリケーションに関連する制約条件を満たすようにできる。
第1のエンティティが、第1のエンティティにより秘密にされている秘密鍵を使って、前記秘密鍵に関連付けられている公開鍵を使って第2のエンティティにより検証可能なプルーフ(proof)を生成する暗号法を考察すると、本発明による方法は、プルーフの少なくとも1つの要素が元の前記秘密鍵を取り出すことを許さないデータ項目のオープンデジタル処理により少なくとも一部は生成されるステップを含むという点で注目に値する。
「オープンデジタル処理」という表現は、考えられる侵入に対する特定の保護の恩恵を受けないデジタル処理オペレーションを意味すると理解される。このオープンデジタル処理オペレーションは、エンティティにより実行可能である。上述のデータ項目は、例えば、前記秘密鍵のイメージである。
負荷を分散させることが可能であるため、全く同一の暗号方法を非常に多様な数多くの制約条件を持つ多数のアプリケーションおよび環境で使用することができる。特に、限られた計算能力を持つチップを使用して比較的短い時間で取引を遂行することができると思われる。
例えば、n個の整数を含み、乗算などの内部算法が与えられている有限群の特性を利用する暗号法が知られている。特に、nが少なくとも2つの非常に大きな素数の積である数の場合に、累乗の元の指数を復元することは実際上不可能である。
特に本発明による方法は、
-第1のエンティティが第1のエンティティにより秘密にされている第1の乱数を使ってプルーフの第1の要素を生成する第1のステップと、
- 1つまたは複数の共通数と呼ばれるものがプルーフの第1の要素と関連して生成され、したがって第1のエンティティおよび第2のエンティティが前記1つまたは複数の共通数を認識していなければならない第2のステップと、
- 少なくとも第1の秘密鍵整数と第1の乱数および前記共通数の少なくとも1つとを組み合わせることにより第1のエンティティは前記秘密鍵のイメージを生成する第3のステップと、
- プルーフの第2の要素は、前記秘密鍵のイメージに対して、エンティティにより実行可能なオープンデジタル処理オペレーションを適用することにより生成され、前記公開鍵の第1の部分をプルーフの第2の要素に適用し、前記公開鍵の少なくとも第2の部分を前記共通数の少なくとも1つに適用することにより第2のエンティティがプルーフの第1の要素とプルーフの第2の要素との一致を検証できるようにする第4のステップを含む。
-第1のエンティティが第1のエンティティにより秘密にされている第1の乱数を使ってプルーフの第1の要素を生成する第1のステップと、
- 1つまたは複数の共通数と呼ばれるものがプルーフの第1の要素と関連して生成され、したがって第1のエンティティおよび第2のエンティティが前記1つまたは複数の共通数を認識していなければならない第2のステップと、
- 少なくとも第1の秘密鍵整数と第1の乱数および前記共通数の少なくとも1つとを組み合わせることにより第1のエンティティは前記秘密鍵のイメージを生成する第3のステップと、
- プルーフの第2の要素は、前記秘密鍵のイメージに対して、エンティティにより実行可能なオープンデジタル処理オペレーションを適用することにより生成され、前記公開鍵の第1の部分をプルーフの第2の要素に適用し、前記公開鍵の少なくとも第2の部分を前記共通数の少なくとも1つに適用することにより第2のエンティティがプルーフの第1の要素とプルーフの第2の要素との一致を検証できるようにする第4のステップを含む。
「プルーフの第1の要素と関連する共通数の生成」という表現は、プルーフの第1の要素が予め知られていなければならない共通数の生成を意味するものと理解される。この生成は、純粋にランダムで、プルーフの第1の要素とは無関係であってよく、あるいはプルーフの第1の要素に依存していてもよい。この関連付けにより、共通数が生成されたときにプルーフの第1の要素に戻ることが不可能になる。
より具体的には、
- 第1のステップで、第1のエンティティは、第1のエンティティにより秘密にされる秘密鍵に含まれる第1の整数sよりも非常に大きい第1の乱数rを生成し、第1のエンティティは、前記公開鍵に含まれている場合も含まれていない場合もある、指数が第1の乱数rである第1の整数Gの、nを法とする累乗を計算した後に得られるプルーフの第1の要素を生成し、
- 第3のステップでは、第1のエンティティは、第1の乱数rと少なくとも第1の秘密鍵整数sの一次結合により前記秘密鍵のイメージyを生成し、前記一次結合の少なくとも1つの乗法的係数は前記共通数または前記共通数のうちの1つであり、
- 第4のステップで、生成されたプルーフYの第2の要素は、前記公開鍵に含まれる場合も含まれない場合もあり、その指数が秘密鍵のイメージyである、第2の整数gの、nを法とする累乗に等しく、第2の整数gは、第1の公開鍵整数Gが、前記公開鍵に含まれる場合も含まれない場合もある第3の整数を指数とする第2の整数gの、nを法とする累乗となるような整数である。
- 第1のステップで、第1のエンティティは、第1のエンティティにより秘密にされる秘密鍵に含まれる第1の整数sよりも非常に大きい第1の乱数rを生成し、第1のエンティティは、前記公開鍵に含まれている場合も含まれていない場合もある、指数が第1の乱数rである第1の整数Gの、nを法とする累乗を計算した後に得られるプルーフの第1の要素を生成し、
- 第3のステップでは、第1のエンティティは、第1の乱数rと少なくとも第1の秘密鍵整数sの一次結合により前記秘密鍵のイメージyを生成し、前記一次結合の少なくとも1つの乗法的係数は前記共通数または前記共通数のうちの1つであり、
- 第4のステップで、生成されたプルーフYの第2の要素は、前記公開鍵に含まれる場合も含まれない場合もあり、その指数が秘密鍵のイメージyである、第2の整数gの、nを法とする累乗に等しく、第2の整数gは、第1の公開鍵整数Gが、前記公開鍵に含まれる場合も含まれない場合もある第3の整数を指数とする第2の整数gの、nを法とする累乗となるような整数である。
第1に、第3のステップで生成された秘密鍵イメージを知っても、秘密鍵に関する情報は得られず、後者は第1の乱数との一次結合によりマスクされており、そのプルーフの第1の要素からは何も明らかにならない。第2に、プルーフの第1の要素および公開鍵を知っていても、秘密鍵のイメージがわかっていないとプルーフの第2の要素を生成できず、第2のステップにおけるその生成は単独で秘密鍵および乱数を知っている第2のエンティティでしか実行されない。第1のエンティティは、プルーフの第1の要素との一致の信頼できる検証には第3の整数と共通数の比較的小さな値で十分なので、第5のステップを実行するのに限られたコンピューティング資源を持つ場合がある。
第4のステップは、第1のエンティティにより実行することができる。しかし、第4のステップで累乗を計算するコストは、指数が大きな値を取るためかなり大きなものになる。
第4のステップは、第1のエンティティから秘密鍵のイメージyを受け取るエンティティにより実行されると都合がよい。上で説明したように、秘密鍵のイメージがどのようなエンティティに知られていようと、この方法のセキュリティは損なわれない。第1のエンティティ以外のエンティティによる第4のステップの実行により、第1のエンティティの負担が軽減される。エンティティはどれも、オプションにより、第2のエンティティまたは中間エンティティである。
また第4のステップは、
- 第1のエンティティは、イメージyをイメージyを表すデータワードのu個の下位ビットにより表される第1の部分イメージy'と、前記データワードの残りの上位ビットにより表される第2の部分イメージy"とに分解し、第1のエンティティは第1のコンポーネントY'とプルーフの第2の要素の第2のコンポーネントg'を生成し、前記コンポーネントでは以下が成り立ち、
- 第1のエンティティは、イメージyをイメージyを表すデータワードのu個の下位ビットにより表される第1の部分イメージy'と、前記データワードの残りの上位ビットにより表される第2の部分イメージy"とに分解し、第1のエンティティは第1のコンポーネントY'とプルーフの第2の要素の第2のコンポーネントg'を生成し、前記コンポーネントでは以下が成り立ち、
第1のエンティティは、第1のコンポーネントY'、第2のコンポーネントg'、および第2の部分イメージy"を中間エンティティに送信する、第1のサブステップと、
- 任意のエンティティが第2の部分イメージy"を指数とする第2のコンポーネントg'の累乗を第1のコンポーネントY'に掛けることによりプルーフYの第2の要素を生成し、任意のエンティティがプルーフYの第2の要素を第2のエンティティに送る第2のサブステップを含むと都合がよい。
- 任意のエンティティが第2の部分イメージy"を指数とする第2のコンポーネントg'の累乗を第1のコンポーネントY'に掛けることによりプルーフYの第2の要素を生成し、任意のエンティティがプルーフYの第2の要素を第2のエンティティに送る第2のサブステップを含むと都合がよい。
y'の値は、したがってyの値よりも小さいが、第1のコンポーネントY'と第2のコンポーネントg'を生成するのに第2のエンティティにおいて限られたコンピューティング資源のみ必要とする。第2の部分イメージおよび2つのコンポーネントY'およびg'は任意が秘密鍵のイメージを完全に知らなくてもプルーフの第2の要素を生成するのに十分であるため、この方法のセキュリティは向上する。
特に、暗号法を使用して第1のエンティティと第2のエンティティとの間の対話を認証する場合、第2のステップは、第2のエンティティから受け取ったプルーフの第1の要素に関して、セキュリティ間隔における少なくとも1つの共通数を選択し前記共通数を第1のエンティティに送る第2のエンティティにより実行される。
これにより、第2のエンティティは、第1のエンティティが対話内のプルーフの第1の要素との一致としてプルーフの第2の要素を生成することに関して共通数を受け取ったことを確認することが可能になる。
より具体的には第5のステップで、プルーフxの第1の要素が、指数が第3の整数eであるプルーフYの第2の要素の累乗と、指数が前記共通数cである前記公開鍵に含まれる第4の整数vの累乗との、nを法とする積に等しいときに一致が検証される。
より具体的にはさらに、また異なる形で、対話が第1のエンティティによるメッセージMの送信を含む場合、第5のステップにおいて、プルーフの第1の要素がプルーフの第1の要素が添付されているデジタルメッセージM、及び、指数が第3の整数eであるプルーフYの第2の要素の累乗と、指数が前記共通数cである前記公開鍵に含まれる第4の整数vの累乗との、nを法とする積の関数に等しい場合に一致が検証される。
より具体的に、かつ異なる形で、メッセージ署名Mに暗号法を使用する場合、第2のステップは、プルーフの第1の要素およびデジタルメッセージMに基づいて少なくとも1つの共通数を生成し、前記デジタルメッセージMに前記共通数が添付される、第1のエンティティにより実行される。
より具体的には第5のステップにおいて、共通数が、デジタルメッセージM、及び、指数が第3の整数eであるプルーフYの第2の要素の累乗と、指数が前記共通数cである前記公開鍵に含まれる第4の整数vの累乗との、nを法とする積の関数に等しい場合に、一致が検証される。
本発明の対象は、暗号法を実装するように設計されている証明者デバイス、検証者デバイス、および媒介デバイスでもある。
証明者デバイスを考察すると、秘密にされ侵入者に対する保護処置が講じられている秘密鍵を与えられており、プルーフを生成することに関して、その検証では前記秘密鍵に関連付けられている公開鍵を使用することにより証明者デバイスが前記プルーフの発信者であることを保証することが可能であるが、証明者デバイスは、
- 証明者デバイス内に秘密にされている第1の乱数に基づいて、プルーフの第1の要素を生成し、少なくとも第1の秘密鍵整数と第1の乱数およびプルーフの第1の要素に関連付けられている複数の共通数のうち少なくとも1つを組み合わせることにより前記秘密鍵のイメージを生成し、前記公開鍵の第1の部分をプルーフの第2の要素に適用し、前記公開鍵の少なくとも第2の部分を前記共通数の少なくとも1つに適用することによりオープンデジタル処理オペレーションをプルーフの第1の要素とプルーフの第2の要素との一致を検証することを可能にする前記秘密鍵イメージに適用することによりプルーフの第2の要素を生成することが可能であるように設計されている計算手段と、
- プルーフの少なくとも前記第1の要素を伝送するように設計されている通信手段を備えるという点で注目に値する。
- 証明者デバイス内に秘密にされている第1の乱数に基づいて、プルーフの第1の要素を生成し、少なくとも第1の秘密鍵整数と第1の乱数およびプルーフの第1の要素に関連付けられている複数の共通数のうち少なくとも1つを組み合わせることにより前記秘密鍵のイメージを生成し、前記公開鍵の第1の部分をプルーフの第2の要素に適用し、前記公開鍵の少なくとも第2の部分を前記共通数の少なくとも1つに適用することによりオープンデジタル処理オペレーションをプルーフの第1の要素とプルーフの第2の要素との一致を検証することを可能にする前記秘密鍵イメージに適用することによりプルーフの第2の要素を生成することが可能であるように設計されている計算手段と、
- プルーフの少なくとも前記第1の要素を伝送するように設計されている通信手段を備えるという点で注目に値する。
証明者デバイスでは、
- 一方で、計算手段は、秘密にされている秘密鍵に含まれる第1の整数sよりもかなり大きい第1の乱数rを生成し、第1の乱数rを指数とする前記公開鍵に含まれている場合もいない場合もある第1の整数Gの、nを法とする累乗を計算することによりプルーフの第1の要素を生成するように設計され、
- 他方で、計算手段は、第1の乱数rと少なくとも第1の秘密鍵整数sの一次結合により前記秘密鍵のイメージyを生成し、前記一次結合の少なくとも1つの乗法的係数は前記共通数または前記共通数のうちの1つであるように設計されると都合がよい。
- 一方で、計算手段は、秘密にされている秘密鍵に含まれる第1の整数sよりもかなり大きい第1の乱数rを生成し、第1の乱数rを指数とする前記公開鍵に含まれている場合もいない場合もある第1の整数Gの、nを法とする累乗を計算することによりプルーフの第1の要素を生成するように設計され、
- 他方で、計算手段は、第1の乱数rと少なくとも第1の秘密鍵整数sの一次結合により前記秘密鍵のイメージyを生成し、前記一次結合の少なくとも1つの乗法的係数は前記共通数または前記共通数のうちの1つであるように設計されると都合がよい。
証明者デバイスのさまざまな修正は、実装すべき方法のバージョンに応じて好ましい。
例えば、通信手段は、さらに、プルーフの第1の要素を伝送した後に前記共通数を受信するように設計されている。
通信手段は、秘密鍵イメージを伝送するように設計されているのが好ましい。
任意選択により、計算手段は、プルーフの第2の要素を生成するように設計される。
計算手段は、イメージyを、イメージyを表すデータワードのu個の下位ビットにより表される第1の部分イメージy'と、前記データワードの残りの上位ビットにより表される第2の部分イメージy"とに分解し、第1のコンポーネントY'とプルーフの第2の要素の第2のコンポーネントg'を生成し、前記コンポーネントでは以下が成り立ち、
ただし、gは、第1の公開鍵整数Gが前記公開鍵に含まれる第3の整数eを指数とする第2の整数gの、nを法とする累乗となるような第2の整数であり、通信手段は、第1のコンポーネントY'、第2のコンポーネントg'、および第2の部分イメージy"を伝送するように設計されると都合がよい。
メッセージ署名の特定の場合、計算手段は、プルーフの第1の要素と、デジタルメッセージMとに基づいて、少なくとも1つの共通数を生成し、前記デジタルメッセージMには前記共通数が添付されるように設計される。
さまざまな他の実施形態によれば、計算手段は、前記公開鍵に含まれる場合も含まれない場合もある、指数は第1の乱数rである、第1の整数Gの、nを法とする累乗を計算することによりプルーフの第1の要素を生成するように設計される。
第1の他の実施形態によれば、第1の公開鍵整数Gおよび第4の公開鍵整数vは、それぞれ以下の式で与えられる。
G=ge modulo n
v=G-s modulo n
G=ge modulo n
v=G-s modulo n
第2の他の実施形態によれば、第1の公開鍵整数Gおよび第4の公開鍵整数vは、それぞれ以下の式で与えられる。
G=ge modulo n
v=Gs modulo n
G=ge modulo n
v=Gs modulo n
第3の他の実施形態によれば、第1の公開鍵整数Gおよび第4の公開鍵整数vは、それぞれ以下の式で与えられる。
G=g-e modulo n
v=G-s modulo n
G=g-e modulo n
v=G-s modulo n
第4の他の実施形態によれば、計算手段は、以下の式により、2つの共通数aおよびbの一次結合により秘密鍵イメージyを生成するように設計される。
y=ar+bs
y=ar+bs
第5の他の実施形態によれば、秘密鍵が複数の秘密数s1、s2などを含む場合、
- 計算手段は、プルーフxの第1の要素に関連付けられている、同じ数の共通数c1、c2を生成するように設計され、
- 計算手段は、以下の式による一次結合により秘密鍵イメージを生成するように設計される。
y=r+c1s1+c2s2+...
- 計算手段は、プルーフxの第1の要素に関連付けられている、同じ数の共通数c1、c2を生成するように設計され、
- 計算手段は、以下の式による一次結合により秘密鍵イメージを生成するように設計される。
y=r+c1s1+c2s2+...
第6の他の実施形態によれば、公開鍵が特に証明者デバイス内で素数が秘密にされる法nを含む場合、計算手段(37)は、中国の剰余定理と呼ばれる手法を使用することにより累乗を計算するように設計される。証明者デバイスは、公開鍵がプルーフxの第1の要素のk個のあらかじめ計算された値を含む場合に改善され、計算手段は、繰り返し毎にプルーフの第1の要素の異なる値で各実行をk回繰り返すように設計される。
任意選択により、プルーフの第1の要素は、前記公開鍵に含まれる場合もあれば含まれない場合もある、指数は第1の乱数rである、第1の整数Gの、nを法とする累乗の関数fに等しい。前記秘密鍵に関連付けられている公開鍵を使用して、証明者デバイスにより秘密にされている秘密鍵が与えられる証明者デバイスによりプルーフが発行されたことを検証する検証者デバイスを考察すると、検証者デバイスは、
- プルーフの第1の要素とプルーフの第2の要素を受け取るように設計されている通信手段と、
- 前記公開鍵の第1の部分をプルーフの第2の要素に、前記公開鍵の少なくとも第2の部分をプルーフの第1の要素に関連して生成された複数の共通数のうち少なくとも1つに適用することによりプルーフの第1の要素とプルーフの第2の要素との一致を検証するように設計されている計算手段を備えるという点で注目に値する。
- プルーフの第1の要素とプルーフの第2の要素を受け取るように設計されている通信手段と、
- 前記公開鍵の第1の部分をプルーフの第2の要素に、前記公開鍵の少なくとも第2の部分をプルーフの第1の要素に関連して生成された複数の共通数のうち少なくとも1つに適用することによりプルーフの第1の要素とプルーフの第2の要素との一致を検証するように設計されている計算手段を備えるという点で注目に値する。
検証者デバイスでは、計算手段は、プルーフの第1の要素が、指数が第3の整数eであるプルーフYの第2の要素の累乗と指数が前記共通数cである第4の整数vの累乗の、nを法とする積と一致することを検証し、第3の整数および第4の整数は前記公開鍵に含まれるように設計されると都合がよい。
また、計算手段は、プルーフの第1の要素を受信した後セキュリティ間隔の範囲内の少なくとも1つの共通数を選択するように設計されると都合がよく、また通信手段は前記共通数を伝送するように設計されるという点で都合がよい。
特に、計算手段は、プルーフxの第1の要素が、指数が第3の整数eであるプルーフYの第2の要素の累乗と指数が前記共通数cである前記公開鍵に含まれる第4の整数vの累乗の、nを法とする積に等しいときに一致が検証されたと宣言するように設計される。
より具体的には、計算手段は、プルーフの第1の要素が、プルーフの第1の要素が添付されるデジタルメッセージM、および、その指数が第3の整数eであるプルーフYの第2の要素の累乗と、その指数が前記共通数cである前記公開鍵に含まれる第4の整数vの累乗との、nを法とする積の関数に等しいときに一致が検証されたと宣言するように設計される。
別の方法で、計算手段は、共通数がデジタルメッセージM、及び、指数が第3の整数eであるプルーフYの第2の要素の累乗と、指数が前記共通数cである前記公開鍵に含まれる第4の整数vの累乗との、nを法とする積の関数に等しい場合に、一致が検証されたと宣言するように設計される。
検証者デバイス内でこの等式の検証に使用する公式は、
x=Yevc modulo n
または、
Ye=vcx modulo n
または、
Yex=vc modulo n
であるか、またはそうでなければ、一致は、以下の等式により検証される。
Yevb=xa modulo n
x=Yevc modulo n
または、
Ye=vcx modulo n
または、
Yex=vc modulo n
であるか、またはそうでなければ、一致は、以下の等式により検証される。
Yevb=xa modulo n
秘密鍵が複数の秘密数s1、s2などを含む場合、計算手段(38)は、プルーフxの第1の要素について、同じ数の共通数c1、c2などを選択するように設計されており、計算手段(38)は、以下の等式を使って、同じ数の第4の公開鍵整数v1、v2などによる一致を検証するように設計されている。
Yev1c2V2c2...=x modulo n
Yev1c2V2c2...=x modulo n
検証者デバイスの他の実施形態では、計算手段は、メモリ内に、公開鍵の一部としてみなされるプルーフxの第1の要素の少なくとも1つのあらかじめ計算された値を備える。
特に、計算手段は、メモリ内に、プルーフxの第1の要素のk個のあらかじめ計算された値を備え、通信手段は、プルーフのk個の第2の要素を受信するように設計されており、計算手段は、受信されたプルーフのそれぞれの第2の要素とプルーフの第1の要素の異なる値との一致を検証するように設計されている。
検証者デバイスの他の実施形態では、プルーフの第1の要素が、前記公開鍵に含まれる場合もあれば含まれない場合もある、指数は第1の乱数rである、第1の整数Gの、nを法とする累乗の関数fに等しい場合、計算手段は、この関数の結果に関する検証を実行するように設計される。
証明者デバイスにより秘密にされている秘密鍵に基づきプルーフを生成する目的のため証明者デバイスの下流に導入することに関して媒介デバイスを考察するが、前記プルーフは前記秘密鍵に関連付けられている公開鍵により検証可能であり、媒介デバイスは、前記秘密鍵のイメージのオープンデジタル処理によりプルーフの少なくとも1つの要素を生成する計算手段を含み、前記秘密鍵イメージでは前記秘密鍵を元に戻すことができないという点で注目に値する。
特に、デバイスは前記秘密鍵イメージyを作成するように設計されている通信手段を備える。
考えられる一実施形態によれば、計算手段は、指数が秘密鍵イメージyである前記公開鍵に含まれる第2の整数gの、nを法とする累乗を計算することによりプルーフYの第2の要素を生成するように設計される。
考えられる他の実施形態によれば、媒介デバイスは、秘密鍵の第1の部分イメージy'、第1のコンポーネントY'、およびプルーフの第2の要素の第2のコンポーネントg'を受信するように設計された通信手段を備え、計算手段は、第2の部分イメージy"を指数とする第2のコンポーネントg'の累乗を第1のコンポーネントY'に掛けることによりプルーフYの第2の要素を生成するように設計される。
媒介デバイスの通信手段は、プルーフYの第2の要素を検証者デバイスに伝送するように設計されているのが好ましい。
本発明は、付属の図面を参照して後述する説明例を見るとさらによく理解されるであろう。
後述の実装方法は、エンティティ認証また識別方法である。これにより、証明者Aは、本物であることを検証者Bに納得させることができる。この方法は、メッセージまたはメッセージデジタル署名を認証する方法に変換することができる。そのセキュリティは、大きな整数を因数分解するという複合した難しさに依存する。
目的と上で説明した結果に従って、この方法では、計算を複数のエンティティ間に分散させる方法に応じた2つのオプションを含む。nを大きな合成数とし、5つの正の整数e、g、G、s、およびvを正かつnよりも小さく数とし、以下の式が成り立つとする。
G=ge (mod n) and v=G-S (mod n)
目的と上で説明した結果に従って、この方法では、計算を複数のエンティティ間に分散させる方法に応じた2つのオプションを含む。nを大きな合成数とし、5つの正の整数e、g、G、s、およびvを正かつnよりも小さく数とし、以下の式が成り立つとする。
G=ge (mod n) and v=G-S (mod n)
したがって、プルーフ書の公開鍵は、全部または一部、選択されたオプションに応じて、5つ組(n,e,g,G,v)から形成されるが、秘密鍵は、証明者により秘密にされている少なくとも整数sから形成される。公開鍵自体は、複数の証明者に共通であるという意味で一般的部分と、証明者ごとに異なるという意味で固有の部分に分解することができる。
セキュリティパラメータと呼ばれる2つの正整数kおよびtも定義される。すべてのオプションにおいて、第1のエンティティ-検証者B-はすでに、第2のエンティティ-証明者A-によりプルーフが与えられていることを検証するために必要なすべての公開パラメータ、つまり、そのアイデンティティ、公開鍵、公開鍵プルーフ書などを知っている。
第1のオプションにより、公開鍵は、3つ組(n,e,v)であり、エンティティBによるエンティティAの認証は、図1を参照して現在説明されているプロトコルをk回繰り返すことにより実行される。
第1のステップ9で、エンティティAは、sよりもかなり大きな第1の乱数rを生成し、x=Gr(mod n)を計算し、xをエンティティBに送信する。周知のように、エンティティAおよびBは、コンピュータタイプ、またはチップカードタイプのものである。「(mod n)」という表現は、、nを法とするということを表す、つまり、周知のように、計算の結果は、一般的に法と呼ばれる整数nによる注目している演算の結果の整数除算の剰余である。ここで、整数xは、乱数rを生成するエンティティのみが数値xを生成することができるためプルーフの第1の要素となる。乱数rは、それを生成するエンティティによって伝達されることはない。知られている数論から、数rは、第1の整数Gおよび法nを知っても数rを数xから復元できないような十分に大きな数値として選択される。プルーフのこの第1の要素は、第1の整数Gが公開鍵に含まれている場合、任意のエンティティがそのような要素を任意の乱数から生成できるため十分ではない。図1を参照して説明した方法では、整数Gは必ずしも公開鍵に含まれないことに注意されたい。
プルーフxの第1の要素をエンティティBが受け取ると、遷移10の有効性が確認され、その後、第2のステップ11がアクティブ化される。
ステップ11で、エンティティBは、セキュリティ間隔と呼ばれる間隔[0,t-1]の範囲内の整数cをランダムに選択し、その数cをエンティティAに送信する。したがって、数cは、エンティティBによるプルーフの第1の要素に関連して生成され、エンティティAおよびBに共通であり、また、エンティティAとBとの間の対話にこっそり入り込む他のエンティティにも共通である。
共通数cをエンティティAが受け取ると、遷移12の有効性が確認され、その後、第3のステップ13がアクティブ化される。
ステップ13で、エンティティAはy=r+scを計算する。そこで、エンティティAは秘密鍵のイメージyを数rと数sの一次結合の形で生成し、その乗法的係数は共通数cである。乱数rは非常に大きく、伝達されないため、イメージyを知っても、積scを復元することはできず、したがって、秘密鍵の元の数sを得ることはできず、したがって、エンティティAにより秘密にされたままである。エンティティAだけが数sを知っているので、エンティティAのみが共通数cを組み込むイメージを生成することができる。
ここで、第4のステップ15は、ステップ13の直後にアクティブ化される。ステップ15で、エンティティAはY=gy(mod n)を計算して、YをBに送信する。したがって、エンティティAは、プルーフYの第2の要素をここで生成する。第2の整数gは必ずしも、公開鍵の中に含まれないことに注意されたい。エンティティBがプルーフYの第2の要素を受け取ると、遷移16の有効性が確認され、その後、第5のステップ17がアクティブ化される。
ステップ17で、エンティティBは、Yevc=x(mod n)であることを検証する。上で見たように、プルーフの第2の要素は、秘密鍵に関する情報を伝達しないが、プルーフYの第2の要素は、以下のようになる。
Y=gr+sc(mod n)
Y=gr+sc(mod n)
したがって、プルーフYの第2の要素の指数が公開鍵の第3の整数eである累乗の計算を行うと、以下の式が得られる。
Ye=g(r+sc)e=Gr+sc(mod n)
Ye=g(r+sc)e=Gr+sc(mod n)
さらに、数論によれば第4の整数vは秘密鍵に関する情報を一切伝達しないが、前記整数は実際には、以下のようになる。
vc=G-sc(mod n)
vc=G-sc(mod n)
したがって、いつでもrが伝達されなければ、等式
Yevc=Gr=x(mod n)
により、エンティティAは、これだけがsを知っているが、cも知っていることがプルーフされる。
Yevc=Gr=x(mod n)
により、エンティティAは、これだけがsを知っているが、cも知っていることがプルーフされる。
インポスターを秘密sを知らずにAであるとしてごまかそうとするエンティティであると考えると、このインポスターを検出しない確率は1/ktに等しい。多くのアプリケーションでは、積ktは、216のオーダーの例として、比較的小さい値となるように選択することができる。
k=1およびt=eとするのが好ましく、この場合、上で定義されている確率は、1/eに等しく、適用される検証式は1つだけである。eが例えば216に等しいとすると、指数eおよびcは比較的小さいため検証は比較的短時間のうちに終わる。この検証は、あらかじめステップ11の終わり、または前もって計算することによりさらに高速化することができる。
z=vc(mod n)
z=vc(mod n)
こうして、第4のステップでは、BはYez=x(mod n)を検証するだけでよい。kおよびtの他の値も可能である。
この基本プロトコルを最適化するさまざまな方法が考えられる。例えば、v=G-s(mod n)は、v=Gs(mod n)で置き換えることができ、その場合、検証の式は、Ye=xvc(mod n)となる。
再び、例えば、G=ge(mod n)は、G=g-e(mod n)で置き換えることが可能であり、その場合、検証の式は、xYe=vc(mod n)となる。
再び、例えば、cを正または負の整数の対(a,b)で置き換え、y=r+scをy=ar+bsで置き換えることが可能であり、その場合、検証の式はYevb=xa(mod n)となる。
再び、例えば、複数の秘密の数s1、s2など、複数の公開鍵v1、v2など、および複数の整数c1、c2などを選択して、y=r+scをy=r+s1c1+s2c2+...で置き換えることが可能であり、その場合、検証の式はYev1 c1v2 c2=x'mod n)となる。
nが公開鍵の特定の部分に含まれる場合、かつnの素因数がAによって知られている場合、第1のステップを高速化するには、「中国の剰余定理」と呼ばれる手法を使用する。
第1のステップは、前もって実行しておくことができる。さらに、xのk個の値はAの公開鍵の一部をなし、その場合、プロトコルは直接第2のステップから始まる。
数xは、fを例えば暗号ハッシュ関数に等しい(または含む)関数とすると値f(x)で置き換えることができ、その場合、検証の式はf(Yevc(mod n))=xとなる。上述の修正の全部または一部を結合することが可能である。
Yの計算もまた、A以外の任意のエンティティにより実行することができ、これはセキュリティを失わずに実行できる。この場合、Aはyのみを計算し、このエンティティをyとともに与える。まず、yを知っていても、sに関する情報は得られないが、それは、乱数rによって積scが「マスク」されているためである。第2に、詐欺行為者が断片すべてを集めてYをでっち上げることは実際上不可能であるが、それは、n、e、v、x、およびcが与えられても、因数分解が困難な問題であれば第4のステップの検証の式を満たすYの値を見つけることはできないためである。
図2を参照して説明されている第2のオプションによれば、公開鍵は、4つ組(n,e,g,v)であり、エンティティBによるエンティティAの認証は、CがA以外のエンティティを表す場合に以下のプロトコルをk回繰り返すことにより実行される。
この方法は、ステップ13まで図1を参照して説明されているのと同じ方法で実行される。図2を参照すると、ステップ13は、エンティティAが秘密鍵イメージyを中間エンティティCに送信するという理由で修正される。すでに見たように、イメージyは秘密鍵に関する情報をいっさい与えない。
イメージyをエンティティCが受け取ると、遷移14の有効性が確認され、その後、第4のステップ15がアクティブ化される。
ステップ15で、この場合、プルーフY=gy(mod n)の第2の要素を計算して、YをBに送信するのは中間エンティティCである。
次にこの方法は、遷移16およびステップ17を介して図1を参照して説明されているのと同じ方法で続行する。
物理的に、中間エンティティCは、例えば、チップカードなどの証明者のセキュリティデバイス、決済端末などの検証者のセキュリティデバイス、またはさもなければコンピュータなどの他のデバイスに収められているチップ内に実現されるが、これは、必ずしもセキュリティで保護されない。セキュリティは、エンティティCはそれ自体では適当な、つまり検証の式が満たされるような値Yを見つけられないという事実に基づいている。
図3を参照して説明されている第3のオプションでは、Yの計算はエンティティAとCとに分割される。この計算を分ける方法としてはさまざまなものがある。ここでもやはり、ステップ13まで図1を参照して説明されているのと同じ方法でこの方法を実行する。ステップ13では、都合のよいことに、イメージyは以下の式に従って分解される。
y=y'+2uy"
y=y'+2uy"
この公式では、uは正の整数であり、y'は2uよりも小さい整数である。分解は実行しやすい。イメージyを表すデータワードでは、第1の部分イメージy'はこのワードのu個の下位ビットによって表される。第2の部分イメージは、このデータワードの残りの上位ビットにより表される。
第4のステップは、プルーフの第2の要素を計算するために、この場合、2つのサブステップ18および25に分解される。
第1のサブステップ18は、ステップ13の直後にエンティティAにより実行される。サブステップ18で、エンティティAは以下の公式に従ってプルーフの第2の要素の第1のコンポーネントY'を計算する。
Y'=gy'(mod n)
Y'=gy'(mod n)
例えば8または16のオーダーのuの比較的低い値を選択することにより、第1の部分イメージy'の値はイメージyの値よりもかなり小さいため、第1のコンポーネントY'の計算では、プルーフの第2の要素の完全な計算に必要な資源はかなり少ない。
サブステップ18で、エンティティAは以下の公式に従ってプルーフの第2の要素の第2のコンポーネントg'を計算する。
第1のコンポーネントg'の計算では、計算資源はごくわずかでよいが、それは、uの平方を実行するだけでよいためであり、第1の平方は第2の整数gで実行され、その後続く平方は、nを法とする次の平方の結果に対し実行される。
サブステップ18の終わりに、エンティティAは2つのコンポーネントg'およびY'、および第2の部分イメージy"を中間エンティティCに送信する。セキュリティは、秘密鍵のイメージは丸ごと伝達されることはないという事実により高められている。エンティティAの計算負荷は、プルーフの第2の要素はエンティティAにより全部は計算されないという事実により低減される。
したがって、エンティティCが2つのコンポーネントg'、Y'および第2の部分イメージy"を受信すると、遷移14の有効性が確認され、中間エンティティCで第2のサブステップ25がアクティブ化される。
サブステップ25で、エンティティCはY=Y'g' y"(mod n)を計算し、こうして生成されたプルーフYの第2の要素をエンティティBに送信する。
次にこのプロシージャは、遷移16およびステップ17を介して図1を参照して説明されているのと同じ方法で続行する。
遷移16の有効性確認の前に、エンティティBはステップ19を実行し、このときに、ステップ17のVの計算を容易にするため、数zが以下の式により計算される。
z=vc(mod n)
z=vc(mod n)
図1、2、および4の例への遷移16の前にさらにステップ19を導入できる。
ここでもやはり、Yの計算をエンティティCと検証者Bに分けることも可能であることを指摘しておく。
上述のプロトコルは、メッセージ認証プロトコルまたはデジタルプルーフスキームに変換することができる。
図4は、第1のエンティティBにより受信されたメッセージMが第2のエンティティAによって送信されたことを認証することを可能にする方法のステップを示している。第1のステップ20で、エンティティAは、sよりもかなり大きな第1の乱数rを生成し、ステップ9のようにx=Gr(mod n)を計算する。xをエンティティBに送信する代わりに、エンティティAはメッセージMに対し数xとともに、例えば、以下のような暗号ハッシュ関数に等しいまたは暗号ハッシュ関数を含む関数hを適用することによりプルーフx'の第1の要素を与える。
x'=h(x,M)
x'=h(x,M)
次に、エンティティAは、メッセージMおよびプルーフx'の第1の要素をエンティティBに送信する。
プルーフxの第1の要素をエンティティBが受け取ると、遷移21の有効性が確認され、その後、第2のステップ11がアクティブ化される。次にこのプロシージャは、図1から3のうちの1つを参照して説明されているのと同じ方法で続行する。
ステップ11で、エンティティBは、セキュリティ間隔[0,t-1]の範囲内の整数cをランダムに選択し、その数cをエンティティAに送信する。したがって、数cは、エンティティBによるプルーフの第1の要素に関連して生成され、エンティティAおよびBに共通であり、また、エンティティAとBとの間の対話にこっそり入り込む他のエンティティにも共通である。
共通数cをエンティティAが受け取ると、遷移12の有効性が確認され、その後、第3のステップ13がアクティブ化される。
ステップ13で、エンティティAはy=r+scを計算する。そこで、エンティティAは秘密鍵のイメージyを数rと数sの一次結合の形で生成し、その乗法的係数は共通数cである。乱数rは非常に大きく、伝達されないため、イメージyを知っても、積scを復元することはできず、したがって、秘密鍵の元の数sを得ることはできず、したがって、エンティティAにより秘密にされたままである。エンティティAだけが数sを知っているので、エンティティAのみが共通数cを組み込むイメージを生成することができる。図4に示された例では、エンティティAは、秘密鍵イメージyを中間エンティティCに送信する。すでに見たように、イメージyは秘密鍵に関する情報をいっさい与えない。
イメージyをエンティティCが受け取ると、遷移14の有効性が確認され、その後、第4のステップ15がアクティブ化される。
ステップ15で、この場合、プルーフY=gy(mod n)の第2の要素を計算して、YをBに送信するのは中間エンティティCである。
エンティティBがプルーフYの第2の要素を受け取ると、遷移16の有効性が確認され、その後、第5のステップ22がアクティブ化される。
ステップ22で、エンティティBは、ステップ17と同様にして、以下の公式を使って検証の値Vを計算し、
V=Yevc (mod n)
その後、以下の検証の式を使ってプルーフの第2の要素とプルーフの第1の要素との一致を検証する。
h(V,M)=x'
V=Yevc (mod n)
その後、以下の検証の式を使ってプルーフの第2の要素とプルーフの第1の要素との一致を検証する。
h(V,M)=x'
関数fを使用する実装の他の方法では、検証の式はh(f(Yevc(mod n)),M)=x'となる。
メッセージ認証とは異なり、メッセージ署名は送信者と無関係である。エンティティAによって送信されるメッセージMの署名は、エンティティBが他のエンティティからメッセージMを受信した場合には有効なままである。
図5を参照すると、第1のステップ1で、エンティティAは、sよりもかなり大きな第1の乱数rを生成し、ステップ9のようにx=Gr(mod n)を計算する。こうして生成されたプルーフxの第1の要素は、プルーフを検証するためユニットAとBとの間の対話を認証することは不要なので、エンティティBに送信する必要はない。
ステップ1の直後の第2のステップ23では、エンティティAはメッセージMに対し数xとともに、例えば、以下のような暗号ハッシュ関数に等しいまたは暗号ハッシュ関数を含む関数hを適用することにより共通数c'を生成する。
c'=h(x,M)
c'=h(x,M)
ステップ23の直後の第3のステップ24で、エンティティAはy=r+scを計算する。そこで、エンティティAは秘密鍵のイメージyを数rと数sの一次結合の形で生成し、その乗法的係数は共通数cである。乱数rは非常に大きく、伝達されないため、イメージyを知っても、積scを復元することはできず、したがって、秘密鍵の元の数sを得ることはできず、したがって、エンティティAにより秘密にされたままである。エンティティAだけが数sを知っているので、エンティティAのみが共通数c'を組み込むイメージを生成することができる。上で見たように、イメージyは秘密鍵に関する情報をいっさい与えない。対(c',y)は、メッセージMの署名となるが、それは、この対がメッセージMと、エンティティAがこの署名の署名元であることを保証する秘密鍵要素の両方を組み込むからである。
次に、エンティティAは、メッセージMおよび署名(c',y)をエンティティBまたは他のエンティティに送信する。
エンティティBがエンティティAから他のエンティティへ向かうメッセージMをその署名(c',y)とともに受信すると、遷移2の有効性が確認される。
イメージyをエンティティCが受け取ると、遷移4の有効性が確認され、その後、第4のステップ5がアクティブ化される。
ステップ5で、この場合、プルーフY=gy(mod n)の第2の要素を計算して、YをBに送信するのは中間エンティティCである。
エンティティBがプルーフYの第2の要素を受け取ると、遷移7の有効性が確認され、その後、第5のステップ8がアクティブ化される。
ステップ8で、エンティティBは、ステップ17と同様にして、以下の公式を使って検証の値Vを計算し、
V=Yevc' (mod n)
その後、以下の検証の式を使ってプルーフの第2の要素とプルーフの第1の要素との一致を検証する。
h(V,M)=c'
V=Yevc' (mod n)
その後、以下の検証の式を使ってプルーフの第2の要素とプルーフの第1の要素との一致を検証する。
h(V,M)=c'
この場合、ステップ23で生成された共通数c'はそれ自身プルーフの第1の要素と一致するという事実により、プルーフの第1の要素との一致は、この等式により検証される。
関数fを使用する実装の他の方法では、検証の式はh(f(Yevc(mod n)),M)=x'となる。
エンティティCがイメージyを受信すると、遷移4の有効性が確認され、またこれは、エンティティAまたは他の変ティティから来るメッセージMとその署名(c',y)の受信の結果であるといえる。図5を参照すると、エンティティCがイメージyを受信するのは、遷移2によりアクティブ化されたステップ3の結果である。ステップ3で、エンティティBは署名からイメージyを抽出し、それをエンティティCに送信する。
遷移7の有効性を確認する前に実行されるステップ6で、エンティティBは署名から共通数c'を抽出し、vc'に等しい数zを取得するため、ステップ8でVを計算するのが簡単になる。
図6を参照すると、上述のエンティティA、B、およびCはそれぞれ、物理的に証明者デバイス30、検証者デバイス31、および媒介デバイス32である。証明者デバイス30は、例えば、クレジットカードなどのマイクロプロセッサカード、または携帯電話加入者識別カードである。検証者デバイス31は、例えば、銀行端末または電子商取引サーバ、または移動体通信事業者のハードウェアである。媒介デバイス32は、例えば、マイクロプロセッサカード拡張、クレジットカード読み取り端末、または電子携帯電話カードである。
証明者デバイス30は、通信手段34および計算手段37を備える。プルーフしたデバイス30は、侵入に対して保護されている。通信手段34は、図1から3を参照して説明したステップ9のようにプルーフxの第1の要素を、図2および4を参照して説明したステップ13のように秘密鍵イメージyを、図1を参照して説明したステップ15のようにプルーフYの第2の要素を、図3を参照して説明したステップ18のように2つの秘密鍵イメージコンポーネントg'およびy"とともに第1の部分イメージY'を、図4および5を参照して説明したステップ20または24のようにメッセージMを、または実装する方法のバージョンにおいて図5を参照して説明したステップ24のように共通数cを送信するように設計されている。通信手段34は、さらに、実装する方法のバージョンが認証に対応している場合に遷移12で図1から4を参照して説明したように、共通数cを受信するように設計されている。実装する方法のバージョンが署名に対応している場合、通信手段34は、共通数cを受信するように設計されている必要はない。
計算手段37は、実装する方法のバージョンに応じて、図1を参照して説明されているステップ9、13、および15、図2を参照して説明されているステップ9および13、図3を参照して説明されているステップ9、13、および18、図4を参照して説明されているステップ20および13、または図5を参照して説明されているステップ1、23、および24を実行するように設計されている。周知のように、計算手段37は、上述の計算に専用のマイクロプロセッサおよびマイクロプログラムまたは上述の計算に専用の組み合わせ回路を備える。
検証者デバイス31は、通信手段35および計算手段38を含む。通信手段35は、認証に対応する方法のバージョンが実装される場合に図1から4を参照して説明されているステップ11のように1つまたは複数の数cを送信するように設計されている。実装する方法のバージョンが署名に対応している場合、通信手段35は、共通数cを送信するように設計されている必要はない。通信手段35は、さらに、図1から3を参照して説明されている遷移10および16でのようにプルーフxおよびYの2つの要素を、図4を参照して説明されている遷移21および16でのようにプルーフx'およびプルーフYの第2の要素とともにメッセージMを、または図5を参照して説明されている遷移2および8でのようにプルーフの第2の要素および1つまたは複数の共通数c'および秘密鍵イメージyを含むメッセージMを、受信するように設計されている。任意選択により、実装する方法のバージョンが署名に対応している場合、通信手段35は図5を参照して説明されているステップ3のように秘密鍵イメージyを再送するように設計されている。
計算手段38は、実装する方法のバージョンに応じて、図1から図3を参照して説明されているステップ11、17、および19を、図4を参照して説明されているステップ11および22を、図5を参照して説明されているステップ6および8を実行するように設計されている。周知のように、計算手段38は、上述の計算に専用のマイクロプロセッサおよびマイクロプログラムまたは上述の計算に専用の組み合わせ回路を備える。
媒介デバイス32は、通信手段36および計算手段39を備える。通信手段36は、図2および4を参照して説明されているステップ15でのように、図3を参照して説明されているステップ25でのように、または図5を参照して説明されているステップ5でのように、プルーフYの第2の要素を送信するように設計されている。通信手段36は、さらに、図2および4を参照して説明されている遷移14でのように秘密鍵イメージyを、図5を参照して説明されている遷移4でのように秘密鍵イメージyを、または図3を参照して説明されているよ遷移14でのように秘密鍵部分イメージy"およびプルーフの第2の要素の2つのコンポーネントg'およびY'を受信するように設計されている。
計算手段39は、実装する方法のバージョンに応じて、図2または図4を参照して説明されているステップ15を、図3を参照して説明されているステップ25を、図5を参照して説明されているステップ5を実行するように設計されている。周知のように、計算手段39は、上述の計算に専用のマイクロプロセッサおよびマイクロプログラムまたは上述の計算に専用の組み合わせ回路を備える。
プロシージャの改善として、上で説明した計算手段および通信手段の両方は、プルーフの第1の要素およびそれと異なるプルーフの第2の要素について毎回、上述のステップの実行をk回繰り返すように設計されている。
A…第1のエンティティ
B…第2のエンティティ
C…エンティティ
2,4,10,14,16…遷移
30…証明者デバイス
31…検証者デバイス
32…媒介デバイス
34,35,36…通信手段
37,38,39…計算手段
B…第2のエンティティ
C…エンティティ
2,4,10,14,16…遷移
30…証明者デバイス
31…検証者デバイス
32…媒介デバイス
34,35,36…通信手段
37,38,39…計算手段
Claims (57)
- 第1のエンティティ(A)は、第1のエンティティ(A)により秘密にされている秘密鍵を使って、前記秘密鍵に関連付けられている公開鍵を使って第2のエンティティ(B)により検証可能なプルーフを生成する暗号法であって、プルーフの少なくとも1つの要素が前記秘密鍵を復元することができないデータ項目のオープンデジタル処理により少なくとも一部生成されるステップ(5,15)を含むことを特徴とする暗号法。
- 暗号法であって、
− 第1のエンティティ(A)が、第1のエンティティ(A)により秘密にされている第1の乱数を使って、プルーフの第1の要素を生成する第1のステップ(1、9、20)と、
− 1つまたは複数の共通数と呼ばれるものがプルーフの第1の要素と関連して生成され、したがって第1のエンティティ(A)および第2のエンティティ(B)が前記1つまたは複数の共通数を認識していなければならない第2のステップ(11,23)と、
− 第1の乱数を伴う少なくとも第1の秘密鍵整数と少なくとも1つの前記共通数とを組み合わせることにより、第1のエンティティ(A)は前記秘密鍵のイメージを生成する第3のステップ(13、24)と、
− 前記公開鍵の第1の部分をプルーフの第2の要素に適用し、かつ前記公開鍵の少なくとも第2の部分を前記共通数の少なくとも1つに適用することによって、第2のエンティティ(B)がプルーフの第1の要素とプルーフの第2の要素との一致を検証できるようにするために、プルーフの第2の要素が、前記秘密鍵のイメージに対して、エンティティ(C)により実行可能なオープンデジタル処理オペレーションを適用することにより生成される第4のステップ(5、15)と
を含むことを特徴とする請求項1に記載の暗号法。 - 暗号法であって、
− 第1のステップ(1、9、20)において、第1のエンティティ(A)は、第1のエンティティ(A)により秘密にされている秘密鍵に含まれる第1の整数sよりも非常に大きい第1の乱数rを生成し、第1のエンティティ(A)は、前記公開鍵に含まれる場合も含まれない場合もあり、その指数が第1の乱数rであるところの第1の整数Gを、nを法とする累乗計算した後に得られるプルーフの第1の要素を生成し、
− 第3のステップ(13、24)において、第1のエンティティ(A)は、第1の乱数rと少なくとも第1の秘密鍵整数sの一次結合により前記秘密鍵のイメージyを生成し、前記一次結合の少なくとも1つの乗法的係数は、前記共通数または前記共通数のうちの1つであり、
− 第4のステップ(5、15)において、生成されたプルーフYの第2の要素は、前記公開鍵に含まれる場合も含まれない場合もあり、その指数が秘密鍵のイメージyであるところの第2の整数gの、nを法とする累乗に等しく、第2の整数gは、第1の整数Gが、前記公開鍵に含まれる場合も含まれない場合もあり、第3の整数eを指数とするところの第2の整数gの、nを法とする累乗となるような整数であることを特徴とする請求項2に記載の暗号法。 - 第4のステップにおいて、プルーフYの第2の要素は、第2のエンティティ(B)に送信されることを特徴とし、また、プルーフの第1の要素が、その指数が第3の整数eであるプルーフYの第2の要素の累乗と、その指数が前記共通数cである前記公開鍵に含まれる第4の整数vの累乗との、nを法とする積に一致することを、第2のエンティティ(B)が検証する第5のステップ(8、17、22)を含むことを特徴とする請求項3に記載の暗号法。
- 第4のステップ(5、15)は、第1のエンティティ(A)以外の、第1のエンティティ(A)から秘密鍵イメージyを受信するエンティティ(C)により実行されることを特徴とする請求項2から4までのいずれか一項に記載の暗号法。
- 第4のステップ(15)は、第1のエンティティ(A)により実行されることを特徴とする請求項2から4のいずれか一項に記載の暗号法。
- 第4のステップは、
− 第1のエンティティ(A)は、イメージyを、イメージyを表すデータワードのu個の下位ビットにより表される第1の部分イメージy'と、前記データワードの残りの上位ビットにより表される第2の部分イメージy"とに分解し、また第1のエンティティ(A)は、第1のコンポーネントY'とプルーフの第2の要素の第2のコンポーネントg'を生成し、前記コンポーネントでは以下が成り立ち、
− 中間エンティティ(C)は、第2の部分イメージy"を指数とする第2のコンポーネントg'の累乗を第1のコンポーネントY'に掛けることによりプルーフYの第2の要素を生成し、中間エンティティ(C)は、プルーフYの第2の要素を第1のエンティティ(B)に送信する第2のサブステップ(25)と
を含むことを特徴とする請求項2から4のいずれか一項に記載の暗号法。 - 第2のステップ(11)は、第1のエンティティ(A)から受信したプルーフの第1の要素について、セキュリティ間隔の範囲内の少なくとも1つの共通数を選択し、前記共通数を第1のエンティティ(A)に送信する第2のエンティティ(B)により実行されることを特徴とする請求項2から7のいずれか一項に記載の暗号法。
- 第2のステップ(23)は、プルーフの第1の要素と、前記共通数が添付されるデジタルメッセージMとに基づいて、少なくとも1つの共通数を生成する第1のエンティティ(A)により実行されることを特徴とする請求項2から7のいずれか一項に記載の暗号法。
- 第5のステップ(17)において、プルーフxの第1の要素が、その指数が第3の整数eであるプルーフYの第2の要素の累乗と、その指数が前記共通数cである前記公開鍵に含まれる第4の整数vの累乗との、nを法とする積に等しいときに、一致が検証されることを特徴とする請求項4に記載の暗号法。
- 第5のステップ(22)において、プルーフの第1の要素が、プルーフの第1の要素が添付されるデジタルメッセージMおよび指数が第3の整数eであるプルーフYの第2の要素の累乗と指数が前記共通数cである前記公開鍵に含まれる第4の整数vの累乗のnを法とする積の関数に等しいときに一致が検証されることを特徴とする請求項4に記載の暗号法。
- 第5のステップ(8)において、共通数が、デジタルメッセージMと、その指数が第3の整数eであるプルーフYの第2の要素の累乗と、その指数が前記共通数cである前記公開鍵に含まれる第4の整数vの累乗との、nを法とする積の関数に等しい場合に、一致が検証されることを特徴とする請求項4に記載の暗号法。
- プルーフの第1の要素は、前記公開鍵に含まれる場合もあれば含まれない場合もあり、その指数が第1の乱数rである第1の整数Gの、nを法とする累乗に等しいことを特徴とする請求項3に記載の暗号法。
- 第1の整数Gおよび第4の公開鍵整数vは、公式
G=ge modulo n
v=G-s modulo n
で与えられ、この等式は、公式
x=Yevc modulo n
によって検証されることを特徴とする請求項13に記載の暗号法。 - 第4の公開鍵整数vは、公式
G=ge modulo n
v=Gs(modulo n)
で与えられ、この等式は、公式
Ye=vcx modulo n
によって検証されることを特徴とする請求項13に記載の暗号法。 - 第1の公開鍵整数Gおよび第4の公開鍵整数vは、それぞれ、公式
G=g-e modulo n
v=G-s modulo n
で与えられ、この等式は、公式Yex=ve modulo nによって検証されることを特徴とする請求項13に記載の暗号法。 - 暗号法であって、
− 第2のステップにおいて、2つの共通数aおよびbはプルーフxの第1の要素に関して生成され、
− 第3のステップにおいて、一次結合は、公式
y=ar+bs
によって与えられ、
− 第5のステップにおいて、一致は、等式
Yevb=xa modulo n
によって検証されることを特徴とする請求項13に記載の暗号法。 - 秘密鍵が複数の秘密数s1、s2、...を含む場合、
− 第2のステップにおいて、同じ数の共通数c1、c2、...が、プルーフxの第1の要素に関して生成され、
− 第3のステップにおいて、一次結合は、公式
y=r+c1s1+c2s2+...
によって与えられ、
− 第5のステップにおいて、一致は、同じ数の第4の公開鍵整数v1、v2、...により、等式
Yev1c1v2c2...=x modulo n
を使って検証されることを特徴とする請求項13に記載の暗号法。 - 公開鍵が特に、第1のエンティティ(A)からその素数が知られている法nを含む場合、第1のステップは中国の剰余定理と呼ばれる手法を使用することにより高速化されることを特徴とする請求項3に記載の暗号法。
- 公開鍵は、第2のステップでこの方法を開始するために、プルーフxの第1の要素のあらかじめ計算された少なくとも1つの値を含むことを特徴とする請求項2に記載の暗号法。
- 公開鍵は、プルーフxの第1の要素のk個のあらかじめ計算された値を含み、第2のステップから第5のステップまでの実行を、繰り返し毎にプルーフの第1の要素の異なる値を使ってk回繰り返すことを特徴とする請求項20に記載の暗号法。
- プルーフの第1の要素は、前記公開鍵に含まれる場合も含まれない場合もあり、その指数は第1の乱数rである、第1の整数Gの、nを法とする累乗の関数fに等しく、第5のステップの検証をこの関数の結果に基づいて行うことを特徴とする請求項2に記載の暗号法。
- プルーフを生成するための、秘密にされ侵入者に対する保護処置が講じられている秘密鍵を与えられた証明者デバイスであって、前記秘密鍵に関連付けられている公開鍵を使用してその検証を行うことで、デバイス(30)が前記プルーフの発信元であることを保証することが可能であり、
− デバイス(30)内に秘密にされている第1の乱数に基づいて、プルーフの第1の要素を生成し、第1の乱数を持った少なくとも第1の秘密鍵整数と、プルーフの第1の要素に関連付けられている複数の共通数のうち少なくとも1つとを組み合わせることにより、前記秘密鍵のイメージを生成し、かつ、
前記公開鍵の第1の部分をプルーフの第2の要素に適用し、前記公開鍵の少なくとも第2の部分を前記共通数の少なくとも1つに適用することにより、オープンデジタル処理オペレーションを、プルーフの第1の要素とプルーフの第2の要素との一致を検証することを可能にする前記秘密鍵イメージに適用することによって、プルーフの第2の要素を生成することが可能であるように設計されている計算手段(37)と、
− プルーフの少なくとも前記第1の要素を伝送するように設計されている通信手段(34)を備えることを特徴とする証明者デバイス。 - 証明者デバイス(30)であって、
− 一方で、計算手段(37)は、秘密にされている秘密鍵に含まれる第1の整数sよりもかなり大きい第1の乱数rを生成し、第1の乱数rを指数として前記公開鍵に含まれている場合もいない場合もある第1の整数Gの、nを法とする累乗を計算することによりプルーフの第1の要素を生成するように設計され、
− 他方で、計算手段(37)は、第1の乱数rと少なくとも第1の秘密鍵整数sの一次結合により前記秘密鍵のイメージyを生成し、前記一次結合の少なくとも1つの乗法的係数は前記共通数または前記共通数のうちの1つであるように設計されることを特徴とする請求項23に記載の証明者デバイス。 - 通信手段(34)は、プルーフの第1の要素を伝送した後に前記共通数を受信するように設計されていることを特徴とする請求項23または24のいずれか一項に記載の証明者デバイス(30)。
- 通信手段(34)は、秘密鍵イメージを伝送するように設計されていることを特徴とする請求項23から25のいずれか一項に記載の証明者デバイス(30)。
- 通信手段(37)は、プルーフの第2の要素を生成するように設計されていることを特徴とする請求項23から25のいずれか一項に記載の証明者デバイス(30)。
- 証明者デバイス(30)であって、
計算手段(37)は、イメージyを、イメージyを表すデータワードの下位ビットにより表される第1の部分イメージy'と、データワードの残りの上位ビットにより表される第2の部分イメージy"とに分解し、また第1のコンポーネントY'とプルーフの第2の要素の第2のコンポーネントg'を生成し、前記コンポーネントでは以下が成り立ち、
通信手段(34)は、第1のコンポーネントY'、第2のコンポーネントg'、および第2の部分イメージy"を伝送するように設計されることを特徴とする請求項24から25のいずれか一項に記載の証明者デバイス(30)。 - 計算手段(37)は、プルーフの第1の要素と前記共通数が添付されるデジタルメッセージMとに基づいて、少なくとも1つの共通数を生成するように設計されていることを特徴とする請求項23および24のいずれか一項に記載の証明者デバイス(30)。
- 計算手段(37)は、前記公開鍵に含まれる場合も含まれない場合もあり、指数は第1の乱数rである、第1の整数Gの、nを法とする累乗を計算することによりプルーフの第1の要素を生成するように設計されていることを特徴とする請求項23に記載の証明者デバイス(30)。
- 第1の公開鍵整数Gおよび第4の公開鍵整数vは、それぞれ、公式
G=ge modulo n
v=G-s modulo n
によって与えられることを特徴とする請求項30に記載の証明者デバイス(30)。 - 第1の公開鍵整数Gおよび第4の公開鍵整数vは、それぞれ、公式
G=ge modulo n
v=Gs modulo n
によって与えられることを特徴とする請求項30に記載の証明者デバイス(30)。 - 第1の公開鍵整数Gおよび第4の公開鍵整数vは、それぞれ、公式
G=g-e modulo n
v=G-s modulo n
によって与えられることを特徴とする請求項30に記載の証明者デバイス(30)。 - 計算手段は、公式
y=ar+bs
により、2つの共通数aおよびbの一次結合により秘密鍵イメージyを生成するように設計されていることを特徴とする請求項30に記載の証明者デバイス(30)。 - 秘密鍵が複数の秘密数s1、s2、...を含む場合、
計算手段(37)は、プルーフxの第1の要素に関連付けられている同じ数の共通数c1、c2を生成するように設計され、
計算手段(37)は、公式
y=r+c1s1+c2s2+...
による一次結合により秘密鍵イメージを生成するように設計されていることを特徴とする請求項30に記載の証明者デバイス(30)。 - 公開鍵が、特に証明者デバイス内で素数が秘密にされる法nを含む場合、計算手段(37)は、中国の剰余定理と呼ばれる手法を使用して指数計算をするように設計されていることを特徴とする請求項24に記載の証明者デバイス(30)。
- 公開鍵が、プルーフxの第1の要素のk個のあらかじめ計算された値を含む場合、計算手段(37)は、繰り返し毎にプルーフの第1の要素の異なる値で各実行をk回繰り返すように設計されていることを特徴とする請求項23に記載の証明者デバイス(30)。
- プルーフの第1の要素は、前記公開鍵に含まれる場合も含まれない場合もあり、その指数が第1の乱数rである、第1の整数Gの、nを法とする累乗の関数fに等しいことを特徴とする請求項23に記載のプルーフ証デバイス(30)。
- 前記秘密鍵に関連付けられている公開鍵を使用して、証明者デバイスにより秘密にされている秘密鍵が与えられた証明者デバイスによりプルーフが発行されたことを検証するための検証者デバイス(31)であって、
プルーフの第1の要素とプルーフの第2の要素とを受け取るように設計されている通信手段(35)と、
前記公開鍵の第1の部分を、プルーフの第2の要素に適用し、また前記公開鍵の少なくとも第2の部分を、プルーフの第1の要素に関連して生成された複数の共通数のうち少なくとも1つに適用することにより、プルーフの第1の要素とプルーフの第2の要素との一致を検証するように設計されている計算手段(38)と
を備えることを特徴とする検証者デバイス(31)。 - 計算手段(38)は、プルーフの第1の要素が、その指数が第3の整数eであるプルーフYの第2の要素の累乗と、その指数が前記共通数cである第4の整数vの累乗との、nを法とする積と一致することを検証し、第3の整数および第4の整数は前記公開鍵に含まれるように設計されていることを特徴とする請求項39に記載の検証者デバイス(31)。
- 計算手段(38)は、プルーフの第1の要素を受信した後に、セキュリティ間隔の範囲内の少なくとも1つの共通数を選択するように設計され、また通信手段(35)は、前記共通数を伝送するように設計されていることを特徴とする請求項39または40に記載の検証者デバイス(31)。
- 計算手段(38)は、プルーフxの第1の要素が、その指数が第3の整数eであるプルーフYの第2の要素の累乗と、その指数が前記共通数cである前記公開鍵に含まれる第4の整数vの累乗との、nを法とする積に等しいときに、一致が検証されたと宣言するように設計されていることを特徴とする請求項40に記載の検証者デバイス(31)。
- 計算手段(38)は、プルーフの第1の要素が、プルーフの第1の要素が添付されるデジタルメッセージM、および、その指数が第3の整数eであるプルーフYの第2の要素の累乗と、その指数が前記共通数cである前記公開鍵に含まれる第4の整数vの累乗との、nを法とする積の関数に等しいときに、一致が検証されたと宣言するように設計されていることを特徴とする請求項40に記載の検証者デバイス(31)。
- 計算手段(38)は、共通数がデジタルメッセージM、および、その指数が第3の整数eであるプルーフYの第2の要素の累乗と、その指数が前記共通数cである前記公開鍵に含まれる第4の整数vの累乗との、nを法とする積の関数に等しい場合に、一致が検証されたと宣言するように設計されていることを特徴とする請求項40に記載の検証者デバイス(31)。
- 等式は、公式
x=Yevc modulo n
によって検証されることを特徴とする請求項42に記載の検証者デバイス(31)。 - 等式は、公式
Ye=vcx modulo n
によって検証されることを特徴とする請求項42に記載の検証者デバイス(31)。 - 等式は、公式
Yex=vc modulo n
によって検証されることを特徴とする請求項42に記載の検証者デバイス(31)。 - 一致は、等式
Yevb=xa modulo n
によって検証されることを特徴とする請求項42に記載の検証者デバイス(31)。 - 秘密鍵が複数の秘密数s1、s2、...を含む場合、
計算手段(38)は、プルーフxの第1の要素に対する、同じ数の共通数c1、c2、...を選択するように設計され、
計算手段(38)は、等式
Yev1c2V2c2...=x modulo n
を使って、同じ数の第4の公開鍵整数v1、v2、...により一致を検証するように設計されていることを特徴とする請求項41に記載の検証者デバイス(31)。 - 計算手段(38)は、メモリ内に、公開鍵の一部としてみなされるプルーフxの第1の要素の少なくとも1つのあらかじめ計算された値を備えることを特徴とする請求項39に記載の検証者デバイス(31)。
- 計算手段(38)は、メモリ内に、プルーフxの第1の要素のk個のあらかじめ計算された値を備え、通信手段は、プルーフのk個の第2の要素を受信するように設計されており、計算手段(38)は、受信されたプルーフのそれぞれの第2の要素と、プルーフの第1の要素の異なる値との一致を検証するように設計されていることを特徴とする請求項50に記載の検証者デバイス(31)。
- プルーフの第1の要素が、前記公開鍵に含まれる場合も含まれない場合もある、その指数が第1の乱数rである、第1の整数Gの、nを法とする累乗の関数fに等しい場合に、計算手段(38)は、この関数の結果に基づいて検証を実行するように設計されていることを特徴とする請求項40に記載の検証者デバイス(31)。
- 証明者デバイスにより秘密にされている秘密鍵に基づきプルーフを生成する目的のため証明者デバイスの下流に導入される媒介デバイス(32)であって、前記プルーフは、前記秘密鍵に関連付けられている公開鍵により検証可能であり、前記秘密鍵のイメージのオープンデジタル処理によりプルーフの少なくとも1つの要素を生成するための計算手段(39)を含み、前記秘密鍵イメージでは前記秘密鍵を元に戻すことができないことを特徴とする媒介デバイス(32)。
- 前記秘密鍵イメージyを受信するように設計されている通信手段(36)を備えることを特徴とする請求項53に記載の媒介デバイス(32)。
- 計算手段(39)は、その指数が秘密鍵イメージyである前記公開鍵に含まれる第2の整数gの、nを法とする累乗を計算することによりプルーフYの第2の要素を生成するように設計されていることを特徴とする請求項54に記載の媒介デバイス(32)。
- 秘密鍵の第1の部分イメージy'、第1のコンポーネントY'、およびプルーフの第2の要素の第2のコンポーネントg'を受信するように設計されている通信手段(36)を備え、計算手段(39)は、第2の部分イメージy"を指数とする第2のコンポーネントg'の累乗を第1のコンポーネントY'に掛けることにより、プルーフYの第2の要素を生成するように設計されていることを特徴とする請求項53に記載の媒介デバイス(32)。
- 通信手段(36)は、プルーフYの第2の要素を検証者デバイスに伝送するように設計されていることを特徴とする請求項55または56のいずれか一項に記載の媒介デバイス(32)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0116789A FR2834153B1 (fr) | 2001-12-21 | 2001-12-21 | Procede cryptographique permettant de repartir la charge entre plusieurs entites et dispositifs pour mettre en oeuvre ce procede |
PCT/FR2002/004366 WO2003055134A1 (fr) | 2001-12-21 | 2002-12-16 | Procede cryptographique permettant de repartir la charge entre plusieurs entites et dispositifs pour mettre en oeuvre ce procede |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005513564A true JP2005513564A (ja) | 2005-05-12 |
JP2005513564A5 JP2005513564A5 (ja) | 2005-12-22 |
Family
ID=8870936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003555732A Pending JP2005513564A (ja) | 2001-12-21 | 2002-12-16 | 負荷を複数のエンティティおよびそのデバイスに分散させるための暗号法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7382875B2 (ja) |
EP (1) | EP1456998A1 (ja) |
JP (1) | JP2005513564A (ja) |
KR (1) | KR100971038B1 (ja) |
CN (1) | CN1618200B (ja) |
AU (1) | AU2002364321A1 (ja) |
FR (1) | FR2834153B1 (ja) |
WO (1) | WO2003055134A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7363492B2 (en) * | 2005-02-25 | 2008-04-22 | Motorola, Inc. | Method for zero-knowledge authentication of a prover by a verifier providing a user-selectable confidence level and associated application devices |
JP4988448B2 (ja) * | 2007-06-25 | 2012-08-01 | 株式会社日立製作所 | 一括検証装置、プログラム及び一括検証方法 |
FR2923305B1 (fr) * | 2007-11-02 | 2011-04-29 | Inside Contactless | Procede et dispositifs de protection d'un microcircuit contre des attaques visant a decouvrir une donnee secrete |
FR2925245B1 (fr) * | 2007-12-12 | 2010-06-11 | Sagem Securite | Controle d'une entite a controler par une entite de controle |
FR2981531A1 (fr) * | 2011-10-14 | 2013-04-19 | France Telecom | Procede de transfert du controle d'un module de securite d'une premiere entite a une deuxieme entite |
FR2992509B1 (fr) * | 2012-06-21 | 2017-05-26 | Commissariat Energie Atomique | Dispositif et procede pour generer une cle de session |
EP3697019A1 (de) * | 2019-02-12 | 2020-08-19 | Siemens Aktiengesellschaft | Verfahren zur bereitstellung eines herkunftsortnachweises für ein digitales schlüsselpaar |
CN110517147B (zh) * | 2019-08-30 | 2023-04-14 | 深圳市迅雷网络技术有限公司 | 交易数据处理方法、装置、系统及计算机可读存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6226383B1 (en) * | 1996-04-17 | 2001-05-01 | Integrity Sciences, Inc. | Cryptographic methods for remote authentication |
US6092202A (en) * | 1998-05-22 | 2000-07-18 | N*Able Technologies, Inc. | Method and system for secure transactions in a computer system |
US6779111B1 (en) * | 1999-05-10 | 2004-08-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Indirect public-key encryption |
JP2001209308A (ja) * | 2000-01-24 | 2001-08-03 | Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd | 一括署名方法 |
US7139917B2 (en) * | 2000-06-05 | 2006-11-21 | Phoenix Technologies Ltd. | Systems, methods and software for remote password authentication using multiple servers |
-
2001
- 2001-12-21 FR FR0116789A patent/FR2834153B1/fr not_active Expired - Fee Related
-
2002
- 2002-12-16 JP JP2003555732A patent/JP2005513564A/ja active Pending
- 2002-12-16 US US10/499,563 patent/US7382875B2/en not_active Expired - Fee Related
- 2002-12-16 CN CN028277910A patent/CN1618200B/zh not_active Expired - Fee Related
- 2002-12-16 WO PCT/FR2002/004366 patent/WO2003055134A1/fr active Application Filing
- 2002-12-16 KR KR1020047009924A patent/KR100971038B1/ko not_active IP Right Cessation
- 2002-12-16 EP EP02799095A patent/EP1456998A1/fr not_active Withdrawn
- 2002-12-16 AU AU2002364321A patent/AU2002364321A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
EP1456998A1 (fr) | 2004-09-15 |
US7382875B2 (en) | 2008-06-03 |
CN1618200A (zh) | 2005-05-18 |
KR20040096509A (ko) | 2004-11-16 |
FR2834153B1 (fr) | 2004-04-23 |
US20050220298A1 (en) | 2005-10-06 |
CN1618200B (zh) | 2010-05-12 |
WO2003055134A9 (fr) | 2004-07-15 |
AU2002364321A1 (en) | 2003-07-09 |
KR100971038B1 (ko) | 2010-07-20 |
WO2003055134A1 (fr) | 2003-07-03 |
FR2834153A1 (fr) | 2003-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0503119B1 (en) | Public key cryptographic system using elliptic curves over rings | |
Horn et al. | Authentication and payment in future mobile systems | |
US6411715B1 (en) | Methods and apparatus for verifying the cryptographic security of a selected private and public key pair without knowing the private key | |
US7822987B2 (en) | Data card verification system | |
US9800418B2 (en) | Signature protocol | |
Kumar et al. | Analysis and design of protocol for enhanced threshold proxy signature scheme based on RSA for known signers | |
WO2014205571A1 (en) | Signature protocol | |
JP2005513564A (ja) | 負荷を複数のエンティティおよびそのデバイスに分散させるための暗号法 | |
Chande et al. | An improvement of a elliptic curve digital signature algorithm | |
JP4772965B2 (ja) | エンティティの真正性および/またはメッセージの完全性を証明するための方法 | |
KR0143598B1 (ko) | 하나의 비밀키를 이용한 다수의 신분인증 및 디지탈서명 생성과 확인방법 | |
JP4494965B2 (ja) | 処理中の計算を容易にするための暗号化方法、及び装置 | |
WO2016187689A1 (en) | Signature protocol | |
Mohapatra | Signcryption schemes with forward secrecy based on elliptic curve cryptography | |
Dahshan et al. | A threshold blind digital signature scheme using elliptic curve dlog-based cryptosystem | |
Kadry et al. | Design of secure mobile communication using fingerprint | |
EP1185025A1 (en) | Undeniable digital signature scheme based on quadratic field | |
JP2005508514A (ja) | 公開鍵を用いた暗号化タスク実行方法 | |
Ezziri et al. | Amelioration of a proxy signature using RSA encryption | |
JPH09160492A (ja) | 署名方式 | |
CA2892318C (en) | Signature protocol | |
Zhang et al. | A Loss Reportable E-Cash Scheme without TTP Based on ECC | |
Song et al. | A distributed E-Business system based on conic curve | |
Karandikar | Introduction to cryptography | |
Stadick | A Java implementation of the elliptic curve digital signature algorithm using NIST curves over GF (p) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050915 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081021 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090121 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100223 |