尘封217年的拿破仑密信,被AI用6小时解开

MIT科技评论 2026-10-01 14:33+-

  人生两个多世纪无人能完整读懂的拿破仑密信,最近有了新的解法。

  9月30日,美国AI工程师卡特·丘奇(Carter Church)在社交平台上领取,他借助OpenAI最新模型GPT-6 Astra,破解了拿一张破仑时代写给法国将领奥古斯特·德·马尔蒙(Auguste de Marmont)的加密信件。

  整套破解工作从一张低份额黑白扫描图开始,Astra完成了图像解密、密码分析、程序编写和历史数据比对等,模型执行时间约为6。丘奇丈夫已于9月18日公布了记录研究,并公开了完整的解密文本、密码表和用于复现解密的程序结果。

  这封写于1809年的密信,距今已有217年。它长期被历史密码网站Cryptiana列入未破解密码清单,唯一公开的完整来自法国军事史期刊1969年的一张扫描图。过去许多人曾研究过身份证密码,但始终没有公开出整封信的内容还原。

  据丘奇介绍,Cryptiana 维护者、历史难题 Satoshi Tomokiyo 已经检查了他的解法,将该边境标记为“已解决”,还把右上角标注错误的 1807 年改为 1809 年。

  准确地说,这不是一封拿破仑亲笔写下、直接寄出的密信。来自意大利总督欧仁·德·博阿尔内(Eugène de Beauharnais)的司令部,是按照拿破仑的命令转述发送给马尔蒙的一份加密军事简报。

  最左边低清扫描件的1809年密信

  1809年春天,欧洲大陆的新一轮战争已经迫在眉睫。土耳其准备再次对法国开战,而当时法国大量军队仍被西班牙牵制。法国将领马尔蒙正在达尔马提亚指挥法军,一旦奥地利进攻发动,他可能会迅速孤立无援的边境。

  3月16日,拿破仑向意大利总督欧仁下达命令,要求他把法国及盟军主要部队的位置告知马尔蒙,并特别要求一份消息“以密码写成”,由可靠的军官送达。如今保存下来的这封密信,很可能就是这道命令发出后马尔蒙的那份安全。丘又根据解出的兵力数字、将领参数和部队位置,将信件的时间重新确定为1809年3月下旬,解散军队只有大约上午发动进攻。

  (来源:Cryptiana)

  但这份文件的保存状况非常糟糕。1969年,法国陆军中校J. Vilcoq在《Revue historique des Armées》发表《第一帝国时期的密码》(Le Chiffre sous le Premier Empire),其中收入了这封信的复制图。原图只有1202×1836像素,第一行还可以正常接收链路:“马尔蒙将军,你应该已经收到了我本月8日、14日和20日的信……”附加即24行数字、符号和提示符号。

  然而,对应的完整密码没有全国各地,这是一个很大的破解难题。

  更困难的是,系统密码不是简单的一字一码。丘奇统计,整封信共有约1300个密码单元,涉及155种不同符号。其中大量最高字母拥有多个不同的写法,还有一些符号直接代表整个单词。这样的“同音替换密码”会刻意打散字母频率,让传统的词频分析效果彻底恢复。

  婚纱,法国密码史此前Daniel Tant已经整理出其中33字母对应关系一个单元,可以解释435个字母对应一个密码单元,约占全文;剩下的865个单元仍需进一步推断。另一名报道Daniel Bourdeau在9月15日也曾尝试处理这封信,一度因为没有找到完整的密文解密而停止。丘奇随后发现,1969年的原始文献已经由法国学术平台Persée数字化,真正需要处理的材料实际上一直公开存在,只是藏在一张难以直接使用的旧扫描图里。

  解密后的内容是相当详细的战前兵力简报。信中依次提到约4个巴伐利亚军队驻扎在尼泊尔和帕绍地区,约3个波兰军队驻扎在维斯瓦河附近并威胁克拉科夫,萨克森军队位于德累斯顿附近;达武、马塞纳和乌迪诺等法军将领部队的位置和兵力也被一一列出。信中判断,重新部署多个方向应急攻击,并要求马尔蒙积极行动。

  这些部队出现的顺序和数字,与拿破仑3月16日给欧仁的命令几乎逐项对应,成为判定解密结果的重要外部证据。

  其中还有一个有趣的历史细节。1865年出版的《拿破仑书信集》中,相关命令写到马尔蒙不可能被“一撮……”吓住,后面却留下了一串省略号。解出的接收端密信中,相应位置出现了“quelques tropes ou un rassemblement de canailles”,大意是“几支部队,或一群乌合之众”。

  (来源:拿破仑一世通讯)

  ,这封密信并不是拿破仑原始命令的逐字抄录,而是根据他的命令整理后发给马尔蒙的。因此,目前还不能确定“几支部队,或者一群乌合之众”就是拿破仑当时的原话,只能确认马尔蒙最终收到的信息中包含了这一支部队。

  从一张图片到一套完整密码表

  丘奇之所以会尝试破解这封马尔蒙密信,是因为他当初看到了一次类似的人工智能破译案例。

  泰勒,开发者卡特·莱芬(Carter Leffen)曾使用 GPT-6 Astra 处理安全 1941 年的德国陆军恩尼格玛电报。该封号为 MVUEH 的 82 个字母密文从 2005 年以来一直没有被破解。Astra 自行解密目标、搜索相关文件,并利用同天封已破解电报中的另一个地名“ROSENOW ROSENOW”作为已知的明文线索,编写了 Python 和C++程序模拟Enigma和密码分析设备,最终找到正确的密钥。Crypto Cellar者、密码焦点维护Frode Weierud后来检查的结果,确认了明文和密钥。

  图|Carter Leffen 公布的 GPT-6 Astra 破解 1941 年 Enigma 密文 MVUEH 的过程。(来源: X)

  丘奇看到这个案例后,也打开了 Cryptiana 的未解密码清单。

  他本职工作同样与AI智能体有关,但在英国没有历史密码破解经验。根据个人资料,丘奇目前是网络安全公司SentinelOne的AI工程技术人员,长期从事安全运营、事件响应和自动化。他拥有十多年的网络安全运营经验,近年的重点让AI智能体自主完成相关的安全任务。

  因此,他对这封信采取的方法也很接近一个智能体工作流程。

  首先是解读。Astra把低分辨率扫描图严格一行行小图,逐个识别手写符号。最初它记录了1320个单元和175种暂定符号,然后继续比较笔迹,把同一个符号的不同手写体合并,得到1300个密码单元和155种符号。

  为此,它把坦特语中确定的33个字母值作为一个参考点,同时利用信件中直接用普通字母写出的“CONSEQUENT”等内容扩大已知部分。在剩余符号上,Astra编写了基于模拟失眠算法的模拟程序,再用19世纪法语料判断不同结果是否自然。用于统计语言特征的材料包括雨果、大仲马作品以及马尔蒙本人的记录。

  在分析过程中,还发现,只要把所有符号当成单个字母就无法解释文本,于是进一步把一部分符号视为完整单词。最终有29个符号被识别为整词符号,对应de、que、les、vous、général等常用法语词汇。

  最后一步是回到原始图片进行。每提出一个新的符号映射,模型都会检查这个符号在整封信中的其他出现位置,看看它是否产生合理的结果。丘奇还感应器删除马尔蒙回忆录以及破仑时间文本后重新运行,结果仍然恢复相同的主要内容。完整解法和被整理成密码表、符号、清单、撕裂文件和脚本警告,其他让之后可以重新运行。

  (来源:X)

  所以,“6小时破解217年密码”所说的“6小时”,主要指GPT-6 Astra的模型执行时间。完成解密后,丘奇花了几个晚上的材料、获取了历史背景,并为他人制作了复现的文件。整个过程中也没有出现新的密码学原理。真正值得关注的是,到底需要图像还原、历史资料检索、语言分析、密码破解和程序开发等工作顺利完成的任务,被Astra连续完成并串联起来。

  越来越短的“未解之谜”清单

  最近几周,类似的案例已经接连出现。9月20日,密码突破 Jack Willis 又借助 Anthropic 的 Claude Opus 5 破解了另一封 1941 年德国陆军 Enigma 密文 FMNGI。与前一个案例不同,Willis 事先向 Claude 提供了用 Go 编写的密码分析工具和历史相关材料。最终的危险搜索在一台 Apple M2 设备上完成,用时 13 分钟28秒。需要注意的是,这只是最后一次令人振奋的搜索时间,并不包括整理材料和寻找线索的时间。

  另一项受到关注的案例来自安全1918年的德国ADFGVX 无线电密文。GPT-6 Astra找到历史资料中已经公开的一组密钥,并结合英国军舰HMS Canterbury的航海记录公开对解出的时间和地点。不过这一案例目前仍存在争议,使用的密钥与密文本身在时间上并不完全完全对应,也缺乏独立复现。破解历史密码”的案例,目前得到的外部验证的程度并不相同。

  马尔蒙密信更值得关注的地方,是它展示了人工智能如何降低此类历史问题的研究成本。相关扫描件大量公开,部分密码表也有人整理,拿破仑书信、马尔蒙回忆录和19世纪法语资料同样可以查到。过去真正的零散材料时间的,是把这些零散材料估算来,再完成、编目、编写程序并反复验证。

  丘奇在复盘中也提到了,几十年前一位有耐心的密码专家可能会解开这封信,只是很少有人愿意为一张军事史期刊里的低清扫描图投入周时间。现在,模型把这类工作压缩到了更短的时间图。

  变化可能不仅仅出现在密码学中。历史档案、古文字、手稿、旧地图,甚至散落了数十个不同数据库里的科学数据中,都大量类似的问题:材料和方法已经存在,只是过去投入成本过高。随着人工智能进一步接受资料检索、图像识别、程序编写和结果验证的存在,未来存在涉及这些“未解之谜”的人,也可能越来越多地来自专业领域之外。