Cognition 在 9 月 9 日公布,公司研究员 Eric Lu 用自家的编程智能体 Devin 完成了 RSA-260 的因式分解,这是 RSA 因式分解挑战里目前公开的最大纪录。上一个纪录 RSA-250 停在 2020 年 2 月,中间隔了六年半。
RSA-260 是一个 260 位十进制数,被拆成两个 130 位的质数。用的算法不新,还是通用数域筛法(GNFS),从上世纪九十年代起就是分解大整数的标准路子。变化发生在实现层:整套流程从 CPU 集群搬到了 GPU 上。
4900 GPU 天怎么花掉的
Cognition 给出的分项是:多项式选择 643 GPU 天,格筛 3813 GPU 天,线性方程组求解 467 GPU 天。筛法这一步吃掉四分之三以上的算力,符合 GNFS 的一贯特征。
关键工件是一个叫 glas 的 GPU 格筛器,用 CUDA 重写,配合改造过的 CADO-NFS 和一版 GPU 优化的块 Wiedemann 算法。Cognition 称这套实现把筛法的单位成本压低了大约一个数量级。
CADO-NFS 正是 2020 年那支法国团队分解 RSA-250 时用的开源软件。同一套代码基础,换了硬件后端,六年时间里的差距就体现在这两组数字上。
Devin 在这里做的是工程活,不是数学发现:代码优化、参数调试、集群管理。Cognition 在文章里把它形容为一个”足够强的软件工程师,能解决计算数论与 GPU 性能工程交界处的难题”。
人类的投入也写进了公开数据:233 个会话、82702 个词的指导。换算下来平均每个会话三百多词,接近一次代码评审的批注量。这不是无人值守,是一个人带着一个能连续干活的工具,把过去需要一支团队协调数月的工程摊平到三周。
往上推是什么景象
Cognition 顺手给了两个外推估算,都标明是按当前 GPU 价格粗算:RSA-1024 的难度约为 RSA-260 的 78 倍,成本约 3000 万美元;RSA-2048 的难度是 9.12 万亿倍,成本写成了 3.77×10^16 美元。
第一个数字值得停一下。3000 万美元这个量级,国家级机构付得起,大型企业也付得起。RSA-1024 在标准体系里早已不推荐使用,但嵌入式设备、旧版固件签名、一些没人再维护的证书链里仍然留着这个长度。两个数字之间约十亿倍的差距,是 2048 位目前还站得住的全部理由。
把纪录线拉长看,1999 年 RSA-155 被分解时的公开估算是约 8000 MIPS 年;2009 年底的 RSA-768 折算成单核 2.2GHz Opteron 约 2000 年;2020 年 RSA-250 是 2700 核年;这一次换成了 13.5 GPU 年。前三次的进步主要来自摩尔定律和算法调优,节奏大致是每十年一档。这一次的跳跃里,硬件换代和”谁来写这些 CUDA 代码”两件事叠在了一起。
还没有答案的部分
论文和代码是否完整公开、glas 会不会开源,Cognition 的公告里没有写。独立第三方尚未复现这次计算——RSA-250 当年由多个团队交叉验证过筛法参数,这次的结果目前只有一方的数据。
分解结果本身容易验证,两个质数相乘即可。难验证的是那份成本账:4900 GPU 天用的是什么型号、什么单价、有没有算上失败的尝试,公告没有逐项拆开。40 万美元这个数字对安全评估的意义,取决于这些细节。
参考来源:Cognition 官方技术博客、caramba.loria.fr 的 RSA-250 分解公告、CocoLoop;GPU 天与核年口径按各自公告原文引用,未做统一换算。