JP2013539295A - メッセージ復元を伴うデジタル署名の認証された暗号化 - Google Patents

メッセージ復元を伴うデジタル署名の認証された暗号化 Download PDF

Info

Publication number
JP2013539295A
JP2013539295A JP2013529768A JP2013529768A JP2013539295A JP 2013539295 A JP2013539295 A JP 2013539295A JP 2013529768 A JP2013529768 A JP 2013529768A JP 2013529768 A JP2013529768 A JP 2013529768A JP 2013539295 A JP2013539295 A JP 2013539295A
Authority
JP
Japan
Prior art keywords
message
signer
mac
key
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013529768A
Other languages
English (en)
Inventor
マシュー ジョン カンパーニャ,
ダニエル リチャード エル. ブラウン,
グレゴリー マーク ザーベルチャ,
Original Assignee
サーティコム コーポレーション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by サーティコム コーポレーション filed Critical サーティコム コーポレーション
Publication of JP2013539295A publication Critical patent/JP2013539295A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic 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 cryptographic hash functions
    • H04L9/3242Cryptographic 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 cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/72Signcrypting, i.e. digital signing and encrypting simultaneously

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

あるフレームワークが、メッセージ復元を伴う、デジタル署名のための認証付暗号化に対して提案され、それによって、認証は、冗長性要件を伴わずに、達成される。Elliptic Curve Pintsov-Vanstone Signature方式は、認証付暗号化の使用を通して、修正され、それによって、メッセージ認証コード(1028)を使用して、認証を可能にする。認証付暗号化は、単一関数内において、または2つの別個の関数として、行われてもよい。認証付暗号化はまた、署名されるメッセージ(104)内の関連付けられたデータに適用されてもよい。

Description

本明細書に説明される技術は、概して、暗号署名に関し、特に、メッセージ復元を伴う、暗号署名の生成および使用に関する。
従来の暗号署名方式は、(1)署名者の識別の確証、および(2)受信したメッセージが、伝送の間、改竄されていないことの確証を提供するために使用することができる。典型的には、署名者は、受信者が、続いて、署名者の識別およびメッセージの起源の認証のために、署名を検証し得るように、メッセージ上に偽造不可能な署名を生成する。
一般に、記憶および伝送要件を低減し得るため、より小さいサイズの暗号値が、望ましい。例えば、“American National Standard for Financial Services ANS X9.62-2005: Public Key Cryptography for the Financial Services Industry - The Elliptic Curve Digital Signature Algorithm(ECDSA)”, Accredited Standards Committee X9, Inc., 2005に説明されるように、Elliptic Curve Digital Signature Algorithm(ECDSA)等の楕円曲線離散対数問題の計算複雑性に基づく、署名方式は、例えば、“PKCS #1 v2.1: RSA Cryptography Standards”, RSA Laboratories, 2002に説明されるように、Rivest Shamir Adleman(RSA)アルゴリズム等の他の暗号方式のものより小さい署名の使用を可能にし得るが、依然として、同一レベルのセキュリティをもたらす。例えば、Nybergらによる“Message Recovery for Signature Schemes Based on the Discrete Logarithm Problem”, Advances in Cryptology-Eurocrypt ‘94, Springer Verlag, New York, 1994に説明されるように、部分的メッセージ復元を伴う、デジタル署名もまた、メッセージの一部を署名値内に埋め込むこと(非表示部分)によって、[メッセージ、署名]対の伝送要件を低減させ得るが、署名のサイズを増加させない。例えば、埋め込まれるメッセージの部分は、送信者のアドレス、または受信者のアドレスの確認を含む場合がある。Elliptic Curve Pintsov-Vanstone Signature(ECPVS)方式は、部分的メッセージ復元を伴う、デジタル署名方式の実施例である。ECPVS 方式は、例えば、“American National Standard for Financial Services Draft X9.92-2007-02-21: Public Key Cryptography for the Financial Services Industry, Digital Signature Algorithms Giving Partial Message Recovery Part 1: Elliptic Curve Pintsov-Vanstone Signatures(ECPVS)”, Accredited Standards Committee X9, Inc., 2007、ならびにVanstoneらによる米国特許第7,249,259号に、より詳細に説明されている。ECPVSでは、署名されるメッセージの全部または一部が、署名内に埋め込まれる、すなわち、「非表示」とされ、そこから復元することができる。本方式はまた、公開鍵を所有する当事者のみ、署名を検証し得、故に、彼らのみ、メッセージの非表示部分を算出し得るように、署名者の公開鍵が秘密に維持される制限を追加することによって、一定レベルの機密性を提供するために使用することができる。
ECPVS署名が検証されるために、署名されるメッセージの非表示部分は、署名者によって選択され、検証者によって同意される、所定の特性を有する。例えば、非表示部分は、署名を検証するために、検証者によって確認される、あるレベルの冗長性を含有してもよい。冗長性によって、メッセージの非表示部分は、一式の有効平文に属するように、識別可能となる。十分な冗長性を前提として、偽造者が、全基準を満たす、署名を創出することは、実行不可能となるはずである。メッセージの非表示部分内に冗長性が多く存在するほど、セキュリティのレベルはより高くなり、伝送される署名されたメッセージは、より長くなる。
メッセージ復元を伴う、デジタル署名において、認証付暗号化を使用するためのフレームワークが、本明細書において提案され、それによって、ECPVS方式は、署名されるメッセージの非表示部分に関する冗長性基準を除去するように修正される。本明細書で提案されるフレームワークは、ECPVSにおいて従来使用される暗号化を認証付暗号化と置換することによって、信頼性とともに、通常の対称鍵暗号化のセキュリティを増大させる。提案されるフレームワークは、署名生成および署名検証にも適用することができる。
一実施例では、Authenticated Encryption-Pintsov Vanstone(AE-PV)方式は、認証付暗号化(AE)関数を使用して、署名されるメッセージの非表示部分を暗号化する一方、検証者によって、署名されたメッセージを検証するために使用される、非表示部分に関するメッセージ認証コード(MAC)を作成する。
別の実施例では、MAC-then-Encrypt-Pintsov Vanstone(ME-PV)方式は、MAC関数を使用して、署名されるメッセージの非表示部分に関するMACを取得した後、暗号化関数が続き、MACが、検証者によって使用され、署名されたメッセージを検証し得るように、非表示部分およびMACの組み合わせを暗号化する。ある変形例では、Encrypt-then-MAC-Pintsov Vanstone(EM-PV)方式は、暗号化関数を使用して、最初に、署名されたメッセージの非表示部分を暗号化した後、MAC関数が続き、暗号化結果に関するMACを取得する。
さらに別の実施例では、Authenticated Encryption with Associated Data-Pintsov Vanstone(AEAD-PV)方式は、認証付暗号化を関連付けられたデータ(AEAD)関数と併用し、メッセージの非表示部分を暗号化し、メッセージ内の非表示部分および暗号化されていない関連付けられたデータの両方に関するMACを作成し、それによって、非表示部分および関連付けられたデータの両方の認証を可能にする。
付随の図面の図は、限定ではなく、一例として、例証されることが意図される。図中の同一参照番号は、対応する、同様の、または類似要素を示す。
図1は、署名者および検証者のための例示的認証付暗号化署名方式の簡略化されたブロック図である。 図2は、署名をメッセージに適用し、署名されたメッセージを生成するための第1の例示的方法の簡略化された流れ図である。 図3は、署名者によって署名される署名されたメッセージを検証するための第1の例示的方法の簡略化された流れ図である。 図4は、署名をメッセージに適用し、署名されたメッセージを生成するための第2の例示的方法の簡略化された流れ図である。 図5は、署名者によって署名される署名されたメッセージを検証するための第2の例示的方法の簡略化された流れ図である。 図6は、署名をメッセージに適用し、署名されたメッセージを生成するための第3の例示的方法の簡略化された流れ図である。 図7は、署名者によって署名される署名されたメッセージを検証するための第3の例示的方法の簡略化された流れ図である。 図8は、署名をメッセージに適用し、署名されたメッセージを生成するための第4の例示的方法の簡略化された流れ図である。 図9は、署名者によって署名される署名されたメッセージを検証するための第4の例示的方法の簡略化された流れ図である。 図10は、例示的署名者デバイスおよび例示的検証者デバイスの簡略化されたブロック図である。
本明細書に説明される署名方式は、楕円曲線上の点群を使用して例示化されるが、代替として、任意の有限巡回群、例えば、Zpの部分群、すなわち、素数pを法とする整数群を使用して、例示化され得る。この場合、群の位数は、p-1であってもよく、生成元Gは、位数nの部分群を生成し、nは、p-1を除算する。従来、Zpの部分群における算術は、乗法的に記述され、2つの要素PおよびQの積は、PQであって、整数kによる楕円曲線群におけるスカラー乗算の類似物は、べき乗、すなわち、Pである。
楕円曲線暗号(ECC)に基づくプロトコルは、楕円曲線離散対数問題の計算複雑性に依拠する。楕円曲線E上の公知の点GおよびQを仮定し、点Qが、スカラー乗率dおよび点Gの積に等しく、すなわち、Q=dGである場合、推測上、スカラー乗率dを判定することは、非常に困難である。周知のアルゴリズムでは、本問題を解決する算術上の困難性は、Gによって生成される部分群のサイズに伴って、指数関数的に増加する。
ECCベースのプロトコルを実装するために、全参加者は、楕円曲線のドメインパラメータに合意する。素数有限体Fにわたって定義される楕円曲線E、すなわち、E(F)は、楕円曲線ドメインパラメータD=(p、a、b、G、n、h)によって定義され、pは、体内の要素の数を表す、奇数の素数であって、整数aおよびbは、例えば、4a+27b≠0(modp)を満たす、素数有限体Fの要素であって(しかしながら、別の式によって規定される曲線が、好適であってもよい)、Gは、位数nを有する、楕円曲線E(F)上の基点または生成元であって、余因数hは、nにわたって、楕円曲線E(F)上の点#E(F)の数の比として定義される、比較的に小さい整数である。E(F)の部分群における算術は、相加的に記述されてもよく、2つの点PおよびQの和は、P+Qであって、整数kによるスカラー乗算は、kPである。既存のECCベースのプロトコルのさらなる詳細は、“Standards for Efficient Cryptography SEC1: Elliptic Curve Cryptography”, Certicom Research, Certicom Corp., 2000、および“Standards for Efficient Cryptography SEC2: Recommended Elliptic Curve Domain Parameters version 2.0”, Certicom Research, Certicom Corp., 2000に説明されている。楕円曲線はまた、素数有限体Fにわたってではなく、2個の要素を伴う、2進法表示である、有限体Fmにわたって定義されることができ、本書に説明される技法は、有限体Fmにわたって定義される楕円曲線に適合するように修正されることができる。
Elliptic Curve Pintsov-Vanstone Signature(ECPVS)方式は、部分的メッセージ復元を伴う、デジタル署名方式を提供する。ECPVS方式は、署名されるメッセージの一部を得られた署名構成要素のうちの1つ内に埋め込まれる、すなわち、「非表示」にすることによって、一定レベルの機密性を提供するために使用されている。ECPVSは、署名者によって、データ上にデジタル署名を生成し、検証者によって、署名の信頼性を検証し、署名内の非表示メッセージの部分を復元するために使用することができる。署名者の秘密鍵は、署名生成プロセスにおいて使用され、対応する公開鍵は、署名検証プロセスにおいて使用される。メッセージの非表示部分が、機密のままであるために、署名者の公開鍵は、秘密のまま維持される必要がある。
用語「署名者」は、本明細書で使用されるように、デジタル署名をデータ上に生成可能である、任意のコンピュータ化デバイスを指す。用語「検証者」は、本明細書で使用されるように、デジタル署名の信頼性を検証可能である、任意のコンピュータ化デバイスを指す。
ECPVS方式の一側面は、署名者による、署名されるメッセージの非表示部分に対するメッセージ冗長性基準の選択であって、その場合、冗長性基準は、署名されたメッセージを検証するために、検証者によって既知である。冗長性基準の実施例として、メッセージが、ASCIIファイルである、メッセージが、具体的フォーマットにある、メッセージが、あるキーワードを含有する、または各段落が、ピリオドで終了することが挙げられる。総冗長性量は、拡張可能なセキュリティパラメータであって、セキュリティ目的を達成するように選択される。十分な冗長性を前提として、偽造者が、冗長性基準を満たす、有効署名をメッセージ上に創出することは、実行不可能なはずである。署名されるメッセージの非表示部分内に冗長性が多いほど、セキュリティのレベルがより高くなり、伝送される署名されたメッセージがより長くなる。その結果、適切な暗号署名の選択は、セキュリティ要件と記憶/伝送要件との間の二律背反を伴うことになり得る。
メッセージ復元を伴う、デジタル署名内において、認証付暗号化を使用するためのフレームワークが、本明細書に提案され、それによって、ECPVS方式は、署名されるメッセージの非表示部分に関する冗長性基準を除去するように修正される。提案されるフレームワークは、署名生成および署名検証にも適用することができる。
一実施例では、Authenticated Encryption-Pintsov Vanstone(AE-PV)方式は、認証付暗号化(AE)関数を使用して、署名されるメッセージの非表示部分を暗号化する一方、検証者によって、署名されたメッセージを検証するために使用される、非表示部分に関するメッセージ認証コード(MAC)を作成する。
別の実施例では、MAC-then-Encrypt-PintsovVanstone(ME-PV)方式は、MAC関数を使用して、署名されるメッセージの非表示部分に関するMACを取得した後、暗号化関数が続き、MACが、検証者によって使用され、署名されたメッセージを検証し得るように、非表示部分およびMACの組み合わせを暗号化する。ある変形例、Encrypt-then-MAC-PintsovVanstone(EM-PV)方式は、暗号化関数を使用して、最初に、署名されたメッセージの非表示部分を暗号化した後、MAC関数が続き、暗号化結果に関するMACを取得する。
さらに別の実施例では、Authenticated Encryption with Associated Data-PintsovVanstone(AEAD-PV)方式は、認証付暗号化を関連付けられたデータ(AEAD)関数と併用し、メッセージの非表示部分を暗号化し、メッセージ内の非表示部分および暗号化されていない関連付けられたデータの両方に関するMACを作成し、それによって、非表示部分および関連付けられたデータの両方の認証を可能にする。
本明細書で提案されるフレームワークはまた、鍵暗号化されたECPVSおよび他の署名暗号化技法に適用されてもよい。
以下の実施例では、別様に記載されない限り、署名方式における署名者および検証者は、好適なドメインパラメータに合意したものと仮定され得る。例えば、楕円曲線上の点群を使用して例示される署名方式の場合、署名者および検証者は、基点Gを含む、対応する楕円曲線ドメインパラメータに合意する。
前述のように、本明細書に説明されるPintsov-Vanstone(PV)署名方式は、楕円曲線上の点群を使用して例示化されるが、方式は、任意の有限巡回群を使用して、例示化されてもよい。この場合、署名者および検証者は、生成元Gを含む、その群と関連付けられたドメインパラメータに合意する必要があるであろう。
特定の署名方式を使用する、署名者および検証者は、その方式と関連付けられた関数およびパラメータに合意する。例えば、Authenticated Encryption-Pintsov Vanstone(AE-PV)方式では、署名者および検証者は、メッセージMを入力としてとり、暗号化された値cと、AEk1(M)=(c,mac)である、メッセージ認証コード(MAC)macを出力することが可能である、整数kによって鍵暗号化された認証付暗号化(AE)関数に合意する。署名者および検証者はまた、整数kによって鍵暗号化され、暗号化された値c’およびMAC mac’を入力としてとり、ADk1(c’,mac’)=(M,VALID)またはADk1(c’,mac’)=(NULL,INVALID)である、メッセージMおよび有効性の表示あるいは空値および無効性の表示のいずれかを出力する、AEの逆変換である、認証付暗号解読(AD)関数に合意する。署名者および検証者はまた、鍵kのビット長およびMAC macのビット長に合意する。
署名者および検証者は、好適な鍵導出関数(KDF)に合意する。例えば、(AE-PV)方式では、KDFは、認証付暗号化関数AEk1および認証付暗号解読関数ADk1と併用するための好適な鍵を構築するために使用することが可能である。任意のANSI-X9-承認鍵導出関数が、使用されてもよく、例えば、“NIST SP 800-108 Recommendation for Key Derivation Using Pseudorandom Functions”, National Institute of Standards and Technology, 2009に説明されるKDFが挙げられる。
ハッシュ関数が、署名方式の一部として使用される実施例では、署名者および検証者は、任意の長さの入力を固定長の出力にマップする、暗号ハッシュ関数に合意する。例示的ハッシュ関数として、“FIPS PUB 180-3 Federal Information Processing Standards Publication: Secure Hash Standard(SHS)”, National Institute of Standards and Technology, 2008に説明されるようなSHA-2ファミリーが挙げられる。
署名者および検証者は、整数および群要素を含む、値を通信するためのエンコーディング方法に合意する。例示的エンコーディング方法は、Dubuissonによって、“ASN.1 Communication Between Heterogeneous Systems”, Morgan Kaufmann, 2000に説明される、ASN.1である。署名者および検証者はまた、それらのハッシュに先立った、ビット列としての値のリストの共通エンコーディングに合意する。例えば、彼らは、(1)全値をオクテット列に変換し、次いで、(2)オクテット列の連結をハッシュするよう合意してもよい。ハッシュと同様に、エンコーディングは、鍵を導出する前に、行われてもよい。KDFおよびハッシュ関数の両方では、エンコーディングは、付加的情報、例えば、署名されるメッセージに関連する、日付、時間、署名者名、検証者名、または連絡先情報を組み込んでもよい。
署名方式のセキュリティのために、ドメインパラメータは、慎重に選択されるべきである。Pintsov Vanstone署名方式のためのパラメータ選択肢のさらなる詳細は、“IEEE P1363a/D2, Standard Specifications for Public Key Cryptography: Pinstov Vanstone Signatures with Message Recovery”, Institute of Electrical and Electronics Engineers, 2000に見出され得る。また、セキュリティのために、署名者は、鍵および署名されたメッセージを生成するために、秘匿乱数または疑似乱数発生器を備えてもよいことに留意されたい。
前述のように、署名生成プロセスにおいて使用された秘密鍵に対応する、署名者の公開鍵は、署名されたメッセージの検証のために、検証者に既知となる。さらに、メッセージの非表示部分が、機密のままであるべき実装の場合、署名者の公開鍵は、他の実在者に開示されるべきではない。
図1は、署名者100および検証者102のために、メッセージ復元を伴う、デジタル署名用の認証付暗号化のための例示的方式の簡略化されたブロック図である。署名者100は、非表示部分Nおよび可視部分Vを備える、メッセージM104に署名する。非表示部分Nは、署名の一部に埋め込まれる、すなわち、「非表示」である、メッセージM104の部分である。署名者100は、署名をメッセージM104に適用し、検証者102に伝送される、署名されたメッセージ106を取得する。署名されたメッセージ106は、少なくとも、第1の署名構成要素c、第2の署名構成要素s、およびメッセージM104の可視部分Vを備える。検証者102が、署名されたメッセージ106を検証するために、検証者102は、署名者100の公開鍵G110を入手している。公開鍵G110は、図1中の点線によって示されるように、直接、署名者100から受信されてもよく、または認証局等の信頼される実在者(図示せず)から受信されてもよい。メッセージM104の非表示部分Nが、機密のままであるべき実装の場合、これは、公開鍵G110の機密性を確実にすることによって、達成されてもよい。検証者102によって行われる、署名されたメッセージ106の認証付暗号解読の結果は、108に示される。署名されたメッセージ106が、検証される場合、メッセージM104の非表示部分Nが、復元され、有効性の表示によって達成される。署名されたメッセージ106が、検証されない場合、非表示部分Nは、復元されず、無効性の表示が存在する。
図2は、署名をメッセージM104に適用して、署名されたメッセージ106を生成することによって、署名者、例えば、署名者100によって行われる、例示的認証付暗号化方法の簡略化された流れ図である。202では、署名者は、他の実在者に開示されるべきではない、署名者の秘密値である、第1の値kを生成する。本第1の値kおよび楕円曲線上の基点Gから、署名者は、式1に従って、第1の値kおよび基点Gのスカラー積に等しい、第2の値Qを計算する。
Q=k・G(1)
いくつかの実装では、対(k,Q)は、一過性である。すなわち、新しい対(k,Q)が、署名が適用される、各メッセージMに対して生成される。
204では、署名者は、第2の値Qから導出された鍵kを構築する。例えば、導出された鍵kは、式2に従って、鍵導出関数KDFを第2の値Qに適用することによって、構築されてもよい。
=KDF(Q) (2)
206では、署名者は、AEk1である、導出された鍵kによって鍵暗号化されたAE関数をメッセージM104の非表示部分Nに適用し、暗号化された値cおよび必須長LのMessage Authentication Code(MAC)macを取得し、ここで、長さLは、認証付暗号化関数AEのパラメータである。これは、式3に示される。
(c,mac)= AEk1(N) (3)
AE関数は、メッセージM104の非表示部分Nを暗号化し、署名されたメッセージ106の後続検証のために、検証者によって使用することができる、MAC macを作成するために使用される。導出された鍵kを既知ではないが、認証付暗号化関数AEk1によって出力されたいくつかの[暗号化された値、MAC]対を観察する、敵対者は、検証者によって使用され、署名されたメッセージ106を正常に検証し、メッセージM104の非表示部分Nを復元し得る、新しい[暗号化された値、MAC]対を出力可能であるべきではない。認証付暗号解読は、図3に関してより詳細に説明される。
使用され得る、可能性として考えられるAE関数の1つは、“NIST SP 800-38C Recommendation for Block Cipher Modes of Operation: The CCM Mode for Authentication and Confidentiality”, National Institute of Standards and Technology, 2007に説明される、AES-CCMとしても知られる、Advanced Encryption Standard(AES)with Counter Mode Encryption(CME)and Cipher Block Chaining(CBC)である。使用され得る、別の可能性として考えられるAE関数は、“NIST SP 800-38D Recommendation for Block Cipher Modes of Operation: The Galois/Counter Mode(GCM)and GMAC”, National Institute of Standards and Technology, 2007に説明される、AES with Galois Counter Mode(AES-GCM)である。AESの詳細は、“FIPS PUB 197 Advanced Encryption Standard(AES)”, Federal Information Processing Standards, 2001, and Section 7.2.2 of “Handbook of Applied Cryptography”, CRC Press, ISBN 0-8493-8523-7に説明されている。使用され得る、さらに別の可能性として考えられるAE関数は、“AES Key Wrap Specification”, National Institute of Standards and Technology, November 2001に説明される、AES Key Wrapおよびそのバリアントである。Accredited Standards Committee、X9, Inc.(ASC X9)は、2004年11月に発表されたその規格案において、4つのアルゴリズムを定義している。それらの4つのアルゴリズムのいずれも、使用され得る、好適なAE関数であって、すなわち、AESKW(AES Key Wrap仕様のバリアント)、TDKW(AESKWに類似するが、AESの代わりに、下層ブロック暗号として、Triple DESを使用する)、AKW1(本質的に、Internet Engineering Task Force Request For Comment 3217において提案されたアルゴリズム)、およびAKW2(金融サービス産業において、制約された旧来のシステム内で使用するために開発された「鍵ブロック」仕様に暗示的に定義される、アルゴリズム)である。また、暗号化に応じて、MAC値を明示的に出力しないが、依然として、認証を提供する、AE関数を使用することができることも想起される。例えば、そのようなAE関数は、入力Iに適用されると、暗号化された値AEk1(I)を出力するが、任意のMACを出力せず、その関連付けられた認証付暗号解読関数ADは、入力I’に適用されると、I’が有効ではないこと、またはIおよびIが有効であることの表示のいずれかを出力する。
図2に戻ると、208では、署名者は、暗号化された値cおよびMACmacから、第1の署名構成要素cを形成する。第1の署名構成要素cは、例えば、式4に示されるように、暗号化された値cおよびMAC macの連結であってもよい。
c=c||mac (4)
代替として、第1の署名構成要素cは、MAC macおよび暗号化された値cの連結、すなわち、c=mac||cであってもよい。より一般的には、第1の署名構成要素cは、任意の可逆的関数fを暗号化された値cおよびMACmacに適用する結果、すなわち、c=f(c,mac)であってもよく、ここでは、fは、署名者および検証者によって合意される。また、当業者によって、ある非可逆的関数が、使用されてもよいことが、理解されるであろう。例えば、3つの要素x、y、およびzを入力としてとり、xおよびyの連結を出力する、関数f、すなわち、f(x,y,z)=x||yは、出力が、要素zに関する情報を含有しないため、可逆的ではない。しかしながら、本関数は、依然として、使用され得る。
210では、署名者は、式5に従って、第2の署名構成要素sを算出する。
s=Hash(c||V)・d+k(mod n) (5)
式中、Hashは、前述のように、暗号ハッシュ関数であって、dは、署名者の秘密鍵であって、対応する公開鍵Gは、G=d・Gである、秘密鍵dおよび基点Gの積として、算出される。
図中に明示的に示されないが、第2の署名構成要素sを計算する他の方法も、想起される。例えば、第2の署名構成要素sは、式5における秘密鍵dおよび第1の値kの位置を交換することによって、計算され得、すなわち、s=Hash(c||V)・k+d(mod n)となる。代替として、これらの式のうちのいずれか1つにおける項のいずれかが、否定され得る。第2の署名構成要素sが、そのような式5の修正を使用して計算される場合、検証手順は、適宜、変更される。
明示的に示されないが、Hash(c||V)は、式5または式5の代替のいずれかにおいて使用するための整数に変換される。
式c||Vは、第1の署名構成要素cおよびメッセージM104の可視部分Vの連結を表す。代替として、可視部分Vは、第1の署名構成要素cと連結されてもよく、すなわち、V||cであってもよい。より一般的には、第1の署名構成要素cは、任意の可逆的関数g、すなわち、g(c、V)を使用して、可視部分Vと組み合わせられてもよく、ここでは、gは、署名者および検証者によって合意される。式4に関して前述のように、ある非可逆的関数もまた、使用されてもよい。
212では、署名者は、署名されたメッセージ106を準備し、署名されたメッセージ106は、第1の署名構成要素c、第2の署名構成要素s、およびメッセージM104の可視部分Vを備える。第1の署名構成要素cおよび可視部分Vは、署名されたメッセージ106の別個の要素として示されるが、また、210において、第2の署名構成要素sの算出の間に行われたように、可逆的関数gを使用して、組み合わせられてもよいことが想起される。例えば、第1の署名構成要素cおよび可視部分Vが、式5に示されるように、連結された場合、署名されたメッセージ106は、c||Vである、同一連結を備えてもよい。
図3は、署名者、例えば、署名者100によって署名されたとされる、署名されたメッセージ、例えば、署名されたメッセージ106を検証するために、検証者、例えば、検証者102によって行われる、例示的認証付暗号解読方法の簡略化された流れ図である。
301では、検証者は、署名されたメッセージ106から、第1の署名構成要素c’、第2の署名構成要素s’、およびメッセージM104の可視部分V’を抽出する。アポストロフィは、未だ検証されていない、値を示すために使用される。前述のように、第1の署名構成要素cおよび可視部分Vが、可逆的関数gを使用して組み合わせられた場合、関数gの逆数、すなわち、g-が、署名されたメッセージ106から、第1の署名構成要素c’および可視部分V’を抽出するために必要となるであろう。
302では、検証者は、署名者および検証者によって合意された、認証付暗号化関数AEと関連付けられた必須長Lを使用して、第1の署名構成要素c’から、暗号化された値c’およびMAC mac’を抽出する。例えば、第1の署名構成要素cが、式4に示されるように、暗号化された値cおよびMAC macの連結として定義された場合、検証者は、第1の署名構成要素c’の開始における残りのビットが、暗号化された値c’に対応するように、第1の署名構成要素c’の最後のLビットをMAC mac’として定義することによって、暗号化された値c’を判定することができる。
暗号化された値cおよびMACmacが、前述のように、いくつかの他の可逆的関数fを使用して、組み合わせられた場合、関数fの逆数、すなわち、f-が、第1の署名構成要素c’から、暗号化された値c’およびMAC mac’を抽出するために必要となるであろう。
302に説明される抽出は、以下により詳細に説明されるように、308における認証付暗号解読関数の適用に先立って、任意の時に、行われ得ることに留意されたい。
304では、検証者は、式6に従って、値Q’を算出する。
Q’=s’・G-Hash(c’||V’)・G (6)
式中、Hashは、式5に示されるように、210において、第2の署名構成要素sを算出するために、署名者によって使用される、同一暗号ハッシュ関数である。前述のように、第2の署名構成要素sが、式5の修正を使用して計算された場合、式6は、適宜、修正される必要があるであろう。式5におけるように、Hash(c||V)は、式6において使用するための整数に変換される。公開鍵G110は、直接、署名者から受信されてもよく、または認証局等の信頼される実在者から受信されてもよい。前述のように、第1の署名構成要素c’および可視部分V’の他の組み合わせも、式6に示される連結c’||V’の代わりに、想起されるが、但し、式6において使用される組み合わせは、式5における第2の署名構成要素sを算出する際に使用されるものに対応することを条件とする。
306では、検証者は、204において導出された鍵kを構築するために、署名者によって使用される同一方法を使用して、値Q’から導出された鍵k’を構築する。例えば、署名者が、式2に示されるように、鍵導出関数KDFを使用して、導出された鍵kを構築した場合、検証者は、式7に従って、導出された鍵k’を構築する。
’=KDF(Q’) (7)
308では、検証者は、206において、署名者によって使用されたAE関数の逆変換である、AD関数を適用する。導出された鍵k’によって鍵暗号化され、ADk1’として表される、AD関数は、署名されたメッセージ106を検証し、メッセージ104の非表示部分Nを復元するために使用されてもよい。AD関数の結果108は、検証者が、署名されたメッセージ106を検証可能であるかどうかに依存する。検証者が、署名されたメッセージ106が有効であると判定する場合、結果108は、メッセージM104の復元された非表示部分Nおよび有効性の表示を備える。検証者が、署名されたメッセージ106が無効であると判定する場合、結果108は、非表示部分Nを伴わずに、無効性の表示のみを備える。
式3に説明され、206に示されるようなAE関数を使用して、暗号化された値cおよびMAC macを共同作成する代わりに、MACの暗号化および作成は、2つの別個のステップとして行うことができる。これには、(1)MAC-then-Encrypt(ME)、および(2)Encrypt-then-MAC(EM)と称される、少なくとも2つのバリアントが存在する。(また、Encrypt-and-MACバリアントも存在する。しかしながら、Encrypt-and-MACバリアントは、暗号化関数およびMAC関数の具体的選択肢に対してのみ秘匿であることを考えて、Encrypt-and-MACバリアントは、明示的に説明されない)。
暗号化関数およびMAC関数は両方とも、秘匿関数であってもよい。秘匿暗号化関数の実施例としては、“NIST SP 800-38A Recommendation for Block Cipher Modes of Operation”, National Institute of Standards and Technology, 2001に説明される、AES with Cipher Block Chaining(AES-CBC)and AES Counter Mode(AES-CTR)が挙げられる。秘匿MAC関数の実施例としては、“ISO/IEC 9797 Data Cryptographic Techniques-Data integrity mechanism using a cryptographic check function employing a block cipher algorithm”, International Organization for Standardization,1989に説明される、AES Cipher Block Chaining Message Authentication Code(AES-CBC-MAC)、および“NIST SP 800-38B Recommendation for Block Cipher Modes of Operation: The CMAC Mode for Authentication”, National Institute of Standards and Technology, 2005に説明される、AES Cipher-based MAC(AES-CMAC)が挙げられる。暗号化関数およびMAC関数は、署名者および検証者によって合意される。
図4は、メッセージM104のための図2に例証される、AE方法の例示的MAC-then-Encryptバリアントの簡略化された流れ図である。図2に関連して説明されるように、図4に例証される例示的方法は、202における、第1の値kの生成および第2の値Qの算出を含む。図2に関連して説明されるように、いくつかの実装では、対(k、Q)は、一過性である。すなわち、新しい対(k,Q)が、署名が適用される、各メッセージMに対して、生成される。しかしながら、本方法では、署名者は、404において、値Qから、第1の導出された鍵k11および第2の導出されたk12を構築する。例えば、導出された鍵kおよびkは、式8に従って、鍵導出関数KDFを第2の値Qに適用することによって、構築されてもよい。
(k、k)= KDF(Q) (8)
式中、KDFの出力は、出力が、第1の導出された鍵k11および第2の導出されたk12に分割され得るように、式2において使用される、KDFの出力より長い。代替として、第1の導出された鍵k11および第2の導出されたk12は、各適用に対して、異なる補助情報を使用して、KDFを第2の値Qに2回適用することによって、構築され得る。各適用に対して、異なる補助情報を使用せずに、KDFを第2の値Qに2回適用可能であるが、これは、セキュリティ上の理由から、賢明ではあり得ない。
405では、署名者は、Tk12である、第2の導出された鍵k12によって鍵暗号化されたMAC関数TをメッセージM104の非表示部分Nに適用し、式9に従って、MAC macを取得する。
mac=Tk12(N) (9)
式中、MACmacは、MAC関数Tのパラメータである、必須長Lを有する。
406では、署名者は、Ek11である、第1の導出された鍵k11によって鍵暗号化された暗号化関数Eを非表示部分NおよびMAC macの組み合わせに適用し、式10に従って、第1の署名構成要素cを取得する。
c=Ek11(N||mac) (10)
式N||macは、非表示部分NおよびMAC macの連結を表す。代替として、MAC macは、、非表示部分Nと連結されてもよく、すなわち、mac||Nであってもよい。より一般的には、非表示部分Nは、任意の可逆的関数jを使用して、MAC macと組み合わせられてもよく、すなわち、j(N,mac)であってもよく、ここでは、jは、署名者および検証者によって合意される。式4に関連して前述のように、ある非可逆的関数もまた、使用されてもよい。
406における第1の署名構成要素cの取得に応じて、方法は、図2に関連して説明されるように進み、署名者は、コンピューティング210において、第2の署名構成要素sを算出し、212において、署名されたメッセージ106を準備する。
図5は、図3に例証されるAD方法の例示的Decrypt-then-Verifyバリアントの簡略化された流れ図である。図3に関連して説明されるように、図5に例証される例示的方法は、301において、署名されたメッセージ106からの第1の署名構成要素c’、第2の署名構成要素s’、および可視部分V’の抽出を含む。アポストロフィは、未だ検証されていない値を示すために使用される。304では、検証者は、公開鍵G110を使用して、値Q’を算出する。506では、検証者は、404において、第1の導出された鍵k11および第2の導出された鍵k12を構築するために、署名者によって使用される同一方法を使用して、値Q’から、第1の導出された鍵k11’および第2の導出された鍵k12’を構築する。
第1の署名構成要素c’を暗号解読するために、検証者は、508において、暗号解読関数Dを第1の署名構成要素c’に適用し、ここでは、暗号解読関数Dは、406において、署名者によって使用された暗号化関数Eの逆変換である。暗号解読関数は、第1の導出された鍵k11’によって鍵暗号化され、Dk11’として表される。これは、式11に示される。
N’||mac’=Dk11’(c) (11)
式中、N’||mac’は、署名されたメッセージ106の非表示部分N’およびMAC mac’の連結を表す。検証者は、署名者および検証者によって合意されたMAC関数Tと関連付けられた必須長Lを使用して、連結N’||mac’から、非表示部分N’およびMACmac’を抽出可能である。非表示部分NおよびMAC macが、前述のように、いくつかの他の可逆的関数jを使用して、406において組み合わせられた場合、j-である、関数jの逆数が、非表示部分N’およびMAC mac’を取得するために必要となるであろう。
510では、検証者は、第2の導出された鍵k12’を使用して、MAC mac’が、署名されたメッセージ106の非表示部分N’の有効MACであることを検証し、適宜、署名されたメッセージ106が、有効であるかどうか判定する。図3に関連して前述のように、検証者が、署名されたメッセージ106が有効であると判定する場合、結果108は、メッセージM104の復元された非表示部分Nおよび有効性の表示を備える。検証者が、署名されたメッセージ106が無効であると判定する場合、結果108は、非表示部分Nを伴わずに、無効性の表示のみ備える。
また、Encrypt-then-MAC/Verify-then-Decryptバリアントは、MAC-then-Encrypt/Decrypt-then-Verifyバリアントの代替として使用され得ることが想起される。図6は、メッセージM104のための図2に例証される、AE方法の例示的Encrypt-then-MACバリアントの簡略化された流れ図である。図2に関連して説明されるように、図6に例証される例示的方法は、Q=k・Gであるように、202における、第1の値kの生成および第2の値Qの算出を含む。図2に関連して説明されるように、いくつかの実装では、対(k、Q)は、一過性である。すなわち、新しい対(k,Q)が、署名が適用される各メッセージMに対して生成される。次いで、図4に関連して説明されるように、署名者は、404において、値Qから、第1の導出された鍵k11および第2の導出されたk12を構築する。
606では、署名者は、Ek11である、第1の導出された鍵k11によって鍵暗号化された暗号化関数Eを非表示部分Nに適用し、式12に従って、暗号化された値cを取得する。
=Ek11(N) (12)
607では、署名者は、Tk12である、第2の導出された鍵k12によって鍵暗号化されたMAC関数Tを暗号化された値cに適用して、式13に従って、MAC macを取得する。
mac=Tk12(c) (13)
式中、MAC macは、MAC関数Tのパラメータである、必須長Lを有する。
607におけるMAC macの取得に応じて、方法は、図2に関連して説明されるように進み、署名者は、208において、暗号化された値cおよびMAC macから、第1の署名構成要素cを形成し、210において、第2の署名構成要素sを算出し、212において、署名されたメッセージ106を準備する。
図7は、図3に例証されるAD方法の例示的Verify-then-Decryptバリアントの簡略化された流れ図である。図3に関連して説明されるように、図7に例証される例示的方法は、301における、署名されたメッセージ106からの第1の署名構成要素c’、第2の署名構成要素s’、および可視部分V’の抽出、302における、第1の署名構成要素c’からの暗号化された値c’およびMAC mac’の抽出、ならびに公開鍵G110を使用した、304における、値Q’の算出を含む。アポストロフィは、未だ検証されていない値を示すために使用される。図5に関連して説明されるように、506では、検証者は、404において、第1の導出された鍵k11および第2の導出された鍵k12を構築するために、署名者によって使用される同一方法を使用して、値Q’から、第1の導出された鍵k11’および第2の導出された鍵k12’を構築する。
708では、検証者は、第2の導出された鍵k12’を使用して、MAC mac’が、暗号化された値c’の有効MACであることを検証し、適宜、署名されたメッセージ106が有効であるかどうかを判定する。
検証者が、MAC mac’が、暗号化された値c’の有効MACであると判定する場合、検証者は、710に進み、暗号解読関数Dを暗号化された値c’に適用し、ここでは、暗号解読関数は、606において、署名者によって使用された暗号化関数Eの逆変換である。暗号解読関数は、第1の導出された鍵k11’によって鍵暗号化され、Dk11’として表される。これは、式14に示される。
N=Dk11’(c’) (14)
検証者は、708において、MAC mac’が、暗号化された値c’の有効MACであって、その結果、署名されたメッセージ106が有効であると既に判定しているため、結果108は、メッセージM104の復元された非表示部分Nおよび有効性の表示を備える。
検証者が、708において、MAC mac’が、暗号化された値c’の有効MACではないと判定する場合、検証者は、710において、暗号解読関数Dを適用せず、結果108は、非表示部分Nを伴わずに、無効性の表示のみを備える。
別の実施例では、Authenticated Encryption with Associated Data(AEAD)は、メッセージ復元を伴う、Pintsov-Vanstone署名方式の一部として、使用することができる。例えば、AE関数は、AEAD関数によって置換され得る。AEADは、Rogawayによる、“Authenticated encryption with associated data”, Proceedings of ACM CCS’02: 98-107, ACM, New York, 2002により詳細に説明されている。
AE-PV、ME-PV、およびEM-PV方式と同様に、AEAD-Pintsov Vanstone(AEAD-PV)方式は、署名内に埋め込まれた、すなわち、非表示である、メッセージMの非表示部分Nを暗号化し、信頼性および機密性をメッセージのその部分に提供するために使用することができる。AEAD-PV方式は、AEAD関数を使用して、メッセージの可視部分Vの信頼性を保証する(したがって、ハッシュ関数の使用を回避してもよい)。多くの設定では、暗号化鍵を所有していない中間当事者によって、メッセージの処理またはルーティングを可能にするために公開される、暗号化された値と関連付けられたデータが存在する。前述の署名方式におけるAE関数の代わりに、AEAD関数を使用することは、ハッシュ関数が、関与されないという利点を有する。
AEAD-PV方式は、署名者および検証者が、非表示部分Nおよび可視部分Vを入力としてとり、暗号化された値cおよびAEAD(N、V)=(c,mac)であるMACmacを出力可能である、整数kによって鍵暗号化されたAEAD関数に合意することを含む。署名者および検証者はまた、整数k’によって鍵暗号化され、暗号化された値c’およびMACmac’を入力としてとり、ADADk1’(c’,mac’,V)=(N,VALID)またはADADk1’(c’,mac’,V)=(NULL,INVALID)である、非表示部分Nおよび有効性の表示あるいは空値および無効性の表示のいずれかを出力する、AEADの逆変換である、Authenticated Decryption with Associated Data(ADAD)関数に合意する。署名者および検証者はまた、鍵kのビット長およびMAC macのビット長に合意する。提案されるフレームワークにおいて使用するために好適な例示的AEADは、Kohnoらによる、“CWC: A High-Performance Conventional Authenticated Encryption Mode”, Proceedings of Fast Software Encryption 2004(FSE’04), LNCS 3017: 408-426, 2004に説明されている。
図8は、署名をメッセージ104に適用し、署名されたメッセージ106を生成するために、署名者、例えば、署名者100によって行われる、例示的Authenticated Encryption with Associated Data(AEAD)方法の簡略化された流れ図である。図2に関連して説明されるように、202では、署名者は、Q=k・Gであるように、第1の値kを生成し、第2の値Qを計算する。図2に関連して説明されるように、いくつかの実装では、対(k、Q)は、一過性である。すなわち、新しい対(k,Q)が、署名が適用される各メッセージMに対して生成される。204では、署名者は、第2の値Qから、導出された鍵kを構築する。
806では、署名者は、AEADk1である、導出された鍵kによって鍵暗号化されたAEAD関数をメッセージM104の非表示部分NおよびメッセージM104の可視部分Vに適用し、必須長Lの暗号化された値cおよびMAC macを取得し、ここでは、長さLは、署名者および検証者によって合意された、AEADと関連付けられたパラメータである。これは、式15に示される。
(c,mac)=AEADk1(N,V) (15)
AEAD関数は、メッセージM104の非表示部分Nを暗号化し、署名されたメッセージ106の後続検証のために、検証者によって使用することができる、MACを作成するために使用される。特に、AEAD関数の適用は、以下により詳細に説明されるように、ハッシュ関数を伴うことなく、可視部分Vの信頼性を保証するために使用されてもよい。
806において、暗号化された値cおよびMAC macを取得後、署名者は、図2に関連して説明されるように、208に進み、暗号化された値cおよびMAC macから、第1の署名構成要素cを形成する。
810では、署名者は、式16に従って、第2の署名構成要素sを算出する。
s=mac・d+k(mod n) (16)
式中、MAC macは、式16において使用するための整数に変換された。式16と式5の比較は、AE-PV、ME-PV、およびEM-PV認証付暗号化方法のハッシュ関数が、AEAD-PV暗号化に関与しないことを明らかにする。
図8に明示的に示されないが、第2の署名構成要素sを計算する他の方法も、想起される。例えば、第2の署名構成要素sは、式16における秘密鍵dおよび第1の値kの位置を交換することによって計算され得る、すなわち、s=mac・d+k(mod n)となる。代替として、これらの式のうちのいずれか1つにおける項のいずれかは、否定され得る。第2の署名構成要素sが、そのような式16の修正を使用して計算される場合、検証手順は、適宜、変更される。
208における、第2の署名構成要素sの算出に続いて、署名者は、図2に関連して説明されるように、212に進み、署名されたメッセージ106を準備する。
図9は、署名者、例えば、署名者100によって署名されたとされる、署名されたメッセージ、例えば、署名されたメッセージ106を検証するために、検証者、例えば、検証者102によって行われる、例示的Authenticated Decryption with Associated Data(ADAD)方法の簡略化された流れ図である。図3に関連して説明されるように、図9に例証される例示的方法は、301における、署名されたメッセージ106からの第1の署名構成要素c’、第2の署名構成要素s’、および可視部分V’の抽出、302における、第1の署名構成要素c’からの暗号化された値c’およびMAC mac’の抽出を含む。アポストロフィは、未だ検証されていない値を示すために使用される。この場合、MAC mac’は、署名者および検証者によって合意されたAEAD関数のパラメータである、必須長Lを有する。
904では、検証者は、式17に従って、公開鍵G110を使用して、値Q’を算出する。
Q’=s’・G-mac’・G (17)
式中、MAC mac’は、式17における使用に先立って、整数に変換された。式17と式6の比較は、AE-PV、ME-PV、およびEM-PV認証付暗号解読方法のハッシュ関数が、AEAD-PV暗号解読に関与しないことを明らかにする。
前述のように、第2の署名構成要素sが、式16の修正を使用して計算された場合、式17は、適宜、修正される必要があるであろう。
306では、検証者は、204において、導出された鍵kを構築するために、署名者によって使用される同一方法を使用して、値Q’から、導出された鍵k’を構築する。
908では、検証者は、ADAD関数を暗号化された値c’、MAC mac’および可視部分V’に適用し、ここでは、ADAD関数は、806において、署名者によって使用されたAEAD関数の逆変換である。導出された鍵k’によって鍵暗号化され、ADADk1’として表される、ADAD関数は、署名されたメッセージ106を検証して、メッセージM104の非表示部分Nを復元するために使用されてもよい。ADAD関数の結果108は、検証者が、署名されたメッセージ106を検証可能であるかどうかに依存する。検証者が、署名されたメッセージ106が有効であると判定する場合、結果108は、メッセージM104の復元された非表示部分Nおよび有効性の表示を備える。検証者が、署名されたメッセージ106が無効であると判定する場合、結果108は、非表示部分Nを伴わずに、無効性の表示のみを備える。
前述のように、提案されるフレームワークはまた、鍵暗号化されたECPVSおよび他の署名暗号化技法に適用されてもよい。署名暗号化は、公開鍵署名および暗号化の両方の機能性を提供する。署名者は、署名暗号化メッセージを作成時、検証者の公開鍵を使用する。検証者のみ、メッセージを暗号解読し、検証者の秘密鍵および署名者の公開鍵を使用して、署名者によって署名されたことを検証することができる。これは、機密性が、検証者の秘密鍵の秘密性によって提供され、署名者の公開鍵が、公開されてもよいため、ECPVSにおけるように、署名者の公開鍵を秘密に維持することとは異なる。
非常に短いメッセージM=N||Vの場合、可視部分Vは、空値であってもよいことを理解されるであろう。AE-PV方式は、可視部分Vが、空値である時、修正を伴わずに、対処することができる。非表示部分Nが、空値である場合、非表示部分Nは、AE-PV方式では、ゼロバイトまたは任意の他の公開定数によって、置換されるはずである。AEAD-PV方式は、空値メッセージに対処可能であってもよい。そうではない場合、空値メッセージまたはメッセージの空値部分は、公開定数によって、置換されることができる。
図10は、署名者デバイス1000および検証者デバイス1040の簡略化されたブロック図である。
署名者デバイス1000は、図2、4、6、および8に例証される例示的方法のうちの1つ以上を行うことが可能である。署名者デバイス1000は、メモリ1004および通信インターフェース1006に結合される、プロセッサ1002を備える。署名者デバイス1000は、乱数または擬乱数発生器(RNG)1005を備えてもよい。署名者デバイス1000は、明確にするために、図10に示されない、他の要素を含有してもよい。
検証者デバイス1040は、図3、5、7、および9に例証される例示的方法のうちの1つ以上を行うことが可能である。検証者デバイス1040は、メモリ1044および通信インターフェース1046に結合される、プロセッサ1042を備える。検証者デバイス1040は、明確にするために、図10に示されない、他の要素を含有してもよい。
プロセッサ1002および1042は、処理ユニット、デジタル信号プロセッサ、ハードウェアアクセラレータ、および同等物の任意の組み合わせを備えてもよい。メモリ1004の全部または一部は、プロセッサ1002内に埋め込まれてもよい。メモリ1044の全部または一部は、プロセッサ1042内に埋め込まれてもよい。
通信インターフェース1006および1046は、有線通信インターフェースまたは無線通信インターフェース、あるいは光学通信インターフェースであってもよい。例えば、通信インターフェース1006および1046は、Universal Serial Bus(USB)インターフェース、Ethernet(登録商標)インターフェース、Integrated Services Digital Network(ISDN)インターフェース、Digital Subscriber Line(DSL)インターフェース、Local Area Network(LAN)インターフェース、High-Definition Multimedia(HDMI(登録商標))インターフェース、Digital Visual Interfaces(DVI)、またはInstitute of Electrical and Electronics Engineers(IEEE)1394 インターフェース、例えば、i.LINKTM、LynxSM、またはFirewire(R)であってもよい。別の実施例では、通信インターフェース1006および1046は、Wireless Local Area Network(WLAN)インターフェース、短距離無線通信インターフェース、例えば、Wireless Personal Area Network(WPAN)インターフェース、近距離通信インターフェース、無線都市規模ネットワーク(WMAN)インターフェース、またはWireless Wide Area Network(WWAN)インターフェースであってもよい。
図2、4、6、および8に例証される例示的方法のうちの1つ以上の機能性は、プロセッサ1002および署名者デバイス1000のメモリ1004内に記憶されるコード1008の任意の組み合わせによって実装されてもよい。メモリ1004はまた、プロセッサ1002によって実行される、署名者デバイス1000内にインストールされる、アプリケーション(図示せず)を記憶してもよい。
メモリ1004および1044はそれぞれ、署名者デバイス1000および検証者デバイス1040によって合意された、パラメータ1010を記憶可能である。合意されたパラメータ1010の実施例は、楕円曲線ドメインパラメータD、1つ以上の鍵導出関数、1つ以上のハッシュ関数、実装される署名方式と関連付けられた1つ以上の関数(例えば、AE関数、MAC関数、暗号化関数、およびAEAD関数のうちの1つ以上)、ならびにメッセージ認証コードの必須長L等、署名方式と関連付けられたパラメータである。
メモリ1004は、署名者デバイス1000の公開鍵G1014に対応する、署名者デバイス1000の秘密鍵d1012を記憶可能である。メモリ1004はまた、202において算出されるような第1の値k1016および第2の値Q1018を記憶可能であるが、対(k、Q)が、一過性であって、したがって、メモリ内に記憶されない実装を除く。メモリ1004は、署名されるメッセージの非表示部分N1020および可視部分V1022を記憶可能である。加えて、メモリ1004は、204または404において構築されるような1つ以上の導出された鍵1024、206、606、または806において構築されるような暗号化された値c1026、および206、405、607、または806において判定されるようなメッセージ認証コードmac1028を記憶可能である。メモリ1004は、208または406において判定されるような第1の署名構成要素c1030、および210または810において判定されるような第2の署名構成要素s1032を記憶可能である。メモリ1004は、図10に明示的に示されない、付加的要素を記憶してもよい。
矢印1034によって表されるように、可視部分V1022、第1の署名構成要素c1030、および第2の署名構成要素s1032を備える、署名されたメッセージ1036は、直接または1つ以上の中間体を介して、署名者デバイス1000から、検証者デバイス1040に送信可能であって、検証者デバイス1040のメモリ1044内に記憶されてもよい。明示的に示されないが、署名されたメッセージ1036は、署名者デバイス1000から、通信インターフェース1006を介して、送信されてもよく、検証者デバイス1040によって、通信インターフェース1046を介して、受信されてもよい。
図3、5、7、および9に例証される例示的方法のうちの1つ以上の機能性は、プロセッサ1042および検証者デバイス1040のメモリ1044内に記憶されるコード1048の任意の組み合わせによって実装されてもよい。メモリ1044はまた、プロセッサ1042によって実行される、検証者デバイス1040内にインストールされる、アプリケーション(図示せず)を記憶してもよい。
メモリ1044は、直接、署名者デバイス1000または信頼されるデバイス(図示せず)から、可能性として、通信インターフェース1046を介して、および可能性として、他の手段によって、受信され得る、署名者デバイス1000の公開鍵G1014を記憶可能である。例えば、署名者デバイス1000の公開鍵G1014は、検証者デバイス1040上にインストールされる、ソフトウェア内に含まれてもよい。メモリ1044はまた、304または904において判定されるような値Q’1050、306または506において構築されるような1つ以上の導出された鍵1052、302において抽出されるような暗号化された値c’1054、および302または508において判定されるようなメッセージ認証コードmac’1056、ならびに復元された非表示部分N1020を記憶可能である。メモリ1044は、図10に明示的に示されない、付加的要素を記憶してもよい。
本主題は、構造的特徴および/または方法論的作用に特有の用語において説明されたが、添付の請求項に定義される主題は、必ずしも、前述の具体的特徴または作用に限定されないことを理解されたい。むしろ、前述の具体的特徴および作用は、請求項を実装する例示的形態として開示される。

Claims (9)

  1. 署名をオリジナルメッセージ[M](104)に適用し、署名者(100、1000)によって署名される署名されたメッセージ(106、1036)を生成する方法であって、前記オリジナルメッセージ[M](104)は、第1の部分[N](1020)および第2の部分[V](1022)から成り、前記方法は、
    第1の整数値[k](1016)を選択し、前記第1の整数値[k](1016)および楕円曲線の基点[G]から、第2の値[Q](1018)を算出するステップであって、前記第2の値[Q](1018)は、前記楕円曲線上の点集合内に含まれる、ステップと、
    鍵導出関数[KDF]を前記第2の値[Q](1018)を含む入力に適用することによって、導出された鍵[k](1024)を構築するステップと、
    前記導出された鍵[k](1024)によって鍵暗号化された認証付暗号化関数を前記メッセージ[M](104)の前記第1の部分[N](1020)に適用し、暗号化された値[c](1026)を取得し、メッセージ認証コード[mac](1028)を取得するステップと、
    前記暗号化された値[c](1026)および前記メッセージ認証コード[mac](1028)を可逆的に組み合わせ、第1の署名構成要素[c](1030)を形成するステップと、
    第2の署名構成要素[s](1032)を算出するステップであって、前記算出は、
    (i)前記第1の整数値[k](1016)と、
    (ii)前記署名者(100、1000)の秘密鍵[d](1012)と、
    (iii)前記第1の署名構成要素[c](1030)および前記メッセージ[M](104)の前記第2の部分[V](1022)に依存する、第2の整数値と
    を使用して行われる、ステップと、
    前記第1の署名構成要素[c](1030)、前記第2の署名構成要素[s](1032)、および前記メッセージ[M](104)の前記第2の部分[V](1022)を可逆的に組み合わせ、前記署名されたメッセージ(106、1036)を形成するステップと
    を含み、前記署名されたメッセージ(106、1036)の検証および前記署名されたメッセージ(106、1036)からの前記メッセージ[M](104)の前記第1の部分[N](1020)の復元は、前記署名者(100、1000)の公開鍵[G](110、1014)を伴う、方法。
  2. 前記署名者の前記公開鍵[G]は、前記楕円曲線上の前記点集合内に含まれ、前記秘密鍵[d](1012)および前記基点[G]から算出可能である、請求項1に記載の方法。
  3. 前記署名されたメッセージ(106、1036)を検証者(102、1040)に伝送するステップをさらに含む、請求項1に記載の方法。
  4. 前記方法は、
    ハッシュ関数を前記第1の署名構成要素[c](1030)および前記メッセージ[M](104)の前記第2の部分[V](1022)の可逆的組み合わせに適用し、ハッシュ結果を取得するステップと、
    前記ハッシュ結果に相当する前記第2の整数値を計算するステップと
    をさらに含む、請求項1に記載の方法。
  5. 前記可逆的組み合わせはさらに、前記署名者(100、1000)の識別を含む、請求項4に記載の方法。
  6. 署名されたメッセージ(106、1036)を検証する方法であって、前記署名されたメッセージ(106、1036)は、署名を第1の部分[N](1020)および第2の部分[V](1022)から成るオリジナルメッセージ[M](104)に適用することによって生成され、前記方法は、
    署名者(100、1000)によって署名されたとされる前記署名されたメッセージ(106、1036)を受信するステップであって、前記署名されたメッセージ(106、1036)は、第1の署名構成要素[c](1030)、第2の署名構成要素[s](1032)、および前記オリジナルメッセージ[M](104)の前記第2の部分[V](1022)から、可逆的様式において、準備される、ステップと、
    前記署名されたメッセージ(106、1036)から、前記第1の署名構成要素[c](1030)、前記第2の署名構成要素[s](1032)、および前記第2の部分[V](1022)を抽出するステップと、
    前記第1の署名構成要素[c](1030)から、メッセージ認証コード[mac’](1056)および暗号化された値[c’](1054)を抽出するステップと、
    前記署名者(100、1000)の公開鍵[G](110、1014)を受信するステップと、
    前記第2の署名構成要素[s](1032)、楕円曲線の基点[G]、前記公開鍵[G](110、1014)、ならびに前記第1の署名構成要素[c](1030)および前記メッセージ[M](104)の前記第2の部分[V](1022)に依存する中間値を使用して、第1の値[Q’](1050)を算出するステップと、
    鍵導出関数[KDF]を前記第1の値[Q’](1050)を含む入力に適用することによって、導出された鍵[k’](1052)を構築するステップと、
    前記導出された鍵[k’](1052)によって鍵暗号化された認証付暗号解読関数を前記暗号化された値[c’](1054)および前記メッセージ認証コード[mac’](1056)に適用し、前記署名されたメッセージ(106、1036)が、有効であるかどうかを判定し、前記署名されたメッセージ(106、1036)が、有効である場合、前記オリジナルメッセージ[M](104)の前記第1の部分[N](1020)を復元するステップと
    を含む、方法。
  7. 前記署名者の前記公開鍵[G]は、前記楕円曲線上の点集合内に含まれ、前記署名者(100、1000)の秘密鍵[d](1012)および前記基点[G]から算出可能である、請求項6に記載の方法。
  8. 署名者デバイス(100、1000)であって、
    プロセッサ(1002)と、
    前記プロセッサ(1002)に結合された通信インターフェース(1006)と、
    前記プロセッサ(1002)に結合されたメモリ(1004)であって、前記メモリ(1004)は、前記プロセッサ(1002)によって実行されると、請求項1から5に記載の方法のうちのいずれかを行うように構成される、コード(1008)を含む、メモリ(1004)と
    を含む、デバイス。
  9. 検証者デバイス(102、1040)であって、
    プロセッサ(1042)と、
    前記プロセッサ(1042)に結合された通信インターフェース(1046)と、
    前記プロセッサ(1042)に結合されたメモリ(1044)であって、前記メモリ(1044)は、前記プロセッサ(1002)によって実行されると、請求項6または請求項7に記載の方法を行うように構成される、コード(1048)を含む、メモリ(1044)と
    を含む、デバイス。
JP2013529768A 2010-10-15 2011-10-11 メッセージ復元を伴うデジタル署名の認証された暗号化 Pending JP2013539295A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US39374410P 2010-10-15 2010-10-15
US61/393,744 2010-10-15
PCT/IB2011/054489 WO2012049629A1 (en) 2010-10-15 2011-10-11 Authenticated encryption for digital signatures with message recovery

Publications (1)

Publication Number Publication Date
JP2013539295A true JP2013539295A (ja) 2013-10-17

Family

ID=44772903

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013529768A Pending JP2013539295A (ja) 2010-10-15 2011-10-11 メッセージ復元を伴うデジタル署名の認証された暗号化

Country Status (6)

Country Link
US (1) US20120096273A1 (ja)
EP (1) EP2442483A3 (ja)
JP (1) JP2013539295A (ja)
CN (1) CN103155481A (ja)
CA (1) CA2808701C (ja)
WO (1) WO2012049629A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103444128B (zh) * 2011-03-18 2017-04-05 塞尔蒂卡姆公司 密钥pv签名
US8850199B2 (en) 2012-04-27 2014-09-30 Certicom Corp. Hashing prefix-free values in a signature scheme
US9049022B2 (en) 2012-04-27 2015-06-02 Certicom Corp. Hashing prefix-free values in a certificate scheme
US8995656B2 (en) 2012-04-27 2015-03-31 Certicom Corp. Multiple hashing in a cryptographic scheme
CN104954130B (zh) * 2014-03-31 2019-08-20 西安西电捷通无线网络通信股份有限公司 一种实体鉴别方法及装置
WO2016187689A1 (en) * 2015-05-26 2016-12-01 Infosec Global Inc. Signature protocol
US9800418B2 (en) * 2015-05-26 2017-10-24 Infosec Global Inc. Signature protocol
US10700875B1 (en) 2017-05-01 2020-06-30 Wells Fargo Bank, N.A. Systems and methods for value transfers using signcryption
GB201707168D0 (en) * 2017-05-05 2017-06-21 Nchain Holdings Ltd Computer-implemented system and method
EP3661115B1 (en) * 2017-09-01 2024-01-17 Mitsubishi Electric Corporation Encryption device, decryption device, encryption method, decryption method, encryption program, and decryption program
CN107454106B (zh) * 2017-09-15 2018-07-06 北京海泰方圆科技股份有限公司 一种信息验证的方法及装置
US10862670B2 (en) * 2018-05-18 2020-12-08 Infineon Technologies Ag Automotive nonce-misuse-resistant authenticated encryption
US11108567B2 (en) * 2019-02-15 2021-08-31 International Business Machines Corporation Compute digital signature authentication verify instruction
US11075763B2 (en) * 2019-02-15 2021-07-27 International Business Machines Corporation Compute digital signature authentication sign with encrypted key instruction
CN110210236B (zh) * 2019-05-27 2020-07-14 北京深演智能科技股份有限公司 数据关联方法及装置
CN111953675B (zh) * 2020-08-10 2022-10-25 四川阵风科技有限公司 一种基于硬件设备的密钥管理方法
CN113179249B (zh) * 2021-03-25 2022-09-13 重庆扬成大数据科技有限公司 大数据网络中政务数据快速安全挖掘方法
US11689375B2 (en) * 2021-05-21 2023-06-27 International Business Machines Corporation Data in transit protection with exclusive control of keys and certificates across heterogeneous distributed computing environments

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7249259B1 (en) * 1999-09-07 2007-07-24 Certicom Corp. Hybrid signature scheme
US7739501B2 (en) * 2004-07-29 2010-06-15 Infoassure, Inc. Cryptographic key construct
US7865730B2 (en) * 2006-01-30 2011-01-04 Kronos Technology Systems Limited Partnership Bcencryption (BCE)—a public-key based method to encrypt a data stream
WO2009030021A1 (en) * 2007-09-04 2009-03-12 Certicom Corp. Signatures with confidential message recovery
JP2011508997A (ja) * 2007-12-13 2011-03-17 サーティコム コーポレーション デバイス上の機能を制御するためのシステムおよび方法
JP4613969B2 (ja) * 2008-03-03 2011-01-19 ソニー株式会社 通信装置、及び通信方法
EP2151947A1 (en) * 2008-08-05 2010-02-10 Irdeto Access B.V. Signcryption scheme based on elliptic curve cryptography
ITMI20082309A1 (it) * 2008-12-23 2010-06-24 St Microelectronics Srl Metodo di trasmissione di un messaggio, preferibilmente per una rete di distribuzione di energia
CA2806357C (en) * 2010-10-15 2015-03-03 Certicom Corp. Authenticated encryption for digital signatures with message recovery

Also Published As

Publication number Publication date
US20120096273A1 (en) 2012-04-19
WO2012049629A1 (en) 2012-04-19
CA2808701A1 (en) 2012-04-19
EP2442483A2 (en) 2012-04-18
CN103155481A (zh) 2013-06-12
CA2808701C (en) 2015-03-24
EP2442483A3 (en) 2012-08-15

Similar Documents

Publication Publication Date Title
CA2806357C (en) Authenticated encryption for digital signatures with message recovery
CA2808701C (en) Authenticated encryption for digital signatures with message recovery
CN112367175B (zh) 基于sm2数字签名的隐式证书密钥生成方法
CN108667626A (zh) 安全的两方协作sm2签名方法
CN110830236B (zh) 基于全域哈希的身份基加密方法
CN110113150B (zh) 基于无证书环境的可否认认证的加密方法和系统
Roy et al. A survey on digital signatures and its applications
CN110120939B (zh) 一种基于异构系统的可否认认证的加密方法和系统
CN107707358A (zh) 一种ec‑kcdsa数字签名生成方法及系统
US9088419B2 (en) Keyed PV signatures
US20160352525A1 (en) Signature protocol
CN106936584B (zh) 一种无证书公钥密码系统的构造方法
CN114095181B (zh) 一种基于国密算法的门限环签名方法及系统
CN114448641A (zh) 一种隐私加密方法、电子设备、存储介质以及芯片
CN113162773A (zh) 一种可证安全的异构盲签密方法
US20150006900A1 (en) Signature protocol
CN109831305B (zh) 基于非对称密钥池的抗量子计算签密方法和系统
CN109787772B (zh) 基于对称密钥池的抗量子计算签密方法和系统
Das et al. An elliptic curve based signcryption protocol using java
Das et al. Cryptanalysis of Signcryption Protocols Based On Elliptic Curve
JP3862397B2 (ja) 情報通信システム
CN117879833A (zh) 一种基于改进椭圆曲线的数字签名生成方法
Kou et al. Security fundamentals
Jirapure et al. A Critical Review of Different Cryptographic Technique in Pretty Good Privacy
Lioy Basics of ICT security

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140307

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140729