GPT-6 Astra 破解拿破仑 217 年前的密信
转录 1300 个符号、自写求解器,补上拿破仑书信 160 年的空缺

未破解历史密码资料库 Cryptiana 的管理员 —— 它是互联网上这类资料库的主要一家 —— 审阅了 Carter Church 的方法,宣布 1809 年拿破仑致马尔蒙的那封急件正式结案。这封信几十年来一直挂在 Cryptiana 的未破解名单上;每一位研究过它的密码学家都找不到可行的攻击入口。Church 是网络安全公司 SentinelOne 的一名资深 AI 工程师,没有受过任何密码学训练,他在 2026 年 9 月把一张低分辨率的黑白扫描件交给 GPT-6 Astra,让模型自己跑。六小时后,他拿到了一份完整的密码密钥、一份完整的法语明文,以及一段被拿破仑书信的 19 世纪编辑者从历史记录里删去的文字。
这个故事在 9 月 30 日 Church 把方法发到 X 上之后迅速传开。
1809 年的这份密码是什么,专家们为什么不碰它
1809 年 3 月 16 日,拿破仑下令把一份绝密急件送给奥古斯特·德·马尔蒙元帅,当时奥地利正准备进攻,马尔蒙指挥着亚得里亚海对岸的 1.3 万名法军。这封信必须穿越敌占区,所以拿破仑指定由「一位极其聪明的军官」来编码。由此得到的密码占 24 行,由两位数字、零星字母和自造符号构成 —— 只有开头一句标准问候语是用普通法语写的。
密码的密钥在随后的战争中丢失了。这封信唯一幸存的副本是 1969 年一份法国军事杂志上的影印件,复制成 1202 × 1836 像素 —— 平均每个密码符号只有 19 个像素。密码分析师 Daniel Bourdeau 在 Church 几周前审视过它,然后放弃了:图像质量太差,密钥已经没了,没有任何一位密码学家能为这种跨学科的投入找到理由。
这份密码的设计让难度雪上加霜。它是一种同音替换密码:像 e、a、s 这样的高频法语字母,各自对应五到八个不同的符号,有意压平密文的频率分布,让现代密码分析者首先使用的标准频率分析方法失效。1300 个符号分属 155 种不同的字形,又没有幸存的密钥,这封信没有任何常规的切入点。
GPT-6 Astra 是怎么破解的:六小时里的五个步骤
Church 的提示词极其简短:他提供了扫描件,让模型去解码。随后是一次不间断的自主会话。
第 1 步 —— 视觉转录。 GPT-6 Astra 按行切分图像,分离出单个密码符号,并把抄写者笔迹上的差异归一化。模型识别出,那些以略有不同形态出现的符号,其实是同一个字形,只是带着 19 世纪手写的自然不一致。它把 1300 处出现归类为 155 种规范符号类型 —— Church 指出,这件事让人类古文字学家用手工比对要花几个月。
第 2 步 —— 锚定已知值。 Astra 检索到一份由法国密码学史学家、ARCSI 的 Daniel Tant 整理的部分密码表(ARCSI 是法国密码学预备役组织),其中确立了 33 组字母与符号的对应。它还在第 14 行检测到用普通拉丁字母拼出的「CONSEQUENT」—— 法语里表示「因此」的词 —— 这是一处抄写者的例外,充当了已知明文的线索。这两个锚点让模型拿到了大约三分之一的密钥,并获得了切入这封信语言的立足点。
第 3 步 —— 编写并运行模拟退火求解器。 还剩 865 个未知的符号-字母映射,频率分析对同音替换密码毫无用处。Astra 自己写了一个 Python 求解器,采用模拟退火 —— 一种概率式优化算法,它在过程早期接受不完美的移动,并随着收敛越来越挑剔地去搜索最优解。适应度函数用法语 n-gram 统计来评估候选解密:每个被提出的字母序列,在真实的 19 世纪法语文本里出现得有多频繁。语料方面,Astra 用了维克多·雨果和大仲马的作品,外加马尔蒙自己出版的回忆录 —— 这个选择让 n-gram 模型对这封信的确切语域格外校准。
第 4 步 —— 发现整词符号。 解到一半时,模型检测到:某些符号当作单个字符处理,会产生语法上不可能的字母组合。它测试了另一种假设:有些符号代表的是完整的词,而不是单个字母。这个假设是对的。密码里有 29 个符号对应常见的法语军事和语法用词 —— de、que、les、vous、général —— 这是一种速记约定,让这份密码写起来更快,而在不知道这个约定存在的情况下,破解起来更难。
第 5 步 —— 交叉验证。 在给出最终输出之前,Astra 用推出的密钥把解出的明文重新编码,并与原始扫描件逐个符号比对,确认了整封信内部的一致性。
输出是一份 144 条的密钥表 —— 115 个字母符号和 29 个整词符号 —— 以及一份完整的法语明文,连同让他人能独立复现的验证脚本一并公开。
延伸阅读:GPT-6 Astra 发布:OpenAI 首个「关键」级网络安全 AI
信里说了什么,以及拿破仑的编辑者藏起了什么
解出来的急件是一份战前情报简报。拿破仑汇报了他麾下几位元帅 —— 达武、马塞纳等人 —— 的位置和兵力,并以一贯轻蔑的口吻评估了集结在他对面的奥地利军队。信里把奥地利描述为「因此正加速走向毁灭」。法军在当年 7 月赢得了瓦格拉姆战役,拿破仑也将马尔蒙晋升为元帅。
更重要的历史发现,出在一段历史学家早就知道不完整的文字里。在 1865 年出版的 《拿破仑一世书信集》(Correspondance de Napoléon Ier) —— 官方编纂的 32 卷拿破仑书信集 —— 中,致马尔蒙的急件里有一句话,以一个突兀的省略号出现:「马尔蒙不应被一小撮……所吓倒(par une poignée de . . . . . . . .)」原稿是已经损坏,还是第二帝国时期的 19 世纪编辑者觉得这句话在政治上不合时宜,一直不得而知。
破译出的信补上了这个空缺。据 Church 的解码,这封密信里带有马尔蒙收信一端对同一段话的转述,内容是:几支部队,或一伙乌合之众(quelques troupes ou un rassemblement de canailles)。Church 指出,这一转述只是意译,并非拿破仑的原话,但这是关于那个省略号究竟遮掩了什么的第一份直接证据 —— 考虑到 1860 年代的外交气候,这些措辞很可能是第二帝国的编辑者想要压下去的。这个短语尚未经拿破仑史学家正式审阅,这一验证步骤仍待完成。拿破仑基金会 已经指出,《书信总集》(Correspondance générale) 的现代校勘版是依据原件重新编订 1809 年的信件的,可以去那里核查缺失的字句是否在别处留存。
刚刚被 AI 解决的专业知识成本问题
Church 自己的总结很尖锐:「这份密码在数学上并不难。密码学家们本可以在几年前就破解它。问题在于,它需要一位历史学家、一位古文字学家、一位密码分析师和一位程序员,一起去做一件没人觉得值得出资的事。」
Cryptiana 数据库收录着数百份未破解的历史密码;乌普萨拉大学的DECODE 数据库 追踪着数千份加密的历史材料。它们之所以一直悬着,并不是因为在计算上无法处理,而是因为所需的专业知识横跨了彼此并不经常合作的学科,而任何单份密码的研究价值,又很少值得付出这样的成本。
GPT-6 Astra 把这笔成本压塌了。它 105 万 token 的上下文窗口,可以把大量历史参考资料与手头问题一起装下;它的多模态流水线能处理退化的文档图像;它的代码生成能执行特定领域的求解器;它的长周期智能体设计能在没有人类掌舵的情况下运行多步研究计划。这六小时的破解,主要不是关于原始智力 —— 而是关于一套协同的能力组合,它此前需要四位专家和数月的日历时间。
同一周里,还有另外两份历史密码倒在了 Astra 面前:一份二战恩尼格玛变体,由彭博社的产品开发者 Carter Leffen 用大约十小时解出;以及一份德国一战无线电密码,用一把独立发现的密钥解出。这个模式说明,马尔蒙这封信并不是一次孤立的演示。
GPT-6 Astra 的能力,以及它在竞争中的位置
GPT-6 Astra 由 OpenAI 于 2026 年 9 月 3 日发布,在 105 万 token 的上下文窗口内支持文本和图像输入,定价为每百万输入 token 10 美元、每百万输出 token 50 美元。独立基准机构 Artificial Analysis 在其智能指数上给它 61 分 —— 比 Anthropic 的 Claude Fable 5.1 的 66 分低五分,依据的是相当 effort 档位的测试。
拿破仑密信这个演示,是一次用户自发的能力测试,而不是 OpenAI 设计的基准。任务是对一份退化的历史文档做图像解析,而不是一个格式化的 OCR 问题;是为特定领域写一个求解器的代码生成,而不是标准算法;是针对 19 世纪法语文学文本校准的语料检索。Claude Fable 5.1 或其他同期前沿模型能否复现这个结果,尚未测试。马尔蒙密信为这一组特定的能力 —— 结合多模态视觉、代码执行和领域语料检索的持续长周期规划 —— 提供了一个具体的、可复现的基准。
延伸阅读:GPT-6 Astra 刷爆了一位独立开发者用编程智能体造的多模态基准
档案馆 AI 接下来会怎样
Satoshi Tomokiyo 的确认,改变了档案机构应当如何规划的前提。每一座主要历史档案馆里,都有这样的材料:它们抵住了人类学者,不是因为不可能分析,而是因为所需的专家时间成本超出了任何合理的研究预算。这笔账现在不一样了。
更眼前的问题是:那段被恢复的文字 —— 一伙乌合之众(un rassemblement de canailles)—— 能否经得起拿破仑史学家对 1865 年出版物原文空缺的审视。这一验证步骤,是 Church 的破解无法自动完成的那块拼图,因为它需要对 19 世纪编辑惯例做出情境判断,而这超出了任何密码表的范围。Church 的验证脚本公开可得,方法可复现;历史上的裁决,是剩下的那条开口的线。
除拿破仑这一封之外,Cryptiana 和 DECODE 的未破解密码清单多年来没有实质变化。它们就要变了。