JP4809310B2 - エンティティの真正性又はメッセージの完全性を証明するための方法、システム、デバイス - Google Patents

エンティティの真正性又はメッセージの完全性を証明するための方法、システム、デバイス Download PDF

Info

Publication number
JP4809310B2
JP4809310B2 JP2007258101A JP2007258101A JP4809310B2 JP 4809310 B2 JP4809310 B2 JP 4809310B2 JP 2007258101 A JP2007258101 A JP 2007258101A JP 2007258101 A JP2007258101 A JP 2007258101A JP 4809310 B2 JP4809310 B2 JP 4809310B2
Authority
JP
Japan
Prior art keywords
mod
public
response
memory
commitment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2007258101A
Other languages
English (en)
Other versions
JP2008048451A (ja
Inventor
ギユ,ルイ
キスクワテル,ジャン‐ジャック
Original Assignee
ファンタム・ダイアー・エヌヴェー・エルエルシー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from FR9912467A external-priority patent/FR2788912B1/fr
Application filed by ファンタム・ダイアー・エヌヴェー・エルエルシー filed Critical ファンタム・ダイアー・エヌヴェー・エルエルシー
Publication of JP2008048451A publication Critical patent/JP2008048451A/ja
Application granted granted Critical
Publication of JP4809310B2 publication Critical patent/JP4809310B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3249Cryptographic 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

Description

本発明は、エンティティの真正性、及び/又はメッセージの完全性、及び/又は真正性を証明するように設計された方法、システム及びデバイスに関する。
Louis Guillou及びJean−Jacques Quisquaterが発明者である欧州特許第0311470B1号は、このような方法を説明している。以後、「GQ特許」又は「GQ方法」との用語によって彼らの研究を参照するものとする。以後、表現「GQ2」又は「GQ2発明」又は「GQ2技術」が本発明を説明するために使用されるものとする。
GQ方法に従って、「信頼できる権威者」(trusted authority)として知られているエンティティが「証人」と呼ばれている各エンティティにアイデンティティを割り当て、それについてのRSAシグナチャを計算する。カスタマイズするプロセスでは、信頼できる権威者は証人にアイデンティティとシグナチャを与える。その後、その証人は「ここにあるのは私のアイデンティティです。私はそのRSAシグナチャを知っています」と宣言する。証人は、自分が自分のアイデンティティの該RSAシグナチャを知っている旨を、それを明らかにすることなく証明する。該信頼できる権威者により配布されるRSA公開識別鍵を通して、「コントローラ」として知られているエンティティは、その知識を取得することなく、当該RSAシグナチャが宣言されたアイデンティティに一致することを確認する。GQ方法を使用するこの機構は「知識の移転なしに」動作する。このGQ方法に従って、証人はRSA秘密鍵を知ることなく、信頼できる権威者がその鍵を用いて多数のアイデンティティに署名する。
前述のGQ技術はRSA技術を利用する。しかしながら、RSA技術が係数nの因数分解に強く依存するのに対し、RSA技術を実現するデジタルシグナチャの多様な規格と比較して「積攻撃(multiplicative attacks)」と呼ばれているものに見られるように、この依存は等価ではなく、実際にはそれからは程遠い。
GQ2技術の目標は2つの要素からなる。つまり、一方では、RSA技術の性能特性を改善することであり、他方ではRSA技術に固有の問題を回避することである。該GQ2秘密鍵の知識は、該係数nの該因数分解の知識と同等である。トリプレットGQ2に対する攻撃は該係数nの因数分解につながる。この時点では等価なものがある。GQ2技術を用いると、該署名する又は自己認証する(self−authenticating)エンティティと該コントローラエンティティの両方にとって作業負荷が削減される。因数分解するという問題をセキュリティおよび性能の両方に関してさらにうまく使用することにより、GQ2技術はRSA技術の欠点を回避する。
GQ方法は512ビット以上を備える数のモジュロ計算を実現する。これらの計算は、ほぼ216+1乗にされた実質的に同じ大きさを有する数に関する。しかし、既存のマイクロエレクトロニクスインフラストラクチャは、特に銀行カードの分野では、演算コプロセッサを持たないモノリシック自己プログラム可能マイクロプロセッサを使用する。GQ方法等の方法に関与する該複数の演算応用例に関する作業負荷によって計算時間が掛かり、そのため、特定のケースで銀行カードを使用する消費者が自分達の買い物を支払うために不利となることがわかっている。ここでは、支払いカードのセキュリティを強化しようとする際に、銀行当局(banking authorities)はとりわけ解決するのが困難である問題を提起してきたことが思い起こされるかもしれない。事実上、2つの明らかに矛盾する問題、つまり該作業負荷がユーザにとって過剰な計算時間につながらないようにしつつ、その一方で、ますます冗長且つ区別できる鍵を各カードに使用することによってセキュリティを強化することが、研究されなければならない。既存のインフラストラクチャ及び既存のマイクロプロセッサ構成要素を考慮に入れることも必要であるため、この問題は特に深刻になる。
GQ2技術は、依然としてセキュリティを強化しつつ、この問題に解決策を提供することを目的とする。
方法
さらに詳細には、本発明は、コントローラエンティティに対して
−エンティティの真正性、及び/又は
−このエンティティに関連付けられたメッセージMの完全性
を証明するように設計された方法に関する。
この証明は、以下のパラメータ
−秘密値Q1、Q2、...Qmと公開値G1、G2,...Gmのm個の組(mは1以上)
−f個の素因数p1、p2,...pfの積によって構成される公開係数n(fは2以上)
又はこれらのパラメータの算出値のすべて又は一部によって立証される。
前記係数及び前記秘密値と公開値は以下のタイプの関係
Figure 0004809310
によって関連付けられ、この場合vは以下のタイプ
Figure 0004809310
の公開指数を表し、この場合kは1より大きなセキュリティパラメータであり、
前記m個の公開値Giは該f個の素因数p1,p2,...pfに従うm個の区別できるベース数g12,...gmの二乗gi 2であり、前記f個の素因数p1,p2,...pf、及び/又は前記m個のベース数g12,...gmは以下の条件が満たされるように生成される。
第1の条件:
第1の条件に従えば、該方程式
Figure 0004809310
のそれぞれは、nを法とした整数の環の中のxについて解を有する。
第2の条件:
第2の条件に従えば、Gi≡Qi v mod nのケースでは、k−1階数回、Qiを二乗すること(mod n)によって得られる該m個の数qiの中で、それらの内の1つが±giとは異なる(つまり、トリビアルではない)。
第2の条件に従えば、Gi,Qi v≡1 mod nのケースでは、Qiの逆数(mod n)をk−1階数回二乗する(mod n)ことによって得られるm個の数qiの中で、それらの内の1つが±giとは異なる(つまり、トリビアルではない)。
現在の表記に従えば、±giが数giとn−giとを表していることがここで留意されるべきである。
第3の条件:
第3の条件に従えば、以下の2m個の方程式
Figure 0004809310
の中で、それらの内の少なくとも1つはnを法として整数の環の中のxについて解を有する。
該方法はここに後述されるステップの中で証人と呼ばれているエンティティを実現する。前記証人エンティティは、f個の素因数pi、及び/又はm個のベース数gi、及び/又は該素因数のチャイニーズ剰余のパラメータ、及び/又は該公開係数n、及び/又は該m個の秘密値Qi、及び/又は該秘密値Qiと該公開指数vの該f.m個の成分Qi,j(Qi,j≡Qi、mod pj)を有する。
該証人はnを法として整数の該環の中のコミットメントRを計算する。各コミットメントは、
−以下のタイプ
Figure 0004809310
の演算を実行し、この場合rが0<r<nとなるように無作為の値となることと、
−又は
**以下のタイプ
Figure 0004809310
の演算を実行し、この場合riが0<ri<piとなるように素因数piと関連付けられた無作為な値であり、各riは無作為な値の集合体{ri,r2,...rf}に属することと、
のいずれかによって、
**次に、該チャイニーズ剰余方法を適用することによって計算される。
該証人は1つ又は複数のチャレンジdを受け取る。各チャレンジdは、以下に基本的なチャレンジと呼ばれるm個の整数diを備える。該証人は各チャレンジdiに基づいて応答Dを、
−以下のタイプ
Figure 0004809310
の演算を実行することによって、
−又は
**以下のタイプ
Figure 0004809310
の演算を実行することによって、
**次に該チャイニーズ剰余法を適用することによって
のいずれかで計算する。
前記手法はチャレンジd、コミットメントRと同じくらいの数の応答Dがある。R,d、Dの数の群は{R、d、D}で参照される3つの数字の組で表されるトリプレットを形成する。
エンティティの真正性の証拠のケース
実施形態の第1の変形において、本発明による該方法は、証明者として知られているエンティティの真正性を、該コントローラとして知られているエンティティに対して証明するように設計されている。前記証明者エンティティは該証人を備える。前記証明者エンティティとコントローラエンティティは以下のステップを実行する。
・ステップ1:コミットメントRの行為
呼び出しのたびに、該証人は前記に指定された該プロセスを適用することにより、各コミットメントRを計算する。該証明者は該コントローラに各コミットメントRのすべて又は部分を送信する。
・ステップ2:チャレンジdの行為
該コントローラは、各コミットメントRのすべて又は部分を受信した後に、コミットメントRの数に数が等しいチャレンジdを生成し、該チャレンジdを該証明者に送信する。
・ステップ3:応答Dの行為
該証人は該チャレンジdからの該応答Dを、前記に指定された該プロセスを適用することにより計算する。
・ステップ4:チェックの行為
該証明者は各応答Dを該コントローラに送信する。
第1のケース:該証明者が各コミットメントRの一部を送信した。
該証明者が各コミットメントRの一部を送信した場合、該m個の公開値G1,G2,...,Gmを有する該コントローラは、各チャレンジd及び各応答Dから再構築されたコミットメントR’を計算し、この再構築されたコミットメントR’は以下のタイプ
Figure 0004809310
の関係又は以下のタイプ
Figure 0004809310
の関係を満たす。
該コントローラは、各再構築されたコミットメントR’が、それに送信された各コミットメントRのすべて又は部分を再現することを確認する。
第2のケース:該証明者は各コミットメントRの全体性を送信した。
該証明者が各コミットメントRの全体性を送信した場合、m個の公開値G1,G2,...,Gmを有する該コントローラは、各コミットメントRが以下のタイプ
Figure 0004809310
の関係又は以下のタイプ
Figure 0004809310
の関係を満たすことを確認する。
メッセージの完全性の証明のケース
第1の変形と結合できる実施形態の第2の変形では、本発明による該方法は該コントローラエンティティとして知られているエンティティに対して、証明者エンティティと呼ばれているエンティティと関連付けられたメッセージMの完全性の証拠を提供するように設計されている。前記証明者エンティティは該証人を備える。
前記証明者エンティティとコントローラエンティティは以下のステップを実行する。
・ステップ1:コミットメントRの行為
呼び出しのたびに、該証人は前記に指定された該プロセスを適用することによって各コミットメントRを計算する。
・ステップ2:チャレンジdの行為
該証明者は、少なくとも1つのトークンTを計算するために、その引数が該メッセージM及び各コミットメントRのすべて又は部分であるハッシュ関数hを適用する。該証明者は、該トークンTを該コントローラに送信する。該コントローラは、トークンTを受信後、コミットメントRの数に数が等しいチャレンジdを生成し、該チャレンジdを該証明者に送信する。
・ステップ3:応答Dの行為
該証人は、前記に指定された該プロセスを適用することによって、該チャレンジdから該応答Dを計算する。
・ステップ4:チェックの行為
該証人は該コントローラに各応答Dを送信する。該m個の公開値G1,G2,...,Gmを有する該コントローラは、各チャレンジd及び各応答Dから再構築されたコミットメントR’を計算し、この再構築されたコミットメントR’は以下のタイプ
Figure 0004809310
の関係又は以下のタイプ
Figure 0004809310
の関係を満たす。
次に、該コントローラは、該トークンT’を再構築するために、その引数が該メッセージM及び各再構築されたコミットメントR’のすべて又は部分である、該ハッシュ関数hを適用する。それから、該コントローラは、該トークンT’が送信された該トークンTと同一であることを確認する。
メッセージのデジタルシグナチャ及びその真正性の証拠
該2つの前記実施形態と結合できる該本発明による実施形態の第3の変形では、本発明による該方法は、該署名エンティティとして知られているエンティティによってメッセージMの該デジタルシグナチャを生成するように設計されている。前記署名エンティティは該証人を含む。
署名動作
前記署名エンティティは、
−該メッセージMと、
−該チャレンジd、及び/又は該コミットメントRと、
−該応答Dと、
を備える署名済みメッセージを取得するために署名動作を実行する。
前記署名エンティティは、以下のステップを実現することにより該署名動作を実行する。
・ステップ1:コミットメントRの行為
呼び出しのたびに、該証人は前記に指定された該プロセスを適用することによって各コミットメントRを計算する。
・ステップ2:チャレンジdの行為
該署名エンティティは、バイナリ行列を取得するために、その引数が該メッセージM及び各コミットメントRであるハッシュ関数hを適用する。該署名エンティティは、このバイナリ行列からコミットメントRの数に等しい数のチャレンジdを抽出する。
・ステップ3:応答Dの行為
該証人は前記に指定されたプロセスを適用することによって該チャレンジdから該応答Dを計算する。
チェック動作
該メッセージMの真正性を証明するために、コントローラと呼ばれているエンティティは該署名済みメッセージをチェックする。該署名済みメッセージを有する前記コントローラエンティティは以下のように進めることによってチェック動作を実行する。
・該コントローラがコミットメントR、チャレンジd、応答Dを有するケース
該コントローラがコミットメントR、チャレンジd、応答Dを有する場合、該コントローラは、該コミットメントR、該チャレンジd、及び該応答Dが、以下のタイプ
Figure 0004809310
の関係又は以下のタイプ
Figure 0004809310
の関係を満たすことを確認する。
その結果、該コントローラは、該メッセージM、該チャレンジd及び該コミットメントRが該ハッシュ関数
Figure 0004809310
を満たすことを確認する。
・該コントローラがチャレンジdと応答Dを有するケース
該コントローラがチャレンジdと応答Dを有する場合、該コントローラは、各チャレンジdと各応答Dに基づいて、以下のタイプ
Figure 0004809310
の関係又は以下のタイプ
Figure 0004809310
の関係を満たすコミットメントR’を再構築する。
その結果、該コントローラは、該メッセージM及び該チャレンジdが該ハッシュ関数
Figure 0004809310
を満たすことを確認する。
・該コントローラがコミットメントR及び応答Dを有するケース
該コントローラがコミットメントR及び応答Dを有する場合、該コントローラは該ハッシュ関数を適用し、d’
Figure 0004809310
を再構築する。
その結果、該コントローラは、該コミットメントR、該チャレンジd’及び及び該応答Dが以下のタイプ
Figure 0004809310
の関係又は以下のタイプ
Figure 0004809310
の関係を満たすことを確認する。
システム
本発明は、該コントローラサーバに対して以下
−エンティティの真正性、及び/又は
−このエンティティと関連付けられたメッセージMの完全性
を証明するように設計されているシステムにも関する。
この証明は、以下のパラメータ
−秘密値Q1、Q2、...Qmと公開値G1、G2,...Gmのm個の組(mは1以上)
−f個の素因数p1、p2,...pfの積によって構成される公開係数n(fは2以上)
又はこれらのパラメータの算出値のすべて又は一部によって立証される。
前記係数及び前記秘密値と公開値は以下のタイプの関係
Figure 0004809310
によって結び付けられ、この場合vは以下のタイプ
v=2k
の公開指数を示し、この場合kは1より大きなセキュリティパラメータであり、
前記m個の公開値Giは該f個の素因数p1,p2,...pfに従うm個の区別できるベース数g12,...gmの二乗gi 2であり、前記f個の素因数p1,p2,...pf、及び/又は前記m個のベース数g12,...gmは以下の条件が満たされるように生成される。
第1の条件:
第1の条件に従えば、該方程式
Figure 0004809310
のそれぞれは、nを法とした整数の環の中のxについて解くことができる。
第2の条件:
第2の条件に従えば、Gi≡Qi v(mod n)のケースでは、k−1階数回、Qiを二乗する(mod n)ことによって得られる該m個の数qiの中で、それらの内の1つが±giとは異なる(つまり、トリビアルではない)。
第2の条件に従えば、Gj,Qi v≡1(mod n)のケースでは、Qiの逆数(mod n)をk−1階数回二乗する(mod n)ことによって得られるm個の数qiの中で、それらの内の1つが±giとは異なる(つまり、トリビアルではない)。
現在の表記に従えば、±giが数giとn−giとを表していることがここで指摘されるべきである。
第3の条件:
第3の条件に従えば、以下の2m個の方程式
Figure 0004809310
の中で、それらの内の少なくとも1つはnを法として整数の環の中のxについて解くことができる。
前記システムは、例えばマイクロプロセッサをベースにした銀行カードの形等、特にノマドオブジェクトに含まれている証人デバイスを備える。該証人デバイスは、f個の素因数pi、及び/又は該素因数のチャイニーズ剰余のパラメータ、及び/又は該公開係数n、及び/又はm個の秘密値Qi、及び/又は該秘密値Qiと該公開指数vのf.m個の成分Qi,j(Qi,j≡Qi、modpj)とを含むメモリゾーンを備える。該証人デバイスは、
−以下に該証人デバイスの無作為値生成手段と呼ばれる無作為値生成手段と、
−以下に該証人デバイスのコミットメントRの該計算のための手段と呼ばれる計算手段と、
をさらに備える。
該計算手段により、nを法として整数の環の中でコミットメントRを計算することが可能になる。各コミットメントは
・以下のタイプ
Figure 0004809310
の演算を実行し、この場合rは無作為因数生成手段によって生成される無作為な値であり、rは0<r<nであることと、
・あるいは以下のタイプ
Figure 0004809310
の演算を実行し、この場合riは、0<ri<piとなるように該素因数piと関連付けられた無作為な値であり、各riは該無作為因数生成手段によって、及び次に該チャイニーズ剰余方法を適用することによって生成される無作為な値の集合体{ri,r2,...rf}に属することとの、いずれかによって計算される。
また該証人デバイスは、
−以下に1つ又は複数のチャレンジdを受信するための、該証人デバイスの該チャレンジdの受信のための手段と呼ばれている受信手段であって、各チャレンジdが以下に基本的なチャレンジと呼ばれるm個の整数diを備える受信手段と、
−以下に、
・以下のタイプ
Figure 0004809310
の演算を実施することによって、
・又は以下のタイプ
Figure 0004809310
の演算を実施することのいずれかによって
及び次に該チャイニーズ剰余法を適用することによって、
各チャレンジdに基づいた応答Dの計算のための、該証人デバイスの該応答Dの該計算のための手段と呼ばれる計算手段と、
をさらに備える。
該証人デバイスは、1つ又は複数のコミットメントR及び1つ又は複数の応答Dを送信するための伝送手段も備える。前記手法はチャレンジd、コミットメントRと同じくらいの数の応答Dがあって、R,d、Dの数の群は{R、d、D}で参照される3つの数字の組で表されるトリプレットを形成する。
エンティティの真正性の証明のケース
実施形態の第1の変形では、本発明による該システムは、コントローラと呼ばれているエンティティに対して証明者と呼ばれているエンティティの真正性を証明するように設計されている。
前記システムは、証明者エンティティと関連付けられる証明者デバイスを備える。前記証明者デバイスは、相互接続手段によって該証人デバイスと相互接続されている。それは特に、マイクロプロセッサをベースにした銀行カードにおけるマイクロプロセッサの形式等のノマドオブジェクト内の論理マイクロ回路の形を取ることができる。
前記システムは該コントローラエンティティと関連付けられるコントローラデバイスも備える。前記コントローラデバイスは特に端末又はリモートサーバの形を取る。前記コントローラデバイスは、特にコンピュータ通信ネットワークを通して、該証明者デバイスに対するその電気的、電磁的、光学的又は音響的な接続のための接続手段を備える。
前記システムは、以下のステップを実行するために使用される。
・ステップ1:コミットメントRの行為
呼び出しのたびに、該証人デバイスの該コミットメントRの計算の手段は、前記に指定された該プロセスを適用することによって各コミットメントRを計算する。該証人デバイスは、該相互接続手段を通して該証明者デバイスに各コミットメントRのすべて又は部分を送信するために、以下に該証人デバイスの伝送の手段と呼ばれる該伝送の手段を備える。また該証明者デバイスは、該接続手段を通して該コントローラデバイスに各コミットメントRのすべて又は部分を送信するために、以下に該証明者の伝送手段と呼ばれている該伝送手段も備える。
・ステップ2:チャレンジdの行為
該コントローラデバイスは、各コミットメントRのすべて又は一部を受信した後に、コミットメントRの数に数が等しい該チャレンジdの該生成のためのチャレンジ生成手段を備える。該コントローラデバイスは、該接続手段を通して該証明者に該チャレンジdを送信するために、以下に該コントローラの該伝送手段と呼ばれている伝送手段も備える。
・ステップ3:応答Dの行為
該証人デバイスの該チャレンジdの受信の手段は、該相互接続手段を通して該証明者デバイスから来る各チャレンジdを受信する。該証人デバイスの該応答Dの計算の手段は、前記に指定された該プロセスを適用することによって該チャレンジdから該応答Dを計算する。
・ステップ4:チェックの行為
該証明者の該伝送手段は、該コントローラに各応答Dを送信する。また該コントローラデバイスは、
−以下に該コントローラデバイスの計算手段と呼ばれる該計算手段と、
−以下に該コントローラデバイスの比較手段と呼ばれる該比較手段と、
も備える。
第1のケース:該証明者が各コミットメントRの部分を送信した。
該証明者の該伝送手段が各コミットメントRの部分を送信した場合、m個の公開値G1,G2,...,Gmを有する該コントローラデバイスの該計算手段は、各チャレンジd及び各応答Dから再構築されたコミットメントR’を計算し、この再構築されたコミットメントR’は以下のタイプ
Figure 0004809310
の関係又は以下のタイプ
Figure 0004809310
の関係を満たす。
該コントローラデバイスの該比較手段は、各再構築されたコミットメントR’を受信された各コミットメントRのすべて又は部分と比較する。
第2のケース:該証明者が各コミットメントRの全体性を送信した。
該証明者の該伝送手段が各コミットメントRの全体性を送信した場合、m個の公開値G1,G2,...,Gmを有する該コントローラデバイスの該計算手段と該比較手段は、各コミットメントRが以下のタイプ
Figure 0004809310
の関係又は以下のタイプ
Figure 0004809310
の関係を満たすことを確認する。
メッセージの完全性の証明のケース
第1の変形と結合できる第2の変形の実施形態では、本発明による該システムは、コントローラとして知られているエンティティに対して、証明者として知られているエンティティと関連付けられたメッセージMの完全性の証拠を示すように設計されている。前記システムは、該証明者エンティティと関連付けられている証明者デバイスを備える。前記証明者デバイスは、相互接続手段によって該証人デバイスと相互接続されている。それは、例えばマイクロプロセッサをベースにした銀行カード内のマイクロプロセッサの形等、特にノマドオブジェクトの論理マイクロ回路の形を取ってよい。前記システムは該コントローラエンティティと関連付けられている該コントローラデバイスも備える。前記コントローラデバイスは特に端末又はリモートサーバの形を取る。前記コントローラデバイスは、特にデータ処理通信ネットワークを通して、該証明者デバイスへのその電気的、電磁的、光学的、又は音響的な接続のための接続手段を備える。
前記システムは以下のステップを実行するために使用される。
・ステップ1:コミットメントRの行為
呼び出しのたびに、該証人デバイスの該コミットメントRの計算の手段が、前記に指定された該プロセスを適用することによって各コミットメントRを計算する。該証人デバイスは、該相互接続手段を通して各コミットメントRのすべて又は部分を該証明者デバイスに送信するために、以下に該証人デバイスの伝送手段と呼ばれる伝送の手段を有する。
ステップ2:チャレンジdの行為
該証明者デバイスは、少なくとも1つのトークンTを計算するために、その引数が該メッセージM及び各コミットメントRのすべて又は部分であるハッシュ関数hを適用する、以下に該証明者の計算の手段と呼ばれる該計算手段を備える。該証明者デバイスは、該接続手段を通して該コントローラデバイスに各トークンTを送信するために、以下に該証明者デバイスの該伝送手段として知られている伝送手段も備える。該コントローラデバイスは、該トークンTを受信後、コミットメントRの数と数が等しい該チャレンジdの該生成のためのチャレンジ生成手段も有する。該コントローラデバイスは、該接続手段を通して該証明者に該チャレンジdを送信するために、以下に該コントローラの該伝送手段と呼ばれる伝送手段も有する。
・ステップ3:応答Dの行為
該証人デバイスの該チャレンジdの受信の手段は、該相互接続手段を通して該証明者デバイスから来る各チャレンジdを受信する。該証人デバイスの該応答Dの計算の手段は、前記に指定された該プロセスを適用することによって該チャレンジdから該応答Dを計算する。
・ステップ4:チェックの行為
該証明者の該伝送手段は、該コントローラに各応答Dを送信する。該コントローラデバイスは、第1に、各チャレンジd及び各応答Dから以下のタイプ
Figure 0004809310
の関係又は以下のタイプ
Figure 0004809310
の関係を満たす再構築されたコミットメントR’を計算するために、
第2に、引数として、該メッセージM及び各再構築されたコミットメントR’のすべて又は部分を有する該ハッシュ関数hを適用することによってトークンT’を計算するために、以下に、m個の公開値G1,G2,...,Gmを有する該コントローラデバイスの該計算手段と呼ばれる計算手段も備える。
該コントローラデバイスは、該計算されたトークンT’を該受信されたトークンTと比較するために、以下に該コントローラデバイスの該比較手段として知られている比較手段も有する。
メッセージのデジタルシグナチャ及びその真正性の証明
該最初の2つの実施形態の一方、及び/又は他方と結合できる、本発明による実施形態の第3の変形では、本発明による該システムは署名エンティティと呼ばれるエンティティによって、以下に署名済みのメッセージとして知られているメッセージMのデジタルシグナチャを証明するように設計されている。
該署名済みのメッセージは、
−該メッセージMと、
−該チャレンジd、及び/又は該コミットメントRと、
−該応答Dと、
を備える。
署名動作
前記システムは、該署名エンティティと関連付けられている署名デバイスを備える。前記署名デバイスは相互接続手段によって該証人デバイスと相互接続され、例えば、マイクロプロセッサをベースにした銀行カードの中のマイクロプロセッサの形等の、特にノマドオブジェクト内の論理マイクロ回路の形を取ってよい。
前記システムは、以下のステップを実行するために使用される。
・ステップ1:コミットメントRの行為
呼び出しのたびに、該証人デバイスの該コミットメントRの計算の手段は前記に指定された該プロセスを適用することによって各コミットメントRを計算する。該証人デバイスは、該相互接続手段を通して該署名デバイスに各コミットメントRのすべて又は部分を送信するために、以下に該証人デバイスの該伝送手段と呼ばれている伝送の手段を備える。
・ステップ2:チャレンジdの行為
該署名デバイスは、バイナリ行列を計算するために、及び数がコミットメントRの数に等しいチャレンジdをこのバイナリ行列から抽出するために、その引数が該メッセージM、及び各コミットメントRのすべて又は一部であるハッシュ関数hを適用する、以下に該署名デバイスの該計算手段と呼ばれている計算手段を備える。
・ステップ3:応答Dの行為
該証人デバイスの該チャレンジdの受信のための手段は、該相互接続手段を通して該署名デバイスから来る各チャレンジdを受信する。該証人デバイスの該応答Dを計算するための手段は、前記に指定された該プロセスを適用することによって該チャレンジdから該応答Dを計算する。該証人デバイスは、該相互接続手段を通して該署名デバイスに該応答Dを送信するために、以下に該証人デバイスの伝送の手段と呼ばれている伝送手段を備える。
チェック動作
該メッセージMの真正性を証明するために、コントローラとして知られているエンティティは該署名済みメッセージをチェックする。
前記システムは、該コントローラエンティティと関連付けられているコントローラデバイスを備える。前記コントローラデバイスは、特に端末又はリモートサーバの形を取る。前記コントローラデバイスは、特にコンピュータ通信ネットワークを通して、該署名デバイスに対するその電気的、電磁的、光学的又は音響的な接続のための接続手段を備える。
該署名エンティティと関連付けられた前記署名デバイスは、該接続手段を通して該署名済みメッセージの、該コントローラデバイスに対する伝送のための、以下に該署名デバイスの該伝送手段として知られている伝送手段を備える。したがって、該コントローラデバイスは、
−該メッセージMと、
−該チャレンジd、及び/又は該コミットメントRと、
−該応答Dと、
を備える署名済みのメッセージを有する。
該コントローラデバイスは、
−以下に該コントローラデバイスの該計算手段と呼ばれる計算手段と、
−以下に該コントローラデバイスの該比較手段と呼ばれる比較手段と、
を備える。
・該コントローラデバイスがコミットメントR、チャレンジd、応答Dを有するケース
該コントローラデバイスがコミットメントR、チャレンジd、応答Dを有する場合、該コントローラデバイスの該計算手段と比較手段は、該コミットメントR、該チャレンジd、及び該応答Dが以下のタイプ
Figure 0004809310
の関係又は以下のタイプ
Figure 0004809310
の関係を満たすことを確認する。
次に、該コントローラデバイスの該計算手段と比較手段は、該メッセージM、該チャレンジd及び該コミットメントRが該ハッシュ関数
Figure 0004809310
を満たすことを確認する。
・該コントローラデバイスがチャレンジd及び応答Dを有するケース
該コントローラがチャレンジdと応答Dとを有する場合、該コントローラの該計算手段は、各チャレンジdと各応答Dに基づいて、以下のタイプ
Figure 0004809310
の関係又は以下のタイプ
Figure 0004809310
の関係を満たすコミットメントR’を再構築する。
次に、該コントローラデバイスの該計算手段と比較手段は、該メッセージM及び該チャレンジdが該ハッシュ関数
Figure 0004809310
を満たすことを確認する。
・該コントローラがコミットメントR及び応答Dを有するケース
該コントローラデバイスがコミットメントRと、応答Dとを有する場合、該コントローラデバイスの該計算手段は該ハッシュ関数を適用し、
Figure 0004809310
となるようにd’を計算する。
次に、該コントローラデバイスの該計算手段と比較手段は、該コミットメントR、該チャレンジd’、及び該応答Dが以下のタイプ
Figure 0004809310
の関係又は以下のタイプ
Figure 0004809310
の関係を満たすことを確認する。
端末装置
本発明は、エンティティに関連付けられる端末装置にも関する。該端末装置は、例えばマイクロプロセッサをベースにした銀行カードの中のマイクロプロセッサの形等、特にノマドオブジェクトの形を取る。該端末装置はコントローラデバイスに対して以下
−エンティティの真正性、及び/又は
−このエンティティと関連付けられているメッセージMの完全性
を証明するように設計されている。
この証明は、以下のパラメータ
−秘密値Q1、Q2、...Qmと公開値G1、G2,...Gmのm個の組(mは1以上)
−f個の素因数p1、p2,...pfの積によって構成される公開モジュールn(fは2以上)
又はこれらのパラメータの算出値のすべて又は一部によって立証される。
前記モジュール及び前記秘密値と公開値は以下のタイプの関係
Figure 0004809310
によって関連付けられ、この場合vは以下のタイプ
Figure 0004809310
の公開指数を示し、この場合kは1より大きなセキュリティパラメータである。
前記m個の公開値Giは該f個の素因数p1,p2,...pfに従うm個の区別できるベース数g12,...gmの二乗gi 2であり、前記f個の素因数p1,p2,...pf、及び/又は前記m個のベース数g12,...gmは以下の条件が満たされるように生成される。
第1の条件:
第1の条件に従えば、該方程式
Figure 0004809310
のそれぞれは、nを法とした整数の環の中のxについて解くことができる。
第2の条件:
第2の条件に従えば、Gi≡Qi v(mod n)のケースでは、k−1階数回、Qiを二乗する(mod n)ことによって得られる該m個の数qiの中で、それらの内の1つが±giとは異なる(つまり、トリビアルではない)。
第2の条件に従えば、Gi,Qi v≡1(mod n)のケースでは、Qiの逆数(mod n)をk−1階数回二乗する(mod n)ことによって得られるm個の数qiの中で、それらの内の1つが±giとは異なる(つまり、トリビアルではない)。
現在の表記に従えば、±giが数giとn−giとを表していることが、ここで指摘されるべきである。
第3の条件:
第3の条件に従えば、以下の2m個の方程式
Figure 0004809310
の中で、それらの内の少なくとも1つはnを法として整数の環の中のxについて解くことができる。
前記端末装置は、該f個の素因数pi、及び/又は該素因数のチャイニーズ剰余のパラメータ、及び/又は該公開係数n、及び/又はm個の秘密値Qi、及び/又は該秘密値Qiと該公開指数vのf.m個の成分Qi,j(Qi,j≡Qj、modpj)とを含むメモリゾーンを備える証人デバイスを備える。
該証人デバイスは、
−以下に該証人デバイスの無作為値生成手段と呼ばれる無作為値生成手段と、
−以下に、nを法として該整数の環の中の該証人デバイスのコミットメントRの該計算のための手段と呼ばれる計算手段と、
も備える。
各コミットメントは
・以下のタイプ
Figure 0004809310
の演算を実行し、この場合rは無作為値生成手段によって生成される無作為値であり、rは0<r<nであることと、
・あるいは以下のタイプ
Figure 0004809310
の演算を実行し、この場合riは、0<ri<piとなるように該素数piと関連付けられた無作為値であり、各riは該無作為値生成手段によって、次に該チャイニーズ剰余方法を適用することによって生成される無作為値の集合体{r1,r2,...rf}に属することと、のいずれかによって計算される。
また該証人デバイスは、
−以下に1つ又は複数のチャレンジdを受信するために該証人デバイスの該チャレンジdの受信のための手段と呼ばれている受信手段であって、各チャレンジdが以下に基本的なチャレンジと呼ばれるm個の整数d1を備える受信手段と、
−以下に、
・以下のタイプ
Figure 0004809310
の演算を実行することによって、
・又は以下のタイプ
Figure 0004809310
の演算を実行することのいずれかによって
及び次に該チャイニーズ剰余法を適用することによって、
各チャレンジdに基づいた応答Dの計算のための、該証人デバイスの該応答Dの該計算のための手段と呼ばれる計算手段と、
をさらに備える。
該証人デバイスは、1つ又は複数のコミットメントR及び1つ又は複数の応答Dを送信するための伝送手段も備える。チャレンジd、コミットメントRと同じくらいの数の応答Dがあって、R,d、Dの数の群は{R、d、D}で参照されるトリプレットを形成する。
エンティティの真正性の証明のケース
第1の実施形態の変形では、本発明による該端末装置は、コントローラと呼ばれているエンティティに対して証明者と呼ばれているエンティティの真正性を証明するように設計されている。
前記端末装置は、証明者エンティティと関連付けられる証明者デバイスを備える。前記証明者デバイスは、相互接続手段によって該証人デバイスと相互接続されている。それは特に、マイクロプロセッサをベースにした銀行カードにおけるマイクロプロセッサの形式等の、ノマドオブジェクト内の論理マイクロ回路の形を取ってよい。
前記証明者デバイスは、特にデータ処理通信ネットワークを通して、該コントローラエンティティと関連付けられている該コントローラデバイスに対するその電気的、電磁的、光学的又は音響的な接続のための接続手段も備える。前記コントローラデバイスは特に端末又はリモートサーバの形を取る。
前記端末装置は、以下のステップを実行するために使用される。
・ステップ1:コミットメントRの行為
呼び出しのたびに、該証人デバイスの該コミットメントRの計算の手段は、前記に指定された該プロセスを適用することによって各コミットメントRを計算する。
該証人デバイスは、該相互接続手段を通して該証明者デバイスに各コミットメントRのすべて又は部分を送信するために、以下に該証人デバイスの伝送の手段と呼ばれる該伝送の手段を有する。また該証明者デバイスは、該接続手段を通して該コントローラデバイスに各コミットメントRのすべて又は部分を送信するために、以下に該証明者の伝送手段と呼ばれている該伝送手段も有する。
・ステップ2と3:チャレンジdの行為、応答Dの行為
該証人デバイスの該チャレンジdの受信手段は、該コントローラデバイスと該証明者デバイスの間の該接続手段を通して、及び該証明者デバイスと該証人デバイスの間の該相互接続手段を通して該コントローラデバイスから来る各チャレンジdを受信する。該証人デバイスの該応答Dの計算手段は、前記に指定された該プロセスを適用することによって該チャレンジdから該応答Dを計算する。
・ステップ4:チェックの行為
該証明者の該伝送手段は、チェックを実施する該コントローラデバイスに各応答Dを送信する。
メッセージの完全性の証明のケース
該第1の実施形態と結合できる第2の実施形態の変形では、本発明による該端末装置は、証明者として知られているエンティティに関連付けられるメッセージMの完全性の証拠を、コントローラとして知られているエンティティに与えるように設計されている。前記端末装置は、それが該証明者エンティティと関連付けられている証明者デバイスを備え、前記証明者デバイスは相互接続手段によって該証人デバイスと相互接続されている。それは、例えばマイクロプロセッサをベースにした銀行カードの中のマイクロプロセッサの形等の、特にノマドオブジェクト内の論理マイクロ回路の形を取ってよい。前記証明者デバイスは、特にデータ処理通信ネットワークを通して、該コントローラエンティティと関連付けられている該コントローラデバイスに対するその電気的、電磁的、光学的又は音響的な接続のための接続手段を備える。前記コントローラデバイスは特に端末又はリモートサーバの形を取る。
前記端末装置は、以下のステップを実行するために使用される。
・ステップ1:コミットメントRの行為
呼び出しのたびに、該証人デバイスの該コミットメントRの計算の該手段は、前記に指定された該プロセスを適用することによって各コミットメントRを計算する。該証人デバイスは、該相互接続手段を通して該証明者デバイスに各コミットメントRのすべて又は部分を送信するために、以下に該証人デバイスの該伝送手段と呼ばれる伝送の手段を有する。
・ステップ2と3:チャレンジdの行為、応答Dの行為
該証明者デバイスは、少なくとも1つのトークンTを計算するために、その引数が該メッセージM及び各コミットメントRのすべて又は一部であるハッシュ関数hを適用する、以下に該証明者の計算手段と呼ばれる該計算手段を備える。該証明者デバイスは、該コントローラデバイスに該接続手段を通して各トークンTを送信するために、以下に該証明者デバイスの伝送手段として知られている該伝送手段も有する。
前記コントローラデバイスは、該トークンTを受信後、コミットメントRの数に数が等しいチャレンジdを生成する。
該証人デバイスの該チャレンジdの受信の手段は、該コントローラデバイスと該証明者デバイスの間の該相互接続手段を通して、及び該証明者デバイスと該証人デバイスの間の該相互接続手段を通して該コントローラデバイスから来る各チャレンジdを受信する。該証人デバイスの該応答Dの計算の手段は、前記に指定された該プロセスを適用することによって該チャレンジdから該応答Dを計算する。
・ステップ4:チェックの行為
該証明者の該伝送手段は、各応答Dを該チェックを実行する該コントローラデバイスに送信する。
メッセージのデジタル署名及びその真正性の証明
最初の2つのいずれか一方と結合できる第3の実施形態の変形では、本発明による該端末装置は署名エンティティと呼ばれるエンティティによって、以下に該署名済みメッセージとして知られているメッセージMの該デジタルシグナチャを生成するように設計されている。
該署名済みメッセージは、
−該メッセージMと、
−該チャレンジd、及び/又は該コミットメントRと、
−該応答Dと、
を備える。
前記端末装置は、該署名エンティティと関連付けられている署名デバイスを備える。前記署名デバイスは相互接続手段によって該証人デバイスと相互接続される。それは、マイクロプロセッサをベースにした銀行カードの中のマイクロプロセッサの形等の、特にノマドオブジェクトの中の論理マイクロ回路の形を取ってよい。前記署名デバイスは、特にデータ処理通信ネットワークを通して、該コントローラエンティティと関連付けられている該コントローラデバイスに対するその電気的、電磁的、光学的又は音響的な接続のための接続手段を備える。前記コントローラデバイスは特に端末又はリモートサーバの形を取る。
署名動作:
前記端末装置は以下のステップを実行するために使用される。
・ステップ1:コミットメントRの行為
呼び出しのたびに、該証人デバイスの該コミットメントRの計算の手段は、前記に指定された該プロセスを適用することによって各コミットメントRを計算する。該証人デバイスは、該相互接続手段を通して該署名デバイスに各コミットメントRのすべて又は部分を送信するために、以下に該証人デバイスの伝送手段と呼ばれている該伝送の手段を備える。
・ステップ2:チャレンジdの行為
該署名デバイスは、バイナリ行列を計算し、その数がコミットメントRの数に等しいチャレンジdをこのバイナリ行列から抽出するために、その引数が該メッセージM及び各コミットメントRのすべて又は部分であるハッシュ関数hを適用する、以下に該署名デバイスの計算手段と呼ばれる該計算手段を備える。
・ステップ3:応答Dの行為
該チャレンジdの該受信のための該手段は、該相互接続手段を通して該署名デバイスから来る各チャレンジdを受信する。該証人デバイスの該応答Dを計算するための該手段は、前記に指定された該プロセスを適用することによって該チャレンジdから該応答Dを計算する。該証人デバイスは、該相互接続手段を通して該署名デバイスに該応答Dを送信するために、以下に該証人デバイスの伝送の手段と呼ばれている伝送手段を備える。
コントローラデバイス
本発明は、コントローラデバイスにも関する。該コントローラデバイスは特にコントローラエンティティと関連付けられた端末又はリモートサーバの形を取ってよい。該コントローラデバイスは、
−エンティティの真正性、及び/又は
−このエンティティと関連付けられるメッセージMの完全性
をチェックするように設計されている。
この証明は、以下のパラメータ
−公開値G1、G2,...Gmのm個の組(mは1以上)
−f個の素因数p1、p2,...pfの積によって構成され(fは2以上)、該コントローラデバイス及び該関連付けられたコントローラエンティティに未知の公開係数n
又はこれらのパラメータの算出値のすべて又は一部によって立証される。
前記係数及び前記秘密値と公開値は以下のタイプの関係
Figure 0004809310
によって関連付けられ、この場合vは以下のタイプ
Figure 0004809310
の公開指数を示し、この場合kは1より大きなセキュリティパラメータである。
前記m個の公開値Giは該f個の素因数p1,p2,...pfに従うm個の区別できるベース数g12,...gmの二乗gi 2であり、前記f個の素因数p1,p2,...pf、及び/又は前記m個のベース数g12,...gmは以下の条件が満たされるように生成される。
第1の条件:
第1の条件に従えば、該方程式
Figure 0004809310
のそれぞれは、nを法とした整数の環の中のxについて解くことができる。
第2の条件:
第2の条件に従えば、Gi≡Qi v(mod n)のケースでは、k−1階数回、Qiを二乗する(mod n)ことによって得られる該m個の数qiの中で、それらの内の1つが±giとは異なる(つまり、トリビアルではない)。
第2の条件に従えば、Gi,Qi v≡1(mod n)のケースでは、Qiの逆数(mod n)をk−1階数回二乗する(mod n)ことによって得られるm個の数qiの中で、それらの内の1つが±giとは異なる(つまり、トリビアルではない)。
現在の表記に従えば、±giが数giとn−giとを表していることがここで指摘されるべきである。
第3の条件:
第3の条件に従えば、以下の2m個の方程式
Figure 0004809310
の中で、それらの内の少なくとも1つはnを法として整数の環の中のxについて解くことができる。
エンティティの真正性の証明のケース
第1の実施形態の変形では、本発明による該コントローラデバイスは、証明者と呼ばれているエンティティ及びコントローラと呼ばれているエンティティの真正性を証明するように設計されている。
前記コントローラデバイスは、特にデータ処理通信ネットワークを通して、該証明者エンティティと関連付けられている該証明者デバイスに対するその電気的、電磁的、光学的又は音響的な接続のための接続手段も備える。
前記コントローラデバイスは、以下のステップを実行するために使用される。
・ステップ1と2:コミットメントRの行為、チャレンジdの行為
前記コントローラデバイスは、該接続手段を通して該証明者デバイスから来る該コミットメントRのすべて又は部分の受信のための手段も有する。
該コントローラデバイスは、各コミットメントRのすべて又は部分を受信後、コミットメントRの数に数が等しい該チャレンジdの該生成のためのチャレンジ生成手段を備え、各チャレンジdは以下に基本的なチャレンジと呼ばれているm個の整数diを備える。
該コントローラデバイスは、該接続手段を通して該証明者に該チャレンジdを送信するために、以下に該コントローラの伝送手段と呼ばれている該伝送手段も備える。
・ステップ3と4:応答Dの行為、チェックの行為
またコントローラデバイスは、
−該接続手段を通して該証明者デバイスから来る該応答Dの受信のための手段と、
−以下に該コントローラデバイスの計算手段と呼ばれている該計算手段と、
−以下に該コントローラデバイスの比較手段と呼ばれている該比較手段と、
も備える。
・第1のケース:該証明者が各コミットメントRの部分を送信した
該コントローラデバイスの該受信手段が各コミットメントRの部分を受信した場合、m個の公開値G1,G2,...,Gmを有する該コントローラデバイスの該計算手段は、以下のタイプ
Figure 0004809310
の関係又は以下のタイプ
Figure 0004809310
の関係を満たす再構築されたコミットメントR’を、各チャレンジd及び各応答Dから計算する。
該コントローラデバイスの該比較手段は、再構築された各コミットメントR’を受信された各コミットメントRのすべて又は部分と比較する。
・第2のケース:該証明者が各コミットメントRの全体性を送信した
該コントローラデバイスの該受信手段が各コミットメントRの全体性を受信した場合、m個の公開値G1,G2,...,Gmを有する該コントローラデバイスの該計算手段と該比較手段は、各コミットメントRが以下のタイプ
Figure 0004809310
の関係又は以下のタイプ
Figure 0004809310
の関係を満たすことを確認する。
メッセージの完全性の証明のケース
該第1の実施形態の変形と結合できる第2の実施形態の変形では、本発明による該コントローラデバイスは、証明者として知られているエンティティと関連付けられているメッセージMの完全性を証明するように設計されている。
前記コントローラデバイスは、特にデータ処理通信ネットワークを通して、該証明者エンティティと関連付けられている証明者デバイスに対するその電気的、電磁的、光学的又は音響的な接続のための接続手段を備える。
前記コントローラデバイスは以下のステップを実行するために使用される。
・ステップ1と2:コミットメントRの行為、チャレンジdの行為
前記コントローラデバイスは、該接続手段を通して該証明者デバイスから来るトークンTの該受信のための手段を有する。該コントローラデバイスは、該トークンTを受信した後に、コミットメントRの数に数が等しいチャレンジdの該生成のためのチャレンジ生成手段を有し、各チャレンジdは以下に基本的なチャレンジと呼ばれているm個の整数diを備える。該コントローラデバイスは、該接続手段を通して該証明者に該チャレンジdを送信するために、以下に該コントローラの伝送手段と呼ばれている該伝送手段も備える。
・ステップ3と4:応答Dの行為、チェックの行為
前記コントローラデバイスは、該接続手段を通して該証明者デバイスから来る該応答Dの該受信のための手段も備える。前記コントローラデバイスは、第1に、以下のタイプ
Figure 0004809310
の関係又は以下のタイプ
Figure 0004809310
の関係を満たす再構築されたコミットメントR’を各チャレンジd及び各応答Dから計算するために、
第2に、引数として、該メッセージM及び各再構築されたコミットメントR’のすべて又は部分を有するハッシュ関数hを適用することによってトークンT’を計算するために、以下にm個の公開値G1,G2,...,Gmを有する該コントローラデバイスの計算手段と呼ばれている該計算手段も備える。
該コントローラデバイスは、該計算されたトークンT’を該受信されたトークンTと比較するために、以下に該コントローラデバイスの比較手段と呼ばれている該比較手段も有する。
メッセージのデジタルシグナチャ及びその真正性の証明
該最初の2つの実施形態の一方又は他方のいずれかと結合できる第3の実施形態の変形では、本発明によるコントローラデバイスは、コントローラと呼ばれているエンティティによって署名済みのメッセージをチェックすることによって該メッセージMの真正性を証明するように設計されている。
ハッシュ関数h(メッセージ、R)を有する署名エンティティと関連付けられている署名デバイスによって送信される該署名済みメッセージは、
−該メッセージMと、
−該チャレンジd、及び/又は該コミットメントRと、
−該応答Dと、
を備える。
チェック動作
前記コントローラデバイスは、特にデータ処理通信ネットワークを通して、該署名エンティティに関連付けられている署名デバイスに対するその電気的、電磁的、光学的、又は音響的な接続のための接続手段を備える。前記コントローラデバイスは、該接続手段を通して、該署名デバイスから該署名済みメッセージを受信する。
該コントローラデバイスは、
−以下に該コントローラデバイスの計算手段と呼ばれる該計算手段と、
−以下に該コントローラデバイスの比較手段と呼ばれる該比較手段と、
を備える。
・該コントローラデバイスが、コミットメントR、チャレンジd、応答Dを有するケース
該コントローラデバイスがコミットメントR、チャレンジd、応答Dを有する場合、該コントローラデバイスの該計算手段と比較手段は、該コミットメントR、該チャレンジd及び該応答Dが以下のタイプ
Figure 0004809310
の関係又は以下のタイプ
Figure 0004809310
の関係を満たすことを確認する。
その結果、該コントローラデバイスの該計算手段と比較手段は、該メッセージM、該チャレンジd及び該コミットメントRが該ハッシュ関数
Figure 0004809310
を満たすことを確認する。
・該コントローラデバイスがチャレンジd及び応答Dを有するケース
該コントローラデバイスがチャレンジdと応答Dを有する場合、該コントローラデバイスの該計算手段は、各チャレンジd及び各応答Dに基づいて、以下のタイプ
Figure 0004809310
の関係又は以下のタイプ
Figure 0004809310
の関係を満たすコミットメントR’を計算することができ、次に該コントローラデバイスの該計算手段と比較手段は、該メッセージM及び該チャレンジdが該ハッシュ関数
Figure 0004809310
を満たすことを確認する。
・該コントローラデバイスがコミットメントR及び応答Dを有するケース
該コントローラデバイスがコミットメントR及び応答Dを有する場合、該コントローラデバイスの該計算手段は該ハッシュ関数を適用し、
Figure 0004809310
となるようにd’を計算し、その結果該コントローラデバイスの該計算手段と比較手段は、該コミットメントR、該チャレンジd’、及び該応答Dが以下のタイプ
Figure 0004809310
の関係又は以下のタイプ
Figure 0004809310
の関係を満たすことを確認する。
GQ方法の目標は、メッセージのデジタルシグナチャとともにエンティティ及びメッセージの動的認証である。これらは「知識の移転を伴わない」方法である。エンティティは、それが1つ又は複数の秘密数を知っていることを証明する。別のエンティティは、それが対応する1つ又は複数の公開数を知っているかチェックする。該証明する側のエンティティは、必要に応じて何度でもそれらを使用できるようにするために、該1つ又は複数の秘密数を明らかにすることなく、該チェック側のエンティティを説得することを希望する。
各GQ方法は、秘密の高い素数から構成される公開係数に依存している。公開指数v及び公開係数nはともに、「nを法としてv乗する」ことを意味する検証鍵<v,n>を形成し、1つ又は複数の一般的な方程式によって、すべて同じタイプの直接的なG≡Qv(mod n)又は逆のGxQv≡1(mod n)を実現する。該タイプは該チェック側エンティティの中の計算の演算に影響を及ぼすが、該証明側エンティティの中では影響を及ぼさない。つまり、事実上、該セキュリティ分析は該2つのタイプを混同する。公開数Gと秘密数Qに結び付けられた各一般方程式は、ともに1組の数{G,Q}を形成する。再開するためには、各GQ方法は同じ鍵<v,n>に対して1つ又は複数の組の数{G,Q}を実現する。
ここでGQ1と呼ばれているGQ方法の旧バージョンは、RSAデジタルシグナチャ機構を使用する。その結果、該検証鍵<v,n>は、奇数の指数vが好ましくは素数であるRSA公開鍵である。一般的には、各GQ1方法は数{G,Q}の単一の組を使用する。つまり、該公開数Gは、該RSAデジタルシグナチャ技術の欠くことのできない部分であるフォーマット機構に従って識別データから推定される。該秘密数Q又はnを法としたその逆数は、識別データのためのRSAシグナチャである。該証明エンティティは独自の識別データのRSAシグナチャのその知識を示し、この証明は、必要に応じて何度でも使用されるために、したがって秘密のままとなる該シグナチャを明らかにしない。
GQ1方法は、一般的に2つのレベルの鍵を実現する。つまり、該RSA秘密署名鍵は、自らを識別データによって他のものと区別する権威認定エンティティのために確保されている。このような機構は「アイデンティティに基づいている」と言われている。したがって、チップカードのエミッタは、該カードに多様な秘密鍵として銘記される秘密数Qを計算するために各カードの排出のために自分のRSA秘密鍵を使用する。あるいはさらに、コンピュータのネットワーク上のクライアントは、セッションの間に該クライアントの一時的な秘密鍵となる秘密数Qを計算するためにそれぞれの該セッションに入るときに自分のRSA秘密鍵を使用する。該証明側エンティティ、チップカード、又はセッション中のクライアントは、自分達の識別データのRSAシグナチャを知っている。彼らは、鍵階層の中では次に高いレベルにある該RSA秘密鍵を知らない。それにも関わらず、権威者のレベルにおいて768ビットの係数を用いるGQ1によるエンティティの動的認証は、各エンティティのレベルにある3つの素因数の512ビットの係数を用いるRSAによるエンティティの動的認証とほぼ同じ作業負荷を必要とし、該証明側エンティティがその積のためのモジュロ結果を計算する前に該素因数のそれぞれにモジュロ結果を計算することによって該チャイニーズ剰余技法を使用できるようになる。
しかしながら、権威者と該認定されたエンティティの間の鍵の階層は強制的なものではない。該証明側エンティティのレベルでの係数が、例えば768ビットと比べて512ビット等、該権威者のレベルの係数より低いことがあるという事実は別として、GQ1は該証明側エンティティに属するモジュールと使用することができ、該証明側エンティティの作業負荷を削減するために該チャイニーズ剰余技法を使用できるようにし、基本的には該チェック側エンティティの作業負荷を変更しない。
該エンティティが独自の係数の素因数を知っているときに、なぜRSAデジタルシグナチャ機構に呼び掛けるのか??
ここでは基本的なGQ2と呼ばれているGQ法の別のバージョンは、係数nの因数分解の問題を直接的に処理している。この文脈では「直接的に」との表現は「RSAシグナチャを要求しないで」ということを意味する。GQ2の目的は、該証明側エンティティだけではなく、該チェック側エンティティの作業負荷も削減することである。該証明側エンティティは独自の係数の分解(breakdown)についての知識を立証し、この証明は、必要に応じて頻繁に使用できるようにするために、したがって秘密のままとなる分解を明らかにしない。該GQ2プロトコルのセキュリティは該モジュールの因数分解に同等である。
各証明側エンティティは独自の係数nを有している。各GQ2機構はパラメータk、公開指数v=2kを固定する1より大きい小さな数、及び数{G1,Q1}から{Gm,Qm}の1つ又は複数の組を実現する。各公開数G1は、1より大きい小さな数giの二乗であり、「ベース数」と呼ばれている。すべての該証明側エンティティは、1つ又は複数の該同じ公開数G1からGmを使用できる。その結果、該係数n及び1つ又は複数の該秘密数Q1からQmの該因数分解は、該鍵階層の同じレベルにある。基本的なGQ2鍵の各集合は、以下の2つの必要かつ十分な条件によって定義される。
−ベース数ごとに、該2つの方程式x2≡±gi(mod n)のどちらもnを法として整数の環の中のxについて解を有する。すなわち、該数±giはnを法として2つの非平方剰余である。
−ベース数ごとに、該方程式xv≡±gi 2(mod n)であり、この場合v=2kはnを法として整数の環の中のxについて解を有する。nを法として該秘密数Qi又はその逆数はこれらの解の内の任意の1つである。
該第2の条件を考慮に入れると、該数±giがnを法として2つの非平方剰余となるためには、該係数nは、giのどのルジャンドル記号が異なるのかを基準にして、(4を法として)3と合同で少なくとも2つの素因数を備えなければならない。結果的に、どれも3(mod 4)と合同ではない、あるいはただ1つのものが3(mod 4)と合同である素因数から構成される任意の係数により、基本的なGQ2鍵の集合を確立することは可能ではなく、3(mod 4)と合同の該素因数に特権が与えられる。このようにして無作為に高い素数を取ることによって、半分だけが3(mod 4)と合同であり、半分が1(mod 4)に合同であるように見える。その結果、使用中の多くのRSAモデルは基本的なGQ2鍵の集合を確立できない。
ここで、この制限を克服し、どのような係数とであっても、特に任意のどのようなRSA係数であっても、GQ2技術を使用できるようにするために一般化されたGQ2鍵の集合を紹介する。つまり、それらは以下の2つの必要且つ十分な原則に依存している。
第1の原則は該第2の基本的なGQ2条件を再現する。
−ベース数giからgmごとに、方程式xv≡±gi 2(mod n)であり、この場合v=2kはnを法として整数の環の中のxについて解を有する。
秘密数Q又はnを法としてその逆数が該方程式の解であるため、nを法として連続したkの二乗値−1はそれを、nを法として整数の環の中のG1の平方根である数qiに変換する。該数qiが該2つの数gi又はn−giの一方に等しいのか、あるいは該2つの数giとn−giと異なるかどうかに応じて、それがトリビアルであるかどうかが言われる。数qiがトリビアルではないとき、qi 2−gi 2を除算するnはqi−gi又はqi+giのどちらも除算しない。したがって任意のノントリビアル数qは係数nの分解を明らかにする。
n=pgcd(n,qi−gi)xpgcd(n,qi+gi
第2の原則は第1の基本的なGQ2条件を広げる。
−数qiからqmの中では、少なくとも1つの数qiがトリビアルではない。
該数±giがnを法として整数の環の中の2つの非平方剰余である一方、数q+が存在する場合、該qi数は明白にトリビアルではないことが留意されるべきである。したがって、基本的なGQ2鍵の集合は必ず、どのような係数でも、すなわち、その内の少なくとも2つが区別でき、差別せずに3と合同の、又は1(mod 4)と合同の高い素数の任意の構成の使用を可能にする、一般化されたGQ2鍵の該集合の一部である。他方、一般化されたGQ2鍵の多くの集合は基本的なGQ2鍵の集合ではない。一般化されたGQ2鍵の各集合は、以下のケースの1つに従っている。
−2xm個の数±giから±gmがすべて非平方剰余であるとき、これは基本的なCQ2鍵の集合である。
−2xm個の数±giから±gmの中で、少なくとも1つの平方剰余があるとき、これは基本的なGQ2鍵の集合ではなく、ここでは補完的なGQ2鍵の集合として知られているものである。
本発明は補完的なGQ2鍵の該集合に関し、一般化されたGQ2鍵のこれらの集合は定義により基本的ではない。該2つの前記原則に加えて、このような集合は以下の第3の原則を満たさなければならない。
−2xm個の数±giから±gmの中で、少なくとも1つの平方剰余がある。
該問題を評価し、私たちが提供する解決策すなわち本発明を理解するために、まず第1に、ノントリビアル数qによって明らかにされた該係数nの該分解を分析し、次に該チャイニーズ剰余技法、それからガロア域CG(p)の階数の概念に言及する。次に、CG(p)の中の関数「二乗する」ことと、CG(p)の平方剰余の「平方根を取る」こととを検討する。そして最後に、前述された3つの原則の適用性を分析する。
該モジュールの分解の分析:
ちょうど該係数nがf個の素因数piからpfに分解されるように、nを法として整数の該環がf個のガロア域CG(pi)からCG(pf)に分解される。各域において、2つの単位平方根があり、つまり±1である。したがって、該環の中には2f個の単位平方根がある。各秘密数Q1からQmは、該環n中のこれらの2f個の単位平方根の内の1つである数Δi=qi/gi(mod n)を定義する。言い換えると、nによってΔi 2−1を除算する。
・qiがトリビアル、すなわちΔi=±1であるとき、nはΔi−1又はΔi+1を除算し、したがってΔiは該係数nの該分解を明らかにしない。
・qiがノントリビアル、すなわちΔiΔ±1であるとき、nはΔi−1もΔi+1も除算せず、したがってΔによって、分解、つまり各域におけるΔiの値から生じるn=pgcd(n,Δi−1)xpgcd(n,Δi+1)が明らかになる。つまり、一方では1つ又は複数の該素因数がΔi−1を除算し、これ又はこれらは他方でΔi+1を除算する。
該数qの乗法の構成(multiplicative composition)の規則の検査。2つの数{q1、q2}は、合成数、q1xq2(mod n)を示す。
−q1がトリビアルではなく、q2がトリビアルであるとき、該合成数q1xq2(mod n)はトリビアルではない。それはq1と同じ分解を明らかにする。
−q1とq2がトリビアルではなく、Δ1=±Δ2であるとき、該合成数q1xq2(mod n)はトリビアルである。それは分解を明らかにしない。
−q1とq2がトリビアルではなく、Δ1≠±Δ2であるとき、該合成数q1xq2(mod n)はトリビアルではない。それは第3の分解を明らかにする。
3つの数{q1、q2、q3}は、4つの合成数{q1xq2、q1xq3、q2xq3、q1xq2xq3(mod n)}を示す。つまり、7つの数の合計である。したがって、m個の数は2m−m−1個の合成数を提供し、つまり2m−1個の数の合計である。
ここで、我々は、i個の数q1からqi、したがって単位根であるi個の数Δ1からΔiを示す、i個のベース数g1からgi及びi個の秘密数Q1からQiを備える一般化されたGQ2鍵の集合を考えるものとする。数qi+1、したがってルートΔi+1を示す秘密数Qi+1によって別のベース数gi+1を考慮に入れてみよう。
・2i+1−1個の数の合計は、以下のケースのそれぞれで多くのノントリビアル数を備える。
−該ルートΔi+1はトリビアルであり、少なくとも1つのルートΔ1からΔiはトリビアルではない。
−該ルートΔi+1はトリビアルではなく、該2xiのルート±Δ1と±Δiの間に現れる。
・該ルートΔi+1がトリビアルではなく、該2xiのルート±Δ1と±Δiの間に現れないケースでは、qi+1が現れる各合成数はトリビアルではない。
その結果、m個の数q1からqmの中で、少なくとも1つがトリビアルではないとき、該2m−1個の数の合計の半分より多くがトリビアルではない。
定義により、l<fのノントリビアル数{q1、q2、...q1}は、2l−l−1個の対応する合成数のそれぞれがトリビアルではないとき、すなわち合計で21−1個の数がすべてトリビアルではないときに、該係数nを基準にして独立していると言われる。こうして、これらの2l−1個のそれぞれによって該係数nの異なる分解が明らかになる。
−該f個の素因数が区別できるとき、該係数nの2f-1−1個のの分解がある。したがって、f−1個の数qが独立している場合、該2f-1−1個のの分解と、該f−1個の独立した数と該2f-1−f個の対応する合成数を備える2f-1−1個の数の合計の間にbi−univocalな対応がある。
・チャイニーズ剰余
2つの数aとbのいずれか、0<a<bであるそれらの間の素数、及び2つの数0からa−1のXaと0からb−1のXb。それは、Xa≡X(mod a)及びXb≡X(mod b)となるように0からaxb−1までの一意の数Xの決定に関する。数、x≡{b(mod a)}-1(mod a)がチャイニーズ剰余パラメータである。該基本的なチャイニーズ剰余動作は以下に示される。
x≡Xb(mod a)
y=Xa−x。yが負である場合は、y+aでyを置換する。
z≡axy(mod a)
X=zxb+Xb
再開する場合、X=Chinese Remainder(Xa,Xb)と書く。
f個の素因数が低い方から順に、つまり最小のp1から最大のpfまで配列されるとき、該チャイニーズ剰余パラメータは以下の通りとなることがある(該素因数より1つ少ない、すなわちf−1である)。
−第1のパラメータはx≡(p2(mod p1))−1(mod p1)である。
−第2のパラメータはβ≡(p1xp2(mod p3))-1(mod p3)である。
−該i番目のパラメータはλ≡(p1x...pi-1(mod pi))-1(mod p1
−等々。
f−1個の基本的な(elementary)演算では、Xjが0からpj−1である、X1からXfまでのf個の成分の任意の集合から開始する0からn−1までの数Xを確立する。
−第1のパラメータ付きの第1の結果(mod p1xp2
−次に第2のパラメータ付きの第2の結果(mod p1xp2xp3
−最後のパラメータ付きの最後の結果(mod n=p1xp2x...pf)まで
再開する場合、該素因数p1からpfを考えると、nを法として該整数の該環の各要素は2つの同等な表現を有している。
−f個の数X1からXf、素因数成分:Xj≡X(mod pj
−0からn−1までの数X、X=チャイニーズ剰余(X1、X2...Xf
CG(p)の中の数の階数−pを奇数の素数とし、aをpより小さい、つまり0<a<bの数であるとする。定義によって、pに関してaの階数は{xi=a;その結果、i≧1の場合、xi+1≡a×xi(mod p)}によって定義されるシーケンス[X]の期間である。フェルマ定理を適用することによって、以下を得る。xi+p=ap×x1≡a×xi≡xi+1。(mod p)したがって、素数pに関する数aの該階数はp−1又はp−1の除算器である。
例えば、(p−1)/2が奇数の素数p’であるとき、該ガロア域CG(p)は階数1の数を含む。これは1であり、階数2の数を含み、これは−1であり、階数p’のp’−1数及び階数2xp’=p−1のp’−1数である。CG(p)では、任意の数の階数p−1は「生成元」である。該名前はCG(p)内の生成元の連続二乗、つまり1からp’−1までのインデックスのためのシーケンス「X」の項が、CG(p)のすべてのゼロ以外の要素の順列をなすという事実に起因する。
yをCG(p)の生成元であるとする。i及びp−1に従って該数y’ (mod y)の階数を評価しよう。iがp−1と互いに素であるとき、これはp−1である。iがp−1を除算するとき、これは(p−1)/iになる。すべてのケースで、これは(p−1)/lgcd(p−1,i)(lgcd=最大公約数)である。
定義によって、オイラーの関数ψ(n)はnより小さい数の中の数であり、nと互いに素である。CG(p)では、ψ(p−1)の生成元がある。
例として、RSAの基礎を理解することは該階数で容易にされる。モジュールnはf個の素因数p−1からp−fの積であり、f≧2である。piからpfまでの各素因数piの場合、該公開指数eはpj−1と互いに素でなければならない。ここで、鍵<e,pj>はCG(pj)の要素の階数を観察する。それはCG(pj)の該要素を並べ替える。概して可能な限り小さい数djが存在し、その結果p-1がe×dj-1を除算する。鍵<dj,pj>は、CG(pj)の要素の該順列を反転させる。各域CG(p1)からCG(pf)に1つの、これらのf個の順列は、公開鍵<e,n>によって要約される該RSA順列によって、nを法として整数の該環で表される。概して可能な限り小さい数dが存在し、その結果(p1−1、p2−1、...pf−1)の最小公倍数(scm)がd×e−1を除算する。p1からpfまでの各素因数pjの場合、dj≡d(mod pj-1)を有する。該公開鍵<e,n>によって要約された該RSA順列は、該秘密鍵<d,n>によって反転する。
CG(p)の中の二乗−p−1が2t-1ではなく2tで除算できるように数tを定義しよう。それぞれの大きな素数は唯一のカテゴリt=1、t=2、t=3、t=4等に出現する。連続素数の十分に大きい数が検討される場合、2の中から約1が、pが3(mod 4)と合同である第1のカテゴリに出現し、4の中から1が、pが5(mod 8)と合同である第2のカテゴリに出現し、頂点(height)の中から1が、pが9(mod 16)と合同である第3のカテゴリに出現し、16の中から1が、pが17(mod 32)と合同である第4のカテゴリに出現する等である。平均すると、2tの中から1が、pが2t+1(mod 2t+1)に合同であるn番目のカテゴリに出現する。
数xとp−xはCG(p)の中で同じ二乗を有するため、鍵<2,p>はCG(p)を並べ替えない。CG(p)の関数「二乗を取る」は、該域の各ゼロ以外の要素がその場所を見つける有向グラフによって表されてよい。各要素の該階数のパリティに従って、該グラフの構造を枝及び円まで分析してみよう。
ゼロ要素が設定されている。これは0である。階数は、他の要素が関連していない該ゼロ要素に対して定義されていない。つまりゼロ要素は隔離されている。
単位要素が設定されている。これは1であり、階数1の唯一の要素である。CG(p)の個体のすべてのルートは1に関連付けられている枝の中に位置する。yをCG(p)の非平方剰余、任意の剰余とする。鍵<(p−1)/2t,p>はyを、bとして参照される−1のプリミティブな2t-1番目のルートに変換する。つまり、y(p-1)/2≡−1(mod p)を有する。したがって、CG(p)では、1から2t-1までの累乗のためのbの該二乗は1以外の個体の該2t-1ルートである。それらが1に関連する枝を作り上げる。
偶数の階数の任意の要素の該二乗は、その階数が2で除算される別の要素である。したがって、偶数の階数の各要素は枝の中に置かれる。各枝は、4でではなく2で除算できる階数を含み、次にt≧2の場合には、8でではなく4で除算できる2つの階数を含み、次にt≧3の場合には、16でではなく8で除算できる4つの階数を含み、次にt≧4の場合には、32でではなく16で除算できる8つの階数を含む等である。すべての枝は1に関連付けられている枝に類似している。各枝の2t-1の葉は非平方剰余である。各枝は2t-1の要素を含み、奇数の階数の要素に関連付けられている。すべて同じ長さtとなる(p−1)/2tの枝がある。
該単位要素以外の奇数の階数の任意の要素の二乗は、同じ階数を有する別の要素である。鍵<2,p>は、奇数の階数の(p−1)/2tの要素の集合を並べ替える。該順列は順列サイクルに因数分解される。サイクル数は(p−1)/2tの因数分解に依存する。(p−1)/2tの各除算器P’に、階数p’の該ψ(p’)要素を含むサイクルがある。定義によって、オイラーの関数ψ(p’)がp’より小さく、p’と互いに素である数の中の数であることを思い出そう。例えば、p’が(p−1)/2tに等しく、互いに素であるとき、階数p’のp’−1個の数は大きな順列サイクルを形成する。
図1Aから図1Dは、それぞれ3(mod 4)と合同、5(mod 8)と合同、9(mod 16)と合同、及び17(mod 32)と合同であるPのグラフ部分をそれぞれ描いている。
−該枝の上の該葉は、白い円で描かれている。これらは非平方剰余である。
−該枝の中の節は灰色の円で描かれている。これらは偶数の階数の二次要素である。
−該円の中の該節は黒い円で描かれている。これらは偶数の階数の二次要素である。
CG(p)の中の平方根−aがCG(p)の平方剰余であることを知っているので、該方程式x2≡a(mod p)に対する解の計算方法を確かめよう。つまりCG(p)の中で「平方根を取る」。言うまでもなく、同じ結果を得るための多くの方法がある。数学シリーズの大学院生用教科書(Graduate Texts in Mathematics series)の第138巻(GTM 138)として1993年にベルリン(Berlin)のスプリンガー(Springer)によって出版された、Henri Cohenの書籍、計算代数的数論における過程(a Course in Computation Algebraic Number Theory)の31から36ページを参考にしてよい。
該数s=(p−1+2t)/2t+1は、
pが3(mod 4)と合同であるときに<(p+1)/4,p>であり、
pが5(mod 8)と合同であるときに<(p+3)/8,p>であり、
pが9(mod 16)と合同であるときに<(p+7)/16,p>であり、
pが17(mod 32)と合同であるときに<(p+15)/32,p>である等の鍵<s,p>を提供する。
−鍵<s,p>はサイクルの任意の要素を該サイクルの中の従前の要素に変換する。aが偶数の階数であるとき、それは奇数階数の解であり、私たちはそれをwと名付ける。つまり、CG(p)では、w2/aはaの(2×(p−1+2t)/<2t+1)−1=(p−1)/2t乗に等しい。他の解は偶数階数である。これはp−wである。
−一般的に、該鍵<s,p>は該第1の近似の中の任意の平方剰余aを、私たちがrと名付ける解に変換する。aは平方剰余であるため、該鍵<2t-1,p>は必ずr2/aを1に変換する。aの平方根に近づく場合、+1又は−1を得るためにr2/a(mod p)の2t-2乗を取ろう。該結果が+1である場合には該新しい近似はrのままとなり、それ以外の場合は、pが域CG(p)内の1の任意のプリミティブな2t番目のルートを参照することを知っているので、該結果が−1である場合それはb×r(mod p)になる。したがって、鍵<2t-2,p>は該新しい近似を1に変換する。それは、該鍵<2t-3,p>を使用することによって、及び必要な場合にはb2(mod p)で乗算することによって等で、依然として近づいてよい。
以下のアルゴリズムが該方程式を解く。それは、前記に定義されたような数a、b、p、r及びt、及び2つの変数を使用する。cは該連続補正を表し、wは該連続近似を表す。該アルゴリズムの最初では、c=b及びw=rである。該計算の最後では、該2つの解はwとp−wである。
t−2から1までのiの場合、以下のシーケンスを繰り返す。
−+1又は−1を得るために、鍵<2t,p>を数w3/a(mod p)に適用する。
−−1が得られると、wをw×c(mod p)で置き換える。
−cをc2(mod p)で置き換える。
原則の適用性−定義によって、私たちは、パラメータk、ベース数g及び素因数pが、指数vが2kである方程式xv≡g2(mod p)が該域CG(p)のxについて解を有するときに矛盾しないという。数kとgは小さく、1より大きい。数pは大きい素数である。
−t=1、つまりp≡3(mod 4)であるとき、該方程式は2つの解を有する。
−t=2、つまりp≡5(mod 8)であるとき、pに関してgのルジャンドル記号に従って、該方程式は(g|p)=+1である場合、4つの解を有し、(g|p)=−1である場合は、解を有さない。
−t>2、つまりp≡1(mod 8)であるとき、uを、2uが公開数G=g2の階数をpに関して除算するが、2u+1がそれを除算しないような該数にしよう。したがってuは0からt−1の数の内の1つに等しい。該方程式はu>0及びk+u>tの場合、解を有さない。それはk+u≦tの場合2kの解を有する。u=0及びk>tの場合はそれは2tの解を有する。
したがって、Gがサイクル内にあるのか、又はそれ以外の場合枝の適切な位置にあるのかに従って、2つのタイプの適合性がある、
−Gがサイクル内にある、つまりu=0であるとき、kの該値に関係なく、該サイクルの中に奇数階数の解、及び該サイクルに関連付けられたα=最小(k,t)連続枝で広められる偶数階数の解、つまりすべての中に2αの解がある。図2Aは、u=0を課す、k≧t=3、つまり9(mod 16)と合同である素因数のこのケースを描いている。
−Gが枝の適切な位置にあるとき、つまりu>0及びu+k≦tのとき、すべて偶数階数の2kの解が枝の中にある。図2Bがこのケースを描いている。
したがって、パラメータkを考えると、tの該値がkより少ないか、あるいはそれ以外の場合kより大きい又はkに等しいかに従って、2つのタイプの素因数がある。
−t<kのような任意の素因数pjの場合、各Giはサイクル内になければならず、Giに関連付けられた枝に解はない。giがサイクル内にあるのか、あるいは−giがサイクル内にあるのかに従って、+1又は−1である数Δi,jを定義しよう。m個の数Δ1,jからΔm,jのどれにも選択肢はない。図3Aは、t<kのケースを描いている。つまりGiは、素因数pjが9(mod 16)と合同であるサイクル内にある。つまりk>3の場合にu=0、t=3。
−t≧kとなるような任意の素因数pjの場合、各Giはu+k≦t、つまり、u=0のサイクル内にあるか、あるいはそれ以外の場合1≦u≦t−kの枝の適切な位置にあるかのいずれかでなければならない。Qi,jがgiに又は−giに関連付けられた該グラフの該部分にあるかどうかに従って、+1又は−1となる数Δi,jを定義しよう。m個の数Δ1,jからΔm,jのそれぞれに選択肢がある。つまり、各数Δ1,jは個々に一方の値から他方の値に切り替えられてよい。図3Bは、t≧kのときのケースを描いている。つまりGiは、素因数pjが17(mod 32)と合同である枝の中にある。つまりk=3の場合にu=1、t=4。
f個の成分{Δi,j...Δi,f}の各集合はCG(pj)において個体の平方根である。このルートは、あるいは該f個の成分が等しいかどうかに従ってトリビアルである、又はトリビアルではない。その結果、該数qiがトリビアルであるか、又はトリビアルではないかのいずれかであるという事実を表す、f個の成分の該集合が一定である、又は可変であるという。したがって、数qiがノントリビアルであるとき、f個の成分{Δi,j...Δi,f}の該集合は該モジュールの因数分解を要約する。したがって、該秘密成分Qi,jを計算する前に該原則を試すことが可能である。
−公開数Giが素因数pjのためのサイクル内にあるとき、該数Δ1,jは、giがサイクル内にあるのか、それとも−giがサイクル内にあるのかに従って、+1又は−1である。pj≡3(mod 4)であるとき、これはルジャンドルの記号、Δi,j=(gi|pj)である。
−公開数Giが素因数pjのための枝の適切な位置にあるとき、Δi,jに与えられる該値は該秘密成分Qiを計算することによって決定されてよい。
鍵の集合の生成−パラメータkを考慮すると、以下の2つの戦略がある。
−該生成元は、m個のベース数を決定するためにf個の素因数を必要とする。該第1の素数2、3、5、7、...は、該f個の大きな素因数p1からpfのそれぞれとのそれらの適合性を評価するために調べられる。g=2はp≡5(mod 8)と適合しないが、2はベース数の構成に入ってよい。つまり、2つの数が枝の類似する位置にあるとき、それらの積は、まさに平方が該円をより密接にするため、さらに円に近くなる。ベース数はそれによって、個々には適切ではない該数を構成することによって得られてよい。
−あるいは、該生成元は、f≧2個の素因数を決定するために、ビットサイズ(例えば、512、768、1024、1536,2048)及び強力な重みのある1まで連続するビットの数(例えば、1、8、16、24、32)のように、m個のベース数及び該モジュールの特性を必要とする。G1、G2,...Gmとして留意され、該ベース数は一般的には第1の素数、2、3、5、7、11...の中に出現する、あるいはそれ以外の場合これらは該第1の素数の組み合わせである。特に別に示されないならば、これらは第1のm個の素数、G1=2、G2=3、G3=5、G4=7,...である。p≡5(mod 8)がg=2と適合しないことに留意しよう。モジュールnは、密接なサイズ、つまりfで除算される該モジュールに割り当てられる該サイズとのf個の素因数の積になる。
第1の原則−該パラメータk、p1からpfの各素因数、及びg1からgmの各ベース数gは適合できなければならない。2h+1はそれを除算しないのに対して、2h等の数hがgの該階数を、pに関して除算することを定義しよう。該数hを計算するために、以下の手順はルジャンドルの記号(g|p)、及び数b、つまりCG(p)の中の個体のプリミティブな2t番目のルートを使用する。
−t=1で(g|p)=+1の場合、「h=0」を返す。
−t>1で(g|p)=+1の場合、wと呼ばれる結果を得るために該鍵<(p−1+2t)/2t+1,p>をGに適用する。
−w=+gの場合、「h=0」を返す。
−w=p−gの場合、「h=1」を返す。
−それ以外の場合、cをbに設定し、iの場合t−1から2に設定する。
−±1を得るために、鍵<2i,p>をw/g(mod p)に適用する。
−−1の場合、hをiに設定し、wをw×c(mod p)に置き換える。
−cをc2(mod p)で置き換える。
−「2からt−1へのhの値」を返す。
−(g|p)=−1の場合、「h=1」を返す。
k+u>tでu>0のときにk、g及びpが適合しないことを思い出そう。それらはkの該値に関係なくh=0又は1のときに、及び等しくk+h≦t+1でk>1のときに適合する。
第2の原則−以下の3つの手順は第2の原則のさまざまな実現例に対応する。特定の実現例では、該第2の原則は、各数q1からqmがトリビアルではないことを必要とする点まで強化されてよい。その結果、該ベース数の役割は安定している。つまり、該第2の原則を釣り合わせる、あるいは釣り合わせないことには、該方式の該セキュリティの該立証の特定の態様という効果がある。最後にf>2の区別できる素因数があるとき、m個の数{q1...qm}の中ではf−1個の独立した数の少なくとも1つの部分集合があることが必要とされることがある。
該3つの手順は、以下のように定義されるm×fの数δi,jを使用する。
−pjがt<kであるとき、iが1からmの場合、δi,j=Δi,j、つまり、hi,j=0の場合、+1、hi,j=1の場合、−1である。
−pjがt≧kであるとき、iが1からmの場合、δi,j=0であり、つまりΔi,jからΔm,jは、該第2の原則に従って選択されてよい。
第1の手順は、少なくとも1つの集合{δi,1...δi,f}が可変又はゼロである、つまり少なくとも1つの数qiからqmがトリビアルではない、又はノントリビアルとして選ばれてよいことを確認する。
−1からmのi及び1からfのjの場合、
−δi,1=0又は≠δi,jの場合、「成功」を返す。
−「失敗」を返す。
第2の手順は、各集合{δi,1...δi,f}が可変又はゼロである、つまり各数qlからqmがトリビアルではない、又はノントリビアルとして選択されてよいことを確認する。
−1からmのiの場合、
−1からfのjの場合、
−δi,j=0又は≠δi,lの場合、iの次の値まで省略する、
−「失敗」を返す。
−「成功」を返す。
第3の手順は、1≦j1≦j2≦fである素因数pj1とpj2の各組において、δl,j1がゼロである、又はδi,j2とは異なる、少なくとも1つの集合{δi,1...δi,f}があることを確認する。それはmがf−1より小さいときには明らかに失敗する。それが成功するとき、m個の数qlからqmの中に、該f個の素因数に関して独立したf−1個の数の少なくとも1つの集合がある。
−1からf−1のj1の場合、及びj1+1からfのj2の場合
−1からmのiの場合、
−δl,j1=0又は≠δi,j2の場合、j1及びj2の次の値まで省略する、
−「失敗」を返す。
−「成功」を返す。
手順が失敗すると、GQ2鍵集合の該生成元は以下の2つの考えられる戦略から選ばれるその戦略に従う。
−該f個の素因数を保ちながら、該m個のベース数の1つを変更する、
−該m個のベース数を保ちながら、該f個の素因数の1つを変更する。
第3の原則−以下の手順は、生成中の又はすでに生成されたかのいずれかの一般化されたGQ2鍵の集合が、
−基本的なGQ2鍵の集合である、つまり2×m個の数±glから±gmがすべて非平方剰余であるものか、
−あるいはそれ以外の場合、補完的なGQ2鍵の集合である、つまり2×m個の数±glから±gmの中で、少なくとも1つの平方剰余がある
のどちらであるかを判断する。
該手順は、1からmのi及び1からfのjの場合、両方のルジャンドルの記号(gi|pj)と(−gi|pj)を使用する。
−1からmのiの場合
−1からfのjの場合
−(gi|pj)=−1の場合、iの次の値まで省略する。
−「補完的なGQ2鍵の集合」を返す。
−1からfのjの場合
−(gi|pj)=−1の場合、iの次の値まで省略する。
−「補完的なGQ2鍵の集合」を返す。
−「基本的なGQ2鍵の集合」を返す。
秘密成分−直接タイプの方程式:xV≡gi 2(mod pj)の場合、以下の計算が該秘密成分Qi,jのすべての考えられる値を立証する。該2つの最も簡略且つ最新のケース、つまりt=1及びt=2の後には、より複雑なケース、つまりt>2が続く。
t=1、つまりpj≡3(mod 4)の場合、該鍵<(pj+1)/4,pj>はCG(pj)の中の任意の平方剰余の二次平方根を提供する。このことから、以下の数が導出され、
j≡((pj+1)/4)k(mod (pj−1)/2)、それはGiをw≡Gi sj(mod pj)に変換する鍵<sj,pj>を与える。Qi,jはw又はpj−wに等しい。
t=2、つまりpj≡5(mod 8)の場合、該鍵<(pj+3)/8,pj>は、CG(pj)の中の奇数階数の任意の要素のための奇数階数の該平方根を提供する。このことから、以下の数が引き出され、sj≡((pj+3)/8)k(mod (pj−1)/4)、それはGiをw≡Gi sj(mod pj)に変換する鍵<sj,pj>を与える。2がCG(pj)の非平方剰余であるため、z≡2(pj-1)/4(mod pj)が−1の平方根であることに留意しよう。Qijは、w又はpj−wに等しい、あるいはそれ以外の場合、(pjを法として)w’≡w×z又はpj−wtに等しい。
t>2でpj≡2t+1(mod 2t+1)の場合、鍵<(pj−1+2t)/2t+1,pj>は、奇数階数の任意の要素の奇数階数の該平方根を提供する。k、g、及びp間の適合性試験は、hの該値、つまりuの次の値を示していた。
−Giがサイクル内(kの該値に関係なくu=0)にあるとき、以下の数
j≡((pj−1+2t)/2t+1k(mod (pj−1)/2t)が立証される。鍵<sj,pj>がGiを奇数階数w≡Gi sj(mod pj)の解に変換する。例えば、α本の枝の中等の、該サイクルに関連付けられている最小(k,t)連続枝で分散される偶数階数の解がある。Qi,jは、CG(pj)の中の個体の2α番目のルートのいずれかによるwの積に等しい。
−Gjが枝の中の適切な位置(u>0、u+k≦t)にあるとき、すべての解はGjと同じ枝、つまり該数Giの2u乗によりサイクルに関連付けられる枝にある。数は
j≡((pj−1+2t)/2t+1k+u(mod (pj−1)/2t
として確立される。
鍵<sj,pj>は、Giの2u乗を奇数階数wの数に変換する。CG(pj)内の個体の該プリミティブなk+u乗のルートとのwの積の集合は、Qi,jの2kの値を備える。
jがt≧kであるとき、数bjはCG(pj)内の個体の該プリミティブな2t乗のルートであるので、CG(pj)内のbjの該プリミティブな2t-u乗が存在する。これは個体のプリミティブな2k乗のルートである。数Δi,jの該値は、Qi,jを個体のプリミティブな2k乗のルートで乗算することにより切り替えられてよい。
逆数タイプの方程式:1≡xV×gi 2(mod pj)の場合、CG(pj)の中のQi,jの値を反転させることに相当する、該鍵<sj,pj>の中の((pj−1)/2t)−sjで数sjを置換することで十分である。
5(mod 8)と合同である2つの素因数のある鍵の集合の例
Figure 0004809310
ここでは、本当に最初の素数のルジャンドル記号がある。
Figure 0004809310
CG(pj)では、該階数は−5、−11及び17の場合、奇数である。
Figure 0004809310
CG(p2)では、該階数は3、−5、7及び11の場合、奇数である。
カーマイケルの関数は以下の通りである。
Figure 0004809310
k=9では、該数σ≡λ(n)−((1+λ(n))/2)9(mod λ(n))は、該逆数タイプの該一般方程式を使用するために秘密指数として使用される。
Figure 0004809310
数2、3、7、13及び17はベース数として適切ではない。
鍵<σ,n>はg1=5を、因数分解を示さない秘密数Q1に変換する。つまり、両方の域では、−5がサイクル上にある。
Figure 0004809310
鍵<σ,n>はg2=11を、因数分解を示す秘密数Q2に変換する。つまり、11は両方の域で同じ位置にない。
Figure 0004809310
鍵<σ,n>はg3=21=3×7を、因数分解を示す秘密数Q3に変換する。
Figure 0004809310
鍵<σ,n>はg4=26=2×13を、因数分解を示す秘密数Q4に変換する。
Figure 0004809310
該秘密鍵は、両方の素因数、該チャイニーズ剰余の該パラメータ及び8つの秘密成分によってさらに表されてよい。
Figure 0004809310
該秘密鍵GQ2の多様性−該秘密鍵GQ2の考えられるさまざまな表示は同等であることが判明している。つまり、それらはすべて、実際のGK2秘密鍵である、モジュールnの因数分解を知っていることに相当する。GQ2秘密鍵の該表示は、該管理側エンティティの中ではなく、該証明側エンティティの中の該計算の進行に影響を及ぼす。ここでは、該GQ2秘密鍵について考えられる以下の3つの主要な表示がある。1)GQ秘密鍵の従来の表示は、m個の秘密数Qi及び該公開チェック鍵<v,n>を記憶することにあり、GQ2方式の場合、この表示は以下の2つと競合している。2)作業負荷に関して最適の表示は、該パラメータk、該f個の素因数pj、該m×f個の秘密成分Qi,j及び該チャイニーズ剰余の該f−1個のパラメータを記憶することにある。3)秘密鍵サイズに関して最適の表示は、該パラメータk、該m個のベース数gi及び該f個の素因数pjを記憶すること、及び次にm個の秘密数Qiと該モジュールnのいずれかを、それが該第1の表示に相当するように、あるいはm×f個の秘密成分Qi,j及び該チャイニーズ剰余の該f−1個のパラメータを、それが該第2の表示に相当するように立証することによって、各使用を開始することにある。
該動的認証機構の、あるいは該デジタルシグナチャのセキュリティは該GQ2方式で該モジュールの因数分解を知っていることに同等であるため、該同じモジュールを単に使用して2つのエンティティを区別することはできない。一般的には、各証明エンティティは独自のGQ2モジュールを有する。しかしながら、4つの素因数のあるGQ2モジュールが指定されてよく、その内の2つはエンティティに公知であり、他方の2つの別のエンティティは別のエンティティに公知である。
動的認証−動的認証機構は、コントローラと呼ばれるエンティティに対して、考えられる関連メッセージMの真正性だけではなく、証明者と呼ばれる別のエンティティの真正性を証明し、その結果該コントローラが、それが実際に該証明者と対応している旨、及び任意選択としてそれ自体及び該証明者が該同じメッセージMについて話をしていることを確認するためである。該関連メッセージMはオプションであり、それが空であってよいことを意味する。
該動的認証機構は以下の4つの行為、つまり、関与行為、チャレンジ行為、応答行為、及びチェック行為のシーケンスである。該証明者は該関与行為と応答行為を行う。該コントローラは該チャレンジ行為とチェック行為を行う。
該証明者の中で、該証明者の最も敏感なパラメータ及び関数、つまりコミットメント及び応答の生成を隔離するために、証人は隔離されてよい。該証人は該パラメータkと該GQ2秘密鍵、つまり前述された該3つの表示、つまり・該f個の素因数と該m個のベース数、・該m×f個の秘密成分、該f個の素因数及び該チャイニーズ剰余の該f−1個のパラメータ、・該m個の秘密数及び該モジュールnの内の1つによる、モジュールnの因数分解を有する。
該証人はある特定の実施形態、例えば、・該証明者をともに形成するPCに接続されているチップカード、又は・PC内で特に保護されているプログラムにも、あるいは・チップカード内で特に保護されているプログラムにも対応してよい。該それによって隔離された証人は、以後、該署名エンティティの中で定められる該証人に類似している。該機構の実行のたびに、該証人は1つ又は複数のコミットメントRを、次に多くのチャレンジdと同じくらい多くの応答Dを生成する。各集合{R、d、D}がGQ2トリプレットを形成する。
該証人を備えるそれに加えて、該証明者は、必要な場合、ハッシュ関数及びメッセージMも有する。
該コントローラは、該モジュールnを例えば公開鍵のディレクトリから、あるいは公開鍵の証明書からも有する。必要な場合、それは同じハッシュ関数及びメッセージM’も有する。GQ2公開パラメータ、つまり数k、m及びg1からgmは、該証明者によって該コントローラに与えられてよい。該コントローラは任意のチャレンジdから、及び任意の応答DからコミットメントR’を再構築することができる。パラメータkとmは該コントローラに知らせる。特に別に示されないならば、g1からgmの該m個のベース数は第1のm個の素数である。各チャレンジdは、d1からdmに参照されるm個の基本的なチャレンジを含まなければならない。つまりベース数あたり1個である。d1からdmの各基本的なチャレンジは数0から2k-1−1である(v/2からv−1までの数は使用されない)。通常、各チャレンジはm×(k−1)ビットでコーディングされる(m×kビットではない)。例えば、k=5及びm=4のベース数、5、11、21及び26では、各チャレンジは4つのカルテットで送信される16ビットを含む。該考えられる(k−1)×mのチャレンジが等しくあり得るときには、該数(k−1)×mは、各GQ2トリプレットによってもたらされる該セキュリティを決定する。つまり、定義によって該モジュールnの因数分解を知らない詐欺師(impostor)は、正確には2(k-1)×mの内、1回の成功の確率を有している。(k−1)×mが15から20であるとき、1つのトリプレットは動的認証を妥当に保証するために十分である。任意のレベルのセキュリティを達成するために、トリプレットは並列で生成されてよい。それらはシーケンスでも生成されてよい。つまり該機構の該実行を繰り返してよい。
1)コミットメントの行為は以下の動作を備える。
該証人が該チャイニーズ剰余を使用しないとき、それは該パラメータk、Q1からQmの該m個の秘密数、及びモジュールnを有する。それは無作為に且つ非公開で1つ又は複数の乱数r(0<r<n)を選び、次にそれらをk回、連続して二乗する(mod n)ことによって、それは各乱数rをコミットメントRに変換する。
Figure 0004809310
ここには、該チャイニーズ剰余を使用しない鍵の従前の集合の例がある。
Figure 0004809310
該証人が該チャイニーズ剰余を使用するとき、それは該パラメータk、plからpfの該第1のf個の素因数、チャイニーズ剰余のf−1個のパラメータ、及びm×f個の秘密成分Qi,jを有する。それは無作為に且つ非公開でf個の乱数の1つ又は複数の集合体を選ぶ。各集合体は素因数piごとに1個の乱数riを含む(0<ri<pi)。そして次にそれをk回連続して二乗する(mod pi)ことによって、それは各乱数riをコミットメント成分Riに変換する。
Figure 0004809310
f個のコミットメント成分の各集合体の場合、該証人は該チャイニーズ剰余技法に従ってコミットメントを確立する。乱数集合体があるのと同じくらい多くのコミットメントがある。
Figure 0004809310
ここに鍵の該従前の集合及び該チャイニーズ剰余のある例がある。
Figure 0004809310
両方のケースでは、該証明者は該コントローラに対して、各コミットメントRのすべて又は部分のいずれか、あるいはそれ以外の場合各コミットメントRとメッセージMをハッシュすることにより取得されるハッシュコードHを送信する。
2)チャレンジの行為は、それぞれがm個の基本的なチャレンジd1,d2,...dmからなる1つ又は複数のチャレンジdを無作為に選ぶことにある。各基本的なチャレンジd1は0からv/2−1の該数の1つである。
d=d1,d2,...dm
ここに、両方の例、つまりk=5及びm=4のためのチャレンジがある。
Figure 0004809310
該コントローラは各チャレンジdを該証明者に送信する。
3)応答の行為は以下の動作を含む。
該証人がチャイニーズ剰余を使用しないとき、それは該パラメータk、Q1からQmの該m個の秘密数、及び該モジュールnを有する。それは、該コミットメント行為からの各乱数r、及び該基本的なチャレンジによる該秘密数を使用することによって、1つ又は複数の応答Dを計算する。
Figure 0004809310
ここに、該チャイニーズ剰余を使用しない該例の続きがある。
Figure 0004809310
該証人がチャイニーズ剰余を使用するとき、それは該パラメータk、plからpfのf個の素因数、該f−1個のチャイニーズ剰余パラメータ及びm×f個の秘密成分Qi,jを有する。それは、該コミットメント行為からの乱数の各集合体を使用することによって、f個の応答成分の1つ又は複数の集合体を計算する。応答成分の各集合体は素因数あたり1つの成分を含む。
Figure 0004809310
応答成分の集合体ごとに、該証人は該チャイニーズ剰余技法に従って応答を確立する。チャレンジがあるのと同じくらい多くの応答がある。
Figure 0004809310
ここに該チャイニーズ剰余を使用しない該例の続きがある。
Figure 0004809310
Figure 0004809310
両方のケースで、該証明者は各応答Dを該コントローラに送信する。
4)チェックする行為は、各トリプレット{R,d,D}が、ゼロ以外の値について以下のタイプの方程式を満たすことをチェックすること、
Figure 0004809310
又はそれ以外の場合
Figure 0004809310
あるいは、各コミットメントを復元することにある。それらのどれもゼロであってはならない
Figure 0004809310
又はそれ以外の場合
Figure 0004809310
任意選択として、該コントローラは次に、各復元されたコミットメントR’と該メッセージM’をハッシュすることによってハッシュコードH’を計算する。したがって該コントローラが、それが該コミットメント行為の最後に受信したもの、つまり各コミットメントRのすべて又は部分、つまりハッシュコードHを取り出すと、動的認証は成功である。
例えば、基本的な動作のシーケンスは応答DをコミットメントR’に変換する。該シーケンスは、ベース数でのk−1回の除算又は乗算(mod n)によって分離されるk個の二乗(mod n)を備える。i番目の二乗と該i+1番目の二乗の間に実行されるi番目の除算又は乗算の場合、該基本的なチャレンジd1のi番目のビットは、giが使用されなければならないかどうかを示し、該基本的なチャレンジd2のi番目のビットはg2が使用されなければならないかどうかを、・・・gmが使用されなければならないかどうかを示す該基本的なdmのi番目のビットまで示す。
ここに、該チャイニーズ剰余を使用しない該最後の例がある。
Figure 0004809310
nを法として二乗する。
Figure 0004809310
5×26=130、つまりnを法として「82」。
Figure 0004809310
nを法として二乗する。
Figure 0004809310
21で、つまりnを法として「15」で乗算する。
Figure 0004809310
nを法として二乗する。
Figure 0004809310
5×11×21=1155、つまりnを法として「483」。
Figure 0004809310
nを法として二乗する。
Figure 0004809310
5×11×26=1430、つまりnを法として「596」。
Figure 0004809310
nを法として二乗する。
Figure 0004809310
該コミットメントrが取り出される。認証が成功する。
ここに該チャイニーズ剰余を使用する最後の例がある。
Figure 0004809310
nを法として二乗する。
Figure 0004809310
5×26=130、つまりnを法として「82」。
Figure 0004809310
nを法として二乗する。
Figure 0004809310
21で乗算する。つまりnを法として「15」。
Figure 0004809310
nを法として二乗する。
Figure 0004809310
5×11×21=1155、つまりnを法として「483」。
Figure 0004809310
nを法として二乗する。
Figure 0004809310
5×11×26=1430、つまりnを法として「596」。
Figure 0004809310
nを法として二乗する。
Figure 0004809310
該コミットメントrは正しく取り出される。認証は成功する。
デジタルシグナチャ
該デジタル署名機構により、署名エンティティと呼ばれるエンティティは署名済みメッセージを生成し、コントローラと呼ばれるエンティティは署名済みメッセージを確認できる。メッセージMは任意の2進数列である。それは空であることができる。該メッセージMは、該対応する応答だけではなく、1つ又は複数のコミットメント、及び/又はチャレンジも備えるシグナチャ付加物をそれに加えることによって署名される。
該コントローラは、例えば、公開鍵のディレクトリから、又は公開鍵の証明書からも該モジュールnを有する。また、それは該同じハッシュ関数も有する。該GQ2公開パラメータ、つまり数k、m及びg1からgmは、例えばそれらを該シグナチャ付加物に入れることによって該証明者によって該コントローラに与えられることができる。
数kとmは該コントローラに知らせる。一方、d1からdmの各基本的なチャレンジは数0から2k-1−1である(数v/2からv−1は使用されない)。他方、各チャレンジdは、d1からdmにおいて参照されるベース数ほど多くのm個の基本的なチャレンジを含まなければならない。さらに特に別に示されない限り、g1からgmの該m個のベース数は該第1のm個の素数である。(k−1)×mが15から20であると、並列に生成される4つのGQ2トリプレットで署名することが可能である。(k−1)×mが60以上の場合、1つのGQ2トリプレットだけで署名することが可能である。例えば、k=9及びm=8では、ただ1つのGQ2トリプレットで十分である。各チャレンジは8バイトを含み、該ベース数は2、3、5、7、11、13、17及び19である。
該署名動作は、3つの行為、つまりコミットメント行為、チャレンジ行為、及び応答行為のシーケンスである。各行為は、それぞれがコミットメントr(≠0)、d1,d2,...dmによって参照されるm個の基本的なチャレンジからなるチャレンジd、及び応答D(≠0)を備える、1つ又は複数のGQ2トリプレットを生成する。
該署名エンティティはハッシュ関数、パラメータk、及びGQ2秘密鍵、つまり前述された該3つの表示の内の1つによる該モジュールnの該因数分解を有する。該署名エンティティの中では、該証明者の最も敏感な関数及びパラメータを隔離するために該コミットメント行為と応答行為を実行する証人を隔離することが可能である。コミットメント及び応答を計算するために、該証人は該パラメータk及びGQ2秘密鍵、つまり前述された該3つの表示の内の1つによる該モジュールnの該因数分解を有する。該それによって隔離された証人は該証明者の中で定められる該証人に類似している。それはある特定の実施形態に、例えば、・ともに該署名エンティティを形成するPCに接続されているチップカードに、又は・PC内で特に保護されているプログラムにも、又は・チップカード内で特に保護されているプログラムにも相当することができる。
1)コミットメントの行為は以下の動作を備える。
該証人が該m個の秘密数Q1からQm及び該モジュールnを有するとき、それは無作為に且つ非公開で1つ又は複数の乱数r(0<r<n)を選び、次にk回の連続二乗(mod n)によって、それは各乱数rをコミットメントRに変換する。
Figure 0004809310
該証人がplからpfのf個の素因数及びm×f個の秘密成分Ql,jを有するとき、それは無作為に且つ非公開でf個の乱数の1つ又は複数の集合体を選ぶ。各集合体は素因数piごとに1個の乱数riを含む(0<ri<pl)。そして次にk回連続の二乗(mod pi)によって、それは各乱数riをコミットメント成分Riに変換する。
Figure 0004809310
f個のコミットメント成分の各集合体の場合、該証人は該チャイニーズ剰余技法に従ってコミットメントを確立する。乱数集合体があるのと同じくらい多くのコミットメントがある。
Figure 0004809310
2)チャレンジの行為は、該署名エンティティが、それぞれがm個の基本的なチャレンジを備える1つ又は複数のチャレンジを形成するハッシュコードを取得するために、すべてのコミットメントr及び署名されなければならない該メッセージmをハッシュすることにある。各基本的なチャレンジは0からv/2−1の数である。例えば、k=9及びm=8の場合、各チャレンジは8バイトを含む。コミットメントと同じくらい多くのチャレンジがある。ハッシュ(M,R)結果から抽出される、d=d1,d2,...dm
3)応答の行為は以下の動作を含む。
該証人が該m個の秘密数Q1からQm、及び該モジュールnを有するとき、それは、該コミットメント行為の各乱数r、及び該基本的なチャレンジによる該秘密数を使用することによって1つ又は複数の応答Dを計算する。
Figure 0004809310
該証人がplからpfのf個の素因数及びm×f個の素数成分Qi,jを有するとき、それは該コミットメント行為からの乱数の各集合体を使用することによって、f個の応答成分の1つ又は複数の集合体を計算する。応答成分の各集合体は素因数あたり1つの成分を含む。
Figure 0004809310
応答成分の集合体ごとに、該証人は該チャイニーズチャイニーズ剰余技法による応答を確立する。チャレンジと同じくらい多くの応答がある。
Figure 0004809310
該署名エンティティは、
−各GQ2トリプレット、つまり各コミットメントR、各チャレンジd、及び各応答D、
−又は各コミットメントRと各対応する応答D、
−各チャレンジd及び各対応する応答D
のいずれかを備える、シグナチャ付加物を追加することによって該メッセージMに署名する。
該検証動作の実行は、該シグナチャ付加物の該コンテンツに依存する。3つのケースが区別される。
該付加物が1つ又は複数のトリプレットを備えるならば、該チェック動作は出来事が起こった順序が無関係である2つの独立したプロセスを含む。該コントローラは、両方の以下の条件が満たされるとき且つそのときに限り該署名済みメッセージを受け入れる。
第1に、各トリプレットは一貫して(以下のタイプの適切な関係が検証されなければならない)、受け入れ可能でなければならない(該比較はゼロ以外の値で行われなければならない)。
Figure 0004809310
あるいは別に
Figure 0004809310
例えば、該応答Dは、基本的な動作のシーケンス、つまりベース数でのk−1回の乗算動作(mod n)又は除算動作によって分離されるk個の二乗(mod n)によって変換される。i番目の二乗とi+1番目の二乗の間に実行されるi番目の乗算又は除算の場合、該基本的なチャレンジd1のi番目のビットはg1を使用することが必要かどうかを示し、該基本的なチャレンジd2のi番目のビットはg2を使用することが必要かどうかを、...gmを使用することが必要であることを示す、該基本的なチャレンジdmのi番目のビットまで示す。したがって、該シグナチャ付加物に存在する各コミットメントRを取り出すことが必要である。
さらに、該1つ又は複数のトリプレットは該メッセージMに結び付けられなければならない。すべての該コミットメントR及び該メッセージMをハッシュすることによって、各チャレンジdがその中から回復されなければならないハッシュコードが取得される。
d=d1,d2,...dm、該結果ハッシュ(M,R)から抽出されるものに同一。
該付加物がチャレンジを有さない場合、該チェック動作はすべてのコミットメントR及び該メッセージMをハッシュすることによって、1つ又は複数のチャレンジd’の該再構成を開始する。
d=d’1,d’2,...d’m、該結果ハッシュ(M,R)から抽出される。
次に、該コントローラは、各トリプレットが一貫して(以下のタイプの適切な関係が検証される)、受け入れ可能である(該比較はゼロ以外の値で行われる)とき、且つそのときに限り該署名済みメッセージを受け入れる。
Figure 0004809310
あるいはそれ以外に
Figure 0004809310
該付加物がコミットメントを備えない場合には、該チェック動作は以下の2つの式の内の1つ、すなわち適切な一方に従って1つ又は複数のコミットメントR’の該再構成を開始する。再確立されたコミットメントはゼロであってはならない。
Figure 0004809310
あるいはそれ以外に
Figure 0004809310
その結果、該コントローラは、各チャレンジdを再構成するためにすべてのコミットメントR’及び該メッセージMをハッシュしなければならない。
d=d1,d2,...dm、該結果ハッシュ(M,R’)から抽出されるものに同一。
該コントローラは、各再構成されたチャレンジが該付加物の中の該対応するチャレンジに同一であるとき、且つそのときに限り該署名済みメッセージを受け入れる。
図1Aから図1Dは、それぞれ3(mod 4)と合同、5(mod 8)と合同、9(mod 16)と合同、及び17(mod 32)と合同であるPのグラフ部分をそれぞれ描いている。 図2Aは、u=0を課す、k≧t=3、つまり9(mod 16)と合同である素因数のこのケースを描いている。−Gが枝の適切な位置にあるとき、つまりu>0及びu+k≦tのとき、すべて偶数階数の2kの解が枝の中にある。図2Bがこのケースを描いている。 図3Aは、t<kのケースを描いている。図3Bは、t≧kのときのケースを描いている。

