Appendix A. Test Vectors (テストベクトル)
Appendix A. Test Vectors (テストベクトル)
このセクションでは, 第 9.1, 9.2, 9.3 節にリストされているモード, KEM, KDF, AEAD のすべての組み合わせを使用した HPKE のテストベクトルを提供します。以下の各サブセクションには, 単一の組み合わせのテストベクトルが含まれています。各組み合わせについて, テストベクトルには次の値が含まれています:
- mode: HPKE モード
- kem_id: KEM 識別子
- kdf_id: KDF 識別子
- aead_id: AEAD 識別子
- info: アプリケーションが提供する情報
- ikmE: 一時鍵ペアの入力鍵マテリアル
- pkEm: カプセル化された一時公開鍵
- skEm: 一時秘密鍵
- ikmR: 受信者鍵ペアの入力鍵マテリアル
- pkRm: 受信者公開鍵
- skRm: 受信者秘密鍵
- ikmS: 送信者鍵ペアの入力鍵マテリアル (Auth および AuthPSK モードのみ)
- pkSm: 送信者公開鍵 (Auth および AuthPSK モードのみ)
- skSm: 送信者秘密鍵 (Auth および AuthPSK モードのみ)
- psk: 事前共有鍵 (PSK および AuthPSK モードのみ)
- psk_id: 事前共有鍵識別子 (PSK および AuthPSK モードのみ)
- enc: カプセル化鍵
- shared_secret: KEM 操作中に計算される共有秘密
- key_schedule_context: 鍵スケジュールで使用されるコンテキスト
- secret: 鍵スケジュール中に導出される秘密
- key: 暗号化鍵
- base_nonce: ベース nonce 値
- exporter_secret: エクスポーターインターフェースの秘密
暗号化テストベクトルの各項目には次が含まれます:
- sequence number: 暗号化のシーケンス番号
- pt: 平文 (16進数エンコード)
- aad: 追加認証データ (16進数エンコード)
- nonce: 暗号化に使用される nonce
- ct: 暗号文 (16進数エンコード)
エクスポート値の各項目には次が含まれます:
- exporter_context: エクスポート操作のコンテキスト (16進数エンコード)
- L: エクスポート値の長さ (バイト)
- exported_value: エクスポートされた値 (16進数エンコード)
特に指定がない限り, すべての値は16進数形式でエンコードされています。
サブセクションは次のように構成されています:
- A.1. DHKEM(X25519, HKDF-SHA256), HKDF-SHA256, AES-128-GCM
- A.2. DHKEM(X25519, HKDF-SHA256), HKDF-SHA256, ChaCha20Poly1305
- A.3. DHKEM(P-256, HKDF-SHA256), HKDF-SHA256, AES-128-GCM
- A.4. DHKEM(P-256, HKDF-SHA256), HKDF-SHA512, AES-128-GCM
- A.5. DHKEM(P-256, HKDF-SHA256), HKDF-SHA256, ChaCha20Poly1305
- A.6. DHKEM(P-521, HKDF-SHA512), HKDF-SHA512, AES-256-GCM
- A.7. DHKEM(X25519, HKDF-SHA256), HKDF-SHA256, Export-Only AEAD