公開鍵暗号方式の構成
公開鍵暗号方式は,以下に示す3つの階層から構成されている (IEEE P1363: Standard Specifications for Public Key Cryptography).
- プリミティブ (Primitives)
数学的に定義される基本的な暗号の演算アルゴリズムである(それ自身では必ずしもセキュリティを実現するものではない).
素因数分解問題(IF)や離散対数問題(DL)をベースにしたプリミティブがある. 例えば,RSAプリミティブは素因数分解問題の困難性に基づく暗号プリミティブである.
- スキーム (Schemes)
プリミティブとその他の要素技術(ハッシュ関数や擬似乱数等)を組み合わせてセキュリティ機能を実現する方式である.
単純に暗号プリミティブを用いただけでは,強力な攻撃者に対しては暗号として安全ではない.このため,ハッシュ関数などを利用してより複雑な手順(暗号スキーム)に変換することにより安全性を高めている.
- プロトコル (Protocols)
複数のパーティ間で実現されるプリミティブとスキームの組合せにより構築されるセキュリティ機能に関する一連の処理である.
一般的に利用される鍵交換や署名方式は,これらのプリミティブとスキームの組合せにより構築される. 同じプリミティブでも異なったスキーム(あるいは,同じスキームでも異なったプリミティブ)により異なる暗号方式や署名方式になる.
プリミティブ
プリミティブは,以下のように分類されている.
- 秘密情報導出プリミティブ
- Secret Value Derivation Primitives (SVDP)
- 署名プリミティブ
- Pre-Signature Primitives (PSP)
署名生成時の事前処理のプリミティブ
- Signature Primitives (SP)
署名を生成するプリミティブ
- Verification Primitives (VP)
署名を検証するプリミティブ
- 暗号プリミティブ
- Encryption Primitives (EP)
暗号スキームを構成するデータの暗号化プリミティブ
- Decryption Primitives (DP)
暗号スキームを構成するデータの復号プリミティブ
スキーム
スキームは,以下のように分類されている.
- Key agreement schemes (KAS)
鍵交換スキーム
- Signature schemes with appendix (SSA)
メッセージ付加署名スキーム(メッセージに署名を添付するタイプの署名)
- Signature schemes giving (message) recovery (SSR)
メッセージ復元署名スキーム(署名からメッセージが復元できるタイプの署名)
- Encryption schemes (ES)
メッセージを暗号化,復号する暗号スキーム
補助メソッド
スキームにおいては,以下のような補助メソッドが用いられる(→ 補助メソッド).
- メッセージエンコードメソッド
- Encoding methods for signatures with appendix (EMSA)
メッセージ付加署名のためのエンコードメソッド
- Encoding methods for signatures giving message recovery (EMSR)
メッセージ復元署名のためのエンコードメソッド
- Encoding methods for encryption (EME)
暗号化のためのエンコードメソッド(
→ メッセージエンコーディング)
- 鍵導出関数
- Key derivation functions (KDF)
鍵交換スキームで用いられる鍵導出関数
- 補助メソッド
- Mask generation functions (MGF)
EMEにおいて用いられるマスク生成関数
- Hash functions
EMSA,EMSR,EME,KDFおよびMGFにおいて用いられるハッシュ関数
- Symmetric encryption schemes
暗号スキーム,EMSRおよびEMEにおいて用いられる共通鍵暗号
- Message authentication codes (MAC)
暗号スキームにおいて用いられるメッセージ認証コード
これらのプリミティブとスキームの組合せにより暗号方式が定義される. 例えば,RSA署名生成とRSA署名検証は,それぞれIFSP-RSA1,IFVP-RSA1と記される. スキームの分類としては,IFSSA(素因数分解問題型のメッセージ付加署名スキーム)である.