跳到主要内容

Appendix A. Test Vectors (测试向量)

Appendix A. Test Vectors (测试向量)

本节提供 HPKE 的测试向量, 涵盖第 9.1、9.2 和 9.3 节中列出的模式、KEM、KDF 和 AEAD 的所有组合。下面的每个子节包含单个组合的测试向量。对于每个组合, 测试向量包含以下值:

  • 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: 明文 (十六进制编码)
  • aad: 附加认证数据 (十六进制编码)
  • nonce: 用于加密的 nonce
  • ct: 密文 (十六进制编码)

对于导出值, 每个包含:

  • exporter_context: 导出操作的上下文 (十六进制编码)
  • L: 导出值的长度 (字节)
  • exported_value: 导出的值 (十六进制编码)

除非另有说明, 所有值均以十六进制格式编码。

子节组织如下: