术语表

X25519MLKEM768 (X25519 与 ML-KEM-768 混合密钥交换)

最后核实

定义

X25519MLKEM768 是把经典的 X25519 与后量子算法 ML-KEM-768 组合起来的 TLS 1.3 混合密钥交换群,Chrome 从 131 版起使用。

X25519MLKEM768 是 TLS 1.3 的一个命名群(编号 0x11EC),2026 年 8 月由 RFC 10024 标准化,一次握手同时进行两种密钥交换:X25519 椭圆曲线 Diffie-Hellman 和 ML-KEM-768。客户端的 key_share 由 ML-KEM-768 封装密钥加 X25519 公钥组成(1,184 + 32 = 1,216 字节);服务器回复 ML-KEM 密文和自己的 X25519 公钥(1,088 + 32 = 1,120 字节)。两个共享秘密拼接后送入常规的 TLS 1.3 密钥调度。

为什么重要

它是目前 Web 上部署最广的混合密钥交换方案。Chrome 131(2024 年 11 月)把早期实验性的 X25519Kyber768Draft00 换成了它,OpenSSL 从 3.5 版起支持。要破解它必须同时攻破 X25519 和 ML-KEM-768,因此既能防范未来的量子解密,又不必把全部安全押在一个年轻的算法上。它只存在于 TLS 1.3 中;不支持它的服务器会照常协商普通的 X25519 或 P-256,不会导致访问失败。

例子

用 OpenSSL 3.5 及以上版本检查服务器是否支持,并在基于这类 OpenSSL 编译的 Nginx 中优先启用:

openssl s_client -connect example.com:443 -groups X25519MLKEM768
ssl_ecdh_curve X25519MLKEM768:X25519:prime256v1;

协商成功时,Chrome 开发者工具的 Security 面板会把密钥交换显示为 X25519MLKEM768。宝塔面板等环境自带的 OpenSSL 版本较旧时,需要先确认版本。

常见误区

  • 用了它,连接就完全抗量子了。 它保护的是密钥建立,服务器身份认证仍使用经典的 RSA 或 ECDSA 签名。
  • 混合方案只有一半强度。 攻击者必须同时攻破两个组件,所以它至少和其中任何一个一样难破解。
  • 它和 X25519Kyber768Draft00 是一回事。 后者是基于标准化之前 Kyber 版本的早期实验性群,编号也不同。

延伸阅读