メインコンテンツまでスキップ

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進数形式でエンコードされています。

サブセクションは次のように構成されています: