9.8. Bidirectional Encryption (双方向暗号化)
9.8. 双方向暗号化
セクション 5.2 で説明されているように, HPKE 暗号化は送信者から受信者への一方向です。双方向暗号化を必要とするアプリケーションは, 秘密エクスポートインターフェース (セクション 5.3) で必要な鍵マテリアルを導出できます。このような鍵マテリアルのタイプと長さは, アプリケーションのユースケースに依存します。
例として, アプリケーションが受信者から送信者への AEAD 暗号化を必要とする場合, 対応する HPKE コンテキストから鍵とノンスを次のように導出できます:
key = context.Export("response key", Nk)
nonce = context.Export("response nonce", Nn)
この例では, 各秘密の長さは対応する HPKE コンテキストに使用される AEAD アルゴリズムに基づいています。
HPKE の送信者認証に関する制限は, このコンテキストでは受信者認証の制限になることに注意してください。特に, Base モードでは, リモートパーティの認証はまったくありません。Auth モードでも, リモートパーティが特定の秘密鍵を保持していることを証明していますが, この認証はセクション 9.1.1 で説明されているように, 鍵侵害なりすましの影響を受けます。