10. Message Encoding (メッセージエンコーディング)
10. Message Encoding (メッセージエンコーディング)
この文書は, HPKE メッセージのワイヤフォーマットエンコーディング (wire format encoding) を指定していません。したがって, HPKE を採用するアプリケーションは, 最低限次のものを含む明確なエンコーディングメカニズムを指定しなければなりません: カプセル化された値 (encapsulated value) enc, 暗号文値 (ciphertext value) (複数ある場合はその順序も), および暗黙的でない info 値。非暗黙的な値の例としては, カプセル化に使用される受信者の公開鍵があり, 受信者が複数の公開鍵を持っている場合に必要となる可能性があります。
この文書で使用される AEAD インターフェースは [RFC5116] に基づいており, 単一の暗号文値を生成および消費します。[RFC5116] で説明されているように, この暗号文値には, 暗号化された平文と認証データが含まれており, 個々の AEAD スキームで説明される方法でエンコードされています。一部の実装はこのような構造になっておらず, 代わりに別個の暗号文と認証タグ (authentication tag) を提供します。このような AEAD 実装が HPKE 実装で使用される場合, HPKE 実装は Seal() 内でこれらの入力を単一の暗号文値に結合し, Open() 内でそれらを解析しなければなりません。解析の詳細は AEAD スキームによって定義されます。例えば, この文書で指定されている AES-GCM スキームでは, GCM 認証タグは暗号文出力の最後の Nt バイトに配置されます。