Claims (9)

  1. コンピュータによって実行されるステップを含む認証方法であって、前記ステップは、
    1個または複数の公開値G1,G2,...,Gm及び公開指数vをメモリに格納するステップであって、公開値G1,G2,...,Gmは、秘密値Q1,Q2,...,Qmに対応し、鍵(Qi,Gi)の各組が方程式Gi・Qi v≡1(mod n)または方程式Gi≡Qi v(mod n)のどちらかを満たし、nはp1,...,pfによって指定されるf個の秘密素因数の積に等しい公開整数であり、これらの素因数の少なくとも2個が互いに異なり、公開指数vは、kを1より大きい整数値のセキュリティパラメータとしてv=2kとなるようなものであり、各公開値Gi(i=1,...,m)は、gi(i=1,...,m)を、1より大きく該素因数p1,...,pfのそれぞれより小さい整数を有する基本数であるとして、Gi≡gi 2(mod n)となるようなものであり、glまたは−glは、1とmの間の少なくとも1個の整数値lに対してnを法とした整数の環の平方剰余であり、i=1,...,mに対してGi×Qi v≡1(mod n)の場合にqi≡Qi -v/2(mod n)としGi≡Qi v(mod n)の場合にqi≡Qi v/2(mod n)として、1とmの間の少なくとも1個の整数値sに対してqsがgs(mod n)と合同でも−gs(mod n)と合同でもない、ステップと、
    rを証明者端末によって無作為に選ばれる0<r<nであるような整数として、R≡rv(mod n)によって計算がなされて値が得られるコミットメントRを前記証明者端末から受信して該コミットメントRを前記メモリに格納するステップと、
    m個のチャレンジd1,d2,...,dmを無作為に選択して該チャレンジを前記メモリに格納するステップと、
    該チャレンジd1,d2,...,dmを前記証明者端末に送信するステップと、
    D≡r×Q1 d1×Q2 d2×・・・×Qm dm(mod n)によって計算がなされて値が得られる応答Dを該証明者端末から受信して該応答Dを前記メモリに格納するステップと、
    前記メモリに格納されている、前記公開値、前記公開指数、前記コミットメント、前記チャレンジ、及び前記応答に基づいて、R≡Dv×G1 ε1d1×G2 ε2d2×・・・×Gm εmdm(mod n)となるような値を該応答Dが有する場合に前記証明者端末を真正なものと判断するステップであって、i=1,...,mに対して、Gi×Qi v≡1(mod n)の場合にεi=+1であり、Gi≡Qi v(mod n)の場合にεi=−1である、ステップと、
    を含む、認証方法。
  2. コンピュータによって実行されるステップを含む認証方法であって、前記ステップは、
    1個または複数の公開値G1,G2,...,Gm及び公開指数vをメモリに格納するステップであって、公開値G1,G2,...,Gmは、秘密値Q1,Q2,...,Qmに対応し、鍵(Qi,Gi)の各組が方程式Gi・Qi v≡1(mod n)または方程式Gi≡Qi v(mod n)のどちらかを満たし、nはp1,...,pfによって指定されるf個の秘密素因数の積に等しい公開整数であり、これらの素因数の少なくとも2個が互いに異なり、公開指数vは、kを1より大きい整数値のセキュリティパラメータとしてv=2kとなるようなものであり、各公開値Gi(i=1,...,m)は、gi(i=1,...,m)を、1より大きく該素因数p1,...,pfのそれぞれより小さい整数を有する基本数であるとして、Gi≡gi 2(mod n)となるようなものであり、glまたは−glは、1とmの間の少なくとも1個の整数値lに対してnを法とした整数の環の平方剰余であり、i=1,...,mに対してGi×Qi v≡1(mod n)の場合にqi≡Qi -v/2(mod n)としGi≡Qi v(mod n)の場合にqi≡Qi v/2(mod n)として、1とmの間の少なくとも1個の整数値sに対してqsがgs(mod n)と合同でも−gs(mod n)と合同でもない、ステップと、
    コミットメントの集合Rjからチャイニーズ剰余法を使用して計算される値を有するコミットメントRを証明者端末から受信して該コミットメントRを前記メモリに格納するステップであって、j=1,...,fであり、各コミットメント成分RjはRj≡rj v(mod pj)であるように値を有し、rjは該証明者端末によって無作為に選ばれる0<rj<pjとなる整数である、ステップと、
    m個のチャレンジd1,d2,...,dmを無作為に選択して該チャレンジを前記メモリに格納するステップと、
    該チャレンジd1,d2,...,dmを前記証明者端末に送信するステップと、
    チャイニーズ剰余法を使用して応答成分Djの集合から計算される応答Dを該証明者端末から受信して該応答Dを前記メモリに格納するステップであって、該応答成分Djは、j=l,...,fに対して、Dj≡rj×Q1,j d1×Q2,j d2×・・・×Qm,j dm(mod pj)となる値を有し、i=1,...,m及びj=l,...,fに対してQi,j≡Qi(mod pj)である、ステップと、
    前記メモリに格納されている、前記公開値、前記公開指数、前記コミットメント、前記チャレンジ、及び前記応答に基づいて、R≡Dv×G1 ε1d1×G2 ε2d2×・・・×Gm εmdm(mod n)となるような値を前記応答Dが有する場合に、前記証明者端末を真正なものと判断するステップであって、i=1,...,mに対して、Gi×Qi v≡1(mod n)の場合にはεi=+1であり、Gi≡Qi v(mod n)の場合にはεi=−1である、ステップと、
    を含む、認証方法。
  3. コンピュータによって実行されるステップを含む認証方法であって、前記ステップは、
    1個または複数の公開値G1,G2,...,Gm及び公開指数vをメモリに格納するステップであって、公開値G1,G2,...,Gmは、秘密値Q1,Q2,...,Qmに対応し、鍵(Qi,Gi)の各組が方程式Gi・Qi v≡1(mod n)または方程式Gi≡Qi v(mod n)のどちらかを満たし、nはp1,...,pfによって指定されるf個の秘密素因数の積に等しい公開整数であり、これらの素因数の少なくとも2個が互いに異なり、公開指数vは、kを1より大きい整数値のセキュリティパラメータとしてv=2kとなるようなものであり、各公開値Gi(i=1,...,m)は、gi(i=1,...,m)を、1より大きく該素因数p1,...,pfのそれぞれより小さい整数を有する基本数であるとして、Gi≡gi 2(mod n)となるようなものであり、glまたは−glは、1とmの間の少なくとも1個の整数値lに対してnを法とした整数の環の平方剰余であり、i=1,...,mに対してGi×Qi v≡1(mod n)の場合にqi≡Qi -v/2(mod n)としGi≡Qi v(mod n)の場合にqi≡Qi v/2(mod n)として、1とmの間の少なくとも1個の整数値sに対してqsがgs(mod n)と合同でも−gs(mod n)と合同でもない、ステップと、
    トークンT及びメッセージMを証明者端末から受信して該トークンT及び該メッセージMを前記メモリに格納するステップであって、トークンTは、T=h(M,R)を満たすような値を有し、hはハッシュ関数であり、Rは、R≡rv(mod n)によって計算がなされて値が得られるコミットメントであり、rは該証明者端末によって無作為に選ばれる0<r<nの整数である、ステップと、
    m個のチャレンジd1,d2,...,dmを無作為に選択して該チャレンジを前記メモリに格納するステップと、
    該チャレンジd1,d2,...,dmを前記証明者端末に送信するステップと、
    D≡r×Q1 d1×Q2 d2×・・・×Qm dm(mod n)によって値が得られる応答Dを該証明者端末から受信して該応答Dを前記メモリに格納するステップと、
    前記メモリに格納されている、前記公開値、前記公開指数、前記トークン、前記メッセージ、前記チャレンジ、及び前記応答に基づいて、h(M,Dv×G1 ε1d1×G2 ε2d2×・・・×Gm εmdm mod n)がトークンTと等しくなるような値を該応答Dが有する場合に前記メッセージMを真正なものと判断するステップであって、i=1,...,mに対して、Gi×Qi v≡1(mod n)の場合にはεi=+1であり、Gi≡Qi v(mod n)の場合にはεi=−1である、ステップと、
    を含む、認証方法。
  4. コンピュータによって実行されるステップを含む認証方法であって、前記ステップは、
    1個または複数の公開値G1,G2,...,Gm及び公開指数vをメモリに格納するステップであって、公開値G1,G2,...,Gmは、秘密値Q1,Q2,...,Qmに対応し、鍵(Qi,Gi)の各組が方程式Gi・Qi v≡1(mod n)または方程式Gi≡Qi v(mod n)のどちらかを満たし、nはp1,...,pfによって指定されるf個の秘密素因数の積に等しい公開整数であり、これらの素因数の少なくとも2個が互いに異なり、公開指数vは、kを1より大きい整数値のセキュリティパラメータとしてv=2kとなるようなものであり、各公開値Gi(i=1,...,m)は、gi(i=1,...,m)を、1より大きく該素因数p1,...,pfのそれぞれより小さい整数を有する基本数であるとして、Gi≡gi 2(mod n)となるようなものであり、glまたは−glは、1とmの間の少なくとも1個の整数値lに対してnを法とした整数の環の平方剰余であり、i=1,...,mに対してGi×Qi v≡1(mod n)の場合にqi≡Qi -v/2(mod n)としGi≡Qi v(mod n)の場合にqi≡Qi v/2(mod n)として、1とmの間の少なくとも1個の整数値sに対してqsがgs(mod n)と合同でも−gs(mod n)と合同でもない、ステップと、
    トークンT及びメッセージMを証明者端末から受信して該トークンT及び該メッセージMを前記メモリに格納するステップであって、トークンTは、T=h(M,R)を満たすような値を有し、hはハッシュ関数であり、Rはコミットメント成分Rjの集合からチャイニーズ剰余法を使用して計算される値を有するコミットメントであり、ここでj=1,...,fであり、各コミットメント成分RjがRj≡rj v(mod pj)となるように値を有し、rjは該証明者端末によって無作為に選ばれる0<rj<pjの整数である、ステップと、
    m個のチャレンジd1,d2,...,dmを無作為に選択して前記メモリに格納するステップと、
    該チャレンジd1,d2,...,dmを該証明者端末に送信するステップと、
    チャイニーズ剰余法を使用して応答成分Djの集合から計算される応答Dを該証明者端末から受信して該応答を前記メモリに格納するステップであって、該応答成分Djが、j=1,...,fに対して、Dj≡rj×Q1,j d1×Q2,j d2×・・・×Qm,j dm(mod pj)となる値を有し、i=1,...,m及びj=1,...,fに対してQi,j≡Qi(mod pj)である、ステップと、
    前記メモリに格納されている、前記公開値、前記公開指数、前記トークン、前記メッセージ、前記チャレンジ、及び前記応答に基づいて、h(M,Dv×G1 ε1d1×G2 ε2d2×・・・×Gm εmdm mod n)がトークンTと等しくなるような値を前記応答Dが有する場合に該メッセージMを真正なものと判断するステップであって、i=1,...,mに対して、Gi×Qi v≡1(mod n)の場合にはεi=+1であり、Gi≡Qi v(mod n)の場合にはεi=−1である、ステップと、
    を含む、認証方法。
  5. 該チャレンジがi=1,...,mに対して0≦di≦2k−1となるようなものである請求項1に記載の認証方法。
  6. コンピュータによって実行されるステップを含む署名方法であって、前記ステップは、
    1個または複数の秘密値Q1,Q2,...,Qmをメモリに格納するステップであって、秘密値Q1,Q2,...,Qmは、公開値G1,G2,...,Gmに対応し、鍵(Qi,Gi)の各組が方程式Gi・Qi v≡1(mod n)または方程式Gi≡Qi v(mod n)のどちらかを満たし、nはp1,...,pfによって指定されるf個の秘密素因数の積に等しい公開整数であり、これらの素因数の少なくとも2個が互いに異なり、公開指数vは、kを1より大きい整数値のセキュリティパラメータとしてv=2kとなるようなものであり、各公開値Gi(i=1,...,m)は、gi(i=1,...,m)を、1より大きく該素因数p1,...,pfのそれぞれより小さい整数を有する基本数であるとして、Gi≡gi 2(mod n)となるようなものであり、glまたは−glは、1とmの間の少なくとも1個の整数値lに対してnを法とした整数の環の平方剰余であり、i=1,...,mに対してGi×Qi v≡1(mod n)の場合にqi≡Qi -v/2(mod n)としGi≡Qi v(mod n)の場合にqi≡Qi v/2(mod n)として、1とmの間の少なくとも1個の整数値sに対してqsがgs(mod n)と合同でも−gs(mod n)と合同でもない、ステップと、
    署名されるメッセージを前記メモリに格納するステップと、
    i=1,...,mに対して、0≦ri≦nであるm個の整数riを無作為に選択して前記メモリに格納するステップと、
    前記メモリに格納されている前記公開指数に基づいて、i=1,...,mに対して、Ri≡ri v(mod n)となる値をもつコミットメントRiを計算して該コミットメントRiを前記メモリに格納するステップと、
    前記メモリに格納されている、前記メッセージ及び前記コミットメントに基づいて、T=h(M,R1,R2,...,Rm)となる値をもつトークンTを計算して該トークンTを前記メモリに格納するステップであって、hはm個のビットd1,d2,...,dmからなるバイナリ行列を生成するハッシュ関数である、ステップと、
    前記メモリに格納されている、前記秘密値、前記m個の整数、及び前記トークンTに基づいて、i=1,...,mに対して、応答Di≡ri×Qi d1(mod n)を計算するステップと、
    を含む、署名方法。
  7. コンピュータによって実行されるステップを含む認証方法であって、前記ステップは、
    1個または複数の公開値G1,G2,...,Gm及び公開指数vをメモリに格納するステップであって、公開値G1,G2,...,Gmは、秘密値Q1,Q2,...,Qmに対応し、鍵(Qi,Gi)の各組が方程式Gi・Qi v≡1(mod n)または方程式Gi≡Qi v(mod n)のどちらかを満たし、nはp1,...,pfによって指定されるf個の秘密素因数の積に等しい公開整数であり、これらの素因数の少なくとも2個が互いに異なり、公開指数vは、kを1より大きい整数値のセキュリティパラメータとしてv=2kとなるようなものであり、各公開値Gi(i=1,...,m)は、gi(i=1,...,m)を、1より大きく該素因数p1,...,pfのそれぞれより小さい整数を有する基本数であるとして、Gi≡gi 2(mod n)となるようなものであり、glまたは−glは、1とmの間の少なくとも1個の整数値lに対してnを法とした整数の環の平方剰余であり、i=1,...,mに対してGi×Qi v≡1(mod n)の場合にqi≡Qi -v/2(mod n)としGi≡Qi v(mod n)の場合にqi≡Qi v/2(mod n)として、1とmの間の少なくとも1個の整数値sに対してqsがgs(mod n)と合同でも−gs(mod n)と合同でもない、ステップと、
    メッセージM、トークンT、及び応答Di(i=1,...,m)を署名者端末から受信して、該メッセージM、該トークンT、及び該応答Diを前記メモリに格納するステップと、
    前記メモリに格納されている、前記公開値、前記公開指数、前記メッセージ、前記トークン、及び前記応答に基づいて、h(M,D1 v×G1 ε1d1 mod n,D2 v×G2 ε2d2 mod n,...,Dm v×Gm εmdm mod n)がトークンTと等しくなるような値を該応答Dが有する場合に前記メッセージMを真正なものと判断するステップであって、i=1,...,mに対して、Gi×Qi v≡1(mod n)の場合にはεi=+1であり、Gi≡Qi v(mod n)の場合にはεi=−1である、ステップと、
    を含む、認証方法。
  8. 命令のセットを格納するメモリと、前記メモリに接続されたプロセッサとを含む前記コンピュータを備えるシステムであって、請求項1〜7の何れか一項に記載の方法を実行するように構成された、システム。
  9. 請求項1〜7の何れか一項に記載の方法を前記コンピュータに実行させるためのプログラムが格納されている、コンピュータ可読記憶媒体。
