クライアントは、ML-KEM-768 のカプセル化鍵(1,184 バイト)に続けて 32 バイトの X25519 公開鍵を送ります。サーバーは ML-KEM の暗号文(1,088 バイト)と自身の X25519 鍵を返し、共有秘密は、ML-KEM の秘密と X25519 の秘密を連結したものの SHA-256 になります。RFC 10042 は、NIST 曲線を必要とする環境向けに mlkem768nistp256-sha256 と mlkem1024nistp384-sha384 も定義しています。
OpenSSH は 9.9(2024年9月)でこの方式を追加し、10.0 でデフォルトにしました。OpenSSH 10.1(2025年10月)は、セッションが古典的な方式にフォールバックすると WARNING: connection is not using a post-quantum key exchange algorithm と表示し、この動作は WarnWeakCrypto で調整できます。サーバーが何をネゴシエートするかは、ssh -v または SSH サーバー監査で確認してください。
ポスト量子なのは鍵交換だけです。ホスト認証とユーザー認証には今も古典的な署名が使われていますが、将来の量子コンピューターでも、これを偽造できるのは接続が行われているその場に限られ、過去にさかのぼって偽造することはできません。