一台普通的消费级台式机,花了32个小时,就分解出一枚1999年发布的512位RSA私钥。这枚私钥属于加拿大已经倒闭多年的证书机构E-Certify,当年被Netscape 4.51当作SSL根证书信任。安全研究者Matthew McPherrinCADO-NFS这套开源大数分解工具,在自己的Ryzen 9 5950X上跑完之后,真的拿恢复出的私钥签发了一张能在古董浏览器里验证通过的伪造证书。这件事对今天的互联网没有任何现实威胁,受影响的用户早就不存在了,但它把“密钥长度到底该在什么时候淘汰”这个抽象问题,换算成了一个具体到小时的成本数字。

一台家用电脑,两天时间,一枚CA私钥

1999年3月,Netscape 4.51随浏览器安装包分发了两枚512位RSA根证书,一枚用于SSL(Gold Server),一枚用于S/MIME(Gold Client),都出自E-Certify。这两枚证书早已过期——2003年10月16日到期,对应的根也在2002年被Netscape移除,理论上已经“死”了二十多年。

McPherrin跑CADO-NFS,分解Gold Server用了32小时,分解Gold Client用了29小时。拿到私钥之后,他签发了一张e-certify.fly.dev的证书,还专门写了一套能跟Netscape 4.51握手的古董TLS服务端——现代TLS栈和1999年的浏览器根本没有交集,连验证过程本身都得从零搭建。

分解成本:一台台式机的账 512位 密钥长度 32小时 SSL私钥分解耗时 29小时 S/MIME私钥分解耗时 硬件:Ryzen 9 5950X 工具:CADO-NFS 单机、单张CPU

512位在发布那年就已经过时

真正值得记住的一点是:E-Certify这枚证书发布的那一年,512位RSA本身就已经过时了。同一年,学术界公开分解了同为512位的RSA-155。也就是说,E-Certify把一个当年就该淘汰的密钥长度,塞进了千家万户的浏览器信任库,而那时的Web PKI根本没有强制的密钥长度下限,谁能进CA名单更多靠浏览器厂商各自把关。

这不是孤例。IE 3.02里也躺着一张512位的VeriSign测试签名CA,另一位研究者用GPU集群,一小时内就分解掉了。早期互联网的信任链,更像是野蛮生长的产物,不是精心设计的结果。

一枚512位密钥的一生 1994 Netscape SSL上线 1999.03 E-Certify证书发布 1999 RSA-155同期被破 2002-03 根移除/证书过期 2026 私钥被分解

1024位还安全吗,这里没有答案,只有一个参照

32小时听起来不算快,但这是单张消费级CPU、单机跑出来的成绩,没有用GPU集群,也没有动用云端算力。这给了一个具体的参照物:512位密钥现在属于“周末就能分解”的量级。

行业十几年前就把1024位RSA列为淘汰对象,理由是它迟早会撞上类似的命运,只是耗时更长、成本更高。这篇实验没有给出1024位的实际分解耗时,也没有第三方数据能验证这个外推,但它留下的问题是明确的:如果512位是32小时,那1024位对拥有大规模算力的机构而言,门槛可能没有想象中高——这是原作者提出问题时留的一个推测,不是已经验证的结论。眼下互联网主流已经用2048位,量子计算的潜在威胁又让这个数字面临下一轮迁移讨论,而这种紧迫感,很大程度上正是从“旧密钥被随手攻破”的案例里长出来的。

密钥的保质期,从来不是密码学定的,是算力定的。

AI辅助的“数字考古”,可信度还没验证

这次实验里另一个容易被忽略的细节是工具链。McPherrin用Claude Code批量提取IE和Netscape历史安装包里的根证书,生成了一份“古老根证书”数据库网站,又用Claude Code写了那套古董TLS服务器。他自己承认,这份LLM生成的数据库没有完整核验过,可信度存疑——这是一种此前没被公开记录过的做法:把安全考古的翻找劳力外包给AI,省下了人工比对几十个浏览器版本安装包的时间,但也把“数据是否可信”这件事,又转手交给了一个尚待验证的环节。

  • 提醒.目前没有看到第三方安全社区对这次分解和数据库的复现或核实,仍是一份未经交叉验证的个人项目。

这件事对今天的普通用户、企业客户、CA机构都没有直接冲击——受影响的Netscape 4.51加过期证书场景,现实中基本找不到第二个受害者。它的价值更多留给两类人:PKI治理者可以拿它当证书生命周期管理和吊销机制的历史教材;密码学研究者可以把32小时、29小时这两个数据点,塞进推算1024位RSA真实寿命的模型里。下一个被随手分解的古董密钥会是谁的,现在还看不清,但历史留下的这类样本,只会越来越好找。