JP2007258101A 1999-10-01 2007-10-01 エンティティの真正性又はメッセージの完全性を証明するための方法、システム、デバイス Expired - Lifetime JP4809310B2 (ja)

Applications Claiming Priority (8)

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
FR99/12468 1999-10-01
FR99/12467 1999-10-01
FR99/12465 1999-10-01
FR0009644 2000-07-21
FR00/09644 2000-07-21

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001529122A Division JP2004527139A (ja) 1999-10-01 2000-09-29 エンティティの真性性またはメッセージの完全性を証明する方法、システム、および装置。

Publications (2)

Publication Number Publication Date
JP2008048451A JP2008048451A (ja) 2008-02-28
JP4809310B2 true JP4809310B2 (ja) 2011-11-09

Family

ID=27445921

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2001529122A Pending JP2004527139A (ja) 1999-10-01 2000-09-29 エンティティの真性性またはメッセージの完全性を証明する方法、システム、および装置。
JP2001529121A Pending JP2003511899A (ja) 1999-10-01 2000-09-29 エンティティの真正性及びメッセージの完全性を証明するための特定のキーのセット
JP2007258101A Expired - Lifetime JP4809310B2 (ja) 1999-10-01 2007-10-01 エンティティの真正性又はメッセージの完全性を証明するための方法、システム、デバイス

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2001529122A Pending JP2004527139A (ja) 1999-10-01 2000-09-29 エンティティの真性性またはメッセージの完全性を証明する方法、システム、および装置。
JP2001529121A Pending JP2003511899A (ja) 1999-10-01 2000-09-29 エンティティの真正性及びメッセージの完全性を証明するための特定のキーのセット

