# 混合密钥交换是什么？定义、例子与常见误区

> 混合密钥交换把 X25519 等经典算法与 ML-KEM 等后量子 KEM 组合使用，只要其中一个未被攻破，得到的会话密钥就仍然安全。

Source: https://ssl.sh/zh/glossary/hybrid-key-exchange/
Last updated: 2026-11-10

混合密钥交换同时执行一次经典密钥建立和一次后量子密钥建立，再由两者的结果共同派生会话密钥。在 TLS 1.3 中，每种混合方案就是一个新的命名群：key_share 中依次拼接经典部分和后量子部分，两个共享秘密拼接后进入 HKDF 密钥调度。已注册的例子有 [X25519MLKEM768](https://ssl.sh/zh/glossary/x25519mlkem768/)、SecP256r1MLKEM768 和 SecP384r1MLKEM1024。

## 为什么重要
后量子算法还很年轻，对它们的密码分析远不如椭圆曲线成熟。NIST 征集过程中的候选算法 SIKE，就在 2022 年被一台普通计算机上运行的攻击攻破。混合方案两头兜底：经典部分（[ECDHE](https://ssl.sh/zh/glossary/ecdhe/)）防范后量子算法或其实现中尚未发现的缺陷，[ML-KEM](https://ssl.sh/zh/glossary/ml-kem/) 部分防范未来的量子计算机。代价是握手消息增大一千多字节，外加少量计算开销。对于需要满足国内密码合规要求的系统，算法选择还要另行评估，这里只讨论国际标准的 TLS 方案。

## 例子
TLS 1.3 中使用混合群协商的示意：

```text
ClientHello
  supported_groups: X25519MLKEM768, X25519, secp256r1
  key_share:        X25519MLKEM768 (1,216 bytes), X25519 (32 bytes)
ServerHello
  key_share:        X25519MLKEM768 (1,120 bytes)
shared secret = ML-KEM-768 secret || X25519 secret -> TLS 1.3 key schedule
```

## 常见误区
- **混合方案不如纯后量子方案安全。** 它的设计要求攻击者同时攻破两个组件，强度不低于其中较强的那个。
- **用了混合密钥交换，证书也就抗量子了。** 它只覆盖密钥建立，签名迁移是另一项工作。
- **启用它需要所有客户端同时切换。** 客户端会同时提供混合群和经典群，不支持混合方案的服务器照常协商 X25519 或 P-256。

## 相关术语

- [X25519MLKEM768](https://ssl.sh/zh/glossary/x25519mlkem768/): X25519MLKEM768 是把经典的 X25519 与后量子算法 ML-KEM-768 组合起来的 TLS 1.3 混合密钥交换群，Chrome 从 131 版起使用。
- [ML-KEM](https://ssl.sh/zh/glossary/ml-kem/): ML-KEM 是 NIST 于 2024 年 8 月在 FIPS 203 中标准化的后量子密钥封装机制，源自 CRYSTALS-Kyber，用于抗量子的密钥建立。
- [ECDHE](https://ssl.sh/zh/glossary/ecdhe/): ECDHE 是椭圆曲线上的临时 Diffie-Hellman 密钥交换，TLS 双方每次握手都生成新的椭圆曲线密钥对，并据此协商出共享密钥。
- [后量子密码](https://ssl.sh/zh/glossary/post-quantum-cryptography/): 后量子密码（PQC）是专为抵御大规模量子计算机攻击而设计的公钥密码算法，用来替代可能被量子计算机破解的 RSA 和 ECC。
- [密钥交换](https://ssl.sh/zh/glossary/key-exchange/): 密钥交换是 TLS 握手中客户端与服务器建立共享秘密的步骤，保护连接的对称密钥都由这个共享秘密派生而来。
- [TLS 1.3](https://ssl.sh/zh/glossary/tls-1-3/): TLS 1.3 是当前最新的传输层安全协议版本（2018 年的 RFC 8446，现行规范为 RFC 9846），完整握手只需一个往返，且只保留 AEAD 加密算法。
