几个月前有个量子计算团队在技术发布会上放出一张芯片照片,上面排布着一千多个超导量子比特。行业群里的第一波热闹,是“纪录又刷新了”;我的第一反应却是翻出自己三年前写的一份备忘录,标题叫《假设十年后量子机器批量出厂,今天哪些加密数据会裸奔》。这篇博文就是那份备忘录的扩写版,也是我后来在团队内部安全分享上用过的底稿。
先把结论放在最前面:1000个物理量子比特本身,并不足以破解任何主流公钥加密。真正值得紧张的,是量子比特数量以这样的节奏继续增长,叠加纠错能力逐渐成熟之后,公钥加密体系进入倒计时的时间点。如果你手上的系统里有需要保密十年以上的数据,今天开始做准备,一点都不算早。
1. “1000量子比特”这个里程碑,含金量到底怎么算
1.1 物理比特与逻辑比特:1000这个数字其实是“毛坯房”
很多人一听到“量子比特数量”,下意识会拿它和经典CPU的晶体管数量做类比,默认“数量越多,算力越强”。这个类比放在量子计算里会产生严重误判。厂商和实验室对外公布的1000、2000,绝大多数指的是物理量子比特,也就是芯片上真实存在的超导回路或离子阱单元数量。物理比特的特点是:错误率高、相干时间短、每次操作都会引入噪声。
打个比方,物理比特就像一批没有装修的毛坯房。你手里确实有一千间房,但每一间都漏雨、有裂缝,想住人必须拿大量房间做冗余改造,几间甚至几十间才能凑出一间稳定可用的“逻辑房间”。量子纠错(QEC)里的冗余倍数非常夸张,业界常见的估算是一个逻辑比特需要几十到上千个物理比特去支撑,具体取决于门错误率和纠错码的开销。也就是说,一千个物理比特扔进纠错流程,最后能稳定使用的逻辑比特可能只有个位数,甚至一个都没有。
这正是“一千”这个数字的迷惑性所在。新闻标题读起来像“一千个比特终于到手”,实际距离“稳定执行大整数分解”这个目标,还差着好几个数量级。
1.2 一千个物理比特现在能做什么
在无纠错或轻纠错的状态下,一千个物理比特还是能解决一些特定问题的:随机线路采样、小规模量子化学模拟、组合优化问题的启发式尝试。这几年大家听到的“量子优越性”实验,本质上就是这类无纠错演示。它们证明的是“量子比特能够以特定方式协作并跑通预定线路”,而不是“量子比特可以稳定处理任意复杂逻辑”。
真正需要警惕的不是今天的一千比特,而是比特数量与纠错能力两条曲线同时向上走以后的时间点。行业对“容错量子计算”的普遍预期是2030年前后开始进入早期实用,到2030年代中期可能看到具备一定规模的容错机器。如果这个预测大致成立,那么一枚RSA-2048密钥,很可能在这个窗口期内变成可被分解的“过去式”。
这一章的核心观点只有一句话:别被新闻标题里的裸比特数量吓到,也别因为“现在还不够破解”而放松。曲线的后半段,来得比你想象中快。
1.3 距离破解RSA-2048还差多远:一笔粗略的账
戒掉“看量子比特数就兴奋”的习惯之后,我倾向于用一张资源账判断进展。分解一个2048位的RSA密钥,Shor算法理论上需要数千个逻辑量子比特,同时要执行大约数十亿次门操作。如果每个逻辑比特由几十到上千个物理比特构成,最终需要的物理量子比特总量可能达到百万级。
这张账最扎眼的地方在于:一千距离一百万,表面看还差三个数量级,但业内进度往往不是线性走的。物理比特规模、门错误率、纠错算法这几条研发线是同时加速的。过去五年,超导量子比特的数量从几十涨到一千多,门错误率也压低了将近两个数量级。用这种速度往后推十年,资源账从“遥不可及”变成“临界可行”,并不是科幻。
2. Shor算法为什么会让公钥体系集体失眠
2.1 核心原理:把大数分解变成“找周期”
先回忆一下公钥密码为什么安全。RSA这类体系,安全性本质上源于“大整数分解非常困难”这个经验事实。你给我一个2048位的半素数,让我拆成两个质因数,经典计算机只能靠数域筛法等手段硬算,计算量随位数呈超指数增长,2048位在当前算力下需要极其漫长的时间。
Shor算法的聪明之处在于绕开了“直接分解”这个动作。它把问题转化成另一个数学任务:在模N的群里随机取一个数a,寻找最小的正整数r,使得a的r次方模N等于1。这个r就是“阶”,也叫“周期”。一旦找到周期r,再通过一次最大公约数计算,就能以很高概率拆出N的质因数。
经典计算机找这个r,需要指数级别的尝试;量子计算机则通过量子傅里叶变换,在一次或少数几次操作里把周期r的候选值以干涉方式“找”出来。复杂度从指数级直接掉到多项式级。这是整个思路最颠覆的地方——它没有更快地做同一件事,而是把问题换了一种问法,让量子计算机天生擅长回答。
2.2 复杂度对比:为什么“多项式”这么致命
具体感受一下数量级差异。分解2048位整数,经典GNFS算法的时间复杂度是亚指数级,工程上换算成运行时间,是“现有超级计算机也无力完成”的规模。Shor算法的时间复杂度则是多项式级,两千多位的RSA-2048,理论上一台具备数千逻辑量子比特的容错机器就能处理,运行时间可能从“宇宙年龄”级别压缩到“小时”级别。
| 攻击目标 | 经典破解复杂度 | 量子破解复杂度 | 真实影响 |
|---|---|---|---|
| RSA-2048 | 亚指数,需百万年级 | 多项式级,数千逻辑比特 | 公钥加密与签名体系失效 |
| ECC(如P-256) | 指数级 | 多项式级,Shor变体适用 | 密钥交换与签名同时失效 |
| AES-128 | 2的128次方次搜索 | Grover约2的64次方次 | 低于安全下限,不再可靠 |
| AES-256 | 2的256次方次搜索 | Grover约2的128次方次 | 依然可用,但仍需保持密钥强度 |
这里有个反直觉的点:很多人以为破解RSA需要和密钥位数同等量级的量子比特就够了,实际上还需要极其充足的计算时间和极低的错误率。真正的门槛不是“比特够不够”,而是“能不能维持足够长时间的相干性”。这也是为什么每次看到“破纪录”的量子比特新闻,我反而更关心门错误率和纠错后的逻辑比特数据。这两个数字,才是判断实用性的关键。
2.3 ECC和DH:被很多人忽略的“同门师兄弟”
更麻烦的是,Shor算法的变体还可以处理椭圆曲线上的离散对数问题。也就是说,现在广泛使用的RSA、ECC、Diffie-Hellman密钥交换、ECDSA签名,表面看算法形态各不相同,底层支撑的却都是同一类数学结构:要么是整数分解,要么是离散对数。一个方向被突破,其余全部跟着失效,不存在“换一个签名曲线就能躲开”的选项。
这种“一锅端”的特征,决定了量子威胁是系统性的。你不能指望某一家厂商换个密码库就让所有业务安全了,而是要回到协议栈、证书体系、密钥生命周期管理这些底层,重新评估整个防线。
3. 加密数据的“保质期”和“先收集后解密”模型
3.1 一次握手加密,不等于终身安全
很多工程师对数据安全的直觉是:只要传输层启用了TLS,数据在网络上就是安全的;就算流量被截获,也只是一堆密文。这句话在“当下”成立,但在“十年后”不一定成立。攻击者完全可能现在就持续记录网络流量,把海量密文存储下来,等待未来某天出现可用的量子计算机,再回头批量解密。
这就是业内常说的“先收集、后解密”模型。它不是科幻。对于涉及长期战略利益的通信记录、核心技术文档、高价值学术资料,密文一旦被持久化保存,就成了一个“有到期时间”的资产。解密能力或许五年后才出现,但你今天发出的密文,五年后就是可以被翻开的旧账。
我第一次认真算这笔账,是听到一位安全圈前辈提“数据半衰期”这个概念:一份加密数据的价值,如果超过了你防御的时间跨度,那么防御的终点就是风险的起点。很朴素,但做安全预算分配时极其好用。手上有长期数据的人,听完这句话基本都会后背一凉。
3.2 哪些数据会“活过”十年
不是所有数据都需要同等程度的焦虑。我建议按两个维度做一次梳理:时间维度,也就是这份数据需要保密多久;价值维度,也就是它被解密后会造成什么后果。
| 数据类别 | 保密期限 | 量子风险优先级 | 建议动作 |
|---|---|---|---|
| 医疗健康档案 | 数十年起步 | 高 | 优先评估长期密钥保护方案 |
| 商业技术文档、专利底稿 | 核心机密常超10年 | 高 | 传输时考虑混合加密模式 |
| 身份凭据、证书私钥 | 长期有效 | 高 | 建立快速轮换与吊销能力 |
| 短期会话数据 | 秒到天 | 低 | 维持现状即可,不必过度投入 |
重点需要保护的是长期存档的医疗和司法认证数据、涉及身份认证的私钥与签名凭据,以及那些“一旦提前解密就等于把底牌交出去”的核心商业资产。至于普通网页浏览记录、短期运营报表这类数据,哪怕几年后被翻出来,实际影响也有限。把资源集中在长寿命加高敏感的那批数据上,才符合安全投入的性价比。
3.3 对称密码相对扛打,但同样需要升级
稍微让人安心的部分是,对称加密(AES这类)和哈希函数,受量子威胁的程度和公钥体系不在一个等级。Grover算法可以把暴力搜索的复杂度从2的n次方降到2的n/2次方,所以AES-128的有效强度会被拉到64位级别,在现代标准下已经不够看了;但AES-256被拉到128位级别,依然可以认为是安全的。
所以,把对称加密统一升级到256位密钥,并确保签名和证书里的哈希长度不低于SHA-256,是一个低成本、高收益、早就该完成的动作。一句话概括:公钥体系可能在十年内进入倒计时,对称体系只是需要换个更大的锁头。
4. 后量子密码学的移山工程
4.1 候选方向盘点:格、哈希、编码,各有各的硬伤
既然公钥体系会被量子计算机冲击,密码学界不可能坐等。目前讨论最集中的几个方向是格基密码、哈希签名、基于编码的密码、多变量密码。下表是快速对比,适合给决策层做背景说明时直接引用。
| 方向 | 核心困难 | 优点 | 明显短板 |
|---|---|---|---|
| 格基密码 | 格上的最短向量、最近向量问题 | 综合性能均衡,当前主流选择 | 密钥和密文体积明显膨胀 |
| 哈希签名 | 哈希函数的单向性和抗碰撞性 | 安全假设非常保守、论证直观 | 签名体积大,状态管理复杂 |
| 基于编码的密码 | 一般线性码的解码困难 | 数学基础相对成熟,长期经受分析 | 密钥规模整体偏大 |
| 多变量密码 | 多变元多项式方程求解困难 | 签名速度快,适合轻量场景 | 密钥巨大,部分方案安全性历史有争议 |
格基密码是目前最受关注的主力,安全性建立在格上难题上,暂时没有被发现高效的量子算法。它的代价是公钥体积动辄几KB甚至十几KB,对比RSA时代几百字节的公钥,会让握手包、证书文件、带宽预算全面上涨。哈希签名的安全性论证最直接,但签名状态管理很麻烦,不适合所有场景无脑替换。多个方向并存其实是好事,密码学最忌讳把鸡蛋放进同一个篮子。
4.2 协议栈迁移,从来不是换算法这么简单
换个密码套件,听起来是给配置文件加一行的事,真实情况远没这么轻松。从TLS握手的套件协商,到证书链每个节点使用的签名算法,再到代码签名、固件更新、协议扩展、时间戳签名,每一个环节都嵌着供应链关系。某个不起眼的嵌入式设备如果十年才更新一次固件,那么它的签名机制很可能在今天就已过时,只是没人注意到。
这是生态层面的复杂度,不是算法层面的难度。我在过去几年的项目里见过太多迁移痛点:老客户端不认新算法,硬件安全模块不支持新密钥类型,合规审计要求升级却不给时间窗口,内部团队对新密钥生命周期管理缺乏经验。所以真正稳妥的策略是引入密码敏捷性:不把算法选择写死,让协议在架构层面可以平滑替换。哪怕今天继续用RSA,也要保证明天能换成格基密码。
4.3 混合模式:短期内最现实的过渡方案
在全面替换完成前,行业比较公认的姿势是“混合模式”:同时使用经典密码和后量子密码,把两者的安全证据叠加在一起。即便后量子算法未来被证明有弱点,经典算法依然守住底线;反过来也一样。代价是带宽和计算开销再上一个台阶,但对真正敏感的数据传输来说,这点代价完全值得。
我画给团队看的是一条简单的时间线:经典时代到今天;混合过渡期从当下就可以试点;后量子时代大约在十年左右。很多人问“现在换是不是太早”,我的回答是:现在不该做一刀切替换,现在该做的是把接口打开,让未来可以随时换。等信号明确了再动手,永远比边界先到一步。
5. 未来三到五年,现在就能启动的实操清单
5.1 第一件事:给存量数据做“保质期”分类
不要一上来就讨论算法。先把数据拉个清单,问三个问题:这份数据十年后还需要保密吗?如果那时候被解密,最坏后果是什么?今天已经产生的密文,是否可能被第三方长期存储过?对“十年后仍需保密且可能已被留存”的数据,优先进入加固名单;对短期数据,维持现状即可。分类动作虽然朴素,却是后续所有投入的依据,而且几乎零成本。
5.2 第二件事:把密钥和算法调度做成“可插拔”
检查系统里有多少地方把密钥算法、证书算法、哈希算法硬编码在代码里。只要还能改配置,就改成配置;只要配置还能热加载,就接上热加载通道。一个能快速轮换证书的体系、一个支持多套密码套件的TLS配置、一个能独立存储并定期轮换密钥的管理系统,这三样东西的价值在和平时期看不出来,一旦需要紧急响应,它们直接决定系统能不能活下来。
5.3 第三件事:盯紧三个真实指标,而不是新闻数字
我现在评估量子威胁进展,基本只看三个数字:逻辑量子比特数量、双量子比特门错误率、相干时间。新闻里的物理比特数可以当热闹看,但这三个指标才决定“距离破解RSA还差多远”。建议每季度或每半年,从公开学术资料和行业报告里抄一份最新值,建立自己的风险进度条。等到逻辑比特进入三位数、门错误率压到万分之一以下,再开始行动就太迟了。
| 时间窗 | 建议完成的重点动作 |
|---|---|
| 未来12个月 | 数据分类、密码套件普查、把低强度算法禁止项写入安全基线 |
| 1到3年 | 完成可轮换的PKI改造、试点混合模式、对称密钥统一升级到256位 |
| 3到5年 | 生产环境渐进引入后量子算法、与行业伙伴做互操作测试 |
5.4 顺手就能做的低风险加固
最后一件事立刻可以落地:把系统里的对称加密统一升级到256位密钥,签名和证书使用的哈希算法统一到SHA-256以上。这一步不涉及算法革命,兼容性风险小,能顺手把Grover类攻击的威胁余量拉高一截。下次做安全基线评审时,把“禁止AES-128”“禁止SHA-1签名”写进规范,比事后逐项返工省太多力气。
最后分享一个真实感受。有一次我整理一批五年没动过的旧配置,里面赫然还有RSA-1024证书、SHA-1固件校验逻辑,以及写死在代码里的密码套件。写它们的人并不笨,只是当年那套标准确实“够用”,后来业务一直迭代,没人把安全线的更新纳入计划。那一刻我意识到,数据安全的危机从来不是某一天突然降临的大新闻,而是无数个“先放着吧”累积出来的债务。我们会在十年后,感谢今天愿意给数据留一条后路的自己。