Country Status (8)

Country Link
US (1) US7080254B1 (ja)
EP (2) EP1216537B1 (ja)
JP (3) JP2004527139A (ja)
CN (2) CN100380862C (ja)
AT (1) ATE518327T1 (ja)
AU (2) AU765538B2 (ja)
CA (2) CA2386748C (ja)
WO (2) WO2001026278A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
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 ルネサスエレクトロニクス株式会社 データ処理システム及びデータ処理方法
CN102396178B (zh) * 2009-04-24 2014-12-10 日本电信电话株式会社 信息生成装置、方法
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)

* Cited by examiner, † Cited by third party
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
DE69704684T2 (de) 1996-02-23 2004-07-15 Fuji Xerox Co., Ltd. Vorrichtung und Verfahren zur Authentifizierung von Zugangsrechten eines Benutzers zu Betriebsmitteln nach dem Challenge-Response-Prinzip

Also Published As

Publication number Publication date
AU7670000A (en) 2001-05-10
EP1216537B1 (fr) 2011-07-27
WO2001026279A1 (fr) 2001-04-12
ATE518327T1 (de) 2011-08-15
CA2388084A1 (en) 2001-04-12
CN100380862C (zh) 2008-04-09
JP2004527139A (ja) 2004-09-02
US7080254B1 (en) 2006-07-18
WO2001026278A1 (fr) 2001-04-12
AU766102B2 (en) 2003-10-09
CA2386748C (en) 2008-11-25
JP2003511899A (ja) 2003-03-25
JP2008048451A (ja) 2008-02-28
AU7669900A (en) 2001-05-10
CA2386748A1 (en) 2001-04-12
CN1387714A (zh) 2002-12-25
AU765538B2 (en) 2003-09-18
CN1433609A (zh) 2003-07-30
EP1216536A1 (fr) 2002-06-26
EP1216537A1 (fr) 2002-06-26
CN1215678C (zh) 2005-08-17

