"更安全"这件事有两个完全不同的方向:一个是换更难的数学(RSA → 椭圆曲线),一个是加长钥匙(2048 → 4096)——而 2026 年真正在发生的是第三种:因为量子计算机有朝一日能解开这两者,整个行业正在换掉"依赖大数分解与离散对数"这一整类数学。
5-3 讲了 RSA 靠"大数分解难"撑着,5-7 讲了整套 HTTPS 都建在这个假设上。
这一节要回答的是:这个假设还能撑多久,以及撑不住的时候怎么办。 它也是 5-10 的直接铺垫——"加密的危殆化"在历史上发生过很多次(MD5、SHA-1、DES),只是这一次的规模更大。
一、方向一:换更难的数学——椭圆曲线
要理解椭圆曲线加密(ECC)的价值,看一张对照表就够了:
| 安全等级 | RSA 密钥 | ECC 密钥 | 等效的对称密码 |
|---|---|---|---|
| 80 位 | 1024 位 | 160 位 | DES(已废弃) |
| 112 位 | 2048 位 | 224 位 | 3DES(已废弃) |
| 128 位 | 3072 位 | 256 位 | AES-128(当前主流) |
| 192 位 | 7680 位 | 384 位 | AES-192 |
| 256 位 | 15360 位 | 521 位 | AES-256 |
读法:要达到 128 位安全等级,RSA 需要 3072 位密钥,而 ECC 只要 256 位——差 12 倍。
这个差距的实际意义:
- 密钥和证书更小——握手时传输的数据更少;
- 运算更快——同等级安全下 ECC 的签名与验证都更省;
- 存储与硬件开销更低——智能卡、物联网设备、硬件安全模块都受益。
代价是它有自己的一类实现风险:ECDSA 每次签名都依赖一个随机数,这个随机数一旦被重用或可预测,私钥就会被直接算出来——2010 年索尼 PS3 的签名密钥就是这么泄露的。这一点直接决定了下面的选型结论。
二、方向二:加长钥匙——但要看清加在哪儿
"把 2048 位改成 4096 位"看起来是最省事的安全加固,其实它有明确的边际效益问题:
- RSA-4096 比 RSA-3072 慢得多,密钥和证书也大得多;
- 而它带来的实际安全提升,远不如"从 2048 换成 3072"这一步;
- 所以今天更常见的建议是"上 ECC",而不是"把 RSA 加长"。
对称加密那一侧就单纯得多:AES 的密钥长度直接等于安全等级,从 128 换成 256 几乎没有工程代价——所以这是唯一一个"加长就很划算"的地方(这也是 5-2 里"面对量子只需要把 AES-128 换成 AES-256"那句话的由来)。
三、动手 Demo:密钥长度、量子门槛、迁移时间表
# ① 密钥长度 ↔ 安全等级对照(经典计算机)
rows = [(80, 1024, 160, "DES(已废弃)"), (112, 2048, 224, "3DES(已废弃)"),
(128, 3072, 256, "AES-128(当前主流)"), (192, 7680, 384, "AES-192"),
(256, 15360, 521, "AES-256")]
# ② 分解 RSA-2048 所需的物理量子比特(逐年下降)
# 2019 年:约 2000 万 → 2025 年:不到 100 万
# 2026-02:约 9.4 万 → 2026-03:约 1 万~2.6 万
实跑输出:
一、密钥长度 ↔ 安全等级对照(针对经典计算机)
安全等级 RSA 密钥 ECC 密钥 等效的对称密码
80 位 1024 位 160 位 DES(已废弃)
112 位 2048 位 224 位 3DES(已废弃)
128 位 3072 位 256 位 AES-128(当前主流)
192 位 7680 位 384 位 AES-192
256 位 15360 位 521 位 AES-256
→ 要 128 位安全:RSA 需要 3072 位,ECC 只要 256 位(相差 12 倍)。
这就是椭圆曲线加密(ECC)的意义:同样安全,钥匙更短、运算更快。
二、2026 年生成密钥的默认答案:Ed25519(一种椭圆曲线签名)
方案 公钥大小 约等于 备注
Ed25519 约 68 字节 RSA-3072 默认首选;签名快且确定性
RSA-4096 约 740 字节 约 128 位安全 只用于必须兼容的老设备
ECDSA 约 90 字节 约 128 位安全 不建议新用(见下)
DSA 1024 位 已被禁用 删掉
→ ECDSA 的隐患不在数学,而在实现:它每次签名都依赖一个随机数,
随机数一旦被重用或可预测,私钥直接暴露——2010 年索尼 PS3 的
签名密钥就是这么被还原的。Ed25519 从设计上抹掉了这个失败模式。
三、量子计算机用 Shor 算法打的是 RSA 与 ECC(对称密码不受影响)
以下是把 RSA-2048 分解所需的物理量子比特估算(逐年大幅下降)
时间 所需物理量子比特 运行时间
2019 年(Gidney-Ekerå) 约 2000 万 8 小时
2025 年(Gidney 优化) 不到 100 万 一周内
2026-02(Pinnacle 架构) 约 9.4 万 约 1 个月
2026-03(中性原子+qLDPC) 约 1 万~2.6 万 数百天 / 并行约 10 天
→ 门槛在快速下降,但当前最好的机器仍在百比特量级,
离【能真正跑动】还差好几个数量级。所以是【必须现在开始迁移】,
而不是【明天就会被打穿】。
四、对称密码只被 Grover 减半,所以 AES-256 仍是安全区
算法 经典强度 量子下等效 判断
AES-128 128 位 64 位 不够
AES-256 256 位 128 位 够用
SHA-256 128 位抗碰撞 仍然够用 哈希只受 Grover 影响,可沿用
五、2026 年的迁移时间表(已经在执行)
节点 内容
2024-08-13 NIST 发布三个后量子标准 FIPS 203 / 204 / 205
2025 起 NSA CNSA 2.0:软件签名与 TLS 开始要求后量子算法
2026 起 VPN / IPsec 开始要求后量子密钥协商
2030 年 RSA-2048 / ECDSA / ECDH 进入【弃用】
2035 年 上述算法【禁止使用】
(新标准的三兄弟:ML-KEM 管密钥协商、ML-DSA 管签名、SLH-DSA 为备份)
代价 新算法的钥匙和签名大得多
ECC 签名(ECDSA P-256) 约 64~72 字节
后量子签名(ML-DSA-65) 约 3309 字节(约 46 倍)
→ 因此浏览器端后量子支持已达 69.94%,而源站只做到 9.37%:
客户端准备好了,服务器侧才是真正的工作量。
读这个输出:
- 第一张表的一个用法:它是"安全等级"这个概念的换算表。当你在某处看到"128 位安全",它对应的就是三方的一组数字(AES-128 / RSA-3072 / ECC-256)。看到配置里写 RSA-2048,就知道它对应的是 112 位——够用,但不是今天的推荐基线。
- 第三段那四个数字的走势比数字本身更重要:从 2000 万降到约 1 万,四五年里门槛下降了两三个数量级。但要注意最后那句提醒:当前的机器还在百比特量级,离"能真正跑动"差好几个数量级——所以这是一件"必须现在规划、但不必今天恐慌"的事。
- 第四段是本章唯一让人松一口气的地方:面对量子,对称密码只需要"加长钥匙",而哈希"基本不用动"。所以迁移的重心非常明确地落在公开密钥加密这一侧——也正是这一节标题里那两个名字(RSA、椭圆曲线)。
四、⚠️ 2026 现状
- 【时间表已经很具体,不是"将来某天"】。 NIST 的过渡口径(NIST IR 8547):RSA-2048、ECDSA、ECDH 在 2030 年后进入"弃用",2035 年后"禁止使用"。NSA 的 CNSA 2.0 对国家安全系统给出了更紧的节点:软件签名与 TLS 从 2025 年起、VPN/IPsec 从 2026 年起要求后量子算法,操作系统 2027 年,遗留应用 2030 年,物联网与工控 2033 年。 这些日期会通过采购要求向下传导,影响整个供应链。
- 【三个新标准已经落地,分工很清楚】。 2024-08-13 NIST 发布 FIPS 203(ML-KEM,负责密钥协商)、FIPS 204(ML-DSA,负责签名)、FIPS 205(SLH-DSA,基于哈希的备份签名)。民用场景的常见默认组合是 ML-KEM-768 加 ML-DSA-65;国家安全系统那一侧用 ML-KEM-1024 加 ML-DSA-87。 另外 2025 年 NIST 又选了 HQC 作为另一条独立路线的备份 KEM,预计 2027 年标准化。
- 【新算法最现实的代价是体积,不是速度】。 ML-KEM-768 的公钥约 1,184 字节、密文约 1,088 字节(约是经典方案的 15~25 倍);ML-DSA-65 的公钥约 1,952 字节、签名约 3,309 字节(签名约是 ECDSA 的 46 倍)。 后果会一层层传导出来:握手包更大、证书链更胖、硬件安全模块要更大的存储与更高的吞吐、一些长度受限的老设备直接放不下。 这就是为什么迁移被当成一个三年前后的工程计划,而不是一次配置改动。
- 【迁移的关键瓶颈在服务器侧,不在客户端】。 2026 年 7 月的数据:后量子密钥协商的浏览器端支持率 69.94%,源站支持率只有 9.37%——差约 7.5 倍。 也就是说:大量"本来可以后量子"的连接,实际都因为对面不支持而退回了经典算法。 这一条给工程团队的行动指向非常明确:先查自己的源站和 CDN 配置,而不是等浏览器。
30 秒实验
今天做两个动作,各 15 秒:
- 在心里做一次单位换算:看到"128 位安全"时,立刻对应出三个数字——AES-128、RSA-3072、ECC-256。然后留意一下你平时看到的配置里写的是多少位(比如某个网站上写着 RSA-2048,那它对应的是 112 位——能用,但不在今天的推荐基线上)。这个换算习惯比记任何具体数字都有用。
- 打开一个 https 站点,在开发者工具的"安全"面板里看看它协商的是什么密钥交换算法。如果看到
X25519MLKEM768这样的混合名字,说明这次连接已经带上了后量子成分——这正是"浏览器端已经准备好了"在你眼前的具体体现。
这一节要带走的一句是:"更安全"在密码学里有三种做法——换更难的数学、加长钥匙、以及提前换掉整类数学;前两种我们自己就能决定,第三种是由量子计算机的进度表替我们决定的。
常见误区
-
错误:RSA-4096 一定比 ECC-256 更安全,所以选它准没错。——纠正:它们的安全性是对等的(都对应约 128 位安全等级),差的只是成本。RSA-4096 的密钥和证书大得多、运算慢得多,而同等级安全下 ECC 只需要 256 位——这是"用更少的位表达同等强度",不是"强度更低"。 唯一需要用 RSA 的场景是兼容性:某些老设备、老系统只认 RSA(5-12 会给出 SSH 的完整选型表)。"用新不用旧"的正确表述是"新场景用 ECC(含 Ed25519),老设备才退回 RSA"。
-
错误:量子计算机还很远,现在投入迁移是浪费钱。——纠正:"现在要开始"不等于"现在要全部换完",而理由是"先存后解"。攻击者可以今天就把加密流量录下来存着,等量子计算机可用时再解开——这意味着"需要长期保密的数据"今天就已经处在风险中。所以规划的依据不是"量子计算机什么时候能用",而是"这份数据要保密多少年":保密期 10 年以上的,现在就该把迁移排进计划。再加上后量子算法有体积代价,需要提前做硬件与协议的适配——这些都是有前置期的工程,不是一个开关。
-
错误:换了后量子算法,对称加密也得一起换掉。——纠正:正好相反,对称加密是这次迁移里最不需要操心的部分。因为 Shor 算法打的是大数分解和离散对数,对 AES 完全没有作用;量子世界对对称算法只有 Grover 算法,效果是把有效强度减半——AES-256 减半后还有 128 位,依然安全。哈希也一样(SHA-256 可以继续用)。所以迁移的全部工作量集中在公开密钥加密和签名上——这也解释了为什么所有时间表里提到的都是 RSA、ECDSA、ECDH 这几个名字。
-
错误:密钥长度只要够长,算法老一点没关系。——纠正:"加长"对某些算法有用,对另一些完全无效。对 AES 这类对称算法,加长直接等于提升强度;但对已经发生结构性失效的算法,加长只是拖延——DES 的 3DES(用三把 DES 密钥)当年就是"加长"的思路,最后仍然因为 64 位分组带来的 Sweet32 攻击而退场。判断标准是"它倒下是因为钥匙太短,还是因为算法本身有结构问题":前者可以加长,后者只能替换(这正是 5-10 要分清的两件事)。
自测三问(点开对答案)
1. "128 位安全等级"这句话该怎么换算? —— **它表示"破解它需要约 2^128 次基本运算",而不同的算法类型要用不同长度的密钥才能达到这个强度**:**对称加密(AES)用 128 位密钥;RSA 要用 3072 位;椭圆曲线(ECC)用 256 位**。**这个换算表是本节最有实用价值的工具**——**因为你在配置、证书、协议里遇到的全是密钥位数,而"这个位数算不算安全"的判断依据就是它能对上哪个安全等级**。**记住三个锚点就够了**:**AES-128 = RSA-3072 = ECC-256 = 128 位安全**。**看到 RSA-2048 就知道是 112 位(可用但偏低),看到 RSA-4096 或 ECC-256 就是 128 位等级。** 2. 为什么量子计算机来了要换算法,而不是把 RSA 加长? —— **因为 Shor 算法打的是算法的数学结构,不是密钥长度**。**RSA 的安全性建立在"大数分解很难"上,Shor 算法能高效地分解大数**——**它把问题的复杂度从"次指数级"降到"多项式级"**,**也就是说"把密钥加到 16384 位"也只是让对方多花一点多项式时间,不能恢复安全性**(这与对称加密的情况正好相反:**Grover 只是把穷举的尝试次数降到约根号,加长密钥就能补回来**)。**所以处理方式是"换掉整类数学"**——**新标准(ML-KEM、ML-DSA)建立在格问题等不同基础上,目前没有已知的量子算法能高效破解它们。** 3. 后量子迁移最难的部分是什么? —— **不是"换算法"这个决定,而是它牵连出来的工程改造**。**三个具体的难点**:① **体积**——**后量子签名约 3,309 字节(ECDSA 只有 64~72 字节),证书链和握手会显著变胖,一些老设备的固定长度缓冲直接放不下**;② **硬件能力**——**硬件安全模块的存储与吞吐要重新评估(后量子私钥大得多)**;③ **两端不同步**——**实测数据显示客户端支持率接近 70%,而源站只有 9.37%**,**所以真正的工作量在服务器与 CDN 那一侧,不在浏览器**。**这也是为什么各家的路线图都是"三年左右的分阶段计划",而不是一次性切换。**- ☐ 下一节(5-10 如果加密变得不安全,世界会怎样)
相关笔记
- 解决密钥分发问题的密码 —— 上一篇的伏笔:RSA 靠什么撑着
- 如果加密变得不安全,世界会怎样 —— 下一篇:算法危殆化的历史与善后机制
- 实现安全的远程通信 —— 同一张换算表,用在 SSH 与 VPN 的选型上
- 实现安全的通信 —— 无线加密的密钥长度演变是同一个逻辑
- 🛡️ 网络与信息安全 · 索引 —— 全课路线图