本文へスキップ
ecdsa.com

Kyber(CRYSTALS-Kyber)

NIST 第 3 ラウンドに提出された ML-KEM の前身で、ハイブリッド TLS(X25519Kyber768Draft00)で先行導入されましたが、標準化された ML-KEM とは相互運用できません。
別表記CRYSTALS-KyberKyber768X25519Kyber768Draft00Kyber-768

FIPS 203 の付録 C には、入出力の挙動を変える変更点が挙げられています。共有秘密は 256 ビットに固定され、藤崎・岡本変換の変形版は暗号文をハッシュして共有秘密に取り込まなくなり、カプセル化は最初の乱数をハッシュしなくなりました。また、明示的な入力チェックが追加され、2023年のドラフトの後には、1 つのシードを異なるセキュリティレベルで使い回せないよう、鍵生成にドメイン分離が追加されました。

こうした変更により、Kyber と ML-KEM は同じ入力から異なる秘密を生成します。TLS では、標準化前のグループ X25519Kyber768Draft00(0x6399)が X25519MLKEM768(0x11EC)に置き換えられ、Chrome はバージョン 131(2024年11月)で切り替えました。今も「Kyber」と表記しているライブラリや設定ファイルはどちらを指していることもあるため、コードポイントやパラメーター名を確認してください。

規格と参考文献

すべての用語