JP2004527139A - エンティティの真性性またはメッセージの完全性を証明する方法、システム、および装置。 - Google Patents
エンティティの真性性またはメッセージの完全性を証明する方法、システム、および装置。 Download PDFInfo
- Publication number
- JP2004527139A JP2004527139A JP2001529122A JP2001529122A JP2004527139A JP 2004527139 A JP2004527139 A JP 2004527139A JP 2001529122 A JP2001529122 A JP 2001529122A JP 2001529122 A JP2001529122 A JP 2001529122A JP 2004527139 A JP2004527139 A JP 2004527139A
- Authority
- JP
- Japan
- Prior art keywords
- commitment
- controller
- challenge
- demonstrator
- response
- 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
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/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
- 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
- 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/3247—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 involving digital signatures
- H04L9/3249—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 involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Complex Calculations (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Peptides Or Proteins (AREA)
- Stored Programmes (AREA)
- Mobile Radio Communication Systems (AREA)
- Error Detection And Correction (AREA)
Abstract
本発明は、秘密のQiと公開のGi=gi 2によるm組の値(m≧1)と、f個(f>2)の素数の因子の積により形成される公開のモジュールnと、GiQi v≡1mod nまたはGi≡Qi vmod nの関係により関連付けされた、べきv=2k(k>1)とによって証明を行なう方法に関する。Qiかそのインバースモジュロnをモジュロnの二乗まで増加させて得られるm個の値か、k−1倍されたランクのうちのそれらの何れかは±giとは異なっている。x2≡gimod n、x2≡−gimod nの2m個の方程式のうち、少なくともそれらのうちの一つは、xの解を整数nのモジュロの環に有している。
Description
【0001】
【発明が属する技術分野】
本発明は、エンティティや完全性の真性性やメッセージの真性性を証明するように設計されている方法、システム、装置に関する。
【0002】
【従来の技術】
発明者がルイス Guillou とジーン − ジャック Quisquater である特許 EP 0 の 311 の 470 の B1 は、そのような方法を記述する。
【0003】
以下、「 GQ 特許」または「 GQ 方法」の語によって彼らの仕事を参照する。以下、「 G Q2 」または「 GQ2 発明」、あるいは、「 GQ2 技術」の表現は本発明を指し示すのに用いられる。
【0004】
GQ 方法によると、「信頼されたオーソリティ( trusted authority )」として知られているエンティティは、「証人( witness )」と呼ばれるアイデンティティを各々のエンティティへ割り当て、その RSA 署名を計算する。カスタマイズしているプロセスでは、信頼されたオーソリティは、証人にアイデンティティと署名を与える。その後で、証人は「私のアイデンティティは、ここにある。私は、その RSA 署名を知っている」と宣言する。証人は、彼がそれを明らかにすることなく彼のアイデンティティの RSA 署名を知っているということを、証明する。信頼されたオーソリティによって配布される RSA の公開識別鍵によって、その知識を得ることなく、「コントローラ」として知られているエンティティは、 RSA 署名が宣言されたアイデンティティと一致することを確かめる。 GQ 方法を使用しているメカニズムは、「知識の移動なしで」動く。 G Q 方法によれば、証人は信頼されたオーソリティが多数のアイデンティティに署名する R SA 秘密鍵を知らない。
【0005】
上で記述される GQ 技術は、 RSA 技術を利用する。しかし、 RSA 技術が正にモジュロnの因数分解に依存するのに対して、この依存は等価ではない、つまり、 RSA 技術を実装しているディジタル署名のいろいろな標準に対する「増殖性の攻撃」と呼ばれていることにおいて見られることができるように、等価などとは全く言えない。
【0006】
GQ2 技術の目的は、二つの面を有する: 1 つには、 RSA 技術の中のパフォーマンス特徴を改善するために、そしてもう 1 つは、 RSA 技術に固有の問題を避けるためである。 GQ2 秘密鍵についての知識は、モジュロnの因数分解についての知識に等しい。トリプレット GQ2 への任意の攻撃でも、モジュロnの因数分解につながる:今度は、等価性がある。 GQ2 技術で、署名しているか自己真性性しているエンティティのために、そして、コントローラエンティティのために作業負荷は減らされる。セキュリティとパフォーマンスに関して因数分解する問題のより良い使用を通して、 GQ2 技術は、 RSA 技術の欠点を避ける。
【0007】
GQ 方法は、 512 ビット以上を含んでいる数のモジュロ計算を実行する。これらの計算は、かなり同じサイズを 216+1 のオーダーのべき乗まで上げておいている数に関連がある。しかし、特にバンク・カードの分野では、既存のマイクロエレクトロニクスのインフラは、算数のコプロセッサなしでモノリシックの自己プログラム可能なマイクロプロセッサーを使用する。 GQ 方法のような方法に関係している複数の算数のアプリケーションに関連した作業負荷は、特定のケースには、彼らの購入の料金を払うためにバンク・カードを使っている消費者にとって不利である計算時間となることがわかる、それは、支払いカードのセキュリティを増やそうとする際に、当局が持つ銀行業務が特に解が難しい問題を提起したことで思い出されるかもしれない。実際、 2 つの明らかに矛盾している課題を調べなくてはならない: 1 つは、各々のカードのためにますます長くてはつきりした鍵を用いて、もう 1 つは、作業負荷がユーザーのための過度の計算時間に至るのを防ぐまで、セキュリティを増やす。それがまた、既存の基盤と既存のマイクロプロセッサー構成要素を考慮するのに必要であるので、この問題は特に明確になる。
【0008】
本発明( GQ2 技術)は、セキュリティを増やしつつ、はこの問題のソリューションを提供することを目的とする。
【0009】
[方法]
より詳細には、本発明は、あるコントローラ・エンティティに対して、
・ あるエンティティの真性性、および/または、
・ 該エンティティと関連するメッセージ M の完全性
を証明するようにされている方法であって、以下のパラメータ:
・ 秘密の値 Q1 、 Q2 、 ... 、 Qm と公開値 G1 、 G2 、 ... 、 Gm (mは 1 以上)の m 個の組
・ f 個の素因数 p1 、 p2 、 ... pf の積で構成される公開のモジュラス n ( 2 以上の f )、
の全部若しくは一部またはこれらのパラメータからの算出値を用い、
前記モジュラスと前記秘密値と公開値は次のタイプの関係があり、
【数74】
ここで、vは
【数75】
のタイプの公開値である指数値を表し(kは1より大きいセキュリティパラメータ);
前記m個の公開値 Gi は、m個の区別できるベース数 g1 、 g2 、… gm の、 f 個の素因数 p1 、 p2 、… pf より小さい二乗値g i 2 であり;
前記 p1 、 p2 、… pf の素因数、および/または、m個のベース数 g1 、 g2 、… gm は以下の条件が満たされるように生成される方法。:
【0010】
[第1の条件]
第1の条件は、各方程式
【数76】
がモジュロnの整数環におけるxについて解をもつこと;
【0011】
[第2の条件]
Gi(Qi v mod n である場合には、第 2 の条件は、 Qi を二乗してモジュロ n を k −1 回とったm個の数 qi のうち、これらのいずれかが± gi ではないこと(つまり、トリビアルではないこと)。
Gi.Qi v ( 1 mod n である場合には、第 2 の条件は、 Qi のモジュロnを二乗したものの逆モジュロ n を k−1 回とって得られるm個の数 qi のうち、これらのいずれかが± gi ではないこと(つまり、トリビアルではないこと)。;
ここでの表記によれば、± gi が数 gi と n−gi を表現するものであることをここで指摘しておく。
【0012】
[第3の条件]
第 3 の条件は、2m個の方程式
【数77】
がモジュロnの整数環におけるxについて分解され、
前記方法は、 f 個の素因数 pi を持っている証人と呼ばれているエンティティ、および/または、ベース gi のm個の素因数、および/または、前記素因数のチャイニーズ・剰余法のパラメータ、および/または、公開モジュラス n 、および/または、m個の秘密値 Q i 、および/または、前記秘密値 Qi と公開の指数値vとの f.m 個の構成要素 Qi,j ( Qi,j ( Qi mod pj )を以下のステップによって実現する。
・ 前記証人が、モジュロ n の整数環において、コミットメント R を計算し ;
それぞれのコミットメントは、
【数78】
のタイプの演算(ここで、rは0<r<nである乱数値)を実行するか、
あるいは、
【数79】
のタイプの演算(ここで、r i は0< ri < pi である素因数 pi に関連した乱数値、それぞれの ri は乱数値の集合{ r1,r2, … rf }に含まれている)を実行し、さらに、チャイニーズ・剰余法手法を適用する
ことからなるステップ、
・証人は一つ以上のチャレンジ d を受け、それぞれのチャレンジdはm個の整数 di (以下「要素チャレンジ」と呼ぶ)からなり ; 各々のチャレンジ d に基づいて、前記証人は
【数80】
のタイプの演算を行なうことによって応答 D を計算するか、
【数81】
のタイプの演算を行なって、さらに、チャイニーズ・剰余法手法を適用するステップ(前記手法はチャレンジd、コミットメント R と同じくらいの数の応答 D があって、 R, d、 D の数の群は{ R 、 d 、 D }で参照される3つの数字の組で表される)。
【0013】
[エンティティの真性性の証明の場合]
実施の形態の最初の変形において、本発明の方法はコントローラとして知られるエンティティに対して、デモンストレータとして知られるエンティティの真性性の証明のために用いられる。
【0014】
・ステップ1(コミットメント R の行為)
各々の呼び出しで、証人は請求項 1 によって指定されるプロセスを適用することによって各々のコミットメント R を計算し、
デモンストレータは、各々のコミットメント R のコントローラ全部または一部を送り、
【0015】
・ステップ 2 (チャレンジ d の行為)
各々のコミットメント R の全部または一部を受けた後にチャレンジ d を生成し、コントローラは数がコミットメント R の数と等しいチャレンジ d をデモンストレータに送り、
【0016】
・ステップ 3 (応答 D の行為)
前記証人は、上に指定されるプロセスを適用することによってチャレンジ d から応答 D を計算し、
【0017】
・ステップ 4 (チェックする行為)
前記デモンストレータは、前記コントローラへ各々の応答 D を送り、
【0018】
[第 1 のケース:前記デモンストレータがコミットメント R の一部だけを送信するとき]
前記デモンストレータがコミットメント R の一部だけを送信したなら、前記コントローラはm個の公開値 G1 、 G2 、 ... 、 Gm を有していて、それぞれのチャレンジdとそれぞれの応答 D から、再構成されたコミットメント R ´を計算し、該再構成されたコミットメント R ´は
【数82】
のタイプか、または
【数83】
のタイプの関係を満たすとともに、前記コントローラは、それぞれの再構成されたコミットメント R ´はコントローラに向けて伝達されたそれぞれのコミットメント R の全てまたは一部を再生成することを確認する。
【0019】
[第2のケース:前記デモンストレータがコミットメント R の全部を送信するとき]
前記デモンストレータがコミットメント R の全部を送信したなら、前記コントローラはm個の公開値 G1 、 G2 、 ... 、 Gm を有していて、それぞれのコミットメント R は
【数84】
のタイプか、または
【数85】
のタイプの関係を満たすことを確認する。
【0020】
[メッセージの完全性の証明のケース]
最初のものと組み合わせられることができる第二の異なる実施形態は、デモンストレータエンティティと呼ばれるエンティティに関連したメッセージ M の完全性について、コントローラエンティティとして知られるエンティティに証明を提供するようにされた本発明に記載の方法であって、
前記デモンストレータエンティティは前記証人を含み、
前記デモンストレータエンティティとコントローラエンティティは以下のステップを実行する方法:
【0021】
・ステップ 1 (コミットメント R の行為)
各々の呼び出しで、証人は上述のように指定されるプロセスを適用することによって各々のコミットメント R を計算し、
デモンストレータは、各々のコミットメント R のコントローラ全部または一部を送り、
【0022】
・ステップ 2 (チャレンジ d の行為)
前記デモンストレータは、変数をメッセージ M とそれぞれのコミットメント R の全てまたは一部とするハッシュ関数hを適用し、
前記デモンストレータはトークン T を前記コントローラに送り、
前記コントローラは、前記トークン T を受け付けると、コミットメント R と同じ数のチャレンジdを生成して該チャレンジdを前記デモンストレータに送り、
【0023】
・ステップ 3 (応答 D の行為)
− 前記証人は、上述のように指定されるプロセスを適用することによってチャレンジ d から応答 D を計算し、
【0024】
・ステップ 4 (チェックする行為)
・ 前記デモンストレータは、前記コントローラへ各々の応答 D を送り、
・ 前記デモンストレータがコミットメント R の一部だけを送信したなら、前記コントローラはm個の公開値 G1 、 G2 、 ... 、 Gm を有していて、それぞれのチャレンジdとそれぞれの応答 D から、再構成されたコミットメント R ´を計算し、該再構成されたコミットメント R ´は
【数86】
のタイプか、または
【数87】
のタイプの関係を満たし、
・ そして前記コントローラは、前記メッセージ M とそれぞれの再構成されたコミットメント R ´のすべてまたは一部とを変数とするハッシュ関数hを適用してトークン T ´を再構成し、
・ そして前記コントローラは前記トークン T ´が伝達されたトークン T と同一であることを確認する。
【0025】
[メッセージのデジタル署名とその真性性の証明]
本発明の実施形態の第3の変形は、既述の2つの実施形態と組み合わせることができるものであって、署名エンティティとして知られたエンティティによってメッセージ M のディジタル署名を生成するようにするようにされた本発明の方法であって、
【0026】
(署名動作)
前記署名エンティティは、
・ 前記メッセージ M 、
・ 前記チャレンジdおよび/またはコミットメント R 、
・ 前記応答 D 、
を備えた署名されたメッセージを得るために署名動作を行ない、
前記署名エンティティは次のステップを行なって署名動作を行なう方法:
【0027】
・ステップ 1 (コミットメント R の行為)
各々の呼び出しで、前記証人は上述のように指定されるプロセスを適用することによって各々のコミットメント R を計算し、
【0028】
・ステップ 2 (チャレンジ d の行為)
前記署名エンティティは、変数をメッセージ M とそれぞれのコミットメント R のとするハッシュ関数hを適用してバイナリトレインを得て、該バイナリトレインから前記署名エンティティは、コミットメント R と同じ数のチャレンジdを引き出し、
【0029】
・ステップ 3 (応答 D の行為)
前記証人は、上述のように指定されるプロセスを適用することによってチャレンジ d から応答 D を計算する。
【0030】
[チェック動作]
メッセージ M の真性性を証明するために、コントローラと呼ばれているエンティティが署名されたメッセージをチェックする。そのコントローラエンティティは、以下のようなプロセスを行ってチェック動作実行する:
【0031】
[前記コントローラがコミットメント R 、チャレンジ d 、応答 D を持つケース]
コントローラがコミットメント R 、チャレンジ d 、応答 D を持つ場合、前記コントローラは、前記コミットメント R 、前記チャレンジd、前記応答 D が
【数88】
のタイプか、または、
【数89】
のタイプの関係を満たすことを確認する。
そして、前記コントローラは前記メッセージ M 、前記チャレンジd、前記コミットメント R が前記ハッシュ関数
【数90】
を満たすことを確認する。
【0032】
[前記コントローラはチャレンジdと応答 D を有する場合]
前記コントローラはチャレンジdと応答 D を有する場合、前記コントローラは、それぞれのチャレンジdと応答 D に基づいて、
【数91】
のタイプの関係か、または、
【数92】
のタイプの関係を満たすコミットメント R ´を再構成する。
そして、前記コントローラは前記メッセージ M と前記チャレンジdが前記ハッシュ関数
【数93】
を満たすことを確認する。
【0033】
[前記コントローラはコミットメント R と応答 D を有する場合]
前記コントローラはコミットメント R と応答 D を有する場合、前記コントローラは前記ハッシュ関数を適用してd´を再構成する。
【数94】
そして、前記コンとローラは、前記コミットメント R 、前記チャレンジd´、前記応答 D が
【数95】
のタイプの関係か、または、
【数96】
のタイプの関係を満たすことを確認する。
【0034】
[システム]
本発明は、コントローラ・サーバーに対して、
・ エンティティの真性性、および/または
・ 該エンティティと関連するメッセージ M の完全性、
を証明するようにされたシステムにもまた関連している。この証明は、
・ 秘密の値 Q1 、 Q2 、 ... 、 Qm と公開値 G1 、 G2 、 ... 、 Gm (mは 1 以上)の m 個の組、
・ f 個の素因数 p1 、 p2 、 ... pf の積で構成される公開のモジュラス n (fは 2 以上)、
の全てあるいは部分以下のパラメータやそれらパラメータからの算出値を用いている。
【0035】
前記モジュラスと前記秘密値と公開値は以下のタイプの関係があり、:
【数97】
ここで、vは
【数98】
の形式の公開の指数値 cを表し、kは1より大きいセキュリティパラメータであり、
前記m個の公開の値 Gi は、f個の素因数 p1,p2, … ,pf より小さいm個の区別できるベース数 g1,g2, … ,gm による gi 2 となる2乗値であり、
前記素因数 p1,p2, … ,pf および/または前記m個のベース数 g1,g2, … ,g m は以下の条件が満たされるように生成されているシステム:
【0036】
[第1の条件]
第 1 の条件によれば、方程式
【数99】
がxについてモジュロnの整数環において解をもつこと;
【0037】
[第2の条件]
Gi(Qi v mod n である場合、第2の条件は、 Qi を二乗してモジュロ n を k−1 回とったm個の数 qi のうち、これらのいずれかが± gi ではないこと(つまり、トリビアルではないこと)である。
Gi.Qi v ( 1 mod n である場合、第2の条件はば、 Qi のモジュロnを二乗したものの逆モジュロ n を k−1 回とったm個の数 qi のうち、これらのいずれかが± gi ではないこと(つまり、トリビアルではないこと)である。
ここでの表記によれば、± gi が数 gi と n−gi を表現するものであることをここで指摘しておく。
【0038】
[第3の条件]
第3の条件は、少なくとも2m個の方程式
【数100】
がモジュロnの整数環におけるxについて解を持つことである。
前記システムは、例えばマイクロプロセッサベースのバンクカードの形態をとるようなノマドオブジェクト証人装置である。
その証人装置は前記f個の素数 pi、 および/または、前記m個のベース gi 、および/または、前記素因数のチャイニーズ剰余のパラメータ、および/または、秘密の値 Qi および公開の指数値vの f.m 個の成分 Qi,j ( Qi,j ( Qi mod pj )を含むメモリゾーンからなる。
前記証人装置は、
・ 前記証人装置の乱数値生成手段と呼ぶ乱数値生成手段、
・ 前記証人装置のコミットメント R の計算手段と呼ぶ計算手段
からなる。
前記計算手段は、モジュロnの整数環においてコミットメント R の計算を行い、各コミットメント R は、
・rがrが0<r<nである前記乱数値生成手段による乱数値として、
【数101】
のタイプの演算を行なうか、
r i が、0<r i <p i で、それぞれ、前記乱数生成手段によって生成され、各r I はチャイニーズ剰余法を適用することによって得られるランダム値の集合 [r1,r2, … , rf] に属する、素因数 pi に関連した乱数値であるとして、
【数102】
のタイプの演算を行なうか、
によって計算される。
【0039】
前記証人装置は、また、
・ 前記証人で装置のチャレンジdを受け付け、それぞれのチャレンジdがm個の整数 d i (以下、要素チャレンジとよぶ)からなる 1 以上のチャレンジdを受け付ける受け付け手段、
・ それぞれのチャレンジdに基づいて、前記証人装置の応答 D を計算し、
・方程式
【数103】
のタイプの演算を行なうこと、あるいは、
・方程式
【数104】
のタイプの演算をおこなって、そして、チャイニーズ剰余法を適用することのいずれかにより応答 D を計算する計算手段、
からなる。
【0040】
前記証人手段は、また、
・ 1以上のコミットメント R と1以上の応答 D を伝送する伝送手段、
を備えている(前記手法はチャレンジd、コミットメント R と同じくらいの数の応答 D があって、 R, d、 D の数の群は{ R 、 d 、 D }で参照される3つの数字の組で表される)。
【0041】
[あるエントリの真性性の証明ケース]
実施形態の第1の変形によれば、本発明のシステムは、デモンストレータと呼ばれているエンティティとコントローラと呼ばれているエンティティの真性性を証明するようにできている。
【0042】
前記システムは、前記デモンストレータエンティテイに関連し、前記相互接続装置によって前記証人装置に相互接続されて、例えばマイクロプロセッサベースのバンクカード中のマイクロプロセッサの形態のような、ノマドオブジェクトにおける微小論理回路の形態を特にとることができるデモンストレータ装置からなる。、
【0043】
前記システムは、また、前記コントローラエンティティと関連するコントローラ装置であって、前記コントローラ装置は特に端末であるか遠隔サーバーの形になっていて、特にデータ処理通信ネットワークを通って、それ自身、電気的、電磁気的、光学的、あるいは音響によるデモンストレータ装置への接続のために、接続手段を含んでいる前記コントローラ装置からなる。
【0044】
前記システムは、以下のステップの実行を可能にしている前記システム:
・ステップ 1 (コミットメント R の行為)
各々の呼び出しで、上述のように指定されるプロセスを適用することによって証人装置のコミットメント R の計算手段が各コミットメント R を計算する。該証人手段は、コミットメント R の全部または一部を前記デモンストレータ装置に送信する、前記証人装置の伝送装置と呼ばれる伝送装置を有する。前記デモンストレータ装置は、また、コミットメント R の全てはまた一部を前記コントローラ装置に前記相互接続手段を通じて送信する、前記デモンストレータ装置の伝送装置と呼ばれる伝送装置を有する。
【0045】
・ステップ2(チャレンジdの行為)
前記コントローラ装置は、前記コミットメント R の全部または一部を受け取った後に、それぞれの数がコミットメント R と同じチャレンジ d を生成する、チャレンジ生成手段を含む。前記コントローラ装置は、また、接続手段を通じて前記デモンストレータへチャレンジdを伝送する、前記コントローラの伝送手段と呼ぶ伝送手段を含む。
【0046】
・ステップ3(応答 D の行為)
前記証人装置の前記チャレンジdの受け取り手段は、前記相互接続装置を通して前記デモンストレータ装置から来るそれそれのチャレンジdを受け取る。前記証人装置の前記応答 D の前記計算手段は、上述のようなプロセスを適用することにより、前記チャレンジdから前記応答 D を計算する。
【0047】
・ステップ4(チェックの行為)
前記デモンストレータの前記伝送手段はそれぞれの応答 D を前記コントローラへ伝送し、前記コントローラは、また、
・ 前記コントローラ装置の計算手段と呼ばれる計算手段、
・ 前記コントローラ装置の比較手段とよばれる比較手段、
からなる。
【0048】
[第1のケース:前記デモンストレータが各コミットメント R の一部を伝送した場合]
前記デモンストレータが各コミットメント R の一部を伝送した場合には、
m個の公開値 G1 、 G2 、 ... 、 Gm を有する前記コントローラ装置の前記計算手段は、各チャレンジ R と各応答 D から再構成されたコミットメント R ´を計算し、その再構成されたコミットメント R ´は
【数105】
のタイプの関係か、
【数106】
のタイプの関係を満たす。
【0049】
[第2のケース:前記デモンストレータが各コミットメント R の全部を伝送した場合]
前記デモンストレータが各コミットメント R の全部を伝送した場合には、m個の公開値 G 1 、 G2 、 ... 、 Gm を有する前記コントローラ装置の前記計算手段と前記比較手段は、各チャレンジ R が
【数107】
のタイプの関係か、
【数108】
のタイプの関係を満たすことを確認する。
【0050】
[メッセージの完全性の証明の場合]
第1の変形と組み合わせることができる実施形態の第2の変形においては、本発明のシステムは、コントローラとして知られたあるエンティティに、デモンストレータとして知られたエンティティに関連したメッセージ M についての完全性の証明を与えるようにされたシステムである。前記システムは、前記デモンストレータエンティテイに関連したデモンストレータ装置を含むようなものである。該デモンストレータは、前記相互接続装置によって前記証人装置に相互接続されて、例えばマイクロプロセッサベースのバンクカード中のマイクロプロセッサの形態のような、ノマドオブジェクトにおける微小論理回路の形態を特にとることができる。前記コントローラは、前記コントローラエンティティと関連するコントローラ装置である。前記コントローラ装置は、特に端末であるか遠隔サーバーの形になっていて、特にデモンストレータ装置へのデータ処理通信ネットワークを通って、それ自身、電気的、電磁気的、光学的、あるいは音響による接続のために、接続手段を含んでいる。
前記システムは、以下のステップの実行を可能にしている:
【0051】
・ステップ 1 (コミットメント R の行為)
証人装置のコミットメント R の計算手段が、各々の呼び出しで、上述のように指定されるプロセスを適用することによって各コミットメント R を計算する。該証人手段は、コミットメント R の全部または一部を前記デモンストレータ装置に送信する、前記証人装置の伝送装置と呼ばれる伝送装置を有する。
【0052】
・ステップ2(チャレンジdの行為)
前記デモンストレータ装置は、少なくともあるトークン T の計算に、変数を前記メッセージおよび各コミットメント R の全部または一部とするハッシュ関数hを適用する、前記デモンストレータの計算手段と呼ばれる計算手段からなる。前記デモンストレータ装置は、また、各トークン T を前記コントローラ装置に前記接続手段を通じて送信する、前記デモンストレータ装置の伝送装置と呼ばれる伝送装置を有する。前記コントローラ装置は、また、前記トークンを受け取った後で、コミットメント R の数と同じ数の前記チャレンジdを生成するチャレンジ生成手段を有する。前記コントローラ装置は、また、接続手段を通じて前記デモンストレータへチャレンジdを伝送する、前記コントローラの伝送手段と呼ぶ伝送手段を有する。
【0053】
・ステップ3(応答 D の行為)
前記証人装置の前記チャレンジdの受け取り手段は、前記相互接続装置を通して前記デモンストレータ装置から来るそれそれのチャレンジdを受け取る。前記証人装置の前記応答 D の前記計算手段は、請求項1に記載のプロセスを適用することにより、前記チャレンジdから前記応答 D を計算する。
【0054】
・ステップ4(チェックの行為)
前記デモンストレータの前記伝送手段は、それぞれの応答 D を前記コントローラへ伝送する。前記コントローラは、また、前記コントローラ装置の計算手段と呼ばれる計算計算手段を有し、この計算手段は、m個の公開値 G1 、 G2 、 ... 、 Gm を有するとともに、第1に、各チャレンジdと各応答 D から再構成されたコミットメント R ´を計算し、この再構成されたコミットメント R ´は
【数109】
のタイプの関係か、
【数110】
のタイプの関係を満たし、
そして、第2に、前記メッセージ M および各再構成されたコミットメント R ´の全てまたは一部を変数として有する前記ハッシュ関数hを適用することによりトークン T ´を計算する。
【0055】
前記コントローラ装置は、また、受け付けられたトークン T について前記トークン T ´を計算する、前記コントローラ装置の比較手段として知られている比較手段を有する。
【0056】
[メッセージのディジタル署名とその真性性の証明]
先の2つの実施形態のいずれか、および/または、他のものと組み合わせることができる、本発明による実施の形態の第3の変形においては、署名エンティティと呼ばれるエンティティによって、署名されたメッセージとして知られているメッセージ M のディジタル署名を生成するようにするようにされ、前記署名されたメッセージは、
・ 前記メッセージ M 、
・ 前記チャレンジ d 、および/または、前記コミットメント R 、
・ 前記応答 D;
を含んでいるような、システムである。
【0057】
・署名動作:
前記システムは、前記署名エンティティに関連している署名装置からなるようなものであり、前記署名装置は、前記証人装置に、相互接続手段で相互接続されていて、例えばマイクロプロセッサベースのバンクカード中のマイクロプロセッサの形態のような、ノマドオブジェクトにおける微小論理回路の形態を特にとることができる。
前記システムは、以下のステップの実行を可能にする:
【0058】
・ステップ 1 (コミットメント R の行為):
各々の呼び出しで、上述のように指定されるプロセスを適用することによって証人装置のコミットメント R の計算手段が各コミットメント R を計算しする。該証人手段は、コミットメント R の全部または一部を前記デモンストレータ装置に送信する、前記証人装置の伝送装置と呼ばれる伝送装置を有する。
【0059】
・ステップ2(チャレンジdの行為):
前記署名装置は、変数を前記メッセージおよび各コミットメント R の全部または一部とするハッシュ関数hを適用し、あるバイナリトレインを計算し、このバイナリトレインからコミットメント R と同じ数のチャレンジdを導出する前記署名装置の計算手段と呼ばれる該計算手段を有する。
【0060】
・ステップ3(応答 D の行為):
前記チャレンジdの受け取り手段は、前記相互接続装置を通して前記デモンストレータ装置から来るそれそれのチャレンジdを受け取り、前記証人装置の前記応答 D の前記計算手段は、上述のようなプロセスを適用することにより、前記チャレンジdから前記応答 D を計算する。前記証人装置は、前記証人装置の伝達装置と呼ばれ、前記相互接続手段を通して前記署名装置へと前記応答 D を伝達させる、伝達装置からなる。
【0061】
[チェック動作]
前記メッセージ M の真性性を証明するために、コントローラとして知られているエンティティは、前記署名されたメッセージをチェックする。
前記システムは、コントローラエンティティに関連したコントローラ装置からなるようになっている。前記コントローラ装置は、特に端末であるか遠隔サーバーの形になっていて、特に前記署名装置へのデータ処理通信ネットワークを通って、それ自身、電気的、電磁気的、光学的、あるいは音響による接続のために、接続手段を含んでいる。
【0062】
前記署名装置は、署名装置の伝送手段として知られていて、前記接続装置を通じて、前記署名されたメッセージの前記コントローラ装置への伝送手段からなる前記署名エンティティに関連している。こうして、前記コントローラ装置は、
・ 前記メッセージ M 、
・ 前記チャレンジd、および/または、前記コミットメント R 、
・ 前記応答 D 、
を含む署名されたメッセージからなる。
前記コントローラ装置は、
・ 前記コントローラ装置の計算手段と呼ばれる計算手段、
・ 前記コントローラ装置の比較手段と呼ばれる比較手段、
からなる。
【0063】
・場合前記コントローラ装置がコミットメント R 、チャレンジd、応答 D を有する場合:
場合前記コントローラ装置がコミットメント R, チャレンジd、応答 D を有する場合、前記コントローラ装置の前記計算手段および前記比較手段は、前記コミットメント R 、前記チャレンジd、前記応答 D が
【数111】
のタイプか、
【数112】
のタイプの関係を満たすことを確認する。
そして、前記コントローラ装置の前記計算手段と前記比較手段は、前記メッセージ M, 前記チャレンジd、前記コミットメント R が前記ハッシュ関数:
【数113】
を満たすことを確認する。
【0064】
・前記コントローラ装置がチャレンジd、応答 D を有する場合:
前記コントローラ装置がチャレンジd、応答 D を有する場合、前記コントローラ装置の前記計算手段は、各チャレンジdと各レスポンス D に基づいて、
【数114】
のタイプか、
【数115】
のタイプの関係を満たすコミットメント R ´を計算する。
そして、前記コントローラ装置の前記計算手段と前記比較手段は前記メッセージ M と前記チャレンジdがハッシュ関数
【数116】
を満たすことを確認する。
【0065】
・前記コントローラ装置がコミットメント R 、応答 D を有する場合:
前記コントローラ装置がコミットメント R 、応答 D を有する場合、前記コントローラ装置の前記計算手段は、前記ハッシュ関数を適用して、
【数117】
のようなd´を計算する。
そして、前記コントローラ装置の前記計算手段と前記比較手段は前記コミットメント R 、前記チャレンジd´、前記応答 D が
【数118】
のタイプの関係を満たすか、
【数119】
のタイプの関係を満たすことを確認する。
【0066】
[端末装置]
本発明は、また、あるエンティティに関連したある端末装置に関係する。その端末装置は、例えばマイクロプロセッサベースのバンクカード中のマイクロプロセッサの形態のようなノマドオブジェクトにおける微小論理回路の形態を特にとることができる。前記端末装置は、コントローラ装置に対して
・ あるエンティティの前記真性性、および/または、
・ 該エンティティに関連したあるメッセージ M の完全性、
を証明するようにされている。
この用命は、パラメータ:
秘密の値 Q1 、 Q2 、 ... 、 Qm と公開値 G1 、 G2 、 ... 、 Gm (mは 1 以上)の m 個の組、
f 個の素因数 p1 、 p2 、 ... pf の積で構成される公開のモジュラス n ( 2 以上の f )、
や、これらのパラメータからの算出値の全部または一部を用いるようにされている。
【0067】
前記モジュラスと前記秘密値と公開値は
【数120】
のタイプの関係があり、ここで、vは
【数121】
の形態の公開値である指数値を表す(kは1より大きいセキュリティパラメータ)。
前記m個の公開値 Gi は、m個の異なったベース数 g1 、 g2 、… gm の、 f 個の素因数 p1 、 p2 、… pf より小さい二乗値g i 2 であり;前記 p1 、 p2 、… pf の素因数、および/または、m個のベース数 g1 、 g2 、… gm は以下の条件が満たされる。
【0068】
・第1の条件:
第1の条件は、各方程式
【数122】
がモジュロnの整数環におけるxについて解を持つこと。
【0069】
・第2の条件:
Gi(Qi v mod n である場合、第2の条件は、 Qi を二乗してモジュロ n を k−1 回とったm個の数 qi のうち、これらのいずれかが± gi ではないこと(つまり、トリビアルではないこと)。
Gi.Qi v ( 1 mod n である場合、第2の条件は、 Qi のモジュロnを二乗したものの逆モジュロ n を k−1 回とったm個の数 qi のうち、これらのいずれかが± gi ではないこと(つまり、トリビアルではないこと)。
【0070】
・第3の条件:
第3の条件は、2m個の方程式
【数123】
がモジュロnの整数環におけるxについて解をもつこと。
前記端末装置は、前記f個の素因数 pi 、および/または、ベース gi のm個の素因数、および/または、前記素因数のチャイニーズ・剰余法のパラメータ、および/または、公開モジュラス n 、および/または、m個の秘密値 Qi 、および/または、前記秘密値 Qi と公開の指数値vとの f.m 個の構成要素 Qi,j ( Qi,j ( Qi mod pj )を含むメモリゾーンを備える証人装置を有する。
前記証人装置は、また、
・ 前記証人装置の乱数値生成手段と呼ぶ乱数値生成手段;
・ 前記証人装置のコミットメント R の計算手段と呼ぶ計算手段であって、モジュロnの整数環においてコミットメント R の計算を行う計算手段
を備える。
【0071】
各コミットメント R は、
・rは、rが0<r<nである前記乱数値生成手段による乱数値としたとき、
【数124】
のタイプの演算を行なうか、
・r I が0<r i <p i で、それぞれ、前記乱数生成手段によって生成されて、チャイニーズ剰余法を適用することによって得られるランダム値の集合 [r1,r2 , … ,rf] に属する、素因数 pi に関連した乱数値であるとしたとき、
【数125】
のタイプの演算を行なうか、
によって計算される。
【0072】
前記証人装置は、また、
・ 前記証人で装置のチャレンジdを受け付け、それぞれのチャレンジdがm個の整数 d i (以下、要素チャレンジとよぶ)からなる 1 以上のチャレンジdを受け付ける受け付け手段、
・ それぞれのチャレンジdに基づいて、前記証人装置の応答 D を計算し、
・方程式
【数126】
のタイプの演算を行なうこと、あるいは、
・方程式
【数127】
のタイプの演算をおこなって、そして、チャイニーズ剰余法を適用すること、
のいずれかにより応答 D を計算する計算手段を備えている。
【0073】
前記証人装置は、また、1以上のコミットメント R と1以上の応答 D を伝送する伝送手段を備えている。前記手法はチャレンジd、コミットメント R と同じくらいの数の応答 D があって、 R, d、 D の数の群は{ R 、 d 、 D }で参照される3つの数字の組で表される。
【0074】
[エンティティの真性性の証明のケース]
実施形態の第1の変形において、本発明の前記端末装置は、デモンストレータと呼ばれているエンティティとコントローラと呼ばれているエンティティの真性性を証明するようにされている。
【0075】
前記端末装置は、前記デモンストレータエンティテイに関連しているデモンストレータ装置を含む。前記デモンストレータ装置は、前記接続装置によって前記証人装置に相互接続されている。それは、例えばマイクロプロセッサベースのバンクカード中のマイクロプロセッサの形態のような、ノマドオブジェクトにおける微小論理回路の形態を特にとることができる。
【0076】
前記デモンストレータ装置は、また、前記コントローラエンティティと関連していて、特に端末であるか遠隔サーバーの形になっている前記コントローラ装置へと、特にデモンストレータ装置へのデータ処理通信ネットワークを通じて、それ自身、電気的、電磁気的、光学的、あるいは音響によって接続するための接続手段を、含んでいる。
【0077】
前記端末装置は、以下のステップの実行を可能にしている:
・ステップ 1 (コミットメント R の行為):
各々の呼び出しで、上述のように指定されるプロセスを適用することによって証人装置のコミットメント R の計算手段が各コミットメント R を計算する。
該証人装置は、コミットメント R の全部または一部を前記デモンストレータ装置に送信する、前記証人装置の伝送装置と呼ばれる伝送装置を有する。前記デモンストレータ装置は、また、コミットメント R の全てはまた一部を前記コントローラ装置に前記接続手段を通じて送信する、前記デモンストレータ装置の伝送装置と呼ばれる伝送装置を有する。
【0078】
・ステップ2および3(チャレンジdの行為、応答 D の行為):
前記証人装置の前記チャレンジdの受け取り手段は、前記コントローラ装置と前記デモンストレータ装置の間の前記接続装置を通して、また、前記デモンストレータ装置と前記証人装置の間の前記相互接続装置を通して、前記コントローラ装置から来るそれそれのチャレンジdを受け取る。前記証人装置の前記応答 D の前記計算手段は、上述のようなプロセスを適用することにより、前記チャレンジdから前記応答 D を計算する。
【0079】
・ステップ4(チェックの行為):
前記デモンストレータの前記伝送手段はそれぞれの応答 D をチェックを行なう前記コントローラへ伝送する。
【0080】
[メッセージの完全性の証明の場合]
第1の実施の形態と組み合わせることができる、実施形態の第2の変形において、本発明の端末装置は、コントローラとして知られたあるエンティティに、デモンストレータとして知られたエンティティに関連したメッセージ M についての完全性の証明を与えるようにされている。前記端末装置は、前記デモンストレータエンティテイに関連し、前記相互接続装置によって前記証人装置に相互接続されて、例えばマイクロプロセッサベースのバンクカード中のマイクロプロセッサの形態のような、ノマドオブジェクトにおける微小論理回路の形態を特にとることができるデモンストレータ装置、を備えるようなものである。前記デモンストレータ装置は、前記コントローラエンティティと関連していて、特に端末であるか遠隔サーバーの形になっている前記コントローラ装置へと、特にデモンストレータ装置へのデータ処理通信ネットワークを通じて、それ自身、電気的、電磁気的、光学的、あるいは音響によって接続するための接続手段をまた含んでいる。
【0081】
・ステップ 1 (コミットメント R の行為):
各々の呼び出しで、上述のように指定されるプロセスを適用することによって証人装置のコミットメント R の計算手段が各コミットメント R を計算する。該証人手段は、コミットメント R の全部または一部を前記デモンストレータ装置に送信する、前記証人装置の伝送装置と呼ばれる伝送装置を有する。
【0082】
・ステップ2および3(チャレンジdの行為、応答 D の行為):
前記デモンストレータ装置は、少なくともあるトークン T の計算に、変数を前記メッセージおよび各コミットメント R の全部または一部とするハッシュ関数hを適用する、前記デモンストレータの計算手段と呼ばれる計算手段からなる。前記デモンストレータ装置は、また、各トークン T を前記コントローラ装置に前記接続手段を通じて送信する、前記デモンストレータ装置の伝送装置と呼ばれる伝送装置を有する。
前記コントローラ装置は、前記トークン T を受け取った後、コミットメント R の数と同じ数のチャレンジdを生成しする。
前記証人装置の前記チャレンジdの受け取り手段は、前記コントローラ装置と前記デモンストレータ装置の間の前記相互接続装置を通して、また、前記デモンストレータ装置と前記証人装置の間の前記相互接続装置を通して、前記コントローラ装置から来るそれそれのチャレンジdを受け取る。
【0083】
前記証人装置の前記応答 D の前記計算手段は、上述のようなプロセスを適用することにより、前記チャレンジdから前記応答 D を計算する。
【0084】
・ステップ4(チェックの行為):
前記デモンストレータの前記伝送手段は、それぞれの応答 D をチェックを行なう前記コントローラへ伝送する。
【0085】
[メッセージのディジタル署名とその真性性の証明]
先の二つの実施形態のいずれかに組み合わせることができる第3の実施形態の変形において、本発明の前記端末装置は、署名エンティティと呼ばれるエンティティによって、署名されたメッセージとして知られているメッセージ M のディジタル署名を生成するようにするようにされている。
前記署名されたメッセージは、
・ 前記メッセージ M 、
・ 前記チャレンジ d 、および/または、前記コミットメント R 、
・ 前記応答 D;
を含んでいる。
【0086】
前記端末装置は、前記署名エンティティに関連している署名装置からなるようなものであり、前記署名装置は、前記証人装置に、相互接続手段で相互接続されていて、例えばマイクロプロセッサベースのバンクカード中のマイクロプロセッサの形態のような、ノマドオブジェクトにおける微小論理回路の形態を特にとることができる。前記署名装置は、また、前記コントローラエンティティと関連していて、特に端末であるか遠隔サーバーの形になっている前記コントローラ装置へと、特にデモンストレータ装置へのデータ処理通信ネットワークを通じて、それ自身、電気的、電磁気的、光学的、あるいは音響によって接続するための接続手段を含んでいる。
【0087】
・署名動作:
前記端末装置は、以下のステップの実行をする:
・ステップ 1 (コミットメント R の行為):
各々の呼び出しで、上述のように指定されるプロセスを適用することによって証人装置のコミットメント R の計算手段が各コミットメント R を計算する。該証人手段は、コミットメント R の全部または一部を前記デモンストレータ装置に送信する、前記証人装置の伝送装置と呼ばれる伝送装置を有する。
【0088】
・ステップ2(チャレンジdの行為):
前記署名装置は、前記署名装置の計算手段と呼ばれる該計算手段を含み、変数を前記メッセージおよび各コミットメント R の全部または一部とするハッシュ関数hを適用して、あるバイナリトレインを計算し、このバイナリトレインからコミットメント R と同じ数のチャレンジdを導出する。
【0089】
・ステップ3(応答 D の行為):
前記証人装置の前記チャレンジdの受け取り手段は、前記相互接続装置を通して前記デモンストレータ装置から来るそれそれのチャレンジdを受け取り、前記証人装置の前記応答 D の前記計算手段は、上述のようなプロセスを適用することにより、前記チャレンジdから前記応答 D を計算する。前記証人装置は、前記証人装置の伝達装置と呼ばれ、前記相互接続手段を通して前記署名装置へと前記応答 D を伝達させる、伝達装置からなる。
【0090】
[コントローラ装置]
本発明はまたコントローラ装置に関連する。そのコントローラ装置は、コントローラエンティティに関連した端末か遠隔サーバ形態を特にとることができる。
該コントローラ装置は、
・ あるエンティティの真性性、および/または、
・ 該エンティティと関連するメッセージ M の完全性
をチェックするようにされている。この証明は、以下のパラメータ:
・ 秘密の値 Q1 、 Q2 、 ... 、 Qm と公開値 G1 、 G2 、 ... 、 Gm (mは 1 以上)の m 個の組
・ f 個の素因数 p1 、 p2 、 ... pf の積で構成される公開のモジュラス n ( 2 以上の f )で、前記コントローラ装置と関連しているコントローラエンティティには知られていないもの、
の全部若しくは一部またはこれらのパラメータからの算出値を用いることで成り立つ。
【0091】
前記モジュラスと前記秘密値と公開値は、
【数128】
のタイプの関係があり、ここで、vは
【数129】
のタイプの公開値である指数値を表す(kは1より大きいセキュリティパラメータ、 Qi は、前記コントローラ装置には知られていない、前記公開値 Gi に関連している秘密値)。
【0092】
前記m個の公開値 Gi は、m個の区別できるベース数 g1 、 g2 、… gm の、 f 個の素因数 p1 、 p2 、… pf より小さい二乗値g i 2 であり;前記 p1 、 p2 、… pf の素因数、および/または、m個のベース数 g1 、 g2 、… gm は以下の条件が満たされるように生成される。
【0093】
[第1の条件]
第1の条件は、各方程式
【数130】
がモジュロnの整数環におけるxについて解を持つこと。
【0094】
[第2の条件]
Gi(Qi v mod n である場合、第2の条件は、 Qi を二乗してモジュロ n を k−1 回とったm個の数 qi のうち、これらのいずれかが± gi ではないこと(つまり、トリビアルではないこと)。
Gi.Qi v ( 1 mod n である場合、第2の条件は、 Qi のモジュロnを二乗したものの逆モジュロ n を k−1 回とって得られるm個の数 qi のうち、これらのいずれかが± gi ではないこと(つまり、トリビアルではないこと)。
【0095】
[第3の条件]
第3の条件は、2m個の方程式
【数131】
がモジュロnの整数環におけるxについて解を持つこと。
【0096】
[エンティティの真性性の証明の場合]
実施形態の第1の変形において、本発明のコントローラ装置は、コントローラと呼ばれるあるエンティティに対して、デモンストレータと呼ばれるあるエンティティの真性性を証明するようにされている。
前記コントローラ装置は、特にデータ処理通信ネットワークを通って、それ自身、電気的、電磁気的、光学的、あるいは音響によって接続する、デモンストレータエンティティに関連したデモンストレータ装置への接続のための接続手段を含んでいる。
前記コントローラ装置は、以下のステップを実行するのに用いられる:
【0097】
・ステップ1および2(コミットメントRの行為、チャレンジdの行為):
前記コントローラ装置は、また、前記接続装置を通して前記デモンストレータ装置から来るコミットメント R の全部または一部を受け付ける手段を有する。
前記コントローラ装置は、前記コミットメント R の全部または一部を受け取った後に、それぞれの数がコミットメント R と同じであるチャレンジ d (各チャレンジdはm個の整数 di (以下「要素チャレンジ」と呼ぶ)からなる)を生成する、チャレンジ生成手段を含む。
前記コントローラ装置は、また、前記接続手段を通じて前記デモンストレータへチャレンジdを伝送する、前記コントローラの伝送手段と呼ぶ伝送手段を含む。
【0098】
・ステップ3および4(応答 D の行為、チェックの行為):
前記コントローラ装置は、また、
・ 前記接続手段を通じて前記デモンストレータ装置から来る前記応答 D を受け付ける手段
・ 前記コントローラ装置の計算手段と呼ばれる計算手段
・ 前記コントローラ装置の比較手段と呼ばれる比較手段
を備える。
【0099】
・第1のケース:前記デモンストレータが各コミットメント R の一部を伝送した場合:
前記デモンストレータが各コミットメント R の一部を伝送した場合には、
m個の公開値 G1 、 G2 、 ... 、 Gm を有する前記コントローラ装置の前記計算手段は、各チャレンジ R と各応答 D から再構成されたコミットメント R ´を計算し、その再構成されたコミットメント R ´は
【数132】
のタイプの関係か、
【数133】
のタイプの関係を満たす。
前記コントローラ装置の前記比較手段は、各再構成されたコミットメント R ´を受け付けられた各コミットメント R の全部または一部と比較する。
【0100】
・前記デモンストレータが各コミットメント R の全部を伝送した場合:
前記デモンストレータが各コミットメント R の全部を伝送した場合には、
m個の公開値 G1 、 G2 、 ... 、 Gm を有する前記コントローラ装置の前記計算手段と前記比較手段は、各チャレンジ R が
【数134】
のタイプの関係か、
【数135】
のタイプの関係を満たすことを確認する。
【0101】
[メッセージの完全性を証明する場合]
本発明による前記第1のコントローラ装置に組み合わせることのできる、実施の形態の第2の変形は、デモンストレータと呼ばれるあるエンティティの完全性を証明するようにされている。
前記コントローラ装置は、特にデータ処理通信ネットワークを通って、それ自身、電気的、電磁気的、光学的、あるいは音響によって、デモンストレータエンティティに関連したデモンストレータ装置への接続のために、接続手段を含んでいる。
前記コントローラ装置は以下のステップを実行するのに用いられる:
【0102】
・ステップ1および2(コミットメントRの行為、チャレンジdの行為):
前記コントローラ装置は、また、前記接続装置を通して前記デモンストレータ装置から来るトークン T を受け付ける手段を有する。前記コントローラ装置は、前記トークン T を受け取った後に、それぞれの数がコミットメント R と同じであるチャレンジ d (各チャレンジdはm個の整数 di (以下「要素チャレンジ」と呼ぶ)からなる)を生成する、チャレンジ生成手段を含む。前記コントローラ装置は、また、前記接続手段を通じて前記デモンストレータへチャレンジdを伝送する、前記コントローラの伝送手段と呼ぶ伝送手段を含む。
【0103】
・ステップ3および4(応答 D の行為、チェックの行為):
前記コントローラ装置は、また、前記接続手段を通じて前記デモンストレータ装置から来る前記応答 D を受け付ける手段を含む。前記コントローラ装置は、前記コントローラ装置の計算手段と呼ばれる計算手段であって、この計算手段は、第1に、m個の公開値 G1 、 G2 、 ... 、 Gm を有するとともに、各チャレンジdと各応答 D から再構成されたコミットメント R ´を計算し、そのコミットメント R は
【数136】
のタイプの関係か、
【数137】
のタイプの関係を満たし、
【0104】
第2に、前記メッセージ M および各再構成されたコミットメント R ´の全てまたは一部を変数として有する前記ハッシュ関数hを適用することによりトークン T ´を計算しする、計算手段を含む。
前記コントローラ装置は、トークン T ´を受け付けられたトークン T と比較する前記コントローラ装置の比較手段と呼ばれる比較手段を備える。
【0105】
[メッセージのディジタル署名とその真性性の証明]
先の2つの実施形態のいずれか、および/または、他のものと組み合わせることができる、本発明による実施の形態の第3の変形においては、署名されたメッセージと呼ばれているエンティティによって署名されたメッセージをチェックすることによってメッセージ M の真性性を証明するようにされている本発明のコントローラ装置である。
前記署名メッセージは、ハッシュ関数h( message,R )を有するある署名エンティティに関連した署名装置によって送られるとともに、
・ 前記メッセージ M 、
・ 前記チャレンジdおよび/またはコミットメント R 、
・ 前記応答 D 、
からなる。
【0106】
・チェック動作:
前記コントローラ装置は、前記署名エンティティに関連した前記署名装置への、特にデータ処理通信ネットワークを通る電気的、電磁気的、光学的、あるいは音響による接続のための接続手段を含んでいる。該コントローラ装置は、前記署名装置から前記接続を通じて前記署名メッセージを受け取り、
前記コントローラ装置は、
・ 前記コントローラ装置の計算手段と呼ばれる計算手段、
・ 前記コントローラ装置の比較手段と呼ばれる比較手段、
を備える。
【0107】
・場合前記コントローラ装置がコミットメント R 、チャレンジd、応答 D を有する場合:
場合前記コントローラ装置がコミットメント R, チャレンジd、応答 D を有する場合、前記コントローラ装置の前記計算手段および前記比較手段は、前記コミットメント R 、前記チャレンジd、前記応答 D が
【数138】
のタイプか、
【数139】
のタイプの関係を満たすことを確認する。
そして、前記コントローラ装置の前記計算手段と前記比較手段は前記メッセージ M, 前記チャレンジd、前記コミットメント R が前記ハッシュ関数
【数140】
を満たすことを確認する。
【0108】
・前記コントローラ装置がチャレンジd、応答 D を有する場合:
前記コントローラ装置がチャレンジd、応答 D を有する場合、前記コントローラ装置の前記計算手段は、各チャレンジdと各レスポンス D に基づいて、
【数141】
のタイプか、
【数142】
のタイプの関係を満たすコミットメント R ´を計算し、前記コントローラ装置の前記計算手段と前記比較手段は前記メッセージ M と前記チャレンジdがハッシュ関数
【数143】
を満たすことを確認する。
【0109】
・前記コントローラ装置がコミットメント R 、応答 D を有する場合:
前記コントローラ装置がコミットメント R 、応答 D を有する場合、前記コントローラ装置の前記計算手段は、前記ハッシュ関数を適用して、
【数144】
のようなd´を計算する。
そして、前記コントローラ装置の前記計算手段と前記比較手段は前記コミットメント R 、前記チャレンジd´、前記応答 D が
【数145】
のタイプの関係を満たすか、
【数146】
のタイプの関係を満たすことを確認する。
【0110】
[発明の記述]
GQ 方法の目的は、メッセージのディジタル署名とエンティティとメッセージのダイナミックな真性性である。これらは、「知識の移動なしで」方法である。エンティティは、それが 1 または秘密のいくつかの数を知っているということを証明する。もう一つのエンティティは、チェックする ; それは、対応する公開値または数を知っている。証明しているエンティティは秘密の数を明らかにすることなくチェックしているエンティティを確信させようとすし、そのような方法で、必要に応じて何度も使うことができる。
【0111】
各々の GQ 方法は、秘密の高い素数からなる公開のモジュロに依存する。公開されている指数値 v と公開されているモジュロnは、ともに、「べき乗vモジュロnへの増加」と意味し、一般的ないくつかの方程式(すべて同じタイプの):直接、 G ≡ Qv ( mod n )から、あるいは、 Gx Qv ≡1の逆演算で実現される。このタイプは、証明エンティティの範囲内で以外でない、エンティティをチェックすることの範囲内で計算の演算に影響を及ぼす ; 実際、セキュリティ分析は、 2 つのタイプを混乱させる。公開値 G にリンクされる各々の一般的な方程式と秘密の数 Q は、一緒に一対の数{ G,Q }を作る。再開するために、各々の GQ 方法は、同じ鍵 <v,n> のために 1 または数対の数{ G,Q }を含む。 GQ1 と呼ばれてここでは、 GQ 方法の古典バージョンは、 RSA ディジタル署名メカニズムを使う。確認鍵 <v,n> は、それから変わった指数値 v が望ましくは素数である RSA 公開鍵である。各々の GQ1 法は、一般に 1 対の一つの数{ G,Q }を使う: RSA ディジタル署名技術の必要不可欠な一部であるフォーマット・メカニズムによって、公開値 G は、識別データから推論される。秘密の数 Q またはその逆のモジュロnは、識別データのための RSA 署名である。証明エンティティはそれ自身の識別データの RSA 署名についてのその知識を示する、そして、この証明はしたがって、必要に応じて多くの時間として使われるために、秘密のままである署名を現しない。 GQ1 法は、一般に 2 レベルの鍵を実装する:識別データによる他から一つの鍵に署名して秘密の RSA は、彼ら自身を識別しているエンティティを公認しているオーソリティのために予約されてある。そのようなメカニズムは、「基礎を形成されるアイデンティティ」であると言われる。このように、チップカードのエミッタは、カードにおいて多様化された秘密鍵として刻まれる秘密の数 Q を計算するために各々のカードの刊行のために彼の RSA 秘密鍵を使用する ; または、さらに、セッションの間のクライアントの短命な秘密鍵である秘密の数 Q を計算するために各セッションに入るとき、コンピュータのネットワークの上のクライアントは彼の RSA 秘密鍵を使用する。エンティティ(開会中のチップカードまたはクライアント)を証明することは、彼らの識別データの RSA 署名を知っている ; 彼らは、鍵ヒエラルキーおいて、次のより高いレベルにある RSA 秘密鍵を知らない。それでもなお、オーソリティのレベルの 768 のビットのモジュロによる GQ1 によるエンティティのダイナミックな真性性は各々のエンティティのレベルの 3 つの素因数による 512 のビットのモジュロをもつ RSA のそばのエンティティのダイナミックな真性性と同じほとんど作業負荷を必要とする。そして、それは証明エンティティを彼らの製品のために法結果を計算する前に素因数の各々のために法結果を計算することによってチャイニーズ剰余法テクニックを使用させる。しかし、オーソリティと公認のエンティティの間の鍵のヒエラルキは、義務的ではない。人は証明エンティティに属しているモジュールで、 GQ1 を使うことができる。そして、それは証明エンティティのレベルのモジュロが当局たとえば 768 のビットと比較すると 512 のビットのレベルのモジュロより短くありえるという事実は別として、基本的にエンティティをチェックする作業負荷を変えないエンティティを証明する作業負荷を減らすことをチャイニーズ剰余法テクニックを使用する可能性があるようにする。エンティティがそれ自身のモジュロの素因数を知っている時に、なぜ RSA ディジタル署名メカニズムの呼び出すのか?
【0112】
基本の GQ2 とここで呼ぶ、 GQ 方法のもう一つのバージョンは、直接モジュロnの因数分解の問題を扱いる。この文脈では、「直接」は、「 RSA 署名を求めるない」ことを意味する。証明エンティティでだけでなくエンティティをチェックすることでも、 GQ2 の狙いは、作業負荷を減らすことになっている。証明エンティティはそれ自身のモジュロの分解についての知識を示する、そして、この証明はしたがって、必要なほど、しばしば使われることができるために、秘密のままである分解を明らかにしない。 GQ2 プロトコルのセキュリティは、モジュールの因数分解に等しい。
【0113】
各証明エンティティは、それ自身のモジュロnを持つ。各 GQ2 メカニズムは、公開の指数値 v=2k を固定する 1 を超える小さな数であるパラメータ k と、1以上のいくつかの数の対{ G1,Q1 }から{ Gm,Qm }とを
インプリメントする。各々の公開値 Gi は、 1 を超える小さな数である gi の二乗値であって、「ベース数」と呼ぶ。全ての証明エンティティは同じ公開値 G1 から Gm を使うことができる。モジュロnと Q1 から Qm の数の因数分解は、それから、同じ鍵ヒエラルキのレベルにある。
基本の GQ2 鍵の各々の集合は、 2 つの必要で十分な条件によって定義される:
【0114】
・ 各々のベース数について、 2 つの方程式 xv ≡± gi ( mod n )のどちらも、モジュロnの整数環において、 x の中に解を持つ。いわば、数± gI は 2 つのモジュロnの非二次の残余である。
・ 各々のベース数について、方程式 xv ≡± g2 ( mod n )(ここで、 v=2k )がモジュロnの整数環に、 x の中に解を持つ。秘密の数 Qi またはその逆のモジュロnは、これらの解の任意のものになる。
【0115】
第 2 の条件を考慮することにより、数± gi が 2 つのモジュロnの非二次の残余とするために、モジュロnは、 gi の Legendre シンボルが関連する 3 ( mod 4 )に適合する少なくとも二つの素因数を含む。従って、モジュロは、 3 ( mod 4 )に適合するのが全く無いか、 1 つだけの素因数から成る場合、一組の基本の GQ2 鍵を確立させない。そして、それは 3 ( mod 4 )まで適合する素因数に特権を与える。このように、高い素数を無作為に選ぶことによって、半分だけが 3 ( mod 4 )と半分が 1 ( mod 4 )まで適合するようである。その結果、使用中の多くの RSA モデルは、一組の基本の GQ2 鍵を確立することができない。
【0116】
ここでは、我々は何ら任意のモジュロででも、そして、特に、何ら任意の RSA モジュロのいても GQ2 技術を使用することができるためにこの制限を克服するために一般化された GQ2 鍵の集合を導入する。それは、 2 つの必要で十分な原則に依存する。:
【0117】
第1の原則は、第二の基本の GQ2 条件を複写する:
−g1 から gm までの各々のベースについて、方程式 xv(gi 2 ( mod n )、ここで、 v=2k 、が、がモジュロnの整数環において、 x に解を持つこと。
秘密の数 Q またはその逆のモジュロnが方程式の解であるので、連続した二乗値 k−1 つのモジュロnが、それをモジュロnの整数環における Gi の根である数 qi に変える。数 qi が 2 つの数 gi か n−gi のうちの 1 つと等しいか 2 つの数 gi と n−gi と異なるかどうかに従い、それがトリビアルか、あるいはそうではないと言われる。
【0118】
数 qi が非トリビアルのとき、 qi 2−gi 2 を割る n は qi−gi か qi+gi を割らない。任意の非トリビアル数 q は、このようにモジュロnの分解を明らかにする。
【数147】
n=pgcd(n,qi−gi)xpgcd(n,qi+gi)
第2の原則原則が最初の基本の GQ2 条件を拡張する:
・数 q1 から qm の中で、少なくともいずれかつの数 qi は、非トリビアルである。
数± gi がモジュロnの整数環における 2 つの非二次の残余である間、数 q+ が存在するならば、数 qi が明白に非トリビアルである点に注意されたい。
【0119】
このように、基本の GQ2 鍵の集合は、確かに一般化された GQ2 鍵の集合の部分であり、一般化された GQ2 鍵は、何ら任意のモジュロでも使うことを可能にする、つまり、少なくとも二つが区別できるかぎり、無関係に、 3 つまり 1 ( mod 4 )に適合する高い素数の任意の合成である。他方、一般化された GQ2 鍵の多くの集合は、基本の GQ2 鍵の集合ではない。一般化された GQ2 鍵の各々の集合は、以下のケースのうちの 1 つに従っている:
・ 数± g1 から± gm までの 2xm が全て、非二次の残余であるとき、これは一組の基本( elementary )の GQ2 鍵である。
・ 数± g1 から± gm までの 2xm において、少なくともいずれかつの非二次の残余があれば、これは一組の基本の GQ2 鍵ではなく、ここでは一組の相補型 GQ2 鍵とされる。
【0120】
本発明は、定義において、基本でない一般化された GQ2 鍵のこれらのセットである、その相補型 GQ2 鍵の集合に関する。 2 つの前の原則の他に、そのようなセットは、第 3 の原則を満たさなければならない。
・ ± g1 から± gm への 2xm 数± g1 の中に、少なくともいずれかつの二次の残余がある。
【0121】
問題を評価して、我々が提供するソリューション、つまり、本発明、を理解するために、まず第一に非トリビアル数 q によって現れられるモジュロnの分解を分析し、それから、チャイニーズ剰余法テクニック、それからガロア域 CG(p) でランクの概念に戻る。そして、次に、 CG(p) で関数「二乗値への増加」と、 CG(p) で二次の残余の「平方根をとること」を議論し、そして最後に、上述の 3 つの原則の適用性を分析する。
【0122】
(モジュールの分解の分析)
モジュロnが pf に f 個の素因数 p1 に分解されるように、モジュロnの整数環は f 個のガロア域 CG(p1) から CG(pf) に分解される。各々のフィールドでは、 2 個の単位根(すなわち± 1 )がある。つまり、環では 2f 個の単位根がある。 Q1 から Qm の各秘密の数は、環におけるこれらの 2f 個の単位平方根のうちの 1 つである数Δ i=qi /gi ( mod n )を定義する ;
言い換えると、Δ i 2−1 は n で割り切れる。
【0123】
・ qi がトリビアル、つまり、Δ i= ± 1n なら、Δ i−1 あるいはΔ i+1 は n で割り切れる。したがって、Δ i は、モジュロnの分解を明らかにはしない。
・ qi が非トリビアル、つまり、Δ i ≠± 1 なら、Δ i−1 あるいはΔ i+1 は n では割り切れない。従って、Δ i は分解、 n=pgcd(n 、Δ i−1)xpgcd(n 、Δ i +1) 各々のフィールドでΔ i の値から導かれる):この素因数は、Δ i−1 を割り切るか、他方、Δ i+1 を割り切る。
数 q の増殖性の構成の支配の検査
【0124】
2 つの数{ q1,q2 }は、合成数 q1xq2(mod n) を与える。
・ q1 が非トリビアル、そして、 q2 がトリビアルとき、合成数 q1xq2(mod n ) は非トリビアルである ; これは、 q1 と同じ分解を明らかにする。
・ q1 と q2 が非トリビアルΔ 1 = ±Δ 2 であるとき、合成数 q1xq2(mod n ) はトリビアルである ; これは、いかなる分解も明らかにしない。。
・ q1 と q2 が非トリビアルおよび D1 ≠± D2 であるとき、合成数 q1x q2 (m od n) は非トリビアルである ; これは、第 3 の分解を明らかにする。
3 つの数{ q1, q2,q3 }は、 4 合成数{ q1x q2 、 q1x q3 、 q2x q3 、 q1x q2x q3 (mod n) }(すなわち合計 7 つの数)を与える ;
m 番号は、このように 2m−m−1 合成数(すなわち 2m−1 番号の合計)を提供する。
【0125】
我々は現在、 i 個のベース数 g1 〜 gi と、 i 個の数 q1 〜 qi を与える i 個の秘密数 Q 1 〜 Qi と、単位平方根である i 個のベース数Δ 1 〜Δ i を含んでいる一組の一般化された GQ2 鍵を考える。秘密の数 Qi+1 によって、もう一つのベース数に gi+1 を、数 qi +1 と、そして根Δ i+1 を与えて、考慮してみる。
【0126】
・ 2i+1−1 個の数の合計は、以下のケースの各々では、多くの非トリビアル数からなる:
・ 根Δ i+1 はトリビアルである、そして、ダイへの少なくともいずれかつの根 D1 は非トリビアルである。
・ 根Δ i+1 は、トリビアルでも、 2xi 根±Δ 1 と±Δ i の中で現れる 2xi 個の根±Δ 1 〜±Δ i の数でもない。
・根Δ i+1 が非トリビアルであって、 2xi 個の根±Δ 1 〜±Δ i の数の中ではなく、各々の qi +1 個の数の合成数が非トリビアルでないとき。
従って、数 q1 〜 qm への m 個の数の中で少なくともいずれかが非トリビアルのとき、 2 m−1 個の数の半分の合計より多くのものは非トリビアルである。
【0127】
定義によって、 2l−l−1 個の対応する合成数の各々が非トリビアル、すなわち、全体で 2l−l 個の数が非トリビアルであるとき、数えるモジュロnと比較して、 l<f 個の非トリビアル数{ q1, q2,..., ql }が、独立していると言われる。
【0128】
これらの 2l−l 個の数の各々は、このようにモジュロnの異なる分解を明らかにする。
・ f 個の素因数が異なっているとき、モジュロnの 2f−1 −1 分解がある。
このように、 f−1 個の数 q が独立しているならば、双単一の意味での対応が、 2f − 1−1 分解と、 f−1 個の独立した数と 2f−1−f 個の対応する合成数を含んでいる 2 f −1− 1 個の数の合計との間にある。
【0129】
・チャイニーズ剰余法
2 個の数 a,b のいずれか、 0<a<b のその間の素数、 0 から a−1 の数 Xa と、0から b−1 の Xb の 2 つの数については、 ; 数が 0 から axb−1 までの、その Xa ≡ X( mod a) と Xb ≡ X(mod b) にユニークな X ものの決定に関する。数 x ≡ [b( mod a)]−1(mod a) は、チャイニーズ剰余法パラメータである。
基本のチャイニーズ剰余法の演算は、下に与えられる:
【数148】
要約すると、: X=Chinese remainders(Xa,Xb )。
【0130】
f 個の素因数が最も小さい p1 から最大の pf に増加するように並べられると、チャイニーズ剰余法パラメータは以下のように与えられる(素因数(すなわち f−1 )より少なくなるものがある)。
・ 最初のパラメータは、 x ≡( p2 (mod p1) ) −1(mod p1) である .
・ 第二のパラメータは、β≡( p1x p2 (mod p3) ) −1(mod p3) である .
・ i 番目のパラメータは、( p1 × ...pi−1(mod pi) ) −1(mod p i) である。
・ 等。
f−1 個の基本の演算において、人は 0 から 0 から pj−1 まで Xj で X1 から f 構成要素の任意の集合からでも Xf まで始まっている n−1 まで、数 X を確立する:
・ 最初のパラメータによる最初の結果( mod p1x p2 )、
・ そして第二のパラメータによる第二の結果( mod p1x p2xp3 )、
・ 最終結果まで( mod n = p1x p2x... pf )最後のパラメータで。
pf に素因数 p1 を与えられて、再開するために、モジュロnの整数環の各々の要素は、 2 つの等価表現を持つ:
・ f 個の数 X1 〜 Xf の素因数構成要素: Xj ≡ X(mod pj) 、
・ 0 から n−1 への数 X 、 X= Chinese remainders ( X1,X2, ... Xf ))。
CG(p) での数のランク
p を奇数の素数とし、 a を p より小さい数、すなわち 0<a<p とする。定義より、 p についての a のランクは、{ xi =a; そして、 i ≧ 1,xi+1 ≡ a × xi ( mod p )}で提起されるシーケンス{ X }の期間である。フェルマー定理を適用することによって xi+p ≡ ap × xi ≡ a × xi ≡ xi+1 ( mod p )が得られる。したがって素数 p についての数 a のランクは、 p−1 、または、 p−1 の割る数である。
【0131】
例えば、( p−1 ) /2 が、奇数の素数 p であるとき、 CG(p) が数を含むガロア域は、ランク1の数を含む:これは、ランク 2 の、 1 である:これは、ランクp´である p’ −1 個の数と、ランク2×p´= p−1 の、p´ −1 個の数である、 CG(p) では、ランク p−1 の任意の数は、「ジェネレータ」である。この名称は、 CG(p) でのジェネレータの連続したべき乗(すなわち 1 から p’−1 へのインデックスのためのシーケンス{ X }の項)が CG(p) の全てのゼロ以外の要素の順列を作るという事実による。
【0132】
y を CG(p) のジェネレータとする。 i と p−1 によって数 y ´( mod y )のランクを評価することにする。 i が p−1 と互いに素であるとき、これは p−1 である。 p− 1 が i で割り切れるとき、これは (p−1)/i である。全てのケースで、( p−1 ) / lgcd(p−1,i) ( lgcd = 最大公約数)。
【0133】
定義によって、オイラーの関数φ (n) は、 n より小さい数で、 n と互いに素な n より小さい数の個数である。 CG(p) にはφ (p−1) 個のジェネレータがある。
例証として、 RSA の基礎を理解することは、ランクを用いて容易になる。モジュール n は、 f ≧ 2 について、 f 個の素因数 p−1 から p−f までの積である。 p1 から pf への各々の素因数 pi について、公開されている指数値 e は、 pj−1 と互いに素でなければならない。今度は、鍵 <e,pj> は、 CG(pj) の要素のランクに従う。:これは C G(pj) の要素を並べ替える ; 通常は e × dj−1 が p−1 で分りきれてできるだけ小さいような数 dj が存在する。鍵 <dj 、 pj> は CG(pj) の要素の順列を逆にする。これらの f 個の順列(各フィールド CG(p1) から CG(pf) )は、公開鍵 <e, n> によってまとめられる RSA 順列によって、モジュロnの整数環において表される。d× e−1 が( p1−1、p2−1 、... pf−1 )の最小公倍数( scm )で割り切れるような、一般に、できるだけ小さい数 d が、存在する。
【0134】
p1 から pf への各々の素因数 pj に対して、我々は dj ≡ d ( mod pj−1 )を持つ。 RSA 順列は、公開鍵 <e,n> が秘密鍵 <d,n> によって逆演算されることにまとめられる。
【0135】
CG(p) の二乗値
p−1 が 2t で割り切れるが、 2t−1 以外である、そのようなその数 t を定義しよう。各々の大きい素数は、 t=1,t=2,t=3、t−4 等々の中の唯一の 1 つのカテゴリーの中に現れる。もし、連続した素数の十分に大きい数が考慮されるならば、大体 2 つに 1 つは、 p が 3 ( mod 4 )に適合する最初のカテゴリー、 4 つに 1 つは p が 5 ( mo d 8 )に適合する第二のもの、8個に 1 つは p が 9 ( mod 16 )に適合する第 3 のものに、 16 中 1 、 p が 17 ( mod 32 )に適合する第 4 のもの、その他、というようにところに現れ ; 大体、2 t 個に 1 つは p が2 t+1 ( mod 2t+1 )適合する第nのものに、現れる。
【0136】
数 x と p−x には CG(p) で同じ二乗値があるので、鍵 <2,p> は CG(p) の順序を変更しない。 CG(p) で「二乗値になる」関数は、フィールドの各々のゼロ以外の要素が自身の場所を捜し出す方向付けられたグラフによって表示されるかもしれない。各々の要素のランクのパリティによって、ブランチとサイクルをもちいてグラフの構造を分析しよう。
【0137】
ゼロ要素がセットされる。これは、0である。 0 要素について他のいかなる要素も関係がなく;ランクは定義されない ;0 要素は、孤立する。
単位元が、セットされる。これは、 1 である、ランク 1 の唯一の要素。
CG(p) 中の単位の全ての根は、 1 に関連したブランチにある。 y を CG(p) の非二次の残余(任意の残余)とする。鍵 <(p−1)/2t 、 p> は、 b として参照される、 y を −1 のプリミティブな 2t−1 番目の根に変える ; 実際、 y(p−1)/2 ≡ −1( mod p) が得られる。したがって、 CG(p) において、 1 以外の単位の 2t−1 個の根は、 1 から 2t−1 への指数値のための b のべき乗である:彼らは、 1 に関連したブランチを作る。
【0138】
偶数のランクの任意の要素の二乗値は、2で割り切れる数のランク他の要素である。したがって、偶数のランクの各々の要素は、あるブランチに置かれる ; 各々のブランチは2で割り切れるが、4では割り切れないランク数を含み、次に t ≧ 2 ならば、4で割り切れるが、8では割り切れない二つのランク数、次に t ≧ 3 ならば、8で割り切れるが、16では割り切れない4つのランク数、次に t ≧4ならば、16で割り切れるが、32では割り切れない8つのランク数、等々となる。全てのブランチは、 1 に関連したブランチと類似している ; 各々のブランチの 2t−1 個のリーフは、非二次の残余である ; 各々のブランチは、 2t−1 個の要素を含んで、奇数ランクの要素と関連がある ; ( p−1 ) /2t 個の同じ長さ t をもつブランチがある。
【0139】
単位元以外の奇数のランクの任意の要素は、同じランクを持っているもう一つの要素である。鍵 <2,p> は、奇数のランクの( p−1 ) / 2t 個の要素のセットにおいて、並びを変更する。順列は、順列サイクルに因数分解される。サイクルの数は、( p−1 ) / 2t の因数分解に依存する。( p−1 ) /2t の各割る数 p ´について、ランク p ´のφ (p) 個の要素を含むをサイクルが存在する。定義によって、オイラーの関数φ (p) は、 p と互いに素で p より少ない数の数であることを、思い起こそう。例えば、 (p−1) /2t と等しい p ´が、素数で、ランクp´の p ´ −1 個の数が大きな順列サイクルをつくる。
【0140】
図 1A−1D は、それぞれ、 3 ( mod 4 )、 5 ( mod 8 )、 9 ( mod 16 )と 17 ( mod 32 )まで適合する p のために各々グラフ断片を図示する。
ブランチの上のリーフは、白円で図示される ; これらは、非二次の残余である。
ブランチの中のノードは、灰色の円で図示される ; これらは、偶数ランクの二次の要素である。
サイクルのノードは、黒人のサークルとして図示される ; これらは、偶数ランクの二次の要素である。
【0141】
CG(p) での平方根
a が CG(p) の二次の残余であることがわかったので、方程式 x2 ≡ a ( mod p )の解を計算する方法、つまり、 CG(p) で「平方根とる」、を見ることにする。もちろん、多くの方法が、同じ結果を得るためにある ; アンリ・コーエンの本、「計算代数的数論コース( a Course in Computation Algebraic Num ber Theory )」 Berlin の Springer 社 1993 年発行のボリューム 138 、数学大学院テキスト( Graduate Texts in Mathemat ics 、 GTM 138 )シリーズ、のページ 31−36 を用いることができるかもしれない。
数 s = ( p−1+2t ) /2t+1 は鍵 <s,p> を提供する。これは:
<(p+1)/4 、 p> : p が 3 ( mod 4 )に適合するとき
<(p+3)/8 、 p> : p が 5 ( mod 8 )に適合するとき
<(p+7)/16 、 p> : p が 9 ( mod 16 )に適合するとき
<(p+15)/32 、 p> : p が 17 ( mod 32 )に適合するとき
等々
ということである。
【0142】
鍵 <s 、 p> はサイクルの任意の要素 a を、サイクルに前の要素に変換する。 a が偶数ランクのものであるとき、それは奇数のランクの解答である、我々はそれに w という名前をつける。実際に、 CG(p) で、 w2/a が等しいことためにために −1 のべき乗( 2 × (p−1+2t)/<2t+1 ) −1= ( p−1 ) /2t.
他の解は、偶数ランクである ; これは、 p−w である。
【0143】
鍵 <s 、 p> は任意の要素の二次の残余 a を、第 1 近似として、rとよぶ解に変換する。 a は二次の残余なので、鍵 <2t−1 、 p> は r2/a を1に確かに変換する。 a の平方根にアプローチするため、 +1 または −1 を得るのに r2/a ( mod p )の2 t−2 乗をとる。結果が +1 である、あるいは、他にならば、それが b ´ r ( mod p )になる、結果が −1 であるならば、新しい近似は r のままである。そして、 p がフィールド C G(p) で 1 の任意のプリミティブな 2t 乗根に言及するということを知っている。したがって鍵 <2t−2 、 p> はこの新しい近似を1へと変える。また、鍵 <2t−3 、 p> をもちいて、 b2 ( mod p )で掛けること、等々でも、アプローチできる。
【0144】
以下のアルゴリズムは、方程式を解く。それは、上記のように定義済みの 2 つの変数として数 a,b,p,r,t を使う。 c は、連続した訂正と w を表する連続した近似。アルゴリズム、 c = b と w = r の初めの。計算終了後、 2 つの解は、 w と p−w である。 t −2 から 1 への i のために、以下のシーケンスを繰り返す必要がある:
・ 鍵 <2t (数 w3/a ( mod p )への +1 または −1 を得るために p> )を適用する。
・ −1 が得られるとき、 w を w ´ c ( mod p )と取り替える。
・ c を c2 ( mod p )と取り替える。
【0145】
原則の適用性
定義によって、我々は指数値 n が 2k である方程式 xn o g2 ( mod p )がフィールド CG(p) で x の中に解を持つとき、パラメータ k 、ベース数 g と素因数 p が互換性( compatible )を持つと述べる。数 k と g は、小さくて 1 より大きい。 p 番は、大きい素数である。
【0146】
・ t = 1 のとき、(すなわち p ≡ 3 ( mod 4 ))方程式は、を持つ 2 解。
・ t = 2 のとき、(すなわち p ≡ 5 ( mod 8 ))方程式は、 g の Legendr e シンボルに p に関して一致したを持つ 4 解(( g | p ) = +1 のとき) ; 解なし( g | p ) =−1 のとき)。
・ t > 2 のとき、(すなわち p ≡ 1 ( mod 8 ))、 u を、 2u が公開値 G = g 2 を p に関して割り切れるようなものだが、 2u+1 は割り切れないようなものとする ; したがって、 u は 0 から t−1 まで数のうちのいずれかと等しい。 u > 0 と k + u > t ならば方程式には解がない ;k + u ≦ t ならばそれは 2k 個の解を持つ ;u = 0 と k > t ならばそれは 2t 個の解を持つ。
したがって、 G がサイクルの中にまたはブランチの他の適当な位置にあるかどうかに応じて , 互換性には 2 つのタイプがある。
・ G が k の値に関係なくサイクルの中にあるとき、すなわち u = 0 のとき、 k の値に拠らず、そのサイクルには、奇数のランクと、α = min(k,t) によって散在するようにされた広められる偶数ランクとには、共に解があり、連続的なブランチが全部でサイクル(すなわち 2a 個の解)と関連がある。図 2A はこのケースを k ≧ t = 3 (すなわち 9 ( mod 16 )まで適合する素因数)で図示する。そして、それはその u = 0 を強要する。
・ G がブランチ(すなわち u > 0 と u+k ≦ t )の中に、適当な位置にあるとき、 2k の解(偶数ランクの、そして、ブランチの中の全て)がある。
図 2B は、このケースを図示する。
パラメータ k が与えられれば、 t の値が k 未満か、あるいは、k以上かによって、 2 種類の素因数がある。
【0147】
・t<kの任意の素因数 pj につては、各 Gi は、はあるサイクルの中に無くてはならならず、 Gi に関連したブランチには解がない。数Δ i,j で、 gi,−gi がサイクルにあるかどうかによって+1か、−1の値をとるものを定義する。m個の数Δ 1,j 〜Δ m ,j の何れであってもよい。図 3A は、t<kのケースを図示する: Gi は、 9 ( mod 16 )に適合する素因数 pj (すなわち k > 3 による u = 0 、 t = 3 )で、サイクルの中にある。
【0148】
・t≧kの任意の素因数 pj につては、各 Gi は、 u+k ≦ t, つまり、 u=0 のサイクルにあるか、あるいは、 1 ≦ u ≦ t−k のブランチの適当な場所にある。数Δ i,j で、 Qi,j が gi,−gi に関連したグラフの場所にあるかどうかによって+1か、−1の値をとるものを定義する。m個の数Δ 1,j 〜Δ m,j には選択がある。各数Δ i,j は個別に、互いの間をスイッチされても良い。図 3B は、t≧kのケースを図示する: Gi は、17( mod 32)に適合する素因数 pj (すなわち k > 3 による u = 0 、 t = 3 )で、サイクルの中にある。
【0149】
f 個の構成要素の各々のセット{Δ i,1 ... Δ i,f }は CG(pj). の単位の平方根である。この根は、トリビアルか、 f 個の構成要素が等しいかどうかに、一致していません ; 我々はそれから、 f 個の構成要素の集合が一定であるか変化すると述べる。そして、それは数 qi がトリビアルという事実を表する。数 qi が些細でないとき、したがって、 f 個の構成要素のセット{Δ i,1 ... Δ i,f }モジュールの因数分解をまとめる。したがって、秘密の構成要素 Qi,j を計算する前に原則をテストすることが可能である。
【0150】
・公開値 Gi が素因数 pj のためにサイクルの中にあるとき、数Δ i,j が +1 または − 1 であって、によってどうか gi 、あるいは、 − 、 gi はサイクルの中にある。
。そのとき、 pj ≡ 3 ( mod 4 )、これは Legendre のシンボルである:
Δ i,j= ( gi | pj )。
【0151】
・公開値 Gi が素因数 pj のためにブランチの中に適当な位置にあるとき、Δ i,j に与えられる値は秘密の構成要素 Qi を計算することによって決定されるかもしれない。
鍵の集合の生産・パラメータ k があれば、 2 つの戦略がある。
【0152】
・ジェネレータが適切に m が基礎を形成すると決心することを f 個の素因数に要求するどちらでも、計算する。
最初の素数: 2 、 3 、 5 、 7 、 ... は、 pf に f 個の大きい素因数 p1 の各々との彼らの互換性を評価することがないか調べられる。
g = 2 が p ≡ 5 ( mod 8 )と、互換性を持たないけれども、 2 はベース数の構成を始めるかもしれない。本当に、 2 個の数がブランチの中に類似した位置にあるとき、彼らの製品は正確に二乗値がより近いサイクルを持ってきて、サイクルにより近いである。ベース数は、個々に適切でない数を組み立てることによってそれによって得られるかもしれない。
【0153】
・または、ジェネレータは m ベース数とビット・サイズ(たとえば、 512 、 768 、 1 024 、 1536 、 2048 )と強い重さ(たとえば、 1 、 8 、 16 、 24 、 32 )による 1 まで連続した多くのビットが f 3 2 を決定するためにスタンバイするようなものは因数に分解するモジュールの特性を必要とする。
G1 、 G2 、 ... 、 Gm として注意した、ベース数は、最初の素数の中に一般に現れる: 2 、 3 、 5 、 7 、 11 ... 、でなければ、これら、組合せは最初の素数である。別途指示しなかった限り、これらは最初の m 素数である ;
G1=2 、 G2 = 3 、 G3 =5 ( G4 = 7 ) ...p ≡ 5 ( mod 8 )が g = 2 と互換性を持たない点に注意する。モジュール n は、近いサイズ(すなわち f によって分けられるモジュールに割り当てられるサイズ)による f 個の素因数の製品である。
【0154】
最初の原則
パラメータ k 、 p1 から pf への各々の素因数と各々のベースは g1 から g を数える。そして、 gm は互換性を持たなければならない。 2h のような数 h が p に関して g のランクを分けることを定義しようのに、 2h+1 はそれを分けない。以下の手順が Legend re のシンボル( g | p )を使って、数 h を計算するために、そして、数 b ( CG(p) . での統一の最初の 2t 乗根)
【0155】
・ ( g ? p ) t = 1 (帰りの「 h = 0 」)で = + 1 。
・ ( g ? p )、 t > 1 による = + 1 は、鍵 <(p を適用する? 1t ) /2t+1 ( G への w と呼ばれている結果を得るために p > )。
・ +g w = ならば、「 h = 0 」を返する。
・ =pg w ならば、「 h = 1 」を返する。
・他に、 c を b に、そして、 t−1 から 2 への i のために設定する、
・ 鍵 <2i ( w/g ( mod p )への± 1 を得るために p> )を適用する
・ −1 が h を i にセットして、 w を w ´ c ( mod p )と取り替えるならば、
・ c を c2 ( mod p )と取り替える。
・「 2 から t−1 への h の値」を返する。
・( g ? p ) = − 1 は、「 h =t 」を返する。
【0156】
k 、 g と p が相容れないことを思い出す我々をます k+u > t でいつの u > 0;
彼らは、互換性を持つ、 k の値に関係なく、いつの h = 0 または 1 、そして、等しくいつの k k+h £ t+1. で > 1
原則の支持を表明する 3 つの以下の手順は第二の原則の異なる実施と一致する。
【0157】
特定の実施において、第二の原則は、 qm への各々の数 q1 がトリビアルなことを必要とすることで適切に補強されるかもしれない。
ベース数の役割は、それから釣り合いる ;
第二の原則を釣り合わせることは、計画のセキュリティのデモンストレーションの特定の面の影響を持つ。
【0158】
最後に、 f > 2 つの異なった素因数があるとき、 m 番号{ q1 ... qm }の中で、 f−1 個の独立した数の少なくともいずれかつのサブセットが存在することを義務づけられるかもしれない。
3 つの手順は、次のように定義される m ´ f 個の数 di,j を使う。
・ pj がすなわち 1 から m ( di,j = Δ i,j )まで i のために <k そのようなその t である、 +1 hi,j = 0 と −1 に hi,j = 1 に。
・ pj が 3k そのようなその t であるとき、 1 からそれを意味する m ( di,j = 0 )への i のために、 Dm,j への D1,j は第二の原則に従って選ばれるかもしれない。
【0159】
最初の手順は、少なくともいずれかセット{ di,1 ... di,f }が変化する、あるいは、些細でないように、 0 、すなわちその少なくともいずれかつの数 q1 、 qm が些細でないか、選ばれるかもしれないことを確かめる。
・なぜならば、 1 から m への私と 1 から f への j 、
・ di,j = 0 または 1 つの di,1 ならば、「成功」を返する。
・「失敗」を返する。
【0160】
些細でないように、第二の手順は各々のセット{ di,1 ... di,f }が変化することは、あるいは、 0 がすなわち qm にとても各々 q1 を数えることは些細でないことを確かめるか、選ばれるかもしれない。
・なぜならば、 1 から m への私、
・ 1 から f への j のために、
・ di,j = 0 または 1 つの di,1 が i の次の値まであるきップするならば、
・ リターン「失敗」。
・「成功」を返する。
【0161】
第 3 の手順は、素因数 pj1 と、 1 つのそこの£ j1 £ j2 £ f で、 pj2 の各々のペアが di,j1 がゼロであるか di,j2 と異なる少なくともいずれかつのセット{ di, 1 ... di,f }であることを確かめる。
m が f−1 より小さいとき、それは明らかに、失敗する。
それが成功するとき、数 q1 〜 qm への m 個の数の中で、独立した f−1 番号の少なくともいずれかセットが f 個の素因数に関してある。
【0162】
・ 1 から f−1 への j1 のために、そして、 j1+1 から f への j2 のために、
・なぜならば、 1 から m への私、
・ di,j1 = 0 または 1 つの di,j2 が j1 と j2 の次の値まであるきップするならば、
・「失敗」を返する。
・「成功」を返する。
手順が失敗するとき、鍵がセットする GQ2 のジェネレータは 2 つの可能な戦略から選ばれるその戦略に従う:
・ f 個の素因数を保つ間、 m ベース・数のうちの 1 個を変えてください、
・ m を保つことは数の基礎を形成する間、 f 個の素因数のうちの 1 つを変えてください。
第 3 の原則(手順が分化していない GQ2 鍵(生産の間、かすでに生じられる)の集合がいるかどうか決定することになること)
一組の両方の基本の GQ2 鍵、すなわち、± gm への 2 ´ m 数± g1 が全ての非二次の残余であるために、
・でなければ、相補型そこの GQ2 鍵(すなわち± gm への 2 ´ m 数± g1 の中のそれ)の集合は、少なくともいずれかつの二次の残余である。
手順は、両方の Legendre のシンボルを使う( gi ? pj )、そして、( −gi ? pj )、
なぜならば、 1 から m まで、そして、 1 から f. への j のための私
・なぜならば、 1 から m への私、
・ 1 から f への j のために、
・( gi ? pj ) −1 、スキップ、次が i. の評価する =
・「相補型 GQ2 鍵の集合」を返する。
・ 1 から f への j のために、
・( gi ? pj ) −1 、スキップ、次が i. の評価する =
・「相補型 GK2 鍵の集合」を返する。
・「基本の GK2 鍵の集合」を返する。
秘密の構成要素 ― 直接的なタイプの方程式のために:
【0163】
以下の計算が全ての可能性が秘密の構成要素 Qi,j. のために高く評価すると確証する xn ≡ gi2 ( mod pj ) 2 つの最も単純で最も現在のケース(すなわち t = 1 と t = 2 )の後に、より複雑なケース(すなわち t > 2 )が続く。 t = 1 (すなわち pj ≡ 3 ( mod 4 ))のために、鍵 <(pj+1)/4,pj> は、 CG(pj ) で任意の二次の残余でもの二次の平方根を提供する。これから、数が引き出された sj o であること(( pj+1 ) /4 ) k ( mod ( pj−1 ) /2 )、そしてそれは鍵 < sj ( Gi を w ≡ Gisj ( mod pj )に変えている pj> )を与える。
【0164】
Qi,j は、 w または pj−w と等しい。
t = 2 (すなわち pj ≡ 5 ( mod 8 )、鍵 <(pj+3)/8 )のために、 pj > は CG(pj) で奇数のランクの任意の要素のためにでも奇数のランクの平方根を提供する。
これから、数が引き出された sj o であること(( pj+3 ) /8 ) k ( mod ( pj −1 ) /4 )、そしてそれは鍵 <sj ( Gi を w ≡ Gisj ( mod pj )に変えている pj> )を与える。
2 が CG ( pj )の中の非二次の残余であるので、 z ≡ 2(pj−1)/4 (モード p j )が −1 の平方根である点に注意しよう。
Qi,j は、 w にまたは pj−w にまたは他に w 等しい』 o w ´ z ( mod pj )または pj−w 』。
【0165】
t > 2 による pj ≡ 2t+1 ( mod 2t+1 )のために、 <(pj−1+2t に鍵をかけること) 2t+1/ 、 pj> は奇数のランクの任意の要素でもの奇数のランクの平方根を提供する。 k 、 g と p の間の互換性テストは、 h (次に u のそれ)の値を与えた。
・ Gi がサイクル( k の値に関係なく、 u = 0 )の中にあるとき、数は確立される、 s j ≡(( pj−1+2t ) /2t+1 ) k ( mod ( pj−1 ) /2t )。
鍵 <sj 、 pj> は Gi を変わった全くの w ≡ Gisj ( mod pj )の解答に変える。配布される偶数ランクの解答が min(k にある、 t) 連続的なブランチはサイクルに関連がありました、ブランチでは、言おう。 Qi,j は、 CG(pj) で統一の 2at h 根のどれにでもよって、 w の製品と等しい。
・ Gj がブランチ( u > 0 ( u + k £ t ))の中に、適当な位置にあるとき、全ての解が Gj 、関連したブランチ、数の 2uth べき乗によるサイクルと同じブランチにあって、数につき gi. 確立する
sj ≡(( pj−1+2t ) /2t+1)k+u ( mod ( pj−1 ) /2t.
<sj に鍵をかけてください、 pj> は多くの変わったランク w に Gi の 2uth べき乗を変換する。
【0166】
CG(pj) での統一の最初の 2k+u 乗根による w の製品の集合は、 Qi,j の 2k の値から成る。数 bj が CG(pj) での統一の最初の 2t 乗根であって、 pj が 3k そのようなその t であるとき、 CG(pj) での bj の 2tu 乗べき乗が存在する ;
これは、統一の最初の 2kth 根である。数Δ i,j の値は、 Qi,j に統一の最初の 2 k 乗根を掛けることによって変えられるかもしれない。
【0167】
逆のタイプの方程式のために:
1 ≡ xn ´ gi2 ( mod pj )、それは数 sj を取り替えるのに十分であるで(( pj−1 ) /2t ) −CG(pj). で Qi,j の値を逆にすることに達する鍵 <sj ( pj> )で sj 適合する 2 つの素因数による一組の鍵の例
【数149】
D1 は、非常に最初の素数の Legendre シンボルである。
【数150】
CG(p1) で、ランクは −5 、 −11 と 17 のために変わっている。
【数151】
CG(p2) で、ランクは 3 、 −5 、 7 と 11 のために変わっている。カーマイケルの関数は、
【数152】
【0168】
逆のタイプの一般的な方程式を使用するために、より麻痺した s ≡ l(n)−((1+ l(n))/2)9 ( mod l(n) )が、秘密の指数値として使われる。
【数153】
【0169】
番号 2 、 3 、 7 、 13 と 17 は、ベース数として適当ではない。
鍵 <s,n> は、 g1 = 5 を少しの因数分解も表さない秘密の数 Q1 に変える。
本当に、両方のフィールドでは、 −5 はあるサイクルにある。
【数154】
【0170】
鍵 <s,n> は、 g2 = 11 を因数分解を示す秘密の数 Q2 に変える。
本当に、 11 が両方のフィールドに同じ位置にあるというわけではない。
【数155】
【0171】
鍵 <s,n> は、 g3 = 21 = 3 × 7 を因数分解を示す秘密の数 Q3 に変える。
【数156】
【0172】
鍵 <s,n> は、 g4 = 26 = 2 × 13 を因数分解を示す秘密の数 Q4 に変える。
【数157】
【0173】
秘密鍵がさらに、チャイニーズ剰余法パラメータと 8 つのの構成要素の両方で表されるかもしれない。
【数158】
【0174】
秘密鍵 GQ2 が等しいことを証明する秘密鍵で異なる可能な表現の多形性:
彼ら全ては、実際の GK2 秘密鍵であるモジュール n の因数分解を知っていることに達する。 GQ2 秘密鍵の表現は、エンティティを制御することの範囲内で以外エンティティを示さないことの範囲内で計算の進捗に影響を及ぼする。 GQ2 秘密鍵にとって可能である 3 つの主な表現は、ここにある。 1 )、 GQ 秘密鍵の従来の表現は、鍵 <n ( n> )をチェックしている m 秘密の数 Qi と公開を保存することにある ;GQ2 計画のために、この表現は、以下 2 と競争してある。 2 )、作業負荷に関する最適の表現は、パラメータ k 、 f 個の素因数 pj 、 m ´ f 秘密の構成要素 Qi,j とチャイニーズ剰余法の f−1 パラメータを格納することにある。 3 )、最適の中で表現は、チャイニーズ剰余法のそれが第二の表現に達するように秘密の構成要素 Qi,j と f−1 パラメータをサイズがそれが最初の表現または m ´ f に達するように、どちらの m 秘密の数 Qi でもとモジュール n を確立して、パラメータ k 、 m ベース数 gi と f 個の素因数 pj を保存する際に、そして、それから各々の使用を始める際にある秘密鍵であると言える。
【0175】
ダイナミックな真性性メカニズムのまたはディジタル署名のセキュリティがモジュールの因数分解を知ることに等しいので、 GQ2 計画で、とても同じモジュールを使用している 2 つのエンティティを識別することが可能ではない。
【0176】
通常、各々の証明エンティティは、それ自身の GQ2 モジュールを持つ。しかし、 4 つの素因数による GQ2 モジュールは、指定されるかもしれない、どちらがもう 1 までエンティティと他 2 に知られているか 2 つ。ダイナミックな真性性−ダイナミックな真性性メカニズムはコントローラ(可能な関連するメッセージ M のコントローラがそれが実際にデモンストレータと任意にそれを扱っていることを確かめるように真性性と同様にデモンストレータと呼ばれているもう一つのエンティティの真性性)と呼ばれているエンティティに証明することのためであるそれ自体、そして、デモンストレータ、同じメッセージ M. について話すことは関連するメッセージ M であるオプションである、そしてそれはそれが空かもしれないことを意味する。
【0177】
ダイナミックな真性性メカニズムは、 4 つの行為のシーケンスである:
約束行為、チャレンジ行為、応答行為とチェックは、行いる。
実演者は、約束と応答行為をする。コントローラはチャレンジを演奏する、そして、チェックすることは行いる。デモンストレータの範囲内で、最も機密パラメータと実演者(すなわちコミットメントと応答の成果)の関数を孤立させるために、証人は孤立するかもしれない。証人はパラメータ k と GQ2 秘密鍵を持つ。そして、 3 つの表現のうちの 1 つに従うモジュール n の因数分解がすなわち上で言及される: f 個の素因数と m が基礎を形成する・は、数える、・ m ´ f 秘密の構成要素、 f 個の素因数、そして、 f−1 チャイニーズ剰余法、秘密の m が数える・とモジュール n. のパラメータ‖証人は、特定の具体化(たとえばチップカードが一緒にデモンストレータを作っている PC または特に PC の範囲内で保護されている・プログラムにさえ接続した・または特にチップカードの範囲内で保護されている・プログラムさえ)と一致するかもしれない。
【0178】
それによって孤立した証人は、署名しているエンティティの範囲内でこの後定義される証人と類似している。メカニズムの各々の遂行に、証人は一つ以上のコミットメント R を生産する、それから、多くの応答として、さらに同じだけへの D は d にチャレンジする。各々のセット{ R 、 d 、 D }は、 GQ2 トリプレットを作る。それに加えて証人を含んで、必要に応じて、デモンストレータもハッシュしている関数とメッセージ M を持つ。たとえば、コントローラは公開鍵のディレクトリからまたは公開鍵証明書からさえモジュール n を持つ ; 必要ならば、それも同じものを関数とメッセージ M をハッシュするようにする』。 GQ2 公開されているパラメータ、すなわち数 k 、 m と gm への g1 は、デモンストレータによってコントローラに提供されるかもしれない。
【0179】
コントローラは、コミットメント R を再建することができる』、コントローラは任意のチャレンジ d からでも、そして、任意の応答 D. パラメータ k でもと m から密告する。別途指示しなかった限り、 g1 から gm への m ベース数は最初の m 素数である。各々のチャレンジ d は、基本のチャレンジが d1 から dm. までリファレンスをつけた m を含まなければならない:
ベース数につき人。 d1 から dm. への各々の基本のチャレンジは、 0 から 2k−1−1 ( n/2 から n−1 への数が、使われません)への数である。
一般的に、各々のチャレンジは、 m 時間 k−1 ビット(そして、 m 時間 k ビットでない)でコード化される。たとえば、 k = 5 と m = 4 で数、 5 、 11 、 21 と 26 の基礎を形成する、各々のチャレンジは 4 人のカルテットの上で送られる 16 のビットを含む。
【0180】
そのとき、可能であるもの‖( k−1) ´ m チャレンジは、等しくありえる、数( k−1 ) ´ m は、各々の GQ2 トリプレットによって持ってこられるセキュリティを決定する:
【0181】
その通り、定義によるモジュール n の因数分解を知らない詐称者は、 2(k−1) ´ m から成功の 1 つのチャンスを持つ。 When(k−1) ´ m は 15 から 20 まである。そして、トリプレットが合理的に十分であるものがダイナミックな真性性を確実にする。セキュリティの任意のレベルでも成し遂げるために、トリプレットは平行に生産されるかもしれない ; 彼らはまた、順番に生産されるかもしれない、すなわち、メカニズムの遂行を繰り返する。 1) コミットメントの行為は、以下の演算から成る。証人がチャイニーズ剰余法を使わないとき、それはパラメータ k ( Q1 から Qm とモジュール n への m 秘密の数)を持つ ; それは、ランダムに、そして、私的に一つ以上の乱数 r ( 0 の < r < n )を選びます ;
【0182】
それから、彼らを連続して二乗値にすることによって、 k は時間を計る( mod n )、それは各々の乱数 r を変えるコミットメント R.
ここの R ≡ rn ( mod n )は、チャイニーズ剰余法のない鍵の前の集合と一緒の例である。
【0183】
証人がチャイニーズ剰余法を使う、それが持つ
【数159】
【0184】
パラメータ k 、 p1 から pf への最初の f 個の素因数、チャイニーズ剰余法の f−l パラメータ、そして、 m ´ f 秘密の構成要素 Qi,j;
それは、ランダムに、そして、私的に f 乱数の一つ以上のコレクションを選びます:あらゆるコレクションは、素因数パイ( 0 の < <ri パイ)につき、 1 つの乱数 ri を含む ; それから、それを連続して二乗することによって、 k は時間を計る( mod パイ)、それは各々の乱数 ri を変えるコミットメント構成要素 Ri.f コミットメント構成要素の各々のコレクションのための
【数160】
【0185】
証人はチャイニーズ剰余法テクニックにコミットメントを確立する。
そこで、あるのと、同じくらい多くのコミットメントが乱数コレクション、鍵の前の集合と一緒の、そして、チャイニーズ剰余法による例は、ここにある。
【数161】
【0186】
双方ともの中の
【数162】
【0187】
が下見する、デモンストレータがコントローラ、各々のコミットメント R のどちらの全部または一部でもまたは他に、各々のコミットメント R とメッセージ M. をハッシュすることによって得られるハッシュしているコード H に送るチャイニーズ剰余法( R1,R2 )
2) チャレンジの行為は一つ以上のチャレンジ d をランダムに選ぶことにある。そして、各々 m 基本のチャレンジ d1 、 d2 、… dm. から成る ;
各々の基本のチャレンジジ、 0 から n/2−1 への数の人は、そうである。
ここの d =d1 d2 … dm. は、両方の例(すなわち k = 5 と m = 4 に賛成の)のためのチャレンジである。
【数163】
【0188】
コントローラが各々送るのは、デモンストレータに d にチャレンジする。
3) 応答の行為は、以下の演算を含む。
証人がチャイニーズ剰余法を使わないとき、それはパラメータ k ( Q1 から Qm とモジュール n への m 秘密の数)を持つ ;
それは、基本のチャレンジによってコミットメント行為と秘密の数から各々の乱数 r を用いて一つ以上の応答 D を計算する。
ここの
【数164】
がチャイニーズ剰余法のない例の継続であることをする。
【0189】
証人がチャイニーズ剰余法を使う、それが持つ
【数165】
【0190】
パラメータ k 、 p1 から pf への f 個の素因数、 f−1 チャイニーズ剰余法パラメータ、そして、 m ´ f 秘密の構成要素 Qi,j;
それは、コミットメント行為から乱数の各々のコレクションを用いて f 応答構成要素の一つ以上のコレクションを計算する:
【数166】
応答構成要素の各々のコレクションは、素因数につき 1 つの構成要素を含む。
【0191】
応答構成要素の各々のコレクションのために ri ´ Q1,id1 ´ Q2,id2 ´… Qm ,idm ( mod パイ)をする、証人はチャイニーズ剰余法テクニックによって応答を確立する。
そこで、チャレンジであるのと、同じくらい多くの応答が、ある。
D =Chinese remainders(D1 、 D2 、… Df )、チャイニーズ剰余法のない例の継続は、ここにある。
【数167】
両方のケースには、デモンストレータは各々の応答 D をコントローラに送る。
【0192】
4) チェックすることの行為は、各々のトリプレット{ R 、 d 、 D }がゼロ以外の値のために以下のタイプの方程式を満たすことを確認することにある。
【数168】
または各々のコミットメントをはやりに元に戻すこと:
彼らの誰も、ゼロでないにちがいある。
【数169】
任意に、コントローラはそれからハッシュしているコード H を計算する』各々の回復するコミットメント R をハッシュすることによって』、そして、メッセージ M 』。ダイナミックな真性性が、成功しているコントローラがこのようにそれがコミットメント行為(すなわち各々のコミットメント R の全部若しくは一部またはハッシュしているコード H. )終了後、受けたものを取り戻すとき、たとえば、基本の演算のシーケンスは、応答 D をコミットメント R に変える』。シーケンスは、ベース数によって k−1 分割または掛け算(モード n )によって切り離される k 二乗値( mod n )から成る。
【0193】
分割または掛け算(二乗値と i+1−th が二乗値にする、 i−th が基本のチャレンジ d1 の噛んだ i−th の間で、それは実行される)が示す i−th のために g1 が使われなければならないならば、基本のチャレンジ d2 の i−th なビットが g2 が使われなければならないかどうか示すこと、 ... 噛まれる i−th 次第の基本の dm. 、 gm が使われなければならないかどうか示する。
以上がチャイニーズ剰余法のない例である。
【数170】
は、四角のモジュロnをとる:
【数171】
が 5 つの時間 26 = 130 (すなわち ’82 )までに、増やす
【0194】
四角のモジュロnをとる:
【数172】
07 は、 21 を掛ける。
【数173】
すなわち ’15 』モジュロn:
【数174】
四角のモジュロnをとる:
【数175】
11 の 5 回時間 21 = 1155
【数176】
(すなわち『 483 』のモジュロn)までに、増やす:
【数177】
は、 11 の 5 回時間 26 = 1430 (すなわち『 596 』のモジュロn)までに、
【数178】
四角のモジュロnをとる:
【数179】
3A 、コミットメント r は、取り戻される。
真性性は、成功している。
チャイニーズ剰余法による例の終わりは、ここにある。
【0195】
【数180】
は、四角のモジュロnをとる:
【数181】
5 つの時間 26 = 130 (すなわち ’82 )までに増える
【数182】
四角のモジュロnをとる:
【0196】
【数183】
21 を掛ける。すなわち ’15’ モジュロn:
【数184】
四角のモジュロnをとる:
【数185】
【0197】
11 の 5 回時間 21 = 1155 (すなわち『 483 』のモジュロn)までに、増やす:
【数186】
四角のモジュロnをとる:
【数187】
11 の 5 回時間 26 = 1430 (すなわち『 596 』のモジュロn)までに、増やする:
【数188】
【0198】
四角のモジュロnをとる:
【数189】
コミットメント r は、正しく取り戻される。真性性は、成功している。
ディジタル署名しているメカニズムが署名しているエンティティと呼ばれているエンティティに生じるのを可能にするディジタル署名はメッセージに署名した、そして、確かめるコントローラと呼ばれているエンティティはメッセージに署名した。メッセージ M は、任意のバイナリのシーケンスである:それは、空かもしれない。
メッセージ M は署名アペンディクスをそれに加えることによって署名される。そして、それは一つ以上のコミットメントやチャレンジ(対応する応答と同様に)から成る。たとえば、コントローラは公開鍵のディレクトリからまたは公開鍵証明書からさえモジュール n を持つ ; それも、同じものを関数をハッシュするようにする。彼らを署名アペンディクスに入れることによる例のために、 GQ2 公開されているパラメータ、すなわち数 k 、 m と gm への g1 はデモンストレータによってコントローラに与えられるかもしれない。数 k と m は、コントローラに知らせます。
【0199】
d1 から dm. への各々の基本のチャレンジは、一方、 0 から 2k−1−1 ( n−1 への数 n/2 が、使われません)への数である。各々のチャレンジ d は、他方多くであるように、ベース数があって、基本のチャレンジが d1 から dm. までリファレンスをつけた m を含まなければならない。
さらに、別途指示しなかった限り、 m ベース数は g1 から gm まで最初の m 素数である。で( k−1) ´ m が 15 から 20 まであって、平行に生産される 4 匹の GQ2 トリプレットと署名することが可能である ;
で( k−1 )´ m が 60 以上であって、 1 匹の GQ2 トリプレットだけと署名することが可能である。たとえば、 k = 9 と m = 8 で、 1 匹の GQ2 トリプレットだけは、十分である ;
【0200】
各々のチャレンジは 8 バイトを含む、そして、ベース数は 2,3,5,7,11,13, 17 と 19 である。
署名している演算は、 3 つの行為のシーケンスである:
コミットメント行為、チャレンジ行為と応答は、行いる。
各々の行為は、各々成り立っている一つ以上の GQ2 トリプレットを生産する:
【0201】
コミットメント r ( 1 0 )(基本のチャレンジが d1 によってリファレンスをつけた m からなるチャレンジ d ) d2 、 ...dm. 、そして、応答 D ( 1 0 )。
すなわち、署名しているエンティティはハッシュしている関数、パラメータ k と GQ2 秘密鍵を持つ。そして、 3 つの表現のうちの 1 つに従うモジュール n の因数分解が上で言及される。
【0202】
署名しているエンティティの範囲内で、コミットメントを実行する証人を孤立させることが可能である、そして、応答はデモンストレータの最も機密関数とパラメータを孤立させるために行いる。
コミットメントと応答を計算するために、証人はパラメータ k と GQ2 秘密鍵(すなわち 3 つの表現が上で言及した人に従うモジュール n の因数分解)を持つ。
【0203】
それによって孤立した証人はデモンストレータの範囲内で定義される証人と類似している。それは特定の具体化(例、チップカードが一緒に署名しているエンティティをつくっている PC に接続した・または特に PC の範囲内で保護されている・プログラムさえのためであるか平らな)と一致するかもしれない特にチップカードの範囲内で保護されている・プログラム。
【0204】
1 )コミットメントの行為は、以下の演算から成る。
証人が Qm とモジュール n に m 秘密の数 Q1 を持つとき、それはランダムに、そして、私的に一つ以上の乱数 r ( 0 の < r < n )を選びます ;
それから、 k 連続した squarings (モード n )によって、それは各々の乱数 r をコミットメント R に変える。
証人が pf への p1 と m ´ f 個の秘密の構成要素 Q1,j ( f 個の乱数のランダムにそれと私的に選択一つ以上コレクション)から f 個の素因数を持つ
【数190】
各々のコレクションは、素因数パイ( 0 の < <ri p1 )につき、乱数 ri を含む ; それから、 k 連続した squarings ( mod パイ)、それは各々の乱数 ri を証人がチャイニーズ剰余法テクニックにコミットメントを確立するコミットメント構成要素 R i ( f 個のコミットメント構成要素の各々のコレクションのための
【0205】
【数191】
に変える。
そこで、乱数コレクションであるのと、同じくらい多くのコミットメントが、ある。
【数192】
【0206】
2)チャレンジの行為は、署名しているエンティティが各々の基本の m を含むことはチャレンジする一つ以上のチャレンジを作るハッシュしているコードを得るために署名されるために全てのコミットメント r とメッセージ m をハッシュすることにある ;
各々の基本のチャレンジは、 0 から n/2−1 への数である ;
たとえば、 k = 9 と m = 8 で、各々のチャレンジは、 8 バイトを含む。
そこで、コミットメントであるのと、同じくらい多くのチャレンジが、ある。
d =d1 ( d2 ) ... dm. ( Hash(M ( R )結果 3) から引き出される))
【0207】
3)応答の行為は、以下の演算を含む。
証人が m 秘密の数 Q1 を持つとき、 Qm とモジュール n にとって、それは基本のチャレンジによってコミットメント行為と秘密の数の各々の乱数 r を用いて、一つ以上の応答 D を計算する。
【0208】
【数193】
証人が p1 から pf と m ´ f 個の主要な構成要素 Qi,j まで f 個の素因数を持つ、それがコミットメントから乱数の各々のコレクションを使うに際して f 個の応答構成要素の一つ以上のコレクションが行うと思う
【数194】
応答構成要素の各々のコレクションは応答構成要素の各々のコレクションのための素因数× o Q1,id1 ´ Q2,id2 ´… Qm,idm ( mod パイ)ダイ o ri ´クシー( mod パイ)につき、 1 つの構成要素を含む、証人はチャイニーズ剰余法テクニックによって応答を確立する。
【0209】
そこで、チャレンジであるのと、同じくらい多くの応答が、ある。
署名しているエンティティが署名アペンディクスを加えて、メッセージ M に署名する D =Chinese 余り( D1 ( D2 ) ... Df )は、以下を含む:
・どちらか各々の GQ2 トリプレット(すなわち各々のコミットメント R 、各々のチャレンジ d と各々の応答 D )
・または各々のコミットメント R と各々の対応する応答 D 、
・または各々のチャレンジ d と各々の対応する応答 D.
確認演算のランニングは、署名アペンディクスの内容に依存する。
3 つのケースは、識別される。
【0210】
付録は、そうしなければならない一つ以上のトリプレット(作動が年代順配列が無関心である 2 つの独立したプロセスを含むことを確認すること)を成る。
【0211】
コントローラは、署名されたメッセージもしもともしもだけを扱いると、両方の以下の条件が納得する。
第1に、各々のトリプレットは、整合的でなければならなく(以下のタイプの適当な関係は、確かめられなければならない)て許容できなければならない(比較は、ゼロ以外の値の上でされなければならない)。
【数195】
応答 D は、基本の演算のシーケンスによって変わる:
k 二乗値( mod n )は、ベース数によって k−l 掛け算または分割演算( mod n )によって分かれました。
i−th な二乗値と i+ 第 1 の二乗値の間で実行される、基本のチャレンジ d1 の i−t h なビットが示す i−th な掛け算または分割のためにそれが g1 を使うのに必要であるかどうかに関係なく、基本のチャレンジ d2 の i−th なビットがそれが基本のチャレンジの i−th なビットに、 g2 、 ... を使い果たすのに必要かどうか示すこと dm. 、それがグラムを使うのに必要かどうか示する
【0212】
それは、このように署名アペンディクスにおいて各々のコミットメント R プレゼントを取り戻すのに必要である。
さらに、トリプレットまたはトリプレットは、メッセージ M にリンクされなければならない。
全てのコミットメント R とメッセージ M をハッシュすることによって、ハッシュしているコードは、各々のチャレンジ d は回復されてどちらでなければならないかについて得られる。
d =d1 d2 … dm (結果 Hash(M ( R ) ) から引き出されるそれらと同一の)。
【0213】
付録には難問がないならば、チェックしている演算は一つ以上のチャレンジ d の還元から始める』全てのコミットメント R とメッセージ M. をハッシュすることによって
d =d’1 d’2 … d’m (結果 Hash(M ( R ) ) から引き出される)。
それから、各々のトリプレットが整合的(以下のタイプの適当な関係は、確かめられる)で許容できる(比較は、ゼロ以外の値の上でされる)場合に限り、コントローラは署名されたメッセージを扱う。
【0214】
【数196】
そうしなければならない付録が、コミットメント(一つ以上のコミットメント R の還元によるチェックしている作動スタート)から成りません』以下の 2 つの公式(すなわち、適切であるもの)のうちの 1 つによって。再確立されたコミットメントは、ゼロであってはならない。
【0215】
【数197】
コントローラが、全てのコミットメント R をハッシュしなければならない』各々のチャレンジ d を再構成するためにメッセージ M を、そして。 d =d1 d2 ... dm. (結果ハッシュ( M ( R )』)から抜き取られるそれらと同一の)。各々の再構成されたチャレンジが付録において対応するチャレンジと同一の場合に限り、コントローラは署名されたメッセージを扱う。
【発明が属する技術分野】
本発明は、エンティティや完全性の真性性やメッセージの真性性を証明するように設計されている方法、システム、装置に関する。
【0002】
【従来の技術】
発明者がルイス Guillou とジーン − ジャック Quisquater である特許 EP 0 の 311 の 470 の B1 は、そのような方法を記述する。
【0003】
以下、「 GQ 特許」または「 GQ 方法」の語によって彼らの仕事を参照する。以下、「 G Q2 」または「 GQ2 発明」、あるいは、「 GQ2 技術」の表現は本発明を指し示すのに用いられる。
【0004】
GQ 方法によると、「信頼されたオーソリティ( trusted authority )」として知られているエンティティは、「証人( witness )」と呼ばれるアイデンティティを各々のエンティティへ割り当て、その RSA 署名を計算する。カスタマイズしているプロセスでは、信頼されたオーソリティは、証人にアイデンティティと署名を与える。その後で、証人は「私のアイデンティティは、ここにある。私は、その RSA 署名を知っている」と宣言する。証人は、彼がそれを明らかにすることなく彼のアイデンティティの RSA 署名を知っているということを、証明する。信頼されたオーソリティによって配布される RSA の公開識別鍵によって、その知識を得ることなく、「コントローラ」として知られているエンティティは、 RSA 署名が宣言されたアイデンティティと一致することを確かめる。 GQ 方法を使用しているメカニズムは、「知識の移動なしで」動く。 G Q 方法によれば、証人は信頼されたオーソリティが多数のアイデンティティに署名する R SA 秘密鍵を知らない。
【0005】
上で記述される GQ 技術は、 RSA 技術を利用する。しかし、 RSA 技術が正にモジュロnの因数分解に依存するのに対して、この依存は等価ではない、つまり、 RSA 技術を実装しているディジタル署名のいろいろな標準に対する「増殖性の攻撃」と呼ばれていることにおいて見られることができるように、等価などとは全く言えない。
【0006】
GQ2 技術の目的は、二つの面を有する: 1 つには、 RSA 技術の中のパフォーマンス特徴を改善するために、そしてもう 1 つは、 RSA 技術に固有の問題を避けるためである。 GQ2 秘密鍵についての知識は、モジュロnの因数分解についての知識に等しい。トリプレット GQ2 への任意の攻撃でも、モジュロnの因数分解につながる:今度は、等価性がある。 GQ2 技術で、署名しているか自己真性性しているエンティティのために、そして、コントローラエンティティのために作業負荷は減らされる。セキュリティとパフォーマンスに関して因数分解する問題のより良い使用を通して、 GQ2 技術は、 RSA 技術の欠点を避ける。
【0007】
GQ 方法は、 512 ビット以上を含んでいる数のモジュロ計算を実行する。これらの計算は、かなり同じサイズを 216+1 のオーダーのべき乗まで上げておいている数に関連がある。しかし、特にバンク・カードの分野では、既存のマイクロエレクトロニクスのインフラは、算数のコプロセッサなしでモノリシックの自己プログラム可能なマイクロプロセッサーを使用する。 GQ 方法のような方法に関係している複数の算数のアプリケーションに関連した作業負荷は、特定のケースには、彼らの購入の料金を払うためにバンク・カードを使っている消費者にとって不利である計算時間となることがわかる、それは、支払いカードのセキュリティを増やそうとする際に、当局が持つ銀行業務が特に解が難しい問題を提起したことで思い出されるかもしれない。実際、 2 つの明らかに矛盾している課題を調べなくてはならない: 1 つは、各々のカードのためにますます長くてはつきりした鍵を用いて、もう 1 つは、作業負荷がユーザーのための過度の計算時間に至るのを防ぐまで、セキュリティを増やす。それがまた、既存の基盤と既存のマイクロプロセッサー構成要素を考慮するのに必要であるので、この問題は特に明確になる。
【0008】
本発明( GQ2 技術)は、セキュリティを増やしつつ、はこの問題のソリューションを提供することを目的とする。
【0009】
[方法]
より詳細には、本発明は、あるコントローラ・エンティティに対して、
・ あるエンティティの真性性、および/または、
・ 該エンティティと関連するメッセージ M の完全性
を証明するようにされている方法であって、以下のパラメータ:
・ 秘密の値 Q1 、 Q2 、 ... 、 Qm と公開値 G1 、 G2 、 ... 、 Gm (mは 1 以上)の m 個の組
・ f 個の素因数 p1 、 p2 、 ... pf の積で構成される公開のモジュラス n ( 2 以上の f )、
の全部若しくは一部またはこれらのパラメータからの算出値を用い、
前記モジュラスと前記秘密値と公開値は次のタイプの関係があり、
【数74】
ここで、vは
【数75】
のタイプの公開値である指数値を表し(kは1より大きいセキュリティパラメータ);
前記m個の公開値 Gi は、m個の区別できるベース数 g1 、 g2 、… gm の、 f 個の素因数 p1 、 p2 、… pf より小さい二乗値g i 2 であり;
前記 p1 、 p2 、… pf の素因数、および/または、m個のベース数 g1 、 g2 、… gm は以下の条件が満たされるように生成される方法。:
【0010】
[第1の条件]
第1の条件は、各方程式
【数76】
がモジュロnの整数環におけるxについて解をもつこと;
【0011】
[第2の条件]
Gi(Qi v mod n である場合には、第 2 の条件は、 Qi を二乗してモジュロ n を k −1 回とったm個の数 qi のうち、これらのいずれかが± gi ではないこと(つまり、トリビアルではないこと)。
Gi.Qi v ( 1 mod n である場合には、第 2 の条件は、 Qi のモジュロnを二乗したものの逆モジュロ n を k−1 回とって得られるm個の数 qi のうち、これらのいずれかが± gi ではないこと(つまり、トリビアルではないこと)。;
ここでの表記によれば、± gi が数 gi と n−gi を表現するものであることをここで指摘しておく。
【0012】
[第3の条件]
第 3 の条件は、2m個の方程式
【数77】
がモジュロnの整数環におけるxについて分解され、
前記方法は、 f 個の素因数 pi を持っている証人と呼ばれているエンティティ、および/または、ベース gi のm個の素因数、および/または、前記素因数のチャイニーズ・剰余法のパラメータ、および/または、公開モジュラス n 、および/または、m個の秘密値 Q i 、および/または、前記秘密値 Qi と公開の指数値vとの f.m 個の構成要素 Qi,j ( Qi,j ( Qi mod pj )を以下のステップによって実現する。
・ 前記証人が、モジュロ n の整数環において、コミットメント R を計算し ;
それぞれのコミットメントは、
【数78】
のタイプの演算(ここで、rは0<r<nである乱数値)を実行するか、
あるいは、
【数79】
のタイプの演算(ここで、r i は0< ri < pi である素因数 pi に関連した乱数値、それぞれの ri は乱数値の集合{ r1,r2, … rf }に含まれている)を実行し、さらに、チャイニーズ・剰余法手法を適用する
ことからなるステップ、
・証人は一つ以上のチャレンジ d を受け、それぞれのチャレンジdはm個の整数 di (以下「要素チャレンジ」と呼ぶ)からなり ; 各々のチャレンジ d に基づいて、前記証人は
【数80】
のタイプの演算を行なうことによって応答 D を計算するか、
【数81】
のタイプの演算を行なって、さらに、チャイニーズ・剰余法手法を適用するステップ(前記手法はチャレンジd、コミットメント R と同じくらいの数の応答 D があって、 R, d、 D の数の群は{ R 、 d 、 D }で参照される3つの数字の組で表される)。
【0013】
[エンティティの真性性の証明の場合]
実施の形態の最初の変形において、本発明の方法はコントローラとして知られるエンティティに対して、デモンストレータとして知られるエンティティの真性性の証明のために用いられる。
【0014】
・ステップ1(コミットメント R の行為)
各々の呼び出しで、証人は請求項 1 によって指定されるプロセスを適用することによって各々のコミットメント R を計算し、
デモンストレータは、各々のコミットメント R のコントローラ全部または一部を送り、
【0015】
・ステップ 2 (チャレンジ d の行為)
各々のコミットメント R の全部または一部を受けた後にチャレンジ d を生成し、コントローラは数がコミットメント R の数と等しいチャレンジ d をデモンストレータに送り、
【0016】
・ステップ 3 (応答 D の行為)
前記証人は、上に指定されるプロセスを適用することによってチャレンジ d から応答 D を計算し、
【0017】
・ステップ 4 (チェックする行為)
前記デモンストレータは、前記コントローラへ各々の応答 D を送り、
【0018】
[第 1 のケース:前記デモンストレータがコミットメント R の一部だけを送信するとき]
前記デモンストレータがコミットメント R の一部だけを送信したなら、前記コントローラはm個の公開値 G1 、 G2 、 ... 、 Gm を有していて、それぞれのチャレンジdとそれぞれの応答 D から、再構成されたコミットメント R ´を計算し、該再構成されたコミットメント R ´は
【数82】
のタイプか、または
【数83】
のタイプの関係を満たすとともに、前記コントローラは、それぞれの再構成されたコミットメント R ´はコントローラに向けて伝達されたそれぞれのコミットメント R の全てまたは一部を再生成することを確認する。
【0019】
[第2のケース:前記デモンストレータがコミットメント R の全部を送信するとき]
前記デモンストレータがコミットメント R の全部を送信したなら、前記コントローラはm個の公開値 G1 、 G2 、 ... 、 Gm を有していて、それぞれのコミットメント R は
【数84】
のタイプか、または
【数85】
のタイプの関係を満たすことを確認する。
【0020】
[メッセージの完全性の証明のケース]
最初のものと組み合わせられることができる第二の異なる実施形態は、デモンストレータエンティティと呼ばれるエンティティに関連したメッセージ M の完全性について、コントローラエンティティとして知られるエンティティに証明を提供するようにされた本発明に記載の方法であって、
前記デモンストレータエンティティは前記証人を含み、
前記デモンストレータエンティティとコントローラエンティティは以下のステップを実行する方法:
【0021】
・ステップ 1 (コミットメント R の行為)
各々の呼び出しで、証人は上述のように指定されるプロセスを適用することによって各々のコミットメント R を計算し、
デモンストレータは、各々のコミットメント R のコントローラ全部または一部を送り、
【0022】
・ステップ 2 (チャレンジ d の行為)
前記デモンストレータは、変数をメッセージ M とそれぞれのコミットメント R の全てまたは一部とするハッシュ関数hを適用し、
前記デモンストレータはトークン T を前記コントローラに送り、
前記コントローラは、前記トークン T を受け付けると、コミットメント R と同じ数のチャレンジdを生成して該チャレンジdを前記デモンストレータに送り、
【0023】
・ステップ 3 (応答 D の行為)
− 前記証人は、上述のように指定されるプロセスを適用することによってチャレンジ d から応答 D を計算し、
【0024】
・ステップ 4 (チェックする行為)
・ 前記デモンストレータは、前記コントローラへ各々の応答 D を送り、
・ 前記デモンストレータがコミットメント R の一部だけを送信したなら、前記コントローラはm個の公開値 G1 、 G2 、 ... 、 Gm を有していて、それぞれのチャレンジdとそれぞれの応答 D から、再構成されたコミットメント R ´を計算し、該再構成されたコミットメント R ´は
【数86】
のタイプか、または
【数87】
のタイプの関係を満たし、
・ そして前記コントローラは、前記メッセージ M とそれぞれの再構成されたコミットメント R ´のすべてまたは一部とを変数とするハッシュ関数hを適用してトークン T ´を再構成し、
・ そして前記コントローラは前記トークン T ´が伝達されたトークン T と同一であることを確認する。
【0025】
[メッセージのデジタル署名とその真性性の証明]
本発明の実施形態の第3の変形は、既述の2つの実施形態と組み合わせることができるものであって、署名エンティティとして知られたエンティティによってメッセージ M のディジタル署名を生成するようにするようにされた本発明の方法であって、
【0026】
(署名動作)
前記署名エンティティは、
・ 前記メッセージ M 、
・ 前記チャレンジdおよび/またはコミットメント R 、
・ 前記応答 D 、
を備えた署名されたメッセージを得るために署名動作を行ない、
前記署名エンティティは次のステップを行なって署名動作を行なう方法:
【0027】
・ステップ 1 (コミットメント R の行為)
各々の呼び出しで、前記証人は上述のように指定されるプロセスを適用することによって各々のコミットメント R を計算し、
【0028】
・ステップ 2 (チャレンジ d の行為)
前記署名エンティティは、変数をメッセージ M とそれぞれのコミットメント R のとするハッシュ関数hを適用してバイナリトレインを得て、該バイナリトレインから前記署名エンティティは、コミットメント R と同じ数のチャレンジdを引き出し、
【0029】
・ステップ 3 (応答 D の行為)
前記証人は、上述のように指定されるプロセスを適用することによってチャレンジ d から応答 D を計算する。
【0030】
[チェック動作]
メッセージ M の真性性を証明するために、コントローラと呼ばれているエンティティが署名されたメッセージをチェックする。そのコントローラエンティティは、以下のようなプロセスを行ってチェック動作実行する:
【0031】
[前記コントローラがコミットメント R 、チャレンジ d 、応答 D を持つケース]
コントローラがコミットメント R 、チャレンジ d 、応答 D を持つ場合、前記コントローラは、前記コミットメント R 、前記チャレンジd、前記応答 D が
【数88】
のタイプか、または、
【数89】
のタイプの関係を満たすことを確認する。
そして、前記コントローラは前記メッセージ M 、前記チャレンジd、前記コミットメント R が前記ハッシュ関数
【数90】
を満たすことを確認する。
【0032】
[前記コントローラはチャレンジdと応答 D を有する場合]
前記コントローラはチャレンジdと応答 D を有する場合、前記コントローラは、それぞれのチャレンジdと応答 D に基づいて、
【数91】
のタイプの関係か、または、
【数92】
のタイプの関係を満たすコミットメント R ´を再構成する。
そして、前記コントローラは前記メッセージ M と前記チャレンジdが前記ハッシュ関数
【数93】
を満たすことを確認する。
【0033】
[前記コントローラはコミットメント R と応答 D を有する場合]
前記コントローラはコミットメント R と応答 D を有する場合、前記コントローラは前記ハッシュ関数を適用してd´を再構成する。
【数94】
そして、前記コンとローラは、前記コミットメント R 、前記チャレンジd´、前記応答 D が
【数95】
のタイプの関係か、または、
【数96】
のタイプの関係を満たすことを確認する。
【0034】
[システム]
本発明は、コントローラ・サーバーに対して、
・ エンティティの真性性、および/または
・ 該エンティティと関連するメッセージ M の完全性、
を証明するようにされたシステムにもまた関連している。この証明は、
・ 秘密の値 Q1 、 Q2 、 ... 、 Qm と公開値 G1 、 G2 、 ... 、 Gm (mは 1 以上)の m 個の組、
・ f 個の素因数 p1 、 p2 、 ... pf の積で構成される公開のモジュラス n (fは 2 以上)、
の全てあるいは部分以下のパラメータやそれらパラメータからの算出値を用いている。
【0035】
前記モジュラスと前記秘密値と公開値は以下のタイプの関係があり、:
【数97】
ここで、vは
【数98】
の形式の公開の指数値 cを表し、kは1より大きいセキュリティパラメータであり、
前記m個の公開の値 Gi は、f個の素因数 p1,p2, … ,pf より小さいm個の区別できるベース数 g1,g2, … ,gm による gi 2 となる2乗値であり、
前記素因数 p1,p2, … ,pf および/または前記m個のベース数 g1,g2, … ,g m は以下の条件が満たされるように生成されているシステム:
【0036】
[第1の条件]
第 1 の条件によれば、方程式
【数99】
がxについてモジュロnの整数環において解をもつこと;
【0037】
[第2の条件]
Gi(Qi v mod n である場合、第2の条件は、 Qi を二乗してモジュロ n を k−1 回とったm個の数 qi のうち、これらのいずれかが± gi ではないこと(つまり、トリビアルではないこと)である。
Gi.Qi v ( 1 mod n である場合、第2の条件はば、 Qi のモジュロnを二乗したものの逆モジュロ n を k−1 回とったm個の数 qi のうち、これらのいずれかが± gi ではないこと(つまり、トリビアルではないこと)である。
ここでの表記によれば、± gi が数 gi と n−gi を表現するものであることをここで指摘しておく。
【0038】
[第3の条件]
第3の条件は、少なくとも2m個の方程式
【数100】
がモジュロnの整数環におけるxについて解を持つことである。
前記システムは、例えばマイクロプロセッサベースのバンクカードの形態をとるようなノマドオブジェクト証人装置である。
その証人装置は前記f個の素数 pi、 および/または、前記m個のベース gi 、および/または、前記素因数のチャイニーズ剰余のパラメータ、および/または、秘密の値 Qi および公開の指数値vの f.m 個の成分 Qi,j ( Qi,j ( Qi mod pj )を含むメモリゾーンからなる。
前記証人装置は、
・ 前記証人装置の乱数値生成手段と呼ぶ乱数値生成手段、
・ 前記証人装置のコミットメント R の計算手段と呼ぶ計算手段
からなる。
前記計算手段は、モジュロnの整数環においてコミットメント R の計算を行い、各コミットメント R は、
・rがrが0<r<nである前記乱数値生成手段による乱数値として、
【数101】
のタイプの演算を行なうか、
r i が、0<r i <p i で、それぞれ、前記乱数生成手段によって生成され、各r I はチャイニーズ剰余法を適用することによって得られるランダム値の集合 [r1,r2, … , rf] に属する、素因数 pi に関連した乱数値であるとして、
【数102】
のタイプの演算を行なうか、
によって計算される。
【0039】
前記証人装置は、また、
・ 前記証人で装置のチャレンジdを受け付け、それぞれのチャレンジdがm個の整数 d i (以下、要素チャレンジとよぶ)からなる 1 以上のチャレンジdを受け付ける受け付け手段、
・ それぞれのチャレンジdに基づいて、前記証人装置の応答 D を計算し、
・方程式
【数103】
のタイプの演算を行なうこと、あるいは、
・方程式
【数104】
のタイプの演算をおこなって、そして、チャイニーズ剰余法を適用することのいずれかにより応答 D を計算する計算手段、
からなる。
【0040】
前記証人手段は、また、
・ 1以上のコミットメント R と1以上の応答 D を伝送する伝送手段、
を備えている(前記手法はチャレンジd、コミットメント R と同じくらいの数の応答 D があって、 R, d、 D の数の群は{ R 、 d 、 D }で参照される3つの数字の組で表される)。
【0041】
[あるエントリの真性性の証明ケース]
実施形態の第1の変形によれば、本発明のシステムは、デモンストレータと呼ばれているエンティティとコントローラと呼ばれているエンティティの真性性を証明するようにできている。
【0042】
前記システムは、前記デモンストレータエンティテイに関連し、前記相互接続装置によって前記証人装置に相互接続されて、例えばマイクロプロセッサベースのバンクカード中のマイクロプロセッサの形態のような、ノマドオブジェクトにおける微小論理回路の形態を特にとることができるデモンストレータ装置からなる。、
【0043】
前記システムは、また、前記コントローラエンティティと関連するコントローラ装置であって、前記コントローラ装置は特に端末であるか遠隔サーバーの形になっていて、特にデータ処理通信ネットワークを通って、それ自身、電気的、電磁気的、光学的、あるいは音響によるデモンストレータ装置への接続のために、接続手段を含んでいる前記コントローラ装置からなる。
【0044】
前記システムは、以下のステップの実行を可能にしている前記システム:
・ステップ 1 (コミットメント R の行為)
各々の呼び出しで、上述のように指定されるプロセスを適用することによって証人装置のコミットメント R の計算手段が各コミットメント R を計算する。該証人手段は、コミットメント R の全部または一部を前記デモンストレータ装置に送信する、前記証人装置の伝送装置と呼ばれる伝送装置を有する。前記デモンストレータ装置は、また、コミットメント R の全てはまた一部を前記コントローラ装置に前記相互接続手段を通じて送信する、前記デモンストレータ装置の伝送装置と呼ばれる伝送装置を有する。
【0045】
・ステップ2(チャレンジdの行為)
前記コントローラ装置は、前記コミットメント R の全部または一部を受け取った後に、それぞれの数がコミットメント R と同じチャレンジ d を生成する、チャレンジ生成手段を含む。前記コントローラ装置は、また、接続手段を通じて前記デモンストレータへチャレンジdを伝送する、前記コントローラの伝送手段と呼ぶ伝送手段を含む。
【0046】
・ステップ3(応答 D の行為)
前記証人装置の前記チャレンジdの受け取り手段は、前記相互接続装置を通して前記デモンストレータ装置から来るそれそれのチャレンジdを受け取る。前記証人装置の前記応答 D の前記計算手段は、上述のようなプロセスを適用することにより、前記チャレンジdから前記応答 D を計算する。
【0047】
・ステップ4(チェックの行為)
前記デモンストレータの前記伝送手段はそれぞれの応答 D を前記コントローラへ伝送し、前記コントローラは、また、
・ 前記コントローラ装置の計算手段と呼ばれる計算手段、
・ 前記コントローラ装置の比較手段とよばれる比較手段、
からなる。
【0048】
[第1のケース:前記デモンストレータが各コミットメント R の一部を伝送した場合]
前記デモンストレータが各コミットメント R の一部を伝送した場合には、
m個の公開値 G1 、 G2 、 ... 、 Gm を有する前記コントローラ装置の前記計算手段は、各チャレンジ R と各応答 D から再構成されたコミットメント R ´を計算し、その再構成されたコミットメント R ´は
【数105】
のタイプの関係か、
【数106】
のタイプの関係を満たす。
【0049】
[第2のケース:前記デモンストレータが各コミットメント R の全部を伝送した場合]
前記デモンストレータが各コミットメント R の全部を伝送した場合には、m個の公開値 G 1 、 G2 、 ... 、 Gm を有する前記コントローラ装置の前記計算手段と前記比較手段は、各チャレンジ R が
【数107】
のタイプの関係か、
【数108】
のタイプの関係を満たすことを確認する。
【0050】
[メッセージの完全性の証明の場合]
第1の変形と組み合わせることができる実施形態の第2の変形においては、本発明のシステムは、コントローラとして知られたあるエンティティに、デモンストレータとして知られたエンティティに関連したメッセージ M についての完全性の証明を与えるようにされたシステムである。前記システムは、前記デモンストレータエンティテイに関連したデモンストレータ装置を含むようなものである。該デモンストレータは、前記相互接続装置によって前記証人装置に相互接続されて、例えばマイクロプロセッサベースのバンクカード中のマイクロプロセッサの形態のような、ノマドオブジェクトにおける微小論理回路の形態を特にとることができる。前記コントローラは、前記コントローラエンティティと関連するコントローラ装置である。前記コントローラ装置は、特に端末であるか遠隔サーバーの形になっていて、特にデモンストレータ装置へのデータ処理通信ネットワークを通って、それ自身、電気的、電磁気的、光学的、あるいは音響による接続のために、接続手段を含んでいる。
前記システムは、以下のステップの実行を可能にしている:
【0051】
・ステップ 1 (コミットメント R の行為)
証人装置のコミットメント R の計算手段が、各々の呼び出しで、上述のように指定されるプロセスを適用することによって各コミットメント R を計算する。該証人手段は、コミットメント R の全部または一部を前記デモンストレータ装置に送信する、前記証人装置の伝送装置と呼ばれる伝送装置を有する。
【0052】
・ステップ2(チャレンジdの行為)
前記デモンストレータ装置は、少なくともあるトークン T の計算に、変数を前記メッセージおよび各コミットメント R の全部または一部とするハッシュ関数hを適用する、前記デモンストレータの計算手段と呼ばれる計算手段からなる。前記デモンストレータ装置は、また、各トークン T を前記コントローラ装置に前記接続手段を通じて送信する、前記デモンストレータ装置の伝送装置と呼ばれる伝送装置を有する。前記コントローラ装置は、また、前記トークンを受け取った後で、コミットメント R の数と同じ数の前記チャレンジdを生成するチャレンジ生成手段を有する。前記コントローラ装置は、また、接続手段を通じて前記デモンストレータへチャレンジdを伝送する、前記コントローラの伝送手段と呼ぶ伝送手段を有する。
【0053】
・ステップ3(応答 D の行為)
前記証人装置の前記チャレンジdの受け取り手段は、前記相互接続装置を通して前記デモンストレータ装置から来るそれそれのチャレンジdを受け取る。前記証人装置の前記応答 D の前記計算手段は、請求項1に記載のプロセスを適用することにより、前記チャレンジdから前記応答 D を計算する。
【0054】
・ステップ4(チェックの行為)
前記デモンストレータの前記伝送手段は、それぞれの応答 D を前記コントローラへ伝送する。前記コントローラは、また、前記コントローラ装置の計算手段と呼ばれる計算計算手段を有し、この計算手段は、m個の公開値 G1 、 G2 、 ... 、 Gm を有するとともに、第1に、各チャレンジdと各応答 D から再構成されたコミットメント R ´を計算し、この再構成されたコミットメント R ´は
【数109】
のタイプの関係か、
【数110】
のタイプの関係を満たし、
そして、第2に、前記メッセージ M および各再構成されたコミットメント R ´の全てまたは一部を変数として有する前記ハッシュ関数hを適用することによりトークン T ´を計算する。
【0055】
前記コントローラ装置は、また、受け付けられたトークン T について前記トークン T ´を計算する、前記コントローラ装置の比較手段として知られている比較手段を有する。
【0056】
[メッセージのディジタル署名とその真性性の証明]
先の2つの実施形態のいずれか、および/または、他のものと組み合わせることができる、本発明による実施の形態の第3の変形においては、署名エンティティと呼ばれるエンティティによって、署名されたメッセージとして知られているメッセージ M のディジタル署名を生成するようにするようにされ、前記署名されたメッセージは、
・ 前記メッセージ M 、
・ 前記チャレンジ d 、および/または、前記コミットメント R 、
・ 前記応答 D;
を含んでいるような、システムである。
【0057】
・署名動作:
前記システムは、前記署名エンティティに関連している署名装置からなるようなものであり、前記署名装置は、前記証人装置に、相互接続手段で相互接続されていて、例えばマイクロプロセッサベースのバンクカード中のマイクロプロセッサの形態のような、ノマドオブジェクトにおける微小論理回路の形態を特にとることができる。
前記システムは、以下のステップの実行を可能にする:
【0058】
・ステップ 1 (コミットメント R の行為):
各々の呼び出しで、上述のように指定されるプロセスを適用することによって証人装置のコミットメント R の計算手段が各コミットメント R を計算しする。該証人手段は、コミットメント R の全部または一部を前記デモンストレータ装置に送信する、前記証人装置の伝送装置と呼ばれる伝送装置を有する。
【0059】
・ステップ2(チャレンジdの行為):
前記署名装置は、変数を前記メッセージおよび各コミットメント R の全部または一部とするハッシュ関数hを適用し、あるバイナリトレインを計算し、このバイナリトレインからコミットメント R と同じ数のチャレンジdを導出する前記署名装置の計算手段と呼ばれる該計算手段を有する。
【0060】
・ステップ3(応答 D の行為):
前記チャレンジdの受け取り手段は、前記相互接続装置を通して前記デモンストレータ装置から来るそれそれのチャレンジdを受け取り、前記証人装置の前記応答 D の前記計算手段は、上述のようなプロセスを適用することにより、前記チャレンジdから前記応答 D を計算する。前記証人装置は、前記証人装置の伝達装置と呼ばれ、前記相互接続手段を通して前記署名装置へと前記応答 D を伝達させる、伝達装置からなる。
【0061】
[チェック動作]
前記メッセージ M の真性性を証明するために、コントローラとして知られているエンティティは、前記署名されたメッセージをチェックする。
前記システムは、コントローラエンティティに関連したコントローラ装置からなるようになっている。前記コントローラ装置は、特に端末であるか遠隔サーバーの形になっていて、特に前記署名装置へのデータ処理通信ネットワークを通って、それ自身、電気的、電磁気的、光学的、あるいは音響による接続のために、接続手段を含んでいる。
【0062】
前記署名装置は、署名装置の伝送手段として知られていて、前記接続装置を通じて、前記署名されたメッセージの前記コントローラ装置への伝送手段からなる前記署名エンティティに関連している。こうして、前記コントローラ装置は、
・ 前記メッセージ M 、
・ 前記チャレンジd、および/または、前記コミットメント R 、
・ 前記応答 D 、
を含む署名されたメッセージからなる。
前記コントローラ装置は、
・ 前記コントローラ装置の計算手段と呼ばれる計算手段、
・ 前記コントローラ装置の比較手段と呼ばれる比較手段、
からなる。
【0063】
・場合前記コントローラ装置がコミットメント R 、チャレンジd、応答 D を有する場合:
場合前記コントローラ装置がコミットメント R, チャレンジd、応答 D を有する場合、前記コントローラ装置の前記計算手段および前記比較手段は、前記コミットメント R 、前記チャレンジd、前記応答 D が
【数111】
のタイプか、
【数112】
のタイプの関係を満たすことを確認する。
そして、前記コントローラ装置の前記計算手段と前記比較手段は、前記メッセージ M, 前記チャレンジd、前記コミットメント R が前記ハッシュ関数:
【数113】
を満たすことを確認する。
【0064】
・前記コントローラ装置がチャレンジd、応答 D を有する場合:
前記コントローラ装置がチャレンジd、応答 D を有する場合、前記コントローラ装置の前記計算手段は、各チャレンジdと各レスポンス D に基づいて、
【数114】
のタイプか、
【数115】
のタイプの関係を満たすコミットメント R ´を計算する。
そして、前記コントローラ装置の前記計算手段と前記比較手段は前記メッセージ M と前記チャレンジdがハッシュ関数
【数116】
を満たすことを確認する。
【0065】
・前記コントローラ装置がコミットメント R 、応答 D を有する場合:
前記コントローラ装置がコミットメント R 、応答 D を有する場合、前記コントローラ装置の前記計算手段は、前記ハッシュ関数を適用して、
【数117】
のようなd´を計算する。
そして、前記コントローラ装置の前記計算手段と前記比較手段は前記コミットメント R 、前記チャレンジd´、前記応答 D が
【数118】
のタイプの関係を満たすか、
【数119】
のタイプの関係を満たすことを確認する。
【0066】
[端末装置]
本発明は、また、あるエンティティに関連したある端末装置に関係する。その端末装置は、例えばマイクロプロセッサベースのバンクカード中のマイクロプロセッサの形態のようなノマドオブジェクトにおける微小論理回路の形態を特にとることができる。前記端末装置は、コントローラ装置に対して
・ あるエンティティの前記真性性、および/または、
・ 該エンティティに関連したあるメッセージ M の完全性、
を証明するようにされている。
この用命は、パラメータ:
秘密の値 Q1 、 Q2 、 ... 、 Qm と公開値 G1 、 G2 、 ... 、 Gm (mは 1 以上)の m 個の組、
f 個の素因数 p1 、 p2 、 ... pf の積で構成される公開のモジュラス n ( 2 以上の f )、
や、これらのパラメータからの算出値の全部または一部を用いるようにされている。
【0067】
前記モジュラスと前記秘密値と公開値は
【数120】
のタイプの関係があり、ここで、vは
【数121】
の形態の公開値である指数値を表す(kは1より大きいセキュリティパラメータ)。
前記m個の公開値 Gi は、m個の異なったベース数 g1 、 g2 、… gm の、 f 個の素因数 p1 、 p2 、… pf より小さい二乗値g i 2 であり;前記 p1 、 p2 、… pf の素因数、および/または、m個のベース数 g1 、 g2 、… gm は以下の条件が満たされる。
【0068】
・第1の条件:
第1の条件は、各方程式
【数122】
がモジュロnの整数環におけるxについて解を持つこと。
【0069】
・第2の条件:
Gi(Qi v mod n である場合、第2の条件は、 Qi を二乗してモジュロ n を k−1 回とったm個の数 qi のうち、これらのいずれかが± gi ではないこと(つまり、トリビアルではないこと)。
Gi.Qi v ( 1 mod n である場合、第2の条件は、 Qi のモジュロnを二乗したものの逆モジュロ n を k−1 回とったm個の数 qi のうち、これらのいずれかが± gi ではないこと(つまり、トリビアルではないこと)。
【0070】
・第3の条件:
第3の条件は、2m個の方程式
【数123】
がモジュロnの整数環におけるxについて解をもつこと。
前記端末装置は、前記f個の素因数 pi 、および/または、ベース gi のm個の素因数、および/または、前記素因数のチャイニーズ・剰余法のパラメータ、および/または、公開モジュラス n 、および/または、m個の秘密値 Qi 、および/または、前記秘密値 Qi と公開の指数値vとの f.m 個の構成要素 Qi,j ( Qi,j ( Qi mod pj )を含むメモリゾーンを備える証人装置を有する。
前記証人装置は、また、
・ 前記証人装置の乱数値生成手段と呼ぶ乱数値生成手段;
・ 前記証人装置のコミットメント R の計算手段と呼ぶ計算手段であって、モジュロnの整数環においてコミットメント R の計算を行う計算手段
を備える。
【0071】
各コミットメント R は、
・rは、rが0<r<nである前記乱数値生成手段による乱数値としたとき、
【数124】
のタイプの演算を行なうか、
・r I が0<r i <p i で、それぞれ、前記乱数生成手段によって生成されて、チャイニーズ剰余法を適用することによって得られるランダム値の集合 [r1,r2 , … ,rf] に属する、素因数 pi に関連した乱数値であるとしたとき、
【数125】
のタイプの演算を行なうか、
によって計算される。
【0072】
前記証人装置は、また、
・ 前記証人で装置のチャレンジdを受け付け、それぞれのチャレンジdがm個の整数 d i (以下、要素チャレンジとよぶ)からなる 1 以上のチャレンジdを受け付ける受け付け手段、
・ それぞれのチャレンジdに基づいて、前記証人装置の応答 D を計算し、
・方程式
【数126】
のタイプの演算を行なうこと、あるいは、
・方程式
【数127】
のタイプの演算をおこなって、そして、チャイニーズ剰余法を適用すること、
のいずれかにより応答 D を計算する計算手段を備えている。
【0073】
前記証人装置は、また、1以上のコミットメント R と1以上の応答 D を伝送する伝送手段を備えている。前記手法はチャレンジd、コミットメント R と同じくらいの数の応答 D があって、 R, d、 D の数の群は{ R 、 d 、 D }で参照される3つの数字の組で表される。
【0074】
[エンティティの真性性の証明のケース]
実施形態の第1の変形において、本発明の前記端末装置は、デモンストレータと呼ばれているエンティティとコントローラと呼ばれているエンティティの真性性を証明するようにされている。
【0075】
前記端末装置は、前記デモンストレータエンティテイに関連しているデモンストレータ装置を含む。前記デモンストレータ装置は、前記接続装置によって前記証人装置に相互接続されている。それは、例えばマイクロプロセッサベースのバンクカード中のマイクロプロセッサの形態のような、ノマドオブジェクトにおける微小論理回路の形態を特にとることができる。
【0076】
前記デモンストレータ装置は、また、前記コントローラエンティティと関連していて、特に端末であるか遠隔サーバーの形になっている前記コントローラ装置へと、特にデモンストレータ装置へのデータ処理通信ネットワークを通じて、それ自身、電気的、電磁気的、光学的、あるいは音響によって接続するための接続手段を、含んでいる。
【0077】
前記端末装置は、以下のステップの実行を可能にしている:
・ステップ 1 (コミットメント R の行為):
各々の呼び出しで、上述のように指定されるプロセスを適用することによって証人装置のコミットメント R の計算手段が各コミットメント R を計算する。
該証人装置は、コミットメント R の全部または一部を前記デモンストレータ装置に送信する、前記証人装置の伝送装置と呼ばれる伝送装置を有する。前記デモンストレータ装置は、また、コミットメント R の全てはまた一部を前記コントローラ装置に前記接続手段を通じて送信する、前記デモンストレータ装置の伝送装置と呼ばれる伝送装置を有する。
【0078】
・ステップ2および3(チャレンジdの行為、応答 D の行為):
前記証人装置の前記チャレンジdの受け取り手段は、前記コントローラ装置と前記デモンストレータ装置の間の前記接続装置を通して、また、前記デモンストレータ装置と前記証人装置の間の前記相互接続装置を通して、前記コントローラ装置から来るそれそれのチャレンジdを受け取る。前記証人装置の前記応答 D の前記計算手段は、上述のようなプロセスを適用することにより、前記チャレンジdから前記応答 D を計算する。
【0079】
・ステップ4(チェックの行為):
前記デモンストレータの前記伝送手段はそれぞれの応答 D をチェックを行なう前記コントローラへ伝送する。
【0080】
[メッセージの完全性の証明の場合]
第1の実施の形態と組み合わせることができる、実施形態の第2の変形において、本発明の端末装置は、コントローラとして知られたあるエンティティに、デモンストレータとして知られたエンティティに関連したメッセージ M についての完全性の証明を与えるようにされている。前記端末装置は、前記デモンストレータエンティテイに関連し、前記相互接続装置によって前記証人装置に相互接続されて、例えばマイクロプロセッサベースのバンクカード中のマイクロプロセッサの形態のような、ノマドオブジェクトにおける微小論理回路の形態を特にとることができるデモンストレータ装置、を備えるようなものである。前記デモンストレータ装置は、前記コントローラエンティティと関連していて、特に端末であるか遠隔サーバーの形になっている前記コントローラ装置へと、特にデモンストレータ装置へのデータ処理通信ネットワークを通じて、それ自身、電気的、電磁気的、光学的、あるいは音響によって接続するための接続手段をまた含んでいる。
【0081】
・ステップ 1 (コミットメント R の行為):
各々の呼び出しで、上述のように指定されるプロセスを適用することによって証人装置のコミットメント R の計算手段が各コミットメント R を計算する。該証人手段は、コミットメント R の全部または一部を前記デモンストレータ装置に送信する、前記証人装置の伝送装置と呼ばれる伝送装置を有する。
【0082】
・ステップ2および3(チャレンジdの行為、応答 D の行為):
前記デモンストレータ装置は、少なくともあるトークン T の計算に、変数を前記メッセージおよび各コミットメント R の全部または一部とするハッシュ関数hを適用する、前記デモンストレータの計算手段と呼ばれる計算手段からなる。前記デモンストレータ装置は、また、各トークン T を前記コントローラ装置に前記接続手段を通じて送信する、前記デモンストレータ装置の伝送装置と呼ばれる伝送装置を有する。
前記コントローラ装置は、前記トークン T を受け取った後、コミットメント R の数と同じ数のチャレンジdを生成しする。
前記証人装置の前記チャレンジdの受け取り手段は、前記コントローラ装置と前記デモンストレータ装置の間の前記相互接続装置を通して、また、前記デモンストレータ装置と前記証人装置の間の前記相互接続装置を通して、前記コントローラ装置から来るそれそれのチャレンジdを受け取る。
【0083】
前記証人装置の前記応答 D の前記計算手段は、上述のようなプロセスを適用することにより、前記チャレンジdから前記応答 D を計算する。
【0084】
・ステップ4(チェックの行為):
前記デモンストレータの前記伝送手段は、それぞれの応答 D をチェックを行なう前記コントローラへ伝送する。
【0085】
[メッセージのディジタル署名とその真性性の証明]
先の二つの実施形態のいずれかに組み合わせることができる第3の実施形態の変形において、本発明の前記端末装置は、署名エンティティと呼ばれるエンティティによって、署名されたメッセージとして知られているメッセージ M のディジタル署名を生成するようにするようにされている。
前記署名されたメッセージは、
・ 前記メッセージ M 、
・ 前記チャレンジ d 、および/または、前記コミットメント R 、
・ 前記応答 D;
を含んでいる。
【0086】
前記端末装置は、前記署名エンティティに関連している署名装置からなるようなものであり、前記署名装置は、前記証人装置に、相互接続手段で相互接続されていて、例えばマイクロプロセッサベースのバンクカード中のマイクロプロセッサの形態のような、ノマドオブジェクトにおける微小論理回路の形態を特にとることができる。前記署名装置は、また、前記コントローラエンティティと関連していて、特に端末であるか遠隔サーバーの形になっている前記コントローラ装置へと、特にデモンストレータ装置へのデータ処理通信ネットワークを通じて、それ自身、電気的、電磁気的、光学的、あるいは音響によって接続するための接続手段を含んでいる。
【0087】
・署名動作:
前記端末装置は、以下のステップの実行をする:
・ステップ 1 (コミットメント R の行為):
各々の呼び出しで、上述のように指定されるプロセスを適用することによって証人装置のコミットメント R の計算手段が各コミットメント R を計算する。該証人手段は、コミットメント R の全部または一部を前記デモンストレータ装置に送信する、前記証人装置の伝送装置と呼ばれる伝送装置を有する。
【0088】
・ステップ2(チャレンジdの行為):
前記署名装置は、前記署名装置の計算手段と呼ばれる該計算手段を含み、変数を前記メッセージおよび各コミットメント R の全部または一部とするハッシュ関数hを適用して、あるバイナリトレインを計算し、このバイナリトレインからコミットメント R と同じ数のチャレンジdを導出する。
【0089】
・ステップ3(応答 D の行為):
前記証人装置の前記チャレンジdの受け取り手段は、前記相互接続装置を通して前記デモンストレータ装置から来るそれそれのチャレンジdを受け取り、前記証人装置の前記応答 D の前記計算手段は、上述のようなプロセスを適用することにより、前記チャレンジdから前記応答 D を計算する。前記証人装置は、前記証人装置の伝達装置と呼ばれ、前記相互接続手段を通して前記署名装置へと前記応答 D を伝達させる、伝達装置からなる。
【0090】
[コントローラ装置]
本発明はまたコントローラ装置に関連する。そのコントローラ装置は、コントローラエンティティに関連した端末か遠隔サーバ形態を特にとることができる。
該コントローラ装置は、
・ あるエンティティの真性性、および/または、
・ 該エンティティと関連するメッセージ M の完全性
をチェックするようにされている。この証明は、以下のパラメータ:
・ 秘密の値 Q1 、 Q2 、 ... 、 Qm と公開値 G1 、 G2 、 ... 、 Gm (mは 1 以上)の m 個の組
・ f 個の素因数 p1 、 p2 、 ... pf の積で構成される公開のモジュラス n ( 2 以上の f )で、前記コントローラ装置と関連しているコントローラエンティティには知られていないもの、
の全部若しくは一部またはこれらのパラメータからの算出値を用いることで成り立つ。
【0091】
前記モジュラスと前記秘密値と公開値は、
【数128】
のタイプの関係があり、ここで、vは
【数129】
のタイプの公開値である指数値を表す(kは1より大きいセキュリティパラメータ、 Qi は、前記コントローラ装置には知られていない、前記公開値 Gi に関連している秘密値)。
【0092】
前記m個の公開値 Gi は、m個の区別できるベース数 g1 、 g2 、… gm の、 f 個の素因数 p1 、 p2 、… pf より小さい二乗値g i 2 であり;前記 p1 、 p2 、… pf の素因数、および/または、m個のベース数 g1 、 g2 、… gm は以下の条件が満たされるように生成される。
【0093】
[第1の条件]
第1の条件は、各方程式
【数130】
がモジュロnの整数環におけるxについて解を持つこと。
【0094】
[第2の条件]
Gi(Qi v mod n である場合、第2の条件は、 Qi を二乗してモジュロ n を k−1 回とったm個の数 qi のうち、これらのいずれかが± gi ではないこと(つまり、トリビアルではないこと)。
Gi.Qi v ( 1 mod n である場合、第2の条件は、 Qi のモジュロnを二乗したものの逆モジュロ n を k−1 回とって得られるm個の数 qi のうち、これらのいずれかが± gi ではないこと(つまり、トリビアルではないこと)。
【0095】
[第3の条件]
第3の条件は、2m個の方程式
【数131】
がモジュロnの整数環におけるxについて解を持つこと。
【0096】
[エンティティの真性性の証明の場合]
実施形態の第1の変形において、本発明のコントローラ装置は、コントローラと呼ばれるあるエンティティに対して、デモンストレータと呼ばれるあるエンティティの真性性を証明するようにされている。
前記コントローラ装置は、特にデータ処理通信ネットワークを通って、それ自身、電気的、電磁気的、光学的、あるいは音響によって接続する、デモンストレータエンティティに関連したデモンストレータ装置への接続のための接続手段を含んでいる。
前記コントローラ装置は、以下のステップを実行するのに用いられる:
【0097】
・ステップ1および2(コミットメントRの行為、チャレンジdの行為):
前記コントローラ装置は、また、前記接続装置を通して前記デモンストレータ装置から来るコミットメント R の全部または一部を受け付ける手段を有する。
前記コントローラ装置は、前記コミットメント R の全部または一部を受け取った後に、それぞれの数がコミットメント R と同じであるチャレンジ d (各チャレンジdはm個の整数 di (以下「要素チャレンジ」と呼ぶ)からなる)を生成する、チャレンジ生成手段を含む。
前記コントローラ装置は、また、前記接続手段を通じて前記デモンストレータへチャレンジdを伝送する、前記コントローラの伝送手段と呼ぶ伝送手段を含む。
【0098】
・ステップ3および4(応答 D の行為、チェックの行為):
前記コントローラ装置は、また、
・ 前記接続手段を通じて前記デモンストレータ装置から来る前記応答 D を受け付ける手段
・ 前記コントローラ装置の計算手段と呼ばれる計算手段
・ 前記コントローラ装置の比較手段と呼ばれる比較手段
を備える。
【0099】
・第1のケース:前記デモンストレータが各コミットメント R の一部を伝送した場合:
前記デモンストレータが各コミットメント R の一部を伝送した場合には、
m個の公開値 G1 、 G2 、 ... 、 Gm を有する前記コントローラ装置の前記計算手段は、各チャレンジ R と各応答 D から再構成されたコミットメント R ´を計算し、その再構成されたコミットメント R ´は
【数132】
のタイプの関係か、
【数133】
のタイプの関係を満たす。
前記コントローラ装置の前記比較手段は、各再構成されたコミットメント R ´を受け付けられた各コミットメント R の全部または一部と比較する。
【0100】
・前記デモンストレータが各コミットメント R の全部を伝送した場合:
前記デモンストレータが各コミットメント R の全部を伝送した場合には、
m個の公開値 G1 、 G2 、 ... 、 Gm を有する前記コントローラ装置の前記計算手段と前記比較手段は、各チャレンジ R が
【数134】
のタイプの関係か、
【数135】
のタイプの関係を満たすことを確認する。
【0101】
[メッセージの完全性を証明する場合]
本発明による前記第1のコントローラ装置に組み合わせることのできる、実施の形態の第2の変形は、デモンストレータと呼ばれるあるエンティティの完全性を証明するようにされている。
前記コントローラ装置は、特にデータ処理通信ネットワークを通って、それ自身、電気的、電磁気的、光学的、あるいは音響によって、デモンストレータエンティティに関連したデモンストレータ装置への接続のために、接続手段を含んでいる。
前記コントローラ装置は以下のステップを実行するのに用いられる:
【0102】
・ステップ1および2(コミットメントRの行為、チャレンジdの行為):
前記コントローラ装置は、また、前記接続装置を通して前記デモンストレータ装置から来るトークン T を受け付ける手段を有する。前記コントローラ装置は、前記トークン T を受け取った後に、それぞれの数がコミットメント R と同じであるチャレンジ d (各チャレンジdはm個の整数 di (以下「要素チャレンジ」と呼ぶ)からなる)を生成する、チャレンジ生成手段を含む。前記コントローラ装置は、また、前記接続手段を通じて前記デモンストレータへチャレンジdを伝送する、前記コントローラの伝送手段と呼ぶ伝送手段を含む。
【0103】
・ステップ3および4(応答 D の行為、チェックの行為):
前記コントローラ装置は、また、前記接続手段を通じて前記デモンストレータ装置から来る前記応答 D を受け付ける手段を含む。前記コントローラ装置は、前記コントローラ装置の計算手段と呼ばれる計算手段であって、この計算手段は、第1に、m個の公開値 G1 、 G2 、 ... 、 Gm を有するとともに、各チャレンジdと各応答 D から再構成されたコミットメント R ´を計算し、そのコミットメント R は
【数136】
のタイプの関係か、
【数137】
のタイプの関係を満たし、
【0104】
第2に、前記メッセージ M および各再構成されたコミットメント R ´の全てまたは一部を変数として有する前記ハッシュ関数hを適用することによりトークン T ´を計算しする、計算手段を含む。
前記コントローラ装置は、トークン T ´を受け付けられたトークン T と比較する前記コントローラ装置の比較手段と呼ばれる比較手段を備える。
【0105】
[メッセージのディジタル署名とその真性性の証明]
先の2つの実施形態のいずれか、および/または、他のものと組み合わせることができる、本発明による実施の形態の第3の変形においては、署名されたメッセージと呼ばれているエンティティによって署名されたメッセージをチェックすることによってメッセージ M の真性性を証明するようにされている本発明のコントローラ装置である。
前記署名メッセージは、ハッシュ関数h( message,R )を有するある署名エンティティに関連した署名装置によって送られるとともに、
・ 前記メッセージ M 、
・ 前記チャレンジdおよび/またはコミットメント R 、
・ 前記応答 D 、
からなる。
【0106】
・チェック動作:
前記コントローラ装置は、前記署名エンティティに関連した前記署名装置への、特にデータ処理通信ネットワークを通る電気的、電磁気的、光学的、あるいは音響による接続のための接続手段を含んでいる。該コントローラ装置は、前記署名装置から前記接続を通じて前記署名メッセージを受け取り、
前記コントローラ装置は、
・ 前記コントローラ装置の計算手段と呼ばれる計算手段、
・ 前記コントローラ装置の比較手段と呼ばれる比較手段、
を備える。
【0107】
・場合前記コントローラ装置がコミットメント R 、チャレンジd、応答 D を有する場合:
場合前記コントローラ装置がコミットメント R, チャレンジd、応答 D を有する場合、前記コントローラ装置の前記計算手段および前記比較手段は、前記コミットメント R 、前記チャレンジd、前記応答 D が
【数138】
のタイプか、
【数139】
のタイプの関係を満たすことを確認する。
そして、前記コントローラ装置の前記計算手段と前記比較手段は前記メッセージ M, 前記チャレンジd、前記コミットメント R が前記ハッシュ関数
【数140】
を満たすことを確認する。
【0108】
・前記コントローラ装置がチャレンジd、応答 D を有する場合:
前記コントローラ装置がチャレンジd、応答 D を有する場合、前記コントローラ装置の前記計算手段は、各チャレンジdと各レスポンス D に基づいて、
【数141】
のタイプか、
【数142】
のタイプの関係を満たすコミットメント R ´を計算し、前記コントローラ装置の前記計算手段と前記比較手段は前記メッセージ M と前記チャレンジdがハッシュ関数
【数143】
を満たすことを確認する。
【0109】
・前記コントローラ装置がコミットメント R 、応答 D を有する場合:
前記コントローラ装置がコミットメント R 、応答 D を有する場合、前記コントローラ装置の前記計算手段は、前記ハッシュ関数を適用して、
【数144】
のようなd´を計算する。
そして、前記コントローラ装置の前記計算手段と前記比較手段は前記コミットメント R 、前記チャレンジd´、前記応答 D が
【数145】
のタイプの関係を満たすか、
【数146】
のタイプの関係を満たすことを確認する。
【0110】
[発明の記述]
GQ 方法の目的は、メッセージのディジタル署名とエンティティとメッセージのダイナミックな真性性である。これらは、「知識の移動なしで」方法である。エンティティは、それが 1 または秘密のいくつかの数を知っているということを証明する。もう一つのエンティティは、チェックする ; それは、対応する公開値または数を知っている。証明しているエンティティは秘密の数を明らかにすることなくチェックしているエンティティを確信させようとすし、そのような方法で、必要に応じて何度も使うことができる。
【0111】
各々の GQ 方法は、秘密の高い素数からなる公開のモジュロに依存する。公開されている指数値 v と公開されているモジュロnは、ともに、「べき乗vモジュロnへの増加」と意味し、一般的ないくつかの方程式(すべて同じタイプの):直接、 G ≡ Qv ( mod n )から、あるいは、 Gx Qv ≡1の逆演算で実現される。このタイプは、証明エンティティの範囲内で以外でない、エンティティをチェックすることの範囲内で計算の演算に影響を及ぼす ; 実際、セキュリティ分析は、 2 つのタイプを混乱させる。公開値 G にリンクされる各々の一般的な方程式と秘密の数 Q は、一緒に一対の数{ G,Q }を作る。再開するために、各々の GQ 方法は、同じ鍵 <v,n> のために 1 または数対の数{ G,Q }を含む。 GQ1 と呼ばれてここでは、 GQ 方法の古典バージョンは、 RSA ディジタル署名メカニズムを使う。確認鍵 <v,n> は、それから変わった指数値 v が望ましくは素数である RSA 公開鍵である。各々の GQ1 法は、一般に 1 対の一つの数{ G,Q }を使う: RSA ディジタル署名技術の必要不可欠な一部であるフォーマット・メカニズムによって、公開値 G は、識別データから推論される。秘密の数 Q またはその逆のモジュロnは、識別データのための RSA 署名である。証明エンティティはそれ自身の識別データの RSA 署名についてのその知識を示する、そして、この証明はしたがって、必要に応じて多くの時間として使われるために、秘密のままである署名を現しない。 GQ1 法は、一般に 2 レベルの鍵を実装する:識別データによる他から一つの鍵に署名して秘密の RSA は、彼ら自身を識別しているエンティティを公認しているオーソリティのために予約されてある。そのようなメカニズムは、「基礎を形成されるアイデンティティ」であると言われる。このように、チップカードのエミッタは、カードにおいて多様化された秘密鍵として刻まれる秘密の数 Q を計算するために各々のカードの刊行のために彼の RSA 秘密鍵を使用する ; または、さらに、セッションの間のクライアントの短命な秘密鍵である秘密の数 Q を計算するために各セッションに入るとき、コンピュータのネットワークの上のクライアントは彼の RSA 秘密鍵を使用する。エンティティ(開会中のチップカードまたはクライアント)を証明することは、彼らの識別データの RSA 署名を知っている ; 彼らは、鍵ヒエラルキーおいて、次のより高いレベルにある RSA 秘密鍵を知らない。それでもなお、オーソリティのレベルの 768 のビットのモジュロによる GQ1 によるエンティティのダイナミックな真性性は各々のエンティティのレベルの 3 つの素因数による 512 のビットのモジュロをもつ RSA のそばのエンティティのダイナミックな真性性と同じほとんど作業負荷を必要とする。そして、それは証明エンティティを彼らの製品のために法結果を計算する前に素因数の各々のために法結果を計算することによってチャイニーズ剰余法テクニックを使用させる。しかし、オーソリティと公認のエンティティの間の鍵のヒエラルキは、義務的ではない。人は証明エンティティに属しているモジュールで、 GQ1 を使うことができる。そして、それは証明エンティティのレベルのモジュロが当局たとえば 768 のビットと比較すると 512 のビットのレベルのモジュロより短くありえるという事実は別として、基本的にエンティティをチェックする作業負荷を変えないエンティティを証明する作業負荷を減らすことをチャイニーズ剰余法テクニックを使用する可能性があるようにする。エンティティがそれ自身のモジュロの素因数を知っている時に、なぜ RSA ディジタル署名メカニズムの呼び出すのか?
【0112】
基本の GQ2 とここで呼ぶ、 GQ 方法のもう一つのバージョンは、直接モジュロnの因数分解の問題を扱いる。この文脈では、「直接」は、「 RSA 署名を求めるない」ことを意味する。証明エンティティでだけでなくエンティティをチェックすることでも、 GQ2 の狙いは、作業負荷を減らすことになっている。証明エンティティはそれ自身のモジュロの分解についての知識を示する、そして、この証明はしたがって、必要なほど、しばしば使われることができるために、秘密のままである分解を明らかにしない。 GQ2 プロトコルのセキュリティは、モジュールの因数分解に等しい。
【0113】
各証明エンティティは、それ自身のモジュロnを持つ。各 GQ2 メカニズムは、公開の指数値 v=2k を固定する 1 を超える小さな数であるパラメータ k と、1以上のいくつかの数の対{ G1,Q1 }から{ Gm,Qm }とを
インプリメントする。各々の公開値 Gi は、 1 を超える小さな数である gi の二乗値であって、「ベース数」と呼ぶ。全ての証明エンティティは同じ公開値 G1 から Gm を使うことができる。モジュロnと Q1 から Qm の数の因数分解は、それから、同じ鍵ヒエラルキのレベルにある。
基本の GQ2 鍵の各々の集合は、 2 つの必要で十分な条件によって定義される:
【0114】
・ 各々のベース数について、 2 つの方程式 xv ≡± gi ( mod n )のどちらも、モジュロnの整数環において、 x の中に解を持つ。いわば、数± gI は 2 つのモジュロnの非二次の残余である。
・ 各々のベース数について、方程式 xv ≡± g2 ( mod n )(ここで、 v=2k )がモジュロnの整数環に、 x の中に解を持つ。秘密の数 Qi またはその逆のモジュロnは、これらの解の任意のものになる。
【0115】
第 2 の条件を考慮することにより、数± gi が 2 つのモジュロnの非二次の残余とするために、モジュロnは、 gi の Legendre シンボルが関連する 3 ( mod 4 )に適合する少なくとも二つの素因数を含む。従って、モジュロは、 3 ( mod 4 )に適合するのが全く無いか、 1 つだけの素因数から成る場合、一組の基本の GQ2 鍵を確立させない。そして、それは 3 ( mod 4 )まで適合する素因数に特権を与える。このように、高い素数を無作為に選ぶことによって、半分だけが 3 ( mod 4 )と半分が 1 ( mod 4 )まで適合するようである。その結果、使用中の多くの RSA モデルは、一組の基本の GQ2 鍵を確立することができない。
【0116】
ここでは、我々は何ら任意のモジュロででも、そして、特に、何ら任意の RSA モジュロのいても GQ2 技術を使用することができるためにこの制限を克服するために一般化された GQ2 鍵の集合を導入する。それは、 2 つの必要で十分な原則に依存する。:
【0117】
第1の原則は、第二の基本の GQ2 条件を複写する:
−g1 から gm までの各々のベースについて、方程式 xv(gi 2 ( mod n )、ここで、 v=2k 、が、がモジュロnの整数環において、 x に解を持つこと。
秘密の数 Q またはその逆のモジュロnが方程式の解であるので、連続した二乗値 k−1 つのモジュロnが、それをモジュロnの整数環における Gi の根である数 qi に変える。数 qi が 2 つの数 gi か n−gi のうちの 1 つと等しいか 2 つの数 gi と n−gi と異なるかどうかに従い、それがトリビアルか、あるいはそうではないと言われる。
【0118】
数 qi が非トリビアルのとき、 qi 2−gi 2 を割る n は qi−gi か qi+gi を割らない。任意の非トリビアル数 q は、このようにモジュロnの分解を明らかにする。
【数147】
n=pgcd(n,qi−gi)xpgcd(n,qi+gi)
第2の原則原則が最初の基本の GQ2 条件を拡張する:
・数 q1 から qm の中で、少なくともいずれかつの数 qi は、非トリビアルである。
数± gi がモジュロnの整数環における 2 つの非二次の残余である間、数 q+ が存在するならば、数 qi が明白に非トリビアルである点に注意されたい。
【0119】
このように、基本の GQ2 鍵の集合は、確かに一般化された GQ2 鍵の集合の部分であり、一般化された GQ2 鍵は、何ら任意のモジュロでも使うことを可能にする、つまり、少なくとも二つが区別できるかぎり、無関係に、 3 つまり 1 ( mod 4 )に適合する高い素数の任意の合成である。他方、一般化された GQ2 鍵の多くの集合は、基本の GQ2 鍵の集合ではない。一般化された GQ2 鍵の各々の集合は、以下のケースのうちの 1 つに従っている:
・ 数± g1 から± gm までの 2xm が全て、非二次の残余であるとき、これは一組の基本( elementary )の GQ2 鍵である。
・ 数± g1 から± gm までの 2xm において、少なくともいずれかつの非二次の残余があれば、これは一組の基本の GQ2 鍵ではなく、ここでは一組の相補型 GQ2 鍵とされる。
【0120】
本発明は、定義において、基本でない一般化された GQ2 鍵のこれらのセットである、その相補型 GQ2 鍵の集合に関する。 2 つの前の原則の他に、そのようなセットは、第 3 の原則を満たさなければならない。
・ ± g1 から± gm への 2xm 数± g1 の中に、少なくともいずれかつの二次の残余がある。
【0121】
問題を評価して、我々が提供するソリューション、つまり、本発明、を理解するために、まず第一に非トリビアル数 q によって現れられるモジュロnの分解を分析し、それから、チャイニーズ剰余法テクニック、それからガロア域 CG(p) でランクの概念に戻る。そして、次に、 CG(p) で関数「二乗値への増加」と、 CG(p) で二次の残余の「平方根をとること」を議論し、そして最後に、上述の 3 つの原則の適用性を分析する。
【0122】
(モジュールの分解の分析)
モジュロnが pf に f 個の素因数 p1 に分解されるように、モジュロnの整数環は f 個のガロア域 CG(p1) から CG(pf) に分解される。各々のフィールドでは、 2 個の単位根(すなわち± 1 )がある。つまり、環では 2f 個の単位根がある。 Q1 から Qm の各秘密の数は、環におけるこれらの 2f 個の単位平方根のうちの 1 つである数Δ i=qi /gi ( mod n )を定義する ;
言い換えると、Δ i 2−1 は n で割り切れる。
【0123】
・ qi がトリビアル、つまり、Δ i= ± 1n なら、Δ i−1 あるいはΔ i+1 は n で割り切れる。したがって、Δ i は、モジュロnの分解を明らかにはしない。
・ qi が非トリビアル、つまり、Δ i ≠± 1 なら、Δ i−1 あるいはΔ i+1 は n では割り切れない。従って、Δ i は分解、 n=pgcd(n 、Δ i−1)xpgcd(n 、Δ i +1) 各々のフィールドでΔ i の値から導かれる):この素因数は、Δ i−1 を割り切るか、他方、Δ i+1 を割り切る。
数 q の増殖性の構成の支配の検査
【0124】
2 つの数{ q1,q2 }は、合成数 q1xq2(mod n) を与える。
・ q1 が非トリビアル、そして、 q2 がトリビアルとき、合成数 q1xq2(mod n ) は非トリビアルである ; これは、 q1 と同じ分解を明らかにする。
・ q1 と q2 が非トリビアルΔ 1 = ±Δ 2 であるとき、合成数 q1xq2(mod n ) はトリビアルである ; これは、いかなる分解も明らかにしない。。
・ q1 と q2 が非トリビアルおよび D1 ≠± D2 であるとき、合成数 q1x q2 (m od n) は非トリビアルである ; これは、第 3 の分解を明らかにする。
3 つの数{ q1, q2,q3 }は、 4 合成数{ q1x q2 、 q1x q3 、 q2x q3 、 q1x q2x q3 (mod n) }(すなわち合計 7 つの数)を与える ;
m 番号は、このように 2m−m−1 合成数(すなわち 2m−1 番号の合計)を提供する。
【0125】
我々は現在、 i 個のベース数 g1 〜 gi と、 i 個の数 q1 〜 qi を与える i 個の秘密数 Q 1 〜 Qi と、単位平方根である i 個のベース数Δ 1 〜Δ i を含んでいる一組の一般化された GQ2 鍵を考える。秘密の数 Qi+1 によって、もう一つのベース数に gi+1 を、数 qi +1 と、そして根Δ i+1 を与えて、考慮してみる。
【0126】
・ 2i+1−1 個の数の合計は、以下のケースの各々では、多くの非トリビアル数からなる:
・ 根Δ i+1 はトリビアルである、そして、ダイへの少なくともいずれかつの根 D1 は非トリビアルである。
・ 根Δ i+1 は、トリビアルでも、 2xi 根±Δ 1 と±Δ i の中で現れる 2xi 個の根±Δ 1 〜±Δ i の数でもない。
・根Δ i+1 が非トリビアルであって、 2xi 個の根±Δ 1 〜±Δ i の数の中ではなく、各々の qi +1 個の数の合成数が非トリビアルでないとき。
従って、数 q1 〜 qm への m 個の数の中で少なくともいずれかが非トリビアルのとき、 2 m−1 個の数の半分の合計より多くのものは非トリビアルである。
【0127】
定義によって、 2l−l−1 個の対応する合成数の各々が非トリビアル、すなわち、全体で 2l−l 個の数が非トリビアルであるとき、数えるモジュロnと比較して、 l<f 個の非トリビアル数{ q1, q2,..., ql }が、独立していると言われる。
【0128】
これらの 2l−l 個の数の各々は、このようにモジュロnの異なる分解を明らかにする。
・ f 個の素因数が異なっているとき、モジュロnの 2f−1 −1 分解がある。
このように、 f−1 個の数 q が独立しているならば、双単一の意味での対応が、 2f − 1−1 分解と、 f−1 個の独立した数と 2f−1−f 個の対応する合成数を含んでいる 2 f −1− 1 個の数の合計との間にある。
【0129】
・チャイニーズ剰余法
2 個の数 a,b のいずれか、 0<a<b のその間の素数、 0 から a−1 の数 Xa と、0から b−1 の Xb の 2 つの数については、 ; 数が 0 から axb−1 までの、その Xa ≡ X( mod a) と Xb ≡ X(mod b) にユニークな X ものの決定に関する。数 x ≡ [b( mod a)]−1(mod a) は、チャイニーズ剰余法パラメータである。
基本のチャイニーズ剰余法の演算は、下に与えられる:
【数148】
要約すると、: X=Chinese remainders(Xa,Xb )。
【0130】
f 個の素因数が最も小さい p1 から最大の pf に増加するように並べられると、チャイニーズ剰余法パラメータは以下のように与えられる(素因数(すなわち f−1 )より少なくなるものがある)。
・ 最初のパラメータは、 x ≡( p2 (mod p1) ) −1(mod p1) である .
・ 第二のパラメータは、β≡( p1x p2 (mod p3) ) −1(mod p3) である .
・ i 番目のパラメータは、( p1 × ...pi−1(mod pi) ) −1(mod p i) である。
・ 等。
f−1 個の基本の演算において、人は 0 から 0 から pj−1 まで Xj で X1 から f 構成要素の任意の集合からでも Xf まで始まっている n−1 まで、数 X を確立する:
・ 最初のパラメータによる最初の結果( mod p1x p2 )、
・ そして第二のパラメータによる第二の結果( mod p1x p2xp3 )、
・ 最終結果まで( mod n = p1x p2x... pf )最後のパラメータで。
pf に素因数 p1 を与えられて、再開するために、モジュロnの整数環の各々の要素は、 2 つの等価表現を持つ:
・ f 個の数 X1 〜 Xf の素因数構成要素: Xj ≡ X(mod pj) 、
・ 0 から n−1 への数 X 、 X= Chinese remainders ( X1,X2, ... Xf ))。
CG(p) での数のランク
p を奇数の素数とし、 a を p より小さい数、すなわち 0<a<p とする。定義より、 p についての a のランクは、{ xi =a; そして、 i ≧ 1,xi+1 ≡ a × xi ( mod p )}で提起されるシーケンス{ X }の期間である。フェルマー定理を適用することによって xi+p ≡ ap × xi ≡ a × xi ≡ xi+1 ( mod p )が得られる。したがって素数 p についての数 a のランクは、 p−1 、または、 p−1 の割る数である。
【0131】
例えば、( p−1 ) /2 が、奇数の素数 p であるとき、 CG(p) が数を含むガロア域は、ランク1の数を含む:これは、ランク 2 の、 1 である:これは、ランクp´である p’ −1 個の数と、ランク2×p´= p−1 の、p´ −1 個の数である、 CG(p) では、ランク p−1 の任意の数は、「ジェネレータ」である。この名称は、 CG(p) でのジェネレータの連続したべき乗(すなわち 1 から p’−1 へのインデックスのためのシーケンス{ X }の項)が CG(p) の全てのゼロ以外の要素の順列を作るという事実による。
【0132】
y を CG(p) のジェネレータとする。 i と p−1 によって数 y ´( mod y )のランクを評価することにする。 i が p−1 と互いに素であるとき、これは p−1 である。 p− 1 が i で割り切れるとき、これは (p−1)/i である。全てのケースで、( p−1 ) / lgcd(p−1,i) ( lgcd = 最大公約数)。
【0133】
定義によって、オイラーの関数φ (n) は、 n より小さい数で、 n と互いに素な n より小さい数の個数である。 CG(p) にはφ (p−1) 個のジェネレータがある。
例証として、 RSA の基礎を理解することは、ランクを用いて容易になる。モジュール n は、 f ≧ 2 について、 f 個の素因数 p−1 から p−f までの積である。 p1 から pf への各々の素因数 pi について、公開されている指数値 e は、 pj−1 と互いに素でなければならない。今度は、鍵 <e,pj> は、 CG(pj) の要素のランクに従う。:これは C G(pj) の要素を並べ替える ; 通常は e × dj−1 が p−1 で分りきれてできるだけ小さいような数 dj が存在する。鍵 <dj 、 pj> は CG(pj) の要素の順列を逆にする。これらの f 個の順列(各フィールド CG(p1) から CG(pf) )は、公開鍵 <e, n> によってまとめられる RSA 順列によって、モジュロnの整数環において表される。d× e−1 が( p1−1、p2−1 、... pf−1 )の最小公倍数( scm )で割り切れるような、一般に、できるだけ小さい数 d が、存在する。
【0134】
p1 から pf への各々の素因数 pj に対して、我々は dj ≡ d ( mod pj−1 )を持つ。 RSA 順列は、公開鍵 <e,n> が秘密鍵 <d,n> によって逆演算されることにまとめられる。
【0135】
CG(p) の二乗値
p−1 が 2t で割り切れるが、 2t−1 以外である、そのようなその数 t を定義しよう。各々の大きい素数は、 t=1,t=2,t=3、t−4 等々の中の唯一の 1 つのカテゴリーの中に現れる。もし、連続した素数の十分に大きい数が考慮されるならば、大体 2 つに 1 つは、 p が 3 ( mod 4 )に適合する最初のカテゴリー、 4 つに 1 つは p が 5 ( mo d 8 )に適合する第二のもの、8個に 1 つは p が 9 ( mod 16 )に適合する第 3 のものに、 16 中 1 、 p が 17 ( mod 32 )に適合する第 4 のもの、その他、というようにところに現れ ; 大体、2 t 個に 1 つは p が2 t+1 ( mod 2t+1 )適合する第nのものに、現れる。
【0136】
数 x と p−x には CG(p) で同じ二乗値があるので、鍵 <2,p> は CG(p) の順序を変更しない。 CG(p) で「二乗値になる」関数は、フィールドの各々のゼロ以外の要素が自身の場所を捜し出す方向付けられたグラフによって表示されるかもしれない。各々の要素のランクのパリティによって、ブランチとサイクルをもちいてグラフの構造を分析しよう。
【0137】
ゼロ要素がセットされる。これは、0である。 0 要素について他のいかなる要素も関係がなく;ランクは定義されない ;0 要素は、孤立する。
単位元が、セットされる。これは、 1 である、ランク 1 の唯一の要素。
CG(p) 中の単位の全ての根は、 1 に関連したブランチにある。 y を CG(p) の非二次の残余(任意の残余)とする。鍵 <(p−1)/2t 、 p> は、 b として参照される、 y を −1 のプリミティブな 2t−1 番目の根に変える ; 実際、 y(p−1)/2 ≡ −1( mod p) が得られる。したがって、 CG(p) において、 1 以外の単位の 2t−1 個の根は、 1 から 2t−1 への指数値のための b のべき乗である:彼らは、 1 に関連したブランチを作る。
【0138】
偶数のランクの任意の要素の二乗値は、2で割り切れる数のランク他の要素である。したがって、偶数のランクの各々の要素は、あるブランチに置かれる ; 各々のブランチは2で割り切れるが、4では割り切れないランク数を含み、次に t ≧ 2 ならば、4で割り切れるが、8では割り切れない二つのランク数、次に t ≧ 3 ならば、8で割り切れるが、16では割り切れない4つのランク数、次に t ≧4ならば、16で割り切れるが、32では割り切れない8つのランク数、等々となる。全てのブランチは、 1 に関連したブランチと類似している ; 各々のブランチの 2t−1 個のリーフは、非二次の残余である ; 各々のブランチは、 2t−1 個の要素を含んで、奇数ランクの要素と関連がある ; ( p−1 ) /2t 個の同じ長さ t をもつブランチがある。
【0139】
単位元以外の奇数のランクの任意の要素は、同じランクを持っているもう一つの要素である。鍵 <2,p> は、奇数のランクの( p−1 ) / 2t 個の要素のセットにおいて、並びを変更する。順列は、順列サイクルに因数分解される。サイクルの数は、( p−1 ) / 2t の因数分解に依存する。( p−1 ) /2t の各割る数 p ´について、ランク p ´のφ (p) 個の要素を含むをサイクルが存在する。定義によって、オイラーの関数φ (p) は、 p と互いに素で p より少ない数の数であることを、思い起こそう。例えば、 (p−1) /2t と等しい p ´が、素数で、ランクp´の p ´ −1 個の数が大きな順列サイクルをつくる。
【0140】
図 1A−1D は、それぞれ、 3 ( mod 4 )、 5 ( mod 8 )、 9 ( mod 16 )と 17 ( mod 32 )まで適合する p のために各々グラフ断片を図示する。
ブランチの上のリーフは、白円で図示される ; これらは、非二次の残余である。
ブランチの中のノードは、灰色の円で図示される ; これらは、偶数ランクの二次の要素である。
サイクルのノードは、黒人のサークルとして図示される ; これらは、偶数ランクの二次の要素である。
【0141】
CG(p) での平方根
a が CG(p) の二次の残余であることがわかったので、方程式 x2 ≡ a ( mod p )の解を計算する方法、つまり、 CG(p) で「平方根とる」、を見ることにする。もちろん、多くの方法が、同じ結果を得るためにある ; アンリ・コーエンの本、「計算代数的数論コース( a Course in Computation Algebraic Num ber Theory )」 Berlin の Springer 社 1993 年発行のボリューム 138 、数学大学院テキスト( Graduate Texts in Mathemat ics 、 GTM 138 )シリーズ、のページ 31−36 を用いることができるかもしれない。
数 s = ( p−1+2t ) /2t+1 は鍵 <s,p> を提供する。これは:
<(p+1)/4 、 p> : p が 3 ( mod 4 )に適合するとき
<(p+3)/8 、 p> : p が 5 ( mod 8 )に適合するとき
<(p+7)/16 、 p> : p が 9 ( mod 16 )に適合するとき
<(p+15)/32 、 p> : p が 17 ( mod 32 )に適合するとき
等々
ということである。
【0142】
鍵 <s 、 p> はサイクルの任意の要素 a を、サイクルに前の要素に変換する。 a が偶数ランクのものであるとき、それは奇数のランクの解答である、我々はそれに w という名前をつける。実際に、 CG(p) で、 w2/a が等しいことためにために −1 のべき乗( 2 × (p−1+2t)/<2t+1 ) −1= ( p−1 ) /2t.
他の解は、偶数ランクである ; これは、 p−w である。
【0143】
鍵 <s 、 p> は任意の要素の二次の残余 a を、第 1 近似として、rとよぶ解に変換する。 a は二次の残余なので、鍵 <2t−1 、 p> は r2/a を1に確かに変換する。 a の平方根にアプローチするため、 +1 または −1 を得るのに r2/a ( mod p )の2 t−2 乗をとる。結果が +1 である、あるいは、他にならば、それが b ´ r ( mod p )になる、結果が −1 であるならば、新しい近似は r のままである。そして、 p がフィールド C G(p) で 1 の任意のプリミティブな 2t 乗根に言及するということを知っている。したがって鍵 <2t−2 、 p> はこの新しい近似を1へと変える。また、鍵 <2t−3 、 p> をもちいて、 b2 ( mod p )で掛けること、等々でも、アプローチできる。
【0144】
以下のアルゴリズムは、方程式を解く。それは、上記のように定義済みの 2 つの変数として数 a,b,p,r,t を使う。 c は、連続した訂正と w を表する連続した近似。アルゴリズム、 c = b と w = r の初めの。計算終了後、 2 つの解は、 w と p−w である。 t −2 から 1 への i のために、以下のシーケンスを繰り返す必要がある:
・ 鍵 <2t (数 w3/a ( mod p )への +1 または −1 を得るために p> )を適用する。
・ −1 が得られるとき、 w を w ´ c ( mod p )と取り替える。
・ c を c2 ( mod p )と取り替える。
【0145】
原則の適用性
定義によって、我々は指数値 n が 2k である方程式 xn o g2 ( mod p )がフィールド CG(p) で x の中に解を持つとき、パラメータ k 、ベース数 g と素因数 p が互換性( compatible )を持つと述べる。数 k と g は、小さくて 1 より大きい。 p 番は、大きい素数である。
【0146】
・ t = 1 のとき、(すなわち p ≡ 3 ( mod 4 ))方程式は、を持つ 2 解。
・ t = 2 のとき、(すなわち p ≡ 5 ( mod 8 ))方程式は、 g の Legendr e シンボルに p に関して一致したを持つ 4 解(( g | p ) = +1 のとき) ; 解なし( g | p ) =−1 のとき)。
・ t > 2 のとき、(すなわち p ≡ 1 ( mod 8 ))、 u を、 2u が公開値 G = g 2 を p に関して割り切れるようなものだが、 2u+1 は割り切れないようなものとする ; したがって、 u は 0 から t−1 まで数のうちのいずれかと等しい。 u > 0 と k + u > t ならば方程式には解がない ;k + u ≦ t ならばそれは 2k 個の解を持つ ;u = 0 と k > t ならばそれは 2t 個の解を持つ。
したがって、 G がサイクルの中にまたはブランチの他の適当な位置にあるかどうかに応じて , 互換性には 2 つのタイプがある。
・ G が k の値に関係なくサイクルの中にあるとき、すなわち u = 0 のとき、 k の値に拠らず、そのサイクルには、奇数のランクと、α = min(k,t) によって散在するようにされた広められる偶数ランクとには、共に解があり、連続的なブランチが全部でサイクル(すなわち 2a 個の解)と関連がある。図 2A はこのケースを k ≧ t = 3 (すなわち 9 ( mod 16 )まで適合する素因数)で図示する。そして、それはその u = 0 を強要する。
・ G がブランチ(すなわち u > 0 と u+k ≦ t )の中に、適当な位置にあるとき、 2k の解(偶数ランクの、そして、ブランチの中の全て)がある。
図 2B は、このケースを図示する。
パラメータ k が与えられれば、 t の値が k 未満か、あるいは、k以上かによって、 2 種類の素因数がある。
【0147】
・t<kの任意の素因数 pj につては、各 Gi は、はあるサイクルの中に無くてはならならず、 Gi に関連したブランチには解がない。数Δ i,j で、 gi,−gi がサイクルにあるかどうかによって+1か、−1の値をとるものを定義する。m個の数Δ 1,j 〜Δ m ,j の何れであってもよい。図 3A は、t<kのケースを図示する: Gi は、 9 ( mod 16 )に適合する素因数 pj (すなわち k > 3 による u = 0 、 t = 3 )で、サイクルの中にある。
【0148】
・t≧kの任意の素因数 pj につては、各 Gi は、 u+k ≦ t, つまり、 u=0 のサイクルにあるか、あるいは、 1 ≦ u ≦ t−k のブランチの適当な場所にある。数Δ i,j で、 Qi,j が gi,−gi に関連したグラフの場所にあるかどうかによって+1か、−1の値をとるものを定義する。m個の数Δ 1,j 〜Δ m,j には選択がある。各数Δ i,j は個別に、互いの間をスイッチされても良い。図 3B は、t≧kのケースを図示する: Gi は、17( mod 32)に適合する素因数 pj (すなわち k > 3 による u = 0 、 t = 3 )で、サイクルの中にある。
【0149】
f 個の構成要素の各々のセット{Δ i,1 ... Δ i,f }は CG(pj). の単位の平方根である。この根は、トリビアルか、 f 個の構成要素が等しいかどうかに、一致していません ; 我々はそれから、 f 個の構成要素の集合が一定であるか変化すると述べる。そして、それは数 qi がトリビアルという事実を表する。数 qi が些細でないとき、したがって、 f 個の構成要素のセット{Δ i,1 ... Δ i,f }モジュールの因数分解をまとめる。したがって、秘密の構成要素 Qi,j を計算する前に原則をテストすることが可能である。
【0150】
・公開値 Gi が素因数 pj のためにサイクルの中にあるとき、数Δ i,j が +1 または − 1 であって、によってどうか gi 、あるいは、 − 、 gi はサイクルの中にある。
。そのとき、 pj ≡ 3 ( mod 4 )、これは Legendre のシンボルである:
Δ i,j= ( gi | pj )。
【0151】
・公開値 Gi が素因数 pj のためにブランチの中に適当な位置にあるとき、Δ i,j に与えられる値は秘密の構成要素 Qi を計算することによって決定されるかもしれない。
鍵の集合の生産・パラメータ k があれば、 2 つの戦略がある。
【0152】
・ジェネレータが適切に m が基礎を形成すると決心することを f 個の素因数に要求するどちらでも、計算する。
最初の素数: 2 、 3 、 5 、 7 、 ... は、 pf に f 個の大きい素因数 p1 の各々との彼らの互換性を評価することがないか調べられる。
g = 2 が p ≡ 5 ( mod 8 )と、互換性を持たないけれども、 2 はベース数の構成を始めるかもしれない。本当に、 2 個の数がブランチの中に類似した位置にあるとき、彼らの製品は正確に二乗値がより近いサイクルを持ってきて、サイクルにより近いである。ベース数は、個々に適切でない数を組み立てることによってそれによって得られるかもしれない。
【0153】
・または、ジェネレータは m ベース数とビット・サイズ(たとえば、 512 、 768 、 1 024 、 1536 、 2048 )と強い重さ(たとえば、 1 、 8 、 16 、 24 、 32 )による 1 まで連続した多くのビットが f 3 2 を決定するためにスタンバイするようなものは因数に分解するモジュールの特性を必要とする。
G1 、 G2 、 ... 、 Gm として注意した、ベース数は、最初の素数の中に一般に現れる: 2 、 3 、 5 、 7 、 11 ... 、でなければ、これら、組合せは最初の素数である。別途指示しなかった限り、これらは最初の m 素数である ;
G1=2 、 G2 = 3 、 G3 =5 ( G4 = 7 ) ...p ≡ 5 ( mod 8 )が g = 2 と互換性を持たない点に注意する。モジュール n は、近いサイズ(すなわち f によって分けられるモジュールに割り当てられるサイズ)による f 個の素因数の製品である。
【0154】
最初の原則
パラメータ k 、 p1 から pf への各々の素因数と各々のベースは g1 から g を数える。そして、 gm は互換性を持たなければならない。 2h のような数 h が p に関して g のランクを分けることを定義しようのに、 2h+1 はそれを分けない。以下の手順が Legend re のシンボル( g | p )を使って、数 h を計算するために、そして、数 b ( CG(p) . での統一の最初の 2t 乗根)
【0155】
・ ( g ? p ) t = 1 (帰りの「 h = 0 」)で = + 1 。
・ ( g ? p )、 t > 1 による = + 1 は、鍵 <(p を適用する? 1t ) /2t+1 ( G への w と呼ばれている結果を得るために p > )。
・ +g w = ならば、「 h = 0 」を返する。
・ =pg w ならば、「 h = 1 」を返する。
・他に、 c を b に、そして、 t−1 から 2 への i のために設定する、
・ 鍵 <2i ( w/g ( mod p )への± 1 を得るために p> )を適用する
・ −1 が h を i にセットして、 w を w ´ c ( mod p )と取り替えるならば、
・ c を c2 ( mod p )と取り替える。
・「 2 から t−1 への h の値」を返する。
・( g ? p ) = − 1 は、「 h =t 」を返する。
【0156】
k 、 g と p が相容れないことを思い出す我々をます k+u > t でいつの u > 0;
彼らは、互換性を持つ、 k の値に関係なく、いつの h = 0 または 1 、そして、等しくいつの k k+h £ t+1. で > 1
原則の支持を表明する 3 つの以下の手順は第二の原則の異なる実施と一致する。
【0157】
特定の実施において、第二の原則は、 qm への各々の数 q1 がトリビアルなことを必要とすることで適切に補強されるかもしれない。
ベース数の役割は、それから釣り合いる ;
第二の原則を釣り合わせることは、計画のセキュリティのデモンストレーションの特定の面の影響を持つ。
【0158】
最後に、 f > 2 つの異なった素因数があるとき、 m 番号{ q1 ... qm }の中で、 f−1 個の独立した数の少なくともいずれかつのサブセットが存在することを義務づけられるかもしれない。
3 つの手順は、次のように定義される m ´ f 個の数 di,j を使う。
・ pj がすなわち 1 から m ( di,j = Δ i,j )まで i のために <k そのようなその t である、 +1 hi,j = 0 と −1 に hi,j = 1 に。
・ pj が 3k そのようなその t であるとき、 1 からそれを意味する m ( di,j = 0 )への i のために、 Dm,j への D1,j は第二の原則に従って選ばれるかもしれない。
【0159】
最初の手順は、少なくともいずれかセット{ di,1 ... di,f }が変化する、あるいは、些細でないように、 0 、すなわちその少なくともいずれかつの数 q1 、 qm が些細でないか、選ばれるかもしれないことを確かめる。
・なぜならば、 1 から m への私と 1 から f への j 、
・ di,j = 0 または 1 つの di,1 ならば、「成功」を返する。
・「失敗」を返する。
【0160】
些細でないように、第二の手順は各々のセット{ di,1 ... di,f }が変化することは、あるいは、 0 がすなわち qm にとても各々 q1 を数えることは些細でないことを確かめるか、選ばれるかもしれない。
・なぜならば、 1 から m への私、
・ 1 から f への j のために、
・ di,j = 0 または 1 つの di,1 が i の次の値まであるきップするならば、
・ リターン「失敗」。
・「成功」を返する。
【0161】
第 3 の手順は、素因数 pj1 と、 1 つのそこの£ j1 £ j2 £ f で、 pj2 の各々のペアが di,j1 がゼロであるか di,j2 と異なる少なくともいずれかつのセット{ di, 1 ... di,f }であることを確かめる。
m が f−1 より小さいとき、それは明らかに、失敗する。
それが成功するとき、数 q1 〜 qm への m 個の数の中で、独立した f−1 番号の少なくともいずれかセットが f 個の素因数に関してある。
【0162】
・ 1 から f−1 への j1 のために、そして、 j1+1 から f への j2 のために、
・なぜならば、 1 から m への私、
・ di,j1 = 0 または 1 つの di,j2 が j1 と j2 の次の値まであるきップするならば、
・「失敗」を返する。
・「成功」を返する。
手順が失敗するとき、鍵がセットする GQ2 のジェネレータは 2 つの可能な戦略から選ばれるその戦略に従う:
・ f 個の素因数を保つ間、 m ベース・数のうちの 1 個を変えてください、
・ m を保つことは数の基礎を形成する間、 f 個の素因数のうちの 1 つを変えてください。
第 3 の原則(手順が分化していない GQ2 鍵(生産の間、かすでに生じられる)の集合がいるかどうか決定することになること)
一組の両方の基本の GQ2 鍵、すなわち、± gm への 2 ´ m 数± g1 が全ての非二次の残余であるために、
・でなければ、相補型そこの GQ2 鍵(すなわち± gm への 2 ´ m 数± g1 の中のそれ)の集合は、少なくともいずれかつの二次の残余である。
手順は、両方の Legendre のシンボルを使う( gi ? pj )、そして、( −gi ? pj )、
なぜならば、 1 から m まで、そして、 1 から f. への j のための私
・なぜならば、 1 から m への私、
・ 1 から f への j のために、
・( gi ? pj ) −1 、スキップ、次が i. の評価する =
・「相補型 GQ2 鍵の集合」を返する。
・ 1 から f への j のために、
・( gi ? pj ) −1 、スキップ、次が i. の評価する =
・「相補型 GK2 鍵の集合」を返する。
・「基本の GK2 鍵の集合」を返する。
秘密の構成要素 ― 直接的なタイプの方程式のために:
【0163】
以下の計算が全ての可能性が秘密の構成要素 Qi,j. のために高く評価すると確証する xn ≡ gi2 ( mod pj ) 2 つの最も単純で最も現在のケース(すなわち t = 1 と t = 2 )の後に、より複雑なケース(すなわち t > 2 )が続く。 t = 1 (すなわち pj ≡ 3 ( mod 4 ))のために、鍵 <(pj+1)/4,pj> は、 CG(pj ) で任意の二次の残余でもの二次の平方根を提供する。これから、数が引き出された sj o であること(( pj+1 ) /4 ) k ( mod ( pj−1 ) /2 )、そしてそれは鍵 < sj ( Gi を w ≡ Gisj ( mod pj )に変えている pj> )を与える。
【0164】
Qi,j は、 w または pj−w と等しい。
t = 2 (すなわち pj ≡ 5 ( mod 8 )、鍵 <(pj+3)/8 )のために、 pj > は CG(pj) で奇数のランクの任意の要素のためにでも奇数のランクの平方根を提供する。
これから、数が引き出された sj o であること(( pj+3 ) /8 ) k ( mod ( pj −1 ) /4 )、そしてそれは鍵 <sj ( Gi を w ≡ Gisj ( mod pj )に変えている pj> )を与える。
2 が CG ( pj )の中の非二次の残余であるので、 z ≡ 2(pj−1)/4 (モード p j )が −1 の平方根である点に注意しよう。
Qi,j は、 w にまたは pj−w にまたは他に w 等しい』 o w ´ z ( mod pj )または pj−w 』。
【0165】
t > 2 による pj ≡ 2t+1 ( mod 2t+1 )のために、 <(pj−1+2t に鍵をかけること) 2t+1/ 、 pj> は奇数のランクの任意の要素でもの奇数のランクの平方根を提供する。 k 、 g と p の間の互換性テストは、 h (次に u のそれ)の値を与えた。
・ Gi がサイクル( k の値に関係なく、 u = 0 )の中にあるとき、数は確立される、 s j ≡(( pj−1+2t ) /2t+1 ) k ( mod ( pj−1 ) /2t )。
鍵 <sj 、 pj> は Gi を変わった全くの w ≡ Gisj ( mod pj )の解答に変える。配布される偶数ランクの解答が min(k にある、 t) 連続的なブランチはサイクルに関連がありました、ブランチでは、言おう。 Qi,j は、 CG(pj) で統一の 2at h 根のどれにでもよって、 w の製品と等しい。
・ Gj がブランチ( u > 0 ( u + k £ t ))の中に、適当な位置にあるとき、全ての解が Gj 、関連したブランチ、数の 2uth べき乗によるサイクルと同じブランチにあって、数につき gi. 確立する
sj ≡(( pj−1+2t ) /2t+1)k+u ( mod ( pj−1 ) /2t.
<sj に鍵をかけてください、 pj> は多くの変わったランク w に Gi の 2uth べき乗を変換する。
【0166】
CG(pj) での統一の最初の 2k+u 乗根による w の製品の集合は、 Qi,j の 2k の値から成る。数 bj が CG(pj) での統一の最初の 2t 乗根であって、 pj が 3k そのようなその t であるとき、 CG(pj) での bj の 2tu 乗べき乗が存在する ;
これは、統一の最初の 2kth 根である。数Δ i,j の値は、 Qi,j に統一の最初の 2 k 乗根を掛けることによって変えられるかもしれない。
【0167】
逆のタイプの方程式のために:
1 ≡ xn ´ gi2 ( mod pj )、それは数 sj を取り替えるのに十分であるで(( pj−1 ) /2t ) −CG(pj). で Qi,j の値を逆にすることに達する鍵 <sj ( pj> )で sj 適合する 2 つの素因数による一組の鍵の例
【数149】
D1 は、非常に最初の素数の Legendre シンボルである。
【数150】
CG(p1) で、ランクは −5 、 −11 と 17 のために変わっている。
【数151】
CG(p2) で、ランクは 3 、 −5 、 7 と 11 のために変わっている。カーマイケルの関数は、
【数152】
【0168】
逆のタイプの一般的な方程式を使用するために、より麻痺した s ≡ l(n)−((1+ l(n))/2)9 ( mod l(n) )が、秘密の指数値として使われる。
【数153】
【0169】
番号 2 、 3 、 7 、 13 と 17 は、ベース数として適当ではない。
鍵 <s,n> は、 g1 = 5 を少しの因数分解も表さない秘密の数 Q1 に変える。
本当に、両方のフィールドでは、 −5 はあるサイクルにある。
【数154】
【0170】
鍵 <s,n> は、 g2 = 11 を因数分解を示す秘密の数 Q2 に変える。
本当に、 11 が両方のフィールドに同じ位置にあるというわけではない。
【数155】
【0171】
鍵 <s,n> は、 g3 = 21 = 3 × 7 を因数分解を示す秘密の数 Q3 に変える。
【数156】
【0172】
鍵 <s,n> は、 g4 = 26 = 2 × 13 を因数分解を示す秘密の数 Q4 に変える。
【数157】
【0173】
秘密鍵がさらに、チャイニーズ剰余法パラメータと 8 つのの構成要素の両方で表されるかもしれない。
【数158】
【0174】
秘密鍵 GQ2 が等しいことを証明する秘密鍵で異なる可能な表現の多形性:
彼ら全ては、実際の GK2 秘密鍵であるモジュール n の因数分解を知っていることに達する。 GQ2 秘密鍵の表現は、エンティティを制御することの範囲内で以外エンティティを示さないことの範囲内で計算の進捗に影響を及ぼする。 GQ2 秘密鍵にとって可能である 3 つの主な表現は、ここにある。 1 )、 GQ 秘密鍵の従来の表現は、鍵 <n ( n> )をチェックしている m 秘密の数 Qi と公開を保存することにある ;GQ2 計画のために、この表現は、以下 2 と競争してある。 2 )、作業負荷に関する最適の表現は、パラメータ k 、 f 個の素因数 pj 、 m ´ f 秘密の構成要素 Qi,j とチャイニーズ剰余法の f−1 パラメータを格納することにある。 3 )、最適の中で表現は、チャイニーズ剰余法のそれが第二の表現に達するように秘密の構成要素 Qi,j と f−1 パラメータをサイズがそれが最初の表現または m ´ f に達するように、どちらの m 秘密の数 Qi でもとモジュール n を確立して、パラメータ k 、 m ベース数 gi と f 個の素因数 pj を保存する際に、そして、それから各々の使用を始める際にある秘密鍵であると言える。
【0175】
ダイナミックな真性性メカニズムのまたはディジタル署名のセキュリティがモジュールの因数分解を知ることに等しいので、 GQ2 計画で、とても同じモジュールを使用している 2 つのエンティティを識別することが可能ではない。
【0176】
通常、各々の証明エンティティは、それ自身の GQ2 モジュールを持つ。しかし、 4 つの素因数による GQ2 モジュールは、指定されるかもしれない、どちらがもう 1 までエンティティと他 2 に知られているか 2 つ。ダイナミックな真性性−ダイナミックな真性性メカニズムはコントローラ(可能な関連するメッセージ M のコントローラがそれが実際にデモンストレータと任意にそれを扱っていることを確かめるように真性性と同様にデモンストレータと呼ばれているもう一つのエンティティの真性性)と呼ばれているエンティティに証明することのためであるそれ自体、そして、デモンストレータ、同じメッセージ M. について話すことは関連するメッセージ M であるオプションである、そしてそれはそれが空かもしれないことを意味する。
【0177】
ダイナミックな真性性メカニズムは、 4 つの行為のシーケンスである:
約束行為、チャレンジ行為、応答行為とチェックは、行いる。
実演者は、約束と応答行為をする。コントローラはチャレンジを演奏する、そして、チェックすることは行いる。デモンストレータの範囲内で、最も機密パラメータと実演者(すなわちコミットメントと応答の成果)の関数を孤立させるために、証人は孤立するかもしれない。証人はパラメータ k と GQ2 秘密鍵を持つ。そして、 3 つの表現のうちの 1 つに従うモジュール n の因数分解がすなわち上で言及される: f 個の素因数と m が基礎を形成する・は、数える、・ m ´ f 秘密の構成要素、 f 個の素因数、そして、 f−1 チャイニーズ剰余法、秘密の m が数える・とモジュール n. のパラメータ‖証人は、特定の具体化(たとえばチップカードが一緒にデモンストレータを作っている PC または特に PC の範囲内で保護されている・プログラムにさえ接続した・または特にチップカードの範囲内で保護されている・プログラムさえ)と一致するかもしれない。
【0178】
それによって孤立した証人は、署名しているエンティティの範囲内でこの後定義される証人と類似している。メカニズムの各々の遂行に、証人は一つ以上のコミットメント R を生産する、それから、多くの応答として、さらに同じだけへの D は d にチャレンジする。各々のセット{ R 、 d 、 D }は、 GQ2 トリプレットを作る。それに加えて証人を含んで、必要に応じて、デモンストレータもハッシュしている関数とメッセージ M を持つ。たとえば、コントローラは公開鍵のディレクトリからまたは公開鍵証明書からさえモジュール n を持つ ; 必要ならば、それも同じものを関数とメッセージ M をハッシュするようにする』。 GQ2 公開されているパラメータ、すなわち数 k 、 m と gm への g1 は、デモンストレータによってコントローラに提供されるかもしれない。
【0179】
コントローラは、コミットメント R を再建することができる』、コントローラは任意のチャレンジ d からでも、そして、任意の応答 D. パラメータ k でもと m から密告する。別途指示しなかった限り、 g1 から gm への m ベース数は最初の m 素数である。各々のチャレンジ d は、基本のチャレンジが d1 から dm. までリファレンスをつけた m を含まなければならない:
ベース数につき人。 d1 から dm. への各々の基本のチャレンジは、 0 から 2k−1−1 ( n/2 から n−1 への数が、使われません)への数である。
一般的に、各々のチャレンジは、 m 時間 k−1 ビット(そして、 m 時間 k ビットでない)でコード化される。たとえば、 k = 5 と m = 4 で数、 5 、 11 、 21 と 26 の基礎を形成する、各々のチャレンジは 4 人のカルテットの上で送られる 16 のビットを含む。
【0180】
そのとき、可能であるもの‖( k−1) ´ m チャレンジは、等しくありえる、数( k−1 ) ´ m は、各々の GQ2 トリプレットによって持ってこられるセキュリティを決定する:
【0181】
その通り、定義によるモジュール n の因数分解を知らない詐称者は、 2(k−1) ´ m から成功の 1 つのチャンスを持つ。 When(k−1) ´ m は 15 から 20 まである。そして、トリプレットが合理的に十分であるものがダイナミックな真性性を確実にする。セキュリティの任意のレベルでも成し遂げるために、トリプレットは平行に生産されるかもしれない ; 彼らはまた、順番に生産されるかもしれない、すなわち、メカニズムの遂行を繰り返する。 1) コミットメントの行為は、以下の演算から成る。証人がチャイニーズ剰余法を使わないとき、それはパラメータ k ( Q1 から Qm とモジュール n への m 秘密の数)を持つ ; それは、ランダムに、そして、私的に一つ以上の乱数 r ( 0 の < r < n )を選びます ;
【0182】
それから、彼らを連続して二乗値にすることによって、 k は時間を計る( mod n )、それは各々の乱数 r を変えるコミットメント R.
ここの R ≡ rn ( mod n )は、チャイニーズ剰余法のない鍵の前の集合と一緒の例である。
【0183】
証人がチャイニーズ剰余法を使う、それが持つ
【数159】
【0184】
パラメータ k 、 p1 から pf への最初の f 個の素因数、チャイニーズ剰余法の f−l パラメータ、そして、 m ´ f 秘密の構成要素 Qi,j;
それは、ランダムに、そして、私的に f 乱数の一つ以上のコレクションを選びます:あらゆるコレクションは、素因数パイ( 0 の < <ri パイ)につき、 1 つの乱数 ri を含む ; それから、それを連続して二乗することによって、 k は時間を計る( mod パイ)、それは各々の乱数 ri を変えるコミットメント構成要素 Ri.f コミットメント構成要素の各々のコレクションのための
【数160】
【0185】
証人はチャイニーズ剰余法テクニックにコミットメントを確立する。
そこで、あるのと、同じくらい多くのコミットメントが乱数コレクション、鍵の前の集合と一緒の、そして、チャイニーズ剰余法による例は、ここにある。
【数161】
【0186】
双方ともの中の
【数162】
【0187】
が下見する、デモンストレータがコントローラ、各々のコミットメント R のどちらの全部または一部でもまたは他に、各々のコミットメント R とメッセージ M. をハッシュすることによって得られるハッシュしているコード H に送るチャイニーズ剰余法( R1,R2 )
2) チャレンジの行為は一つ以上のチャレンジ d をランダムに選ぶことにある。そして、各々 m 基本のチャレンジ d1 、 d2 、… dm. から成る ;
各々の基本のチャレンジジ、 0 から n/2−1 への数の人は、そうである。
ここの d =d1 d2 … dm. は、両方の例(すなわち k = 5 と m = 4 に賛成の)のためのチャレンジである。
【数163】
【0188】
コントローラが各々送るのは、デモンストレータに d にチャレンジする。
3) 応答の行為は、以下の演算を含む。
証人がチャイニーズ剰余法を使わないとき、それはパラメータ k ( Q1 から Qm とモジュール n への m 秘密の数)を持つ ;
それは、基本のチャレンジによってコミットメント行為と秘密の数から各々の乱数 r を用いて一つ以上の応答 D を計算する。
ここの
【数164】
がチャイニーズ剰余法のない例の継続であることをする。
【0189】
証人がチャイニーズ剰余法を使う、それが持つ
【数165】
【0190】
パラメータ k 、 p1 から pf への f 個の素因数、 f−1 チャイニーズ剰余法パラメータ、そして、 m ´ f 秘密の構成要素 Qi,j;
それは、コミットメント行為から乱数の各々のコレクションを用いて f 応答構成要素の一つ以上のコレクションを計算する:
【数166】
応答構成要素の各々のコレクションは、素因数につき 1 つの構成要素を含む。
【0191】
応答構成要素の各々のコレクションのために ri ´ Q1,id1 ´ Q2,id2 ´… Qm ,idm ( mod パイ)をする、証人はチャイニーズ剰余法テクニックによって応答を確立する。
そこで、チャレンジであるのと、同じくらい多くの応答が、ある。
D =Chinese remainders(D1 、 D2 、… Df )、チャイニーズ剰余法のない例の継続は、ここにある。
【数167】
両方のケースには、デモンストレータは各々の応答 D をコントローラに送る。
【0192】
4) チェックすることの行為は、各々のトリプレット{ R 、 d 、 D }がゼロ以外の値のために以下のタイプの方程式を満たすことを確認することにある。
【数168】
または各々のコミットメントをはやりに元に戻すこと:
彼らの誰も、ゼロでないにちがいある。
【数169】
任意に、コントローラはそれからハッシュしているコード H を計算する』各々の回復するコミットメント R をハッシュすることによって』、そして、メッセージ M 』。ダイナミックな真性性が、成功しているコントローラがこのようにそれがコミットメント行為(すなわち各々のコミットメント R の全部若しくは一部またはハッシュしているコード H. )終了後、受けたものを取り戻すとき、たとえば、基本の演算のシーケンスは、応答 D をコミットメント R に変える』。シーケンスは、ベース数によって k−1 分割または掛け算(モード n )によって切り離される k 二乗値( mod n )から成る。
【0193】
分割または掛け算(二乗値と i+1−th が二乗値にする、 i−th が基本のチャレンジ d1 の噛んだ i−th の間で、それは実行される)が示す i−th のために g1 が使われなければならないならば、基本のチャレンジ d2 の i−th なビットが g2 が使われなければならないかどうか示すこと、 ... 噛まれる i−th 次第の基本の dm. 、 gm が使われなければならないかどうか示する。
以上がチャイニーズ剰余法のない例である。
【数170】
は、四角のモジュロnをとる:
【数171】
が 5 つの時間 26 = 130 (すなわち ’82 )までに、増やす
【0194】
四角のモジュロnをとる:
【数172】
07 は、 21 を掛ける。
【数173】
すなわち ’15 』モジュロn:
【数174】
四角のモジュロnをとる:
【数175】
11 の 5 回時間 21 = 1155
【数176】
(すなわち『 483 』のモジュロn)までに、増やす:
【数177】
は、 11 の 5 回時間 26 = 1430 (すなわち『 596 』のモジュロn)までに、
【数178】
四角のモジュロnをとる:
【数179】
3A 、コミットメント r は、取り戻される。
真性性は、成功している。
チャイニーズ剰余法による例の終わりは、ここにある。
【0195】
【数180】
は、四角のモジュロnをとる:
【数181】
5 つの時間 26 = 130 (すなわち ’82 )までに増える
【数182】
四角のモジュロnをとる:
【0196】
【数183】
21 を掛ける。すなわち ’15’ モジュロn:
【数184】
四角のモジュロnをとる:
【数185】
【0197】
11 の 5 回時間 21 = 1155 (すなわち『 483 』のモジュロn)までに、増やす:
【数186】
四角のモジュロnをとる:
【数187】
11 の 5 回時間 26 = 1430 (すなわち『 596 』のモジュロn)までに、増やする:
【数188】
【0198】
四角のモジュロnをとる:
【数189】
コミットメント r は、正しく取り戻される。真性性は、成功している。
ディジタル署名しているメカニズムが署名しているエンティティと呼ばれているエンティティに生じるのを可能にするディジタル署名はメッセージに署名した、そして、確かめるコントローラと呼ばれているエンティティはメッセージに署名した。メッセージ M は、任意のバイナリのシーケンスである:それは、空かもしれない。
メッセージ M は署名アペンディクスをそれに加えることによって署名される。そして、それは一つ以上のコミットメントやチャレンジ(対応する応答と同様に)から成る。たとえば、コントローラは公開鍵のディレクトリからまたは公開鍵証明書からさえモジュール n を持つ ; それも、同じものを関数をハッシュするようにする。彼らを署名アペンディクスに入れることによる例のために、 GQ2 公開されているパラメータ、すなわち数 k 、 m と gm への g1 はデモンストレータによってコントローラに与えられるかもしれない。数 k と m は、コントローラに知らせます。
【0199】
d1 から dm. への各々の基本のチャレンジは、一方、 0 から 2k−1−1 ( n−1 への数 n/2 が、使われません)への数である。各々のチャレンジ d は、他方多くであるように、ベース数があって、基本のチャレンジが d1 から dm. までリファレンスをつけた m を含まなければならない。
さらに、別途指示しなかった限り、 m ベース数は g1 から gm まで最初の m 素数である。で( k−1) ´ m が 15 から 20 まであって、平行に生産される 4 匹の GQ2 トリプレットと署名することが可能である ;
で( k−1 )´ m が 60 以上であって、 1 匹の GQ2 トリプレットだけと署名することが可能である。たとえば、 k = 9 と m = 8 で、 1 匹の GQ2 トリプレットだけは、十分である ;
【0200】
各々のチャレンジは 8 バイトを含む、そして、ベース数は 2,3,5,7,11,13, 17 と 19 である。
署名している演算は、 3 つの行為のシーケンスである:
コミットメント行為、チャレンジ行為と応答は、行いる。
各々の行為は、各々成り立っている一つ以上の GQ2 トリプレットを生産する:
【0201】
コミットメント r ( 1 0 )(基本のチャレンジが d1 によってリファレンスをつけた m からなるチャレンジ d ) d2 、 ...dm. 、そして、応答 D ( 1 0 )。
すなわち、署名しているエンティティはハッシュしている関数、パラメータ k と GQ2 秘密鍵を持つ。そして、 3 つの表現のうちの 1 つに従うモジュール n の因数分解が上で言及される。
【0202】
署名しているエンティティの範囲内で、コミットメントを実行する証人を孤立させることが可能である、そして、応答はデモンストレータの最も機密関数とパラメータを孤立させるために行いる。
コミットメントと応答を計算するために、証人はパラメータ k と GQ2 秘密鍵(すなわち 3 つの表現が上で言及した人に従うモジュール n の因数分解)を持つ。
【0203】
それによって孤立した証人はデモンストレータの範囲内で定義される証人と類似している。それは特定の具体化(例、チップカードが一緒に署名しているエンティティをつくっている PC に接続した・または特に PC の範囲内で保護されている・プログラムさえのためであるか平らな)と一致するかもしれない特にチップカードの範囲内で保護されている・プログラム。
【0204】
1 )コミットメントの行為は、以下の演算から成る。
証人が Qm とモジュール n に m 秘密の数 Q1 を持つとき、それはランダムに、そして、私的に一つ以上の乱数 r ( 0 の < r < n )を選びます ;
それから、 k 連続した squarings (モード n )によって、それは各々の乱数 r をコミットメント R に変える。
証人が pf への p1 と m ´ f 個の秘密の構成要素 Q1,j ( f 個の乱数のランダムにそれと私的に選択一つ以上コレクション)から f 個の素因数を持つ
【数190】
各々のコレクションは、素因数パイ( 0 の < <ri p1 )につき、乱数 ri を含む ; それから、 k 連続した squarings ( mod パイ)、それは各々の乱数 ri を証人がチャイニーズ剰余法テクニックにコミットメントを確立するコミットメント構成要素 R i ( f 個のコミットメント構成要素の各々のコレクションのための
【0205】
【数191】
に変える。
そこで、乱数コレクションであるのと、同じくらい多くのコミットメントが、ある。
【数192】
【0206】
2)チャレンジの行為は、署名しているエンティティが各々の基本の m を含むことはチャレンジする一つ以上のチャレンジを作るハッシュしているコードを得るために署名されるために全てのコミットメント r とメッセージ m をハッシュすることにある ;
各々の基本のチャレンジは、 0 から n/2−1 への数である ;
たとえば、 k = 9 と m = 8 で、各々のチャレンジは、 8 バイトを含む。
そこで、コミットメントであるのと、同じくらい多くのチャレンジが、ある。
d =d1 ( d2 ) ... dm. ( Hash(M ( R )結果 3) から引き出される))
【0207】
3)応答の行為は、以下の演算を含む。
証人が m 秘密の数 Q1 を持つとき、 Qm とモジュール n にとって、それは基本のチャレンジによってコミットメント行為と秘密の数の各々の乱数 r を用いて、一つ以上の応答 D を計算する。
【0208】
【数193】
証人が p1 から pf と m ´ f 個の主要な構成要素 Qi,j まで f 個の素因数を持つ、それがコミットメントから乱数の各々のコレクションを使うに際して f 個の応答構成要素の一つ以上のコレクションが行うと思う
【数194】
応答構成要素の各々のコレクションは応答構成要素の各々のコレクションのための素因数× o Q1,id1 ´ Q2,id2 ´… Qm,idm ( mod パイ)ダイ o ri ´クシー( mod パイ)につき、 1 つの構成要素を含む、証人はチャイニーズ剰余法テクニックによって応答を確立する。
【0209】
そこで、チャレンジであるのと、同じくらい多くの応答が、ある。
署名しているエンティティが署名アペンディクスを加えて、メッセージ M に署名する D =Chinese 余り( D1 ( D2 ) ... Df )は、以下を含む:
・どちらか各々の GQ2 トリプレット(すなわち各々のコミットメント R 、各々のチャレンジ d と各々の応答 D )
・または各々のコミットメント R と各々の対応する応答 D 、
・または各々のチャレンジ d と各々の対応する応答 D.
確認演算のランニングは、署名アペンディクスの内容に依存する。
3 つのケースは、識別される。
【0210】
付録は、そうしなければならない一つ以上のトリプレット(作動が年代順配列が無関心である 2 つの独立したプロセスを含むことを確認すること)を成る。
【0211】
コントローラは、署名されたメッセージもしもともしもだけを扱いると、両方の以下の条件が納得する。
第1に、各々のトリプレットは、整合的でなければならなく(以下のタイプの適当な関係は、確かめられなければならない)て許容できなければならない(比較は、ゼロ以外の値の上でされなければならない)。
【数195】
応答 D は、基本の演算のシーケンスによって変わる:
k 二乗値( mod n )は、ベース数によって k−l 掛け算または分割演算( mod n )によって分かれました。
i−th な二乗値と i+ 第 1 の二乗値の間で実行される、基本のチャレンジ d1 の i−t h なビットが示す i−th な掛け算または分割のためにそれが g1 を使うのに必要であるかどうかに関係なく、基本のチャレンジ d2 の i−th なビットがそれが基本のチャレンジの i−th なビットに、 g2 、 ... を使い果たすのに必要かどうか示すこと dm. 、それがグラムを使うのに必要かどうか示する
【0212】
それは、このように署名アペンディクスにおいて各々のコミットメント R プレゼントを取り戻すのに必要である。
さらに、トリプレットまたはトリプレットは、メッセージ M にリンクされなければならない。
全てのコミットメント R とメッセージ M をハッシュすることによって、ハッシュしているコードは、各々のチャレンジ d は回復されてどちらでなければならないかについて得られる。
d =d1 d2 … dm (結果 Hash(M ( R ) ) から引き出されるそれらと同一の)。
【0213】
付録には難問がないならば、チェックしている演算は一つ以上のチャレンジ d の還元から始める』全てのコミットメント R とメッセージ M. をハッシュすることによって
d =d’1 d’2 … d’m (結果 Hash(M ( R ) ) から引き出される)。
それから、各々のトリプレットが整合的(以下のタイプの適当な関係は、確かめられる)で許容できる(比較は、ゼロ以外の値の上でされる)場合に限り、コントローラは署名されたメッセージを扱う。
【0214】
【数196】
そうしなければならない付録が、コミットメント(一つ以上のコミットメント R の還元によるチェックしている作動スタート)から成りません』以下の 2 つの公式(すなわち、適切であるもの)のうちの 1 つによって。再確立されたコミットメントは、ゼロであってはならない。
【0215】
【数197】
コントローラが、全てのコミットメント R をハッシュしなければならない』各々のチャレンジ d を再構成するためにメッセージ M を、そして。 d =d1 d2 ... dm. (結果ハッシュ( M ( R )』)から抜き取られるそれらと同一の)。各々の再構成されたチャレンジが付録において対応するチャレンジと同一の場合に限り、コントローラは署名されたメッセージを扱う。
Claims (18)
- あるコントローラ・エンティティに対して、
・ あるエンティティの真性性、および/または、
・ 該エンティティと関連するメッセージ M の完全性
を証明するようにされている方法であって、以下のパラメータ:
・ 秘密の値 Q1 、 Q2 、 ... 、 Qm と公開値 G1 、 G2 、 ... 、 Gm (mは 1 以上)の m 個の組
・ f 個の素因数 p1 、 p2 、 ... pf の積で構成される公開のモジュラス n ( 2 以上の f )、
の全部若しくは一部またはこれらのパラメータからの算出値を用い、
前記モジュラスと前記秘密値と公開値は次のタイプの関係があり、
前記m個の公開値 Gi は、m個の区別できるベース数 g1 、 g2 、… gm の、 f 個の素因数 p1 、 p2 、… pf より小さい二乗値g i 2 であり;
前記 p1 、 p2 、… pf の素因数、および/または、m個のベース数 g1 、 g2 、… gm は以下の条件が満たされるように生成される方法。:
[第1の条件]
各方程式
[第2の条件]
Gi(Qi v mod n である場合、 Qi を二乗してモジュロ n を k−1 回とったm個の数 qi のうち、これらのいずれかが± gi ではないこと(つまり、トリビアルではないこと)、
Gi.Qi v ( 1 mod n である場合、 Qi のモジュロnを二乗したものの逆モジュロ n を k−1 回とって得られるm個の数 qi のうち、これらのいずれかが± gi ではないこと(つまり、トリビアルではないこと);、
[第3の条件]
2m個の方程式
前記方法は、 f 個の素因数 pi を持っている証人と呼ばれているエンティティ、および/または、ベース gi のm個の素因数、および/または、前記素因数のチャイニーズ・剰余法のパラメータ、および/または、公開モジュラス n 、および/または、m個の秘密値 Q i 、および/または、前記秘密値 Qi と公開の指数値vとの f.m 個の構成要素 Qi,j ( Qi,j ( Qi mod pj )を以下のステップによって実現する。
・ 前記証人が、モジュロ n の整数環において、コミットメント R を計算し ;
それぞれのコミットメントは、
あるいは、
ことからなるステップ、
・証人は一つ以上のチャレンジ d を受け、それぞれのチャレンジdはm個の整数 di (以下「要素チャレンジ」と呼ぶ)からなり ; 各々のチャレンジ d に基づいて、前記証人は
- コントローラとして知られているエンティティについてのデモンストレータとして知られているエンティティの真性性を証明するようにできている請求項 1 に記載の方法であって、
前記デモンストレータエンティティとコントローラエンティティが以下のステップを実行する方法:
[ステップ 1 (コミットメント R の行為)]
・ 各々の呼び出しで、証人は請求項 1 によって指定されるプロセスを適用することによって各々のコミットメント R を計算し、
・ デモンストレータは、各々のコミットメント R のコントローラ全部または一部を送り、
[ステップ 2 (チャレンジ d の行為)]
・ 各々のコミットメント R の全部または一部を受けた後にチャレンジ d を生成し、コントローラは数がコミットメント R の数と等しいチャレンジ d をデモンストレータに送り、
[ステップ 3 (応答 D の行為)]
・ 前記証人は、請求項 1 によって指定されるプロセスを適用することによってチャレンジ d から応答 D を計算し、
[ステップ 4 (チェックする行為)]
・ 前記デモンストレータは、前記コントローラへ各々の応答 D を送り、
[前記デモンストレータがコミットメント R の一部だけを送信するとき]
前記デモンストレータがコミットメント R の一部だけを送信したなら、前記コントローラはm個の公開値 G1 、 G2 、 ... 、 Gm を有していて、それぞれのチャレンジdとそれぞれの応答 D から、再構成されたコミットメント R ´を計算し、該再構成されたコミットメント R ´は
[前記デモンストレータがコミットメント R の全部を送信するとき]
前記デモンストレータがコミットメント R の全部を送信したなら、前記コントローラはm個の公開値 G1 、 G2 、 ... 、 Gm を有していて、それぞれのコミットメント R は
- デモンストレータエンティティと呼ばれるエンティティに関連したメッセージ M の完全性について、コントローラエンティティとして知られるエンティティに証明を提供するようにされた請求項 1 に記載の方法であって、
前記デモンストレータエンティティは前記証人を含み、
前記デモンストレータエンティティとコントローラエンティティは以下のステップを実行する方法:
[ステップ 1 (コミットメント R の行為)]
・ 各々の呼び出しで、証人は請求項 1 によって指定されるプロセスを適用することによって各々のコミットメント R を計算し、
・ デモンストレータは、各々のコミットメント R のコントローラ全部または一部を送り、
[ステップ 2 (チャレンジ d の行為)]
− 前記デモンストレータは、変数をメッセージ M とそれぞれのコミットメント R の全てまたは一部とするハッシュ関数hを適用し、
− 前記デモンストレータはトークン T を前記コントローラに送り、
− 前記コントローラは、前記トークン T を受け付けると、コミットメント R と同じ数のチャレンジdを生成して該チャレンジdを前記デモンストレータに送り、
[ステップ 3 (応答 D の行為)]
− 前記証人は、請求項 1 によって指定されるプロセスを適用することによってチャレンジ d から応答 D を計算し、
[ステップ 4 (チェックする行為)]
・ 前記デモンストレータは、前記コントローラへ各々の応答 D を送り、
・ 前記デモンストレータがコミットメント R の一部だけを送信したなら、前記コントローラはm個の公開値 G1 、 G2 、 ... 、 Gm を有していて、それぞれのチャレンジdとそれぞれの応答 D から、再構成されたコミットメント R ´を計算し、該再構成されたコミットメント R ´は
・ そして前記コントローラは、前記メッセージ M とそれぞれの再構成されたコミットメント R ´のすべてまたは一部とを変数とするハッシュ関数hを適用してトークン T ´を再構成し、
・ そして前記コントローラは前記トークン T ´が伝達されたトークン T と同一であることを確認する。 - 署名エンティティとして知られたエンティティによってメッセージ M のディジタル署名を生成するようにするようにされた請求項 1 に記載の方法であって、
[署名動作]
前記署名エンティティは、
・ 前記メッセージ M 、
・ 前記チャレンジdおよび/またはコミットメント R 、
・ 前記応答 D 、
を備えた署名されたメッセージを得るために署名動作を行ない、
前記署名エンティティは次のステップを行なって署名動作を行なう方法:
[ステップ 1 (コミットメント R の行為)]
・ 各々の呼び出しで、前記証人は請求項 1 によって指定されるプロセスを適用することによって各々のコミットメント R を計算し、
[ステップ 2 (チャレンジ d の行為)]
・ 前記署名エンティティは、変数をメッセージ M とそれぞれのコミットメント R のとするハッシュ関数hを適用してバイナリトレインを得て、
・ 該バイナリトレインから前記署名エンティティは、コミットメント R と同じ数のチャレンジdを引き出し、
[ステップ 3 (応答 D の行為)]
前記証人は、請求項 1 によって指定されるプロセスを適用することによってチャレンジ d から応答 D を計算する。 - コントローラと呼ばれているエンティティによって署名されたメッセージをチェックすることによってメッセージ M の真性性を証明するようにされている請求項4に記載の方法であって、
[チェック動作]
前記コントローラエンティティは前記署名されたメッセージを有して以下のように進行するチェック動作を行なう方法:
[前記コントローラがコミットメント R 、チャレンジ d 、応答 D を持つケース]
コントローラがコミットメント R 、チャレンジ d 、応答 D を持つ場合、
前記コントローラは、前記コミットメント R 、前記チャレンジd、前記応答 D が
前記コントローラは前記メッセージ M 、前記チャレンジd、前記コミットメント R が前記ハッシュ関数
[前記コントローラはチャレンジdと応答 D を有する場合]
前記コントローラはチャレンジdと応答 D を有する場合、
前記コントローラは、それぞれのチャレンジdと応答 D に基づいて、
前記コントローラは前記メッセージ M と前記チャレンジdが前記ハッシュ関数
[前記コントローラはコミットメント R と応答 D を有する場合]
前記コントローラはコミットメント R と応答 D を有する場合、
前記コントローラは前記ハッシュ関数を適用してd´を再構成し、
- コントローラ・サーバーに対して、
・ エンティティの真性性、および/または
・ 該エンティティと関連するメッセージ M の完全性、
を証明するようにされたシステムであって、
・ 秘密の値 Q1 、 Q2 、 ... 、 Qm と公開値 G1 、 G2 、 ... 、 Gm (mは 1 以上)の m 個の組、
・ f 個の素因数 p1 、 p2 、 ... pf の積で構成される公開のモジュラス n (fは 2 以上)、
の全てあるいは部分以下のパラメータやそれらパラメータからの算出値を用いており、
前記モジュラスと前記秘密値と公開値は以下のタイプの関係があり、:
前記m個の公開の値 Gi は、f個の素因数 p1, p2, … , pf より小さいm個の区別できるベース数 g1,g2, … ,gm による gi 2 となる2乗値であり、
前記素因数 p1, p2, … ,pf および/または前記m個のベース数 g1,g2, … , gm は以下の条件が満たされるように生成されているシステム:
[第1の条件]
方程式
[第2の条件]
Gi(Qi v mod n である場合、 Qi を二乗してモジュロ n を k−1 回とったm個の数 qi のうち、これらのいずれかが± gi ではないこと(つまり、トリビアルではないこと)、
Gi.Qi v ( 1 mod n である場合、 Qi のモジュロnを二乗したものの逆モジュロ n を k−1 回とったm個の数 qi のうち、これらのいずれかが± gi ではないこと(つまり、トリビアルではないこと)、
[第3の条件]
少なくとも2m個の方程式
前記システムは、例えばマイクロプロセッサベースのバンクカードの形態をとるようなノマドオブジェクト証人装置であって、
その証人装置は
・ 前記f個の素数 pi、 および/または、前記m個のベース gi 、および/または、前記素因数のチャイニーズ剰余のパラメータ、および/または、秘密の値 Qi および公開の指数値vの f.m 個の成分 Qi,j ( Qi,j ( Qi mod pj )を含むメモリゾーン、
・ 前記証人装置の乱数値生成手段と呼ぶ乱数値生成手段;
・前記証人装置のコミットメント R の計算手段と呼ぶ計算手段であって、モジュロnの整数環においてコミットメント R の計算を行い、各コミットメント R は、
・rがrが0<r<nである前記乱数値生成手段による乱数値として、
・r i が、0<r i <p i で、それぞれ、前記乱数生成手段によって生成され、各r I はチャイニーズ剰余法を適用することによって得られるランダム値の集合 [r1,r2, … ,rf] に属する、素因数 pi に関連した乱数値であるとして、
によって計算され、
前記証人装置は、また、
・ 前記証人で装置のチャレンジdを受け付け、それぞれのチャレンジdがm個の整数 d i (以下、要素チャレンジとよぶ)からなる 1 以上のチャレンジdを受け付ける受け付け手段、
・ それぞれのチャレンジdに基づいて、前記証人装置の応答 D を計算し、
・方程式
・方程式
のいずれかにより応答 D を計算する計算手段、
・ 1以上のコミットメント R と1以上の応答 D を伝送する伝送手段、
を備えている(前記手法はチャレンジd、コミットメント R と同じくらいの数の応答 D があって、 R, d、 D の数の群は{ R 、 d 、 D }で参照される3つの数字の組で表される)。 - 請求項6に記載のシステムであって、デモンストレータと呼ばれているエンティティとコントローラと呼ばれているエンティティの真性性を証明するようにできていて、前記システムは、
・ 前記デモンストレータエンティテイに関連し、前記相互接続装置によって前記証人装置に相互接続されて、例えばマイクロプロセッサベースのバンクカード中のマイクロプロセッサの形態のような、ノマドオブジェクトにおける微小論理回路の形態を特にとることができるデモンストレータ装置、
・ 前記コントローラエンティティと関連するコントローラ装置であって、前記コントローラ装置は特に端末であるか遠隔サーバーの形になっていて、特にデータ処理通信ネットワークを通って、それ自身、電気的、電磁気的、光学的、あるいは音響によるデモンストレータ装置への接続のために、接続手段を含んでいる前記コントローラ装置 ;
を備えており、以下のステップの実行を可能にしている前記システム:
[ステップ 1 (コミットメント R の行為)]:
各々の呼び出しで、請求項 1 によって指定されるプロセスを適用することによって証人装置のコミットメント R の計算手段が各コミットメント R を計算し、
該証人手段は、コミットメント R の全部または一部を前記デモンストレータ装置に送信する、前記証人装置の伝送装置と呼ばれる伝送装置を有し、
前記デモンストレータ装置は、また、コミットメント R の全てはまた一部を前記コントローラ装置に前記相互接続手段を通じて送信する、前記デモンストレータ装置の伝送装置と呼ばれる伝送装置を有し、
[ステップ2(チャレンジdの行為)]:
前記コントローラ装置は、前記コミットメント R の全部または一部を受け取った後に、それぞれの数がコミットメント R と同じチャレンジ d を生成する、チャレンジ生成手段を含み、
前記コントローラ装置は、また、接続手段を通じて前記デモンストレータへチャレンジdを伝送する、前記コントローラの伝送手段と呼ぶ伝送手段を含み、
[ステップ3(応答 D の行為)]:
前記証人装置の前記チャレンジdの受け取り手段は、前記相互接続装置を通して前記デモンストレータ装置から来るそれそれのチャレンジdを受け取り、
前記証人装置の前記応答 D の前記計算手段は、請求項1に記載のプロセスを適用することにより、前記チャレンジdから前記応答 D を計算し、
[ステップ4(チェックの行為)]:
前記デモンストレータの前記伝送手段はそれぞれの応答 D を前記コントローラへ伝送し、前記コントローラは、また、
・ 前記コントローラ装置の計算手段と呼ばれる計算手段、
・ 前記コントローラ装置の比較手段とよばれる比較手段、
からなり、
[前記デモンストレータが各コミットメント R の一部を伝送した場合]
前記デモンストレータが各コミットメント R の一部を伝送した場合には、
m個の公開値 G1 、 G2 、 ... 、 Gm を有する前記コントローラ装置の前記計算手段は、各チャレンジ R と各応答 D から再構成されたコミットメント R ´を計算し、その再構成されたコミットメント R ´は
[前記デモンストレータが各コミットメント R の全部を伝送した場合]
前記デモンストレータが各コミットメント R の全部を伝送した場合には、
m個の公開値 G1 、 G2 、 ... 、 Gm を有する前記コントローラ装置の前記計算手段と前記比較手段は、各チャレンジ R が
- コントローラとして知られたあるエンティティに、デモンストレータとして知られたエンティティに関連したメッセージ M についての完全性の証明を与えるようにされた請求項6に記載のシステムであって、
・ 前記デモンストレータエンティテイに関連し、前記相互接続装置によって前記証人装置に相互接続されて、例えばマイクロプロセッサベースのバンクカード中のマイクロプロセッサの形態のような、ノマドオブジェクトにおける微小論理回路の形態を特にとることができるデモンストレータ装置、
・ 前記コントローラエンティティと関連するコントローラ装置であって、前記コントローラ装置は、特に端末であるか遠隔サーバーの形になっていて、前記コントローラ装置を備えており、前記コントローラは、特にデモンストレータ装置へのデータ処理通信ネットワークを通って、それ自身、電気的、電磁気的、光学的、あるいは音響による接続のために、接続手段を含んでいて、以下のステップの実行を可能にしている前記システム:
[ステップ 1 (コミットメント R の行為)]:
各々の呼び出しで、請求項 1 によって指定されるプロセスを適用することによって証人装置のコミットメント R の計算手段が各コミットメント R を計算し、
該証人手段は、コミットメント R の全部または一部を前記デモンストレータ装置に送信する、前記証人装置の伝送装置と呼ばれる伝送装置を有し、
[ステップ2(チャレンジdの行為)]:
前記デモンストレータ装置は、少なくともあるトークン T の計算に、変数を前記メッセージおよび各コミットメント R の全部または一部とするハッシュ関数hを適用する、前記デモンストレータの計算手段と呼ばれる計算手段からなり、
前記デモンストレータ装置は、また、各トークン T を前記コントローラ装置に前記接続手段を通じて送信する、前記デモンストレータ装置の伝送装置と呼ばれる伝送装置を有し、
前記コントローラ装置は、また、前記トークンを受け取った後で、コミットメント R の数と同じ数の前記チャレンジdを生成するチャレンジ生成手段を有し、
前記コントローラ装置は、また、接続手段を通じて前記デモンストレータへチャレンジdを伝送する、前記コントローラの伝送手段と呼ぶ伝送手段を有し、
[ステップ3(応答 D の行為)]:
前記証人装置の前記チャレンジdの受け取り手段は、前記相互接続装置を通して前記デモンストレータ装置から来るそれそれのチャレンジdを受け取り、
前記証人装置の前記応答 D の前記計算手段は、請求項1に記載のプロセスを適用することにより、前記チャレンジdから前記応答 D を計算し、
[ステップ4(チェックの行為)]:
前記デモンストレータの前記伝送手段はそれぞれの応答 D を前記コントローラへ伝送し、
前記コントローラは、また、前記コントローラ装置の計算手段と呼ばれる計算計算手段を有し、この計算手段は、m個の公開値 G1 、 G2 、 ... 、 Gm を有するとともに、第1に、各チャレンジdと各応答 D から再構成されたコミットメント R ´を計算し、この再構成されたコミットメント R ´は
第2に、前記メッセージ M および各再構成されたコミットメント R ´の全てまたは一部を変数として有する前記ハッシュ関数hを適用することによりトークン T ´を計算し、
前記コントローラ装置は、また、受け付けられたトークン T について前記トークン T ´を計算する、前記コントローラ装置の比較手段として知られている比較手段を有する。 - 署名エンティティと呼ばれるエンティティによって、署名されたメッセージとして知られているメッセージ M のディジタル署名を生成するようにするようにされた請求項6に記載のシステムであって、前記署名されたメッセージは、
・ 前記メッセージ M 、
・ 前記チャレンジ d 、および/または、前記コミットメント R 、
・ 前記応答 D;
を含んでいて、
[署名動作]
前記システムは、前記署名エンティティに関連している署名装置からなるようなものであり、前記署名装置は、前記証人装置に、相互接続手段で相互接続されていて、例えばマイクロプロセッサベースのバンクカード中のマイクロプロセッサの形態のような、ノマドオブジェクトにおける微小論理回路の形態を特にとることができ、
以下のステップの実行を可能にする前記システム:
[ステップ 1 (コミットメント R の行為)]
各々の呼び出しで、請求項 1 によって指定されるプロセスを適用することによって証人装置のコミットメント R の計算手段が各コミットメント R を計算し、
該証人手段は、コミットメント R の全部または一部を前記デモンストレータ装置に送信する、前記証人装置の伝送装置と呼ばれる伝送装置を有し、
[ステップ2(チャレンジdの行為)]
前記署名装置は、変数を前記メッセージおよび各コミットメント R の全部または一部とするハッシュ関数hを適用し、あるバイナリトレインを計算し、このバイナリトレインからコミットメント R と同じ数のチャレンジdを導出する前記署名装置の計算手段と呼ばれる該計算手段、
[ステップ3(応答 D の行為)]
前記チャレンジdの受け取り手段は、前記相互接続装置を通して前記デモンストレータ装置から来るそれそれのチャレンジdを受け取り、
前記証人装置の前記応答 D の前記計算手段は、請求項1に記載のプロセスを適用することにより、前記チャレンジdから前記応答 D を計算し、
前記証人装置は、前記証人装置の伝達装置と呼ばれ、前記相互接続手段を通して前記署名装置へと前記応答 D を伝達させる、伝達装置からなる。 - コントローラと呼ばれているエンティティによって、署名されたメッセージをチェックすることによってメッセージ M の真性性を証明するようにできている、請求項 9 に記載のシステムであって、
[チェック動作]
前記システムは
コントローラエンティティに関連したコントローラ装置からなるようになっていて、
前記コントローラ装置は、特に端末であるか遠隔サーバーの形になっていて、特に前記署名装置へのデータ処理通信ネットワークを通って、それ自身、電気的、電磁気的、光学的、あるいは音響による接続のために、接続手段を含んでいて、
前記署名装置は、署名装置の伝送手段として知られていて、
前記接続装置を通じて、前記署名されたメッセージの前記コントローラ装置への伝送手段からなる前記署名エンティティに関連していて、前記コントローラ装置は、
・ 前記メッセージ M 、
・ 前記チャレンジd、および/または、前記コミットメント R 、
・ 前記応答 D 、
を含む署名されたメッセージからなり、
前記コントローラ装置は、
・ 前記コントローラ装置の計算手段と呼ばれる計算手段、
・ 前記コントローラ装置の比較手段と呼ばれる比較手段、
からなり、
[前記コントローラ装置がコミットメント R 、チャレンジd、応答 D を有する場合]
前記コントローラ装置がコミットメント R, チャレンジd、応答 D を有する場合
..前記コントローラ装置の前記計算手段および前記比較手段は、
前記コミットメント R 、前記チャレンジd、前記応答 D が
..前記コントローラ装置の前記計算手段と前記比較手段は、前記メッセージ M, 前記チャレンジd、前記コミットメント R が前記ハッシュ関数
[前記コントローラ装置がチャレンジd、応答 D を有する場合]
前記コントローラ装置がチャレンジd、応答 D を有する場合、
..前記コントローラ装置の前記計算手段は、各チャレンジdと各レスポンス D に基づいて、
..前記コントローラ装置の前記計算手段と前記比較手段は前記メッセージ M と前記チャレンジdがハッシュ関数
[前記コントローラ装置がコミットメント R 、応答 D を有する場合]
前記コントローラ装置がコミットメント R 、応答 D を有する場合、
..前記コントローラ装置の前記計算手段は、前記ハッシュ関数を適用して、
..前記コントローラ装置の前記計算手段と前記比較手段は前記コミットメント R 、前記チャレンジd´、前記応答 D が
- あるエンティティに関連した端末装置であって、例えばマイクロプロセッサベースのバンクカード中のマイクロプロセッサの形態のようなノマドオブジェクトにおける微小論理回路の形態を特にとることができ、コントローラ装置に対して
・ あるエンティティの前記真性性、および/または、
・ 該エンティティに関連したあるメッセージ M の完全性、
を、パラメータ:
秘密の値 Q1 、 Q2 、 ... 、 Qm と公開値 G1 、 G2 、 ... 、 Gm (mは 1 以上)の m 個の組、
f 個の素因数 p1 、 p2 、 ... pf の積で構成される公開のモジュラス n ( 2 以上の f )、
や、これらのパラメータからの算出値の全部または一部を用いて証明するようにされていて、前記モジュラスと前記秘密値と公開値は
前記m個の公開値 Gi は、m個の異なったベース数 g1 、 g2 、… gm の、 f 個の素因数 p1 、 p2 、… pf より小さい二乗値g i 2 であり;
前記 p1 、 p2 、… pf の素因数、および/または、m個のベース数 g1 、 g2 、… gm は以下の条件が満たされるように生成される端末装置:
[第1の条件]
各方程式
[第2の条件]
Gi(Qi v mod n である場合、 Qi を二乗してモジュロ n を k−1 回とったm個の数 qi のうち、これらのいずれかが± gi ではないこと(つまり、トリビアルではないこと)、
Gi.Qi v ( 1 mod n である場合、 Qi のモジュロnを二乗したものの逆モジュロ n を k−1 回とったm個の数 qi のうち、これらのいずれかが± gi ではないこと(つまり、トリビアルではないこと);
[第3の条件]
2m個の方程式
前記端末装置は、以下を備える証人装置を備え、
・ 前記f個の素因数 pi 、および/または、ベース gi のm個の素因数、および/または、前記素因数のチャイニーズ・剰余法のパラメータ、および/または、公開モジュラス n 、および/または、m個の秘密値 Qi 、および/または、前記秘密値 Qi と公開の指数値vとの f.m 個の構成要素 Qi,j ( Qi,j ( Qi mod pj )を含むメモリゾーン;
・ 前記証人装置の乱数値生成手段と呼ぶ乱数値生成手段;
・ 前記証人装置のコミットメント R の計算手段と呼ぶ計算手段であって、モジュロnの整数環においてコミットメント R の計算を行い、各コミットメント R は、
・rがrが0<r<nである前記乱数値生成手段による乱数値としたとき、
・r i が、0<r i <p i で、それぞれ、前記乱数生成手段によって生成されて、チャイニーズ剰余法を適用することによって得られるランダム値の集合 [r1,r2, … ,rf ] に属する、素因数 pi に関連した乱数値であるとしたとき、
によって計算され、
前記証人装置は、また、
・ 前記証人で装置のチャレンジdを受け付け、それぞれのチャレンジdがm個の整数 d i (以下、要素チャレンジとよぶ)からなる 1 以上のチャレンジdを受け付ける受け付け手段、
・ それぞれのチャレンジdに基づいて、前記証人装置の応答 D を計算し、
・方程式
・方程式
のいずれかにより応答 D を計算する計算手段、
・ 1以上のコミットメント R と1以上の応答 D を伝送する伝送手段、
を備えている(前記手法はチャレンジd、コミットメント R と同じくらいの数の応答 D があって、 R, d、 D の数の群は{ R 、 d 、 D }で参照される3つの数字の組で表される)。 - 請求項11に記載の端末装置であって、デモンストレータと呼ばれているエンティティとコントローラと呼ばれているエンティティの真性性を証明するようにされていて、
前記デモンストレータエンティテイに関連し、前記接続装置によって前記証人装置に相互接続されて、例えばマイクロプロセッサベースのバンクカード中のマイクロプロセッサの形態のような、ノマドオブジェクトにおける微小論理回路の形態を特にとることができるデモンストレータ装置
を含み、前記デモンストレータ装置が、
前記コントローラエンティティと関連していて、特に端末であるか遠隔サーバーの形になっている前記コントローラ装置へと、特にデモンストレータ装置へのデータ処理通信ネットワークを通じて、それ自身、電気的、電磁気的、光学的、あるいは音響によって接続するための接続手段
をまた含んでいるような、以下のステップの実行を可能にしている前記端末装置:
[ステップ 1 (コミットメント R の行為)]:
各々の呼び出しで、請求項 1 によって指定されるプロセスを適用することによって証人装置のコミットメント R の計算手段が各コミットメント R を計算し、
・ 該証人手段は、コミットメント R の全部または一部を前記デモンストレータ装置に送信する、前記証人装置の伝送装置と呼ばれる伝送装置を有し、
・ 前記デモンストレータ装置は、また、コミットメント R の全てはまた一部を前記コントローラ装置に前記接続手段を通じて送信する、前記デモンストレータ装置の伝送装置と呼ばれる伝送装置を有する、
[ステップ2および3(チャレンジdの行為、応答 D の行為)]:
前記証人装置の前記チャレンジdの受け取り手段は、前記コントローラ装置と前記デモンストレータ装置の間の前記接続装置を通して、また、前記デモンストレータ装置と前記証人装置の間の前記相互接続装置を通して、前記コントローラ装置から来るそれそれのチャレンジdを受け取り、
前記証人装置の前記応答 D の前記計算手段は、請求項1に記載のプロセスを適用することにより、前記チャレンジdから前記応答 D を計算する、
[ステップ4(チェックの行為)]:
前記デモンストレータの前記伝送手段はそれぞれの応答 D をチェックを行なう前記コントローラへ伝送する。 - コントローラとして知られたあるエンティティに、デモンストレータとして知られたエンティティに関連したメッセージ M についての完全性の証明を与えるようにされた請求項11に記載の端末装置であって、
前記デモンストレータエンティテイに関連し、前記相互接続装置によって前記証人装置に相互接続されて、例えばマイクロプロセッサベースのバンクカード中のマイクロプロセッサの形態のような、ノマドオブジェクトにおける微小論理回路の形態を特にとることができるデモンストレータ装置、を備え、前記デモンストレータ装置が
前記コントローラエンティティと関連していて、特に端末であるか遠隔サーバーの形になっている前記コントローラ装置へと、特にデモンストレータ装置へのデータ処理通信ネットワークを通じて、それ自身、電気的、電磁気的、光学的、あるいは音響によって接続するための接続手段
をまた含んでいるような、以下のステップの実行をする前記端末装置:
[ステップ 1 (コミットメント R の行為)]:
各々の呼び出しで、請求項 1 によって指定されるプロセスを適用することによって証人装置のコミットメント R の計算手段が各コミットメント R を計算し、
該証人手段は、コミットメント R の全部または一部を前記デモンストレータ装置に送信する、前記証人装置の伝送装置と呼ばれる伝送装置を有し、
[ステップ2および3(チャレンジdの行為、応答 D の行為)]:
前記デモンストレータ装置は、少なくともあるトークン T の計算に、変数を前記メッセージおよび各コミットメント R の全部または一部とするハッシュ関数hを適用する、前記デモンストレータの計算手段と呼ばれる計算手段からなり、
前記デモンストレータ装置は、また、各トークン T を前記コントローラ装置に前記接続手段を通じて送信する、前記デモンストレータ装置の伝送装置と呼ばれる伝送装置を有し、
(前記コントローラ装置は、前記トークン T を受け取った後、コミットメント R の数と同じ数のチャレンジdを生成し、)
前記証人装置の前記チャレンジdの受け取り手段は、前記コントローラ装置と前記デモンストレータ装置の間の前記相互接続装置を通して、また、前記デモンストレータ装置と前記証人装置の間の前記相互接続装置を通して、前記コントローラ装置から来るそれそれのチャレンジdを受け取り、
前記証人装置の前記応答 D の前記計算手段は、請求項1に記載のプロセスを適用することにより、前記チャレンジdから前記応答 D を計算する、
[ステップ4(チェックの行為)]:
前記デモンストレータの前記伝送手段は、それぞれの応答 D をチェックを行なう前記コントローラへ伝送する。 - 署名エンティティと呼ばれるエンティティによって、署名されたメッセージとして知られているメッセージ M のディジタル署名を生成するようにするようにされた請求項11に記載の端末装置であって、
前記署名されたメッセージは、
・ 前記メッセージ M 、
・ 前記チャレンジ d 、および/または、前記コミットメント R 、
・ 前記応答 D;
を含んでいて、
前記端末装置は、前記署名エンティティに関連している署名装置からなるようなものであり、前記署名装置は、前記証人装置に、相互接続手段で相互接続されていて、例えばマイクロプロセッサベースのバンクカード中のマイクロプロセッサの形態のような、ノマドオブジェクトにおける微小論理回路の形態を特にとることができ、
前記署名装置は、また、前記コントローラエンティティと関連していて、特に端末であるか遠隔サーバーの形になっている前記コントローラ装置へと、特にデモンストレータ装置へのデータ処理通信ネットワークを通じて、それ自身、電気的、電磁気的、光学的、あるいは音響によって接続するための接続手段を含んでいて、
[署名動作]
以下のステップの実行をする前記端末装置:
[ステップ 1 (コミットメント R の行為)]:
各々の呼び出しで、請求項 1 によって指定されるプロセスを適用することによって証人装置のコミットメント R の計算手段が各コミットメント R を計算し、
該証人手段は、コミットメント R の全部または一部を前記デモンストレータ装置に送信する、前記証人装置の伝送装置と呼ばれる伝送装置を有し、
[ステップ2(チャレンジdの行為)]:
前記署名装置は、前記署名装置の計算手段と呼ばれる該計算手段を含み、変数を前記メッセージおよび各コミットメント R の全部または一部とするハッシュ関数hを適用して、あるバイナリトレインを計算し、このバイナリトレインからコミットメント R と同じ数のチャレンジdを導出し、
[ステップ3(応答 D の行為)]:
前記証人装置の前記チャレンジdの受け取り手段は、前記相互接続装置を通して前記デモンストレータ装置から来るそれそれのチャレンジdを受け取り、前記証人装置の前記応答 D の前記計算手段は、請求項1に記載のプロセスを適用することにより、前記チャレンジdから前記応答 D を計算し、
前記証人装置は、前記証人装置の伝達装置と呼ばれ、前記相互接続手段を通して前記署名装置へと前記応答 D を伝達させる、伝達装置からなる。 - あるコントローラエンティティに関連した端末か遠隔サーバ形態を特にとるコントローラ装置であって、
・ あるエンティティの真性性、および/または、
・ 該エンティティと関連するメッセージ M の完全性
を証明するようにされている装置であって、以下のパラメータ:
・ 秘密の値 Q1 、 Q2 、 ... 、 Qm と公開値 G1 、 G2 、 ... 、 Gm (mは 1 以上)の m 個の組
・ f 個の素因数 p1 、 p2 、 ... pf の積で構成される公開のモジュラス n ( 2 以上の f )で、前記コントローラ装置と関連しているコントローラエンティティには知られていないもの、
の全部若しくは一部またはこれらのパラメータからの算出値を用い、
前記モジュラスと前記秘密値と公開値は、
前記m個の公開値 Gi は、m個の区別できるベース数 g1 、 g2 、… gm の、 f 個の素因数 p1 、 p2 、… pf より小さい二乗値g i 2 であり;
前記 p1 、 p2 、… pf の素因数、および/または、m個のベース数 g1 、 g2 、… gm は以下の条件が満たされるように生成される、
コントローラ装置:
[第1の条件]
各方程式
[第2の条件]
Gi(Qi v mod n である場合、 Qi を二乗してモジュロ n を k−1 回とったm個の数 qi のうち、これらのいずれかが± gi ではないこと(つまり、トリビアルではないこと)、
Gi.Qi v ( 1 mod n である場合、 Qi のモジュロnを二乗したものの逆モジュロ n を k−1 回とって得られるm個の数 qi のうち、これらのいずれかが± gi ではないこと(つまり、トリビアルではないこと);、
[第3の条件]
2m個の方程式
- コントローラと呼ばれるあるエンティティに対して、デモンストレータと呼ばれるあるエンティティの真性性を証明するようにされている請求項15に記載のコントローラ装置であって、
前記コントローラ装置は、特にデータ処理通信ネットワークを通って、それ自身、電気的、電磁気的、光学的、あるいは音響によって接続する、デモンストレータエンティティに関連したデモンストレータ装置への接続のための接続手段を含んでいて、
以下のステップを実行するのに用いられる前記コントローラ装置:
[ステップ1および2(コミットメントRの行為、チャレンジdの行為)]:
前記コントローラ装置は、また、前記接続装置を通して前記デモンストレータ装置から来るコミットメント R の全部または一部を受け付ける手段を有し、
前記コントローラ装置は、前記コミットメント R の全部または一部を受け取った後に、それぞれの数がコミットメント R と同じであるチャレンジ d (各チャレンジdはm個の整数 di (以下「要素チャレンジ」と呼ぶ)からなる)を生成する、チャレンジ生成手段を含み、
前記コントローラ装置は、また、前記接続手段を通じて前記デモンストレータへチャレンジdを伝送する、前記コントローラの伝送手段と呼ぶ伝送手段を含み、
[ステップ3および4(応答 D の行為、チェックの行為)]:
前記コントローラ装置は、また、
・ 前記接続手段を通じて前記デモンストレータ装置から来る前記応答 D を受け付ける手段
・ 前記コントローラ装置の計算手段と呼ばれる計算手段
・ 前記コントローラ装置の比較手段と呼ばれる比較手段
を備え、
[前記デモンストレータが各コミットメント R の一部を伝送した場合]
前記デモンストレータが各コミットメント R の一部を伝送した場合には、
m個の公開値 G1 、 G2 、 ... 、 Gm を有する前記コントローラ装置の前記計算手段は、各チャレンジ R と各応答 D から再構成されたコミットメント R ´を計算し、その再構成されたコミットメント R ´は
前記コントローラ装置の前記比較手段は、各再構成されたコミットメント R ´を受け付けられた各コミットメント R の全部または一部と比較する。
[前記デモンストレータが各コミットメント R の全部を伝送した場合]
前記デモンストレータが各コミットメント R の全部を伝送した場合には、
m個の公開値 G1 、 G2 、 ... 、 Gm を有する前記コントローラ装置の前記計算手段と前記比較手段は、各チャレンジ R が
- デモンストレータと呼ばれるあるエンティティの完全性を証明するようにされている請求項15に記載のコントローラ装置であって、
前記コントローラ装置は、特にデータ処理通信ネットワークを通って、それ自身、電気的、電磁気的、光学的、あるいは音響によって、デモンストレータエンティティに関連したデモンストレータ装置への接続のために、接続手段を含んでいて、
以下のステップを実行するのに用いられる前記コントローラ装置:
[ステップ1および2(コミットメントRの行為、チャレンジdの行為)]:
前記コントローラ装置は、前記接続装置を通して前記デモンストレータ装置から来るトークン T を受け付ける手段を、また有し、
前記コントローラ装置は、前記トークン T を受け取った後に、それぞれの数がコミットメント R と同じであるチャレンジ d (各チャレンジdはm個の整数 di (以下「要素チャレンジ」と呼ぶ)からなる)を生成する、チャレンジ生成手段を含み、
前記コントローラ装置は、また、前記接続手段を通じて前記デモンストレータへチャレンジdを伝送する、前記コントローラの伝送手段と呼ぶ伝送手段を含み、
[ステップ3および4(応答 D の行為、チェックの行為)]:
前記コントローラ装置は、また、
・ 前記接続手段を通じて前記デモンストレータ装置から来る前記応答 D を受け付ける手段
・ 前記コントローラ装置の計算手段と呼ばれる計算手段であって、この計算手段は、第1に、m個の公開値 G1 、 G2 、 ... 、 Gm を有するとともに、各チャレンジdと各応答 D から再構成されたコミットメント R ´を計算し、そのコミットメント R は
第2に、前記メッセージ M および各再構成されたコミットメント R ´の全てまたは一部を変数として有する前記ハッシュ関数hを適用することによりトークン T ´を計算し、
・ トークン T ´を受け付けられたトークン T と比較する前記コントローラ装置の比較手段と呼ばれる比較手段
を備える。 - 署名されたメッセージと呼ばれているエンティティによって署名されたメッセージをチェックすることによってメッセージ M の真性性を証明するようにされている請求項15に記載のコントローラ装置であって、
前記署名メッセージは、ハッシュ関数h( message,R )を有するある署名エンティティに関連した署名装置によって送られるとともに、
・ 前記メッセージ M 、
・ 前記チャレンジdおよび/またはコミットメント R 、
・ 前記応答 D 、
からなり、
[チェック動作]
前記コントローラ装置は、前記署名エンティティに関連した前記署名装置への、特にデータ処理通信ネットワークを通る電気的、電磁気的、光学的、あるいは音響による接続のための接続手段を含んでいて、該コントローラ装置が、前記署名装置から前記接続を通じて前記署名メッセージを受け取り、
前記コントローラ装置は、
・ 前記コントローラ装置の計算手段と呼ばれる計算手段、
・ 前記コントローラ装置の比較手段と呼ばれる比較手段、
を備え、
[場合前記コントローラ装置がコミットメント R 、チャレンジd、応答 D を有する場合]
場合前記コントローラ装置がコミットメント R, チャレンジd、応答 D を有する場合
..前記コントローラ装置の前記計算手段および前記比較手段は、
前記コミットメント R 、前記チャレンジd、前記応答 D が
..前記コントローラ装置の前記計算手段と前記比較手段は前記メッセージ M, 前記チャレンジd、前記コミットメント R が前記ハッシュ関数
[前記コントローラ装置がチャレンジd、応答 D を有する場合]
前記コントローラ装置がチャレンジd、応答 D を有する場合、
..前記コントローラ装置の前記計算手段は、各チャレンジdと各レスポンス D に基づいて、
..前記コントローラ装置の前記計算手段と前記比較手段は前記メッセージ M と前記チャレンジdがハッシュ関数
[前記コントローラ装置がコミットメント R 、応答 D を有する場合]
前記コントローラ装置がコミットメント R 、応答 D を有する場合、
..前記コントローラ装置の前記計算手段は、前記ハッシュ関数を適用して、
..前記コントローラ装置の前記計算手段と前記比較手段は前記コミットメント R 、前記チャレンジd´、前記応答 D が
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9912467A FR2788912B1 (fr) | 1999-01-27 | 1999-10-01 | Procede, systeme, dispositif destines a prouver l'authenticite d'une entite et/ou l'integrite et/ou l'authenticite d'un message aux moyens de facteurs premiers particuliers |
FR9912468A FR2824974B1 (fr) | 1999-01-27 | 1999-10-01 | Procede destine a prouver l'authenticite d'une entite ou l'integrite d'un message au moyen d'un exposant public egal a une puissance de deux. |
FR9912465A FR2788908B1 (fr) | 1999-01-27 | 1999-10-01 | Procede, systeme, dispositif destines a prouver l'authenticite d'une entite et/ou l'integrite et/ou l'authenticite d'un message |
FR0009644 | 2000-07-21 | ||
PCT/FR2000/002717 WO2001026279A1 (fr) | 1999-10-01 | 2000-09-29 | Procede, systeme, dispositif a prouver l'authenticite d'une entite ou l'integrite d'un message |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007258101A Division JP4809310B2 (ja) | 1999-10-01 | 2007-10-01 | エンティティの真正性又はメッセージの完全性を証明するための方法、システム、デバイス |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004527139A true JP2004527139A (ja) | 2004-09-02 |
Family
ID=27445921
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001529121A Pending JP2003511899A (ja) | 1999-10-01 | 2000-09-29 | エンティティの真正性及びメッセージの完全性を証明するための特定のキーのセット |
JP2001529122A Pending JP2004527139A (ja) | 1999-10-01 | 2000-09-29 | エンティティの真性性またはメッセージの完全性を証明する方法、システム、および装置。 |
JP2007258101A Expired - Lifetime JP4809310B2 (ja) | 1999-10-01 | 2007-10-01 | エンティティの真正性又はメッセージの完全性を証明するための方法、システム、デバイス |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001529121A Pending JP2003511899A (ja) | 1999-10-01 | 2000-09-29 | エンティティの真正性及びメッセージの完全性を証明するための特定のキーのセット |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007258101A Expired - Lifetime JP4809310B2 (ja) | 1999-10-01 | 2007-10-01 | エンティティの真正性又はメッセージの完全性を証明するための方法、システム、デバイス |
Country Status (8)
Country | Link |
---|---|
US (1) | US7080254B1 (ja) |
EP (2) | EP1216537B1 (ja) |
JP (3) | JP2003511899A (ja) |
CN (2) | CN100380862C (ja) |
AT (1) | ATE518327T1 (ja) |
AU (2) | AU766102B2 (ja) |
CA (2) | CA2388084A1 (ja) |
WO (2) | WO2001026278A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2842052B1 (fr) * | 2002-07-05 | 2004-09-24 | France Telecom | Procede et dispositifs cryptographiques permettant d'alleger les calculs au cours de transactions |
JP5328186B2 (ja) * | 2008-03-21 | 2013-10-30 | ルネサスエレクトロニクス株式会社 | データ処理システム及びデータ処理方法 |
EP2424155B1 (en) * | 2009-04-24 | 2014-09-03 | Nippon Telegraph And Telephone Corporation | Information generating device, information generating method, and information generating program and storage medium thereof |
JP5593850B2 (ja) * | 2010-05-31 | 2014-09-24 | ソニー株式会社 | 認証装置、認証方法、プログラム、及び署名生成装置 |
JP5594034B2 (ja) | 2010-07-30 | 2014-09-24 | ソニー株式会社 | 認証装置、認証方法、及びプログラム |
JP5790287B2 (ja) * | 2011-08-12 | 2015-10-07 | ソニー株式会社 | 情報処理装置、情報処理方法、プログラム、及び記録媒体 |
EP2966803A1 (en) * | 2014-07-11 | 2016-01-13 | Thomson Licensing | Method and device for cryptographic key generation |
CN106304054B (zh) * | 2016-08-29 | 2019-06-07 | 西安电子科技大学 | 一种lte系统中的保护数据完整性的方法及装置 |
CN110519051B (zh) * | 2019-08-22 | 2021-06-01 | 武汉理工大学 | r参数和秘密双乘积的SM9签名协同生成方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2620248B1 (fr) | 1987-09-07 | 1989-11-24 | France Etat | Procedes d'authentification d'accreditations ou de messages a apport nul de connaissance et de signature de messages |
WO1989011706A1 (en) | 1988-05-19 | 1989-11-30 | Ncr Corporation | Method and device for authentication |
EP0381523A3 (en) * | 1989-02-02 | 1993-03-03 | Kabushiki Kaisha Toshiba | Server-aided computation method and distributed information processing unit |
FR2733379B1 (fr) * | 1995-04-20 | 1997-06-20 | Gemplus Card Int | Procede de generation de signatures electroniques, notamment pour cartes a puces |
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 |
-
2000
- 2000-09-29 WO PCT/FR2000/002715 patent/WO2001026278A1/fr not_active Application Discontinuation
- 2000-09-29 WO PCT/FR2000/002717 patent/WO2001026279A1/fr active Search and Examination
- 2000-09-29 CA CA002388084A patent/CA2388084A1/en not_active Abandoned
- 2000-09-29 AT AT00966248T patent/ATE518327T1/de not_active IP Right Cessation
- 2000-09-29 CN CNB008177309A patent/CN100380862C/zh not_active Expired - Lifetime
- 2000-09-29 AU AU76700/00A patent/AU766102B2/en not_active Ceased
- 2000-09-29 US US10/089,662 patent/US7080254B1/en not_active Expired - Lifetime
- 2000-09-29 CN CN00815285.3A patent/CN1215678C/zh not_active Expired - Fee Related
- 2000-09-29 JP JP2001529121A patent/JP2003511899A/ja active Pending
- 2000-09-29 EP EP00966248A patent/EP1216537B1/fr not_active Expired - Lifetime
- 2000-09-29 EP EP00966246A patent/EP1216536A1/fr not_active Withdrawn
- 2000-09-29 CA CA002386748A patent/CA2386748C/en not_active Expired - Fee Related
- 2000-09-29 JP JP2001529122A patent/JP2004527139A/ja active Pending
- 2000-09-29 AU AU76699/00A patent/AU765538B2/en not_active Ceased
-
2007
- 2007-10-01 JP JP2007258101A patent/JP4809310B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP1216536A1 (fr) | 2002-06-26 |
JP4809310B2 (ja) | 2011-11-09 |
CN1387714A (zh) | 2002-12-25 |
CA2386748C (en) | 2008-11-25 |
AU7670000A (en) | 2001-05-10 |
EP1216537A1 (fr) | 2002-06-26 |
CN100380862C (zh) | 2008-04-09 |
AU766102B2 (en) | 2003-10-09 |
US7080254B1 (en) | 2006-07-18 |
AU7669900A (en) | 2001-05-10 |
AU765538B2 (en) | 2003-09-18 |
CA2388084A1 (en) | 2001-04-12 |
WO2001026279A1 (fr) | 2001-04-12 |
JP2008048451A (ja) | 2008-02-28 |
JP2003511899A (ja) | 2003-03-25 |
CA2386748A1 (en) | 2001-04-12 |
ATE518327T1 (de) | 2011-08-15 |
CN1433609A (zh) | 2003-07-30 |
WO2001026278A1 (fr) | 2001-04-12 |
CN1215678C (zh) | 2005-08-17 |
EP1216537B1 (fr) | 2011-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Poupard et al. | Security analysis of a practical “on the fly” authentication and signature generation | |
Camenisch et al. | Efficient protocols for set membership and range proofs | |
Bellare et al. | Multi-signatures in the plain public-key model and a general forking lemma | |
Okamoto | Provably secure and practical identification schemes and corresponding signature schemes | |
Damgård et al. | New convertible undeniable signature schemes | |
EP0639907B1 (en) | Digital signature method and key agreement method | |
Pinkas | Fair secure two-party computation | |
EP0503119B1 (en) | Public key cryptographic system using elliptic curves over rings | |
Gennaro et al. | RSA-based undeniable signatures | |
Sander | Efficient accumulators without trapdoor extended abstract | |
JP3158118B2 (ja) | 認証情報の認証確認用システム | |
JP4809310B2 (ja) | エンティティの真正性又はメッセージの完全性を証明するための方法、システム、デバイス | |
CA2560038A1 (en) | Malleable pseudonym certificate system and method | |
EP1135886B1 (en) | Cryptosystems with elliptic curves chosen by users | |
US6959085B1 (en) | Secure user identification based on ring homomorphisms | |
Boyar et al. | Short non-interactive cryptographic proofs | |
Monnerat et al. | Undeniable signatures based on characters: How to sign with one bit | |
JP4772965B2 (ja) | エンティティの真正性および/またはメッセージの完全性を証明するための方法 | |
US6978372B1 (en) | Verification of correct exponentiation or other operations in cryptographic applications | |
Huang et al. | New constructions of convertible undeniable signature schemes without random oracles | |
KR100844546B1 (ko) | 엔티티의 진정성 또는 메시지의 무결성 검증방법, 시스템 및 장치 | |
Liskov et al. | Mutually independent commitments | |
KR100676460B1 (ko) | 2의 거듭제곱과 동등한 공개 지수를 이용한 엔티티 인증성및/또는 메시지의 무결성 검증방법 | |
Wesolowski | A proof of time or knowledge | |
JP2000047582A (ja) | 複数のディジタル署名を一括して検証する方法及びそのための装置とその方法を記録した記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040524 |