通过使用 AI 软件工程师 Devin,研究团队成功完成了对 260 位大数 RSA-260 的因式分解,创造了新的世界纪录。该过程的核心是 Devin 构建了一个高性能的 GPU 格筛工具,将分解成本降低至此前公开技术的十分之一。这一成就表明,尽管 2048 位的 RSA 密钥仍然安全,但已被弃用的 1024 位 RSA 密钥对于拥有大规模 GPU 资源的组织(如大型科技公司或前沿 AI 实验室)来说已经不再安全,其分解成本估计约为 3000 万美元。这标志着 AI 代理正在显著降低计算数学和科学研究的门槛。
22112825529529666435281085255026230927612089502470015394413748319128822941402001986512729726569746599085900330031400051170742204560859276357953757185954298838958709229238491006703034124620545784566413664540684214361293017694020846391065875914794251435144458199
4397328654844826923795068102505872571721883526553349659561256924505973939597593482272505698004801207988043088656411102133523080581 × 5028695206842569864686141618253083416610081090075366674776775706538324961364412200138116378509733307971876652984898985905923678379
核心结论
此次分解成功带来了几个重要启示:
- RSA-1024 已不安全: 拥有大规模算力的组织(如超大规模计算公司或 AI 实验室)能够以大约 3000 万美元的成本分解一个 RSA-1024 数字。通过进一步优化,成本可能还会大幅下降。
- RSA-2048 依然稳固: 目前最先进的 RSA-2048 密钥的分解难度比 RSA-1024 高出约十亿倍,并未受到此次技术进展的实质性影响。
- AI 代理的能力: Devin 证明了自主软件工程代理足以解决计算数论和 GPU 性能工程交叉领域的复杂问题。人类专家的角色转变为设定优先级、评估基准和修正方向,而非亲自执行。这大大降低了密码分析和大规模科学计算研究的门槛。
技术实现与成本
分解 RSA-260 并未依赖量子计算或手动猜测,而是使用了已知的最高效算法——通用数域筛法 (GNFS)。
此次的突破并非算法上的创新,而是通过“纯粹的性能工程”将 GNFS 算法在 GPU 上高效实现,充分利用了 GPU 强大的内存系统。
整个项目利用了公司计算集群中未能被其他任务使用的闲置或碎片化算力,因此边际成本为零。
- 总成本估算: 约 4,900 GPU-天(相当于 13.5 GPU-年),按当前市价计算约为 40 万美元。
- 时间分解:
- 多项式选择:643 GPU-天
- 格筛:3,813 GPU-天
- 线性系统求解:467 GPU-天
GNFS 中计算量最大的部分是格筛 (lattice sieving),它具有高度并行的特点,非常适合在分散的、可随时被抢占的单节点上运行。
AI 代理 Devin 的工作流程
作者将 Devin 视为解决问题的核心执行者,自己的角色则更像一名管理者。
- 初始指令: 作者向 Devin 发出指令,要求其为 CADO-NFS(一个开源的 GNFS 实现)开发一个快速的 GPU 格筛工具。
- 自主迭代: Devin 在 7 小时内完成了初始版本的开发和迭代。在随后的一周里,作者引导 Devin 优化了整个 GNFS 流程。
- 并行工作: 作者同时运行多个(平均 3 个,最多 18 个)Devin 会话,分别处理不同的任务:
- 组件优化: 迭代优化单个程序组件,包括设计实验、解读结果和实施改进。
- 端到端管理: 运行完整的分解流程,发现并修复整体效率瓶颈。
Devin 自主处理了参数选择、调试、脚本优化和大规模计算任务的编排。
人类的角色
尽管 Devin 表现出色,但人类的指导仍然不可或缺。作者的主要贡献在于:
- 设定目标层级: 确保 Devin 专注于正确的方向。
- 识别无效工作: 及时叫停没有生产力的任务。
- 提供新思路: 指出未曾尝试的优化方向(例如,“确保 GPU 永远不会被 CPU 阻塞”)。
- 建立统一的基准: 帮助创建了一套统一的测量结果、基准和性能估算器,使 Devin 能够更有效地评估进展。
作者强调,如果没有 CADO-NFS 这个成熟、强大的开源项目作为基础,这项工作是不可能完成的。人类工程师对问题的分解是 AI 代理取得进展的关键。
个人反思
作者认为,这次经历非常奇特,功劳难以简单地归于个人、Devin、硬件或整个开源社区。
“在某种意义上,用 Devin 做这件事与常规方式并无太大区别:我与一个比我大得多、内部运作机制对我来说很模糊的物理系统互动,能量被消耗,最终得到了分解结果。但另一方面,一些全新的事物显然正在发生。”
从第一个指令到最终分解 RSA-260 仅用了大约三周时间,这展示了 AI 能力的巨大潜力。作者鼓励人们积极探索,尤其是在那些“只需编程”就能解决的研究问题上。同时,他也表达了对“人类理解力丧失”的担忧,因为在 AI 的帮助下,他并未像独立完成那样深入学习 GNFS 或 GPU 编程。如何平衡技术进步与维持人类深度理解,将是一个重要的议题。