Similar Documents

Publication Publication Date Title
JP4809310B2 (ja) エンティティの真正性又はメッセージの完全性を証明するための方法、システム、デバイス
EP0639907B1 (en) Digital signature method and key agreement method
Cramer et al. New generation of secure and practical RSA-based signatures
EP0503119B1 (en) Public key cryptographic system using elliptic curves over rings
US6076163A (en) Secure user identification based on constrained polynomials
US6411715B1 (en) Methods and apparatus for verifying the cryptographic security of a selected private and public key pair without knowing the private key
US20100166174A1 (en) Hash functions using elliptic curve cryptography
JP3158118B2 (ja) 認証情報の認証確認用システム
TW201320700A (zh) 署名驗證裝置、署名驗證方法、程式及記錄媒體
TW201320701A (zh) 資訊處理裝置、資訊處理方法及程式
EP3496331A1 (en) Two-party signature device and method
US6959085B1 (en) Secure user identification based on ring homomorphisms
Akleylek et al. A novel 3-pass identification scheme and signature scheme based on multivariate quadratic polynomials
JP4772965B2 (ja) エンティティの真正性および/またはメッセージの完全性を証明するための方法
Coron et al. PSS is secure against random fault attacks
JP2005513564A (ja) 負荷を複数のエンティティおよびそのデバイスに分散させるための暗号法
KR100676460B1 (ko) 2의 거듭제곱과 동등한 공개 지수를 이용한 엔티티 인증성및/또는 메시지의 무결성 검증방법
KR100844546B1 (ko) 엔티티의 진정성 또는 메시지의 무결성 검증방법, 시스템 및 장치
Qi A zero-knowledge proof of digital signature scheme based on the elliptic curve cryptosystem
Susilo et al. An efficient fail-stop signature scheme based on factorization
Yu et al. An online/offline signature scheme based on the strong rsa assumption
TW201310957A (zh) 資訊處理裝置、資訊處理方法、程式及記錄媒體
WO2001001625A9 (en) Secure user identification based on ring homomorphisms
Young et al. Towards signature-only signature schemes
Damgard RSA-Based Signatures

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20101014

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110224

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110706

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110711

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110725

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110818

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

Free format text: PAYMENT UNTIL: 20140826

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4809310

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250