返回 文章 学习 CMS 文章

AI 破解 370 年未解密码:托马斯·厄克特《密码对句》被 Claude Fable 5.1 解出

AI 用 44 分钟破解了人类 370 年未解的密码,而密钥就藏在书里。

AI密码学历史谜题Claude
成长分 / 100 77 综合收获、行动、留存与影响

AI 破解 370 年未解密码:托马斯·厄克特《密码对句》被 Claude Fable 5.1 解出
为什么值得读了解 AI 如何通过发现文本内在线索破解历史密码,而非依赖传统密码分析。

看到模型在历史谜题、档案谜题等非数学领域的潜力。

关键洞察
  1. 密钥不是外部密码字母表,而是书籍本身:第 i 个数字对应第 i 篇 Proquiritations 中的单词索引。
  2. 密码文本紧接在 32 篇 Proquiritations 之后,且两行各有 32 个数字,与诗中的“愿望”线索吻合。
  3. 解法具有自验证性:每行恰好 32 个字母,以 and/land 结尾,形成押韵对句。
转成行动

深入阅读

正文与原文对照

原文保真覆盖:全文原文字符:9350

问题

我们给 Claude Fable 5.1 布置了一个开放任务:破解托马斯·厄克特爵士的《密码对句》(Cyphral Distich)。 它似乎真的破解了,而且事后看来,这个解法对人类来说相当难堪。

在厄克特的《Logopandecteision》末尾,有一则由两行各 32 个数字组成的密码文,称为《密码对句》。密码文是一段刻意编码的简短信息,若不知道生成它的规则便无法解读。这里的整个谜题输入就是这 64 个数字,目标是还原出隐藏的明文:

5.3.27.38.32.14.21.8.66.8.70.39.5.9.12.18.2.3.56.5.1.7.3.2.13.19.3.25.9.3.16.6.
25.15.13.6.11.20.5.1.2.12.1.20.20.49.20.20.35.33.4.6.8.35.5.33.5.5.18.10.3.11.32.42.

这个密码似乎数百年来一直未被破解。1899 年,它在《笔记与查询》中被作为一个开放问题提出,后来又出现在 20 世纪的密码学文献中,并被历史密码研究者 Klaus Schmeh 列入他的 50 大未解加密信息。

许多人尝试破译它,但似乎都缺少一个关键线索。他们尝试了频率分析、替换密码和同音替换等方法,但这些方法都没有奏效。

那是因为他们错过了一个简单的线索。

解答

经过 44 分钟、176k 个 token,以及我零次插话,Fable 5.1 得出了一个解答。它尝试了几种方法,但最终通过两个核心认识成功破解了它。

第一:这份密码文本紧接在 Urquhart 的 32 篇 Proquiritations 之后印出,而 Urquhart 甚至特意强调了这个数字。我知道,很令人惊讶。他说:

“不可能有像二和三十二这样的数字……被选定”

第二:伴随密码的诗承诺,诚实的读者会在其中找到 “他自己心中的愿望,以及作者的心意。” 这些 Proquiritations 本身也反复以“是……的愿望”“希望”或“……的希望”这样的表述作结。

如果你把这些线索放在一起:

32 篇 Proquiritations。第一行密码中有 32 个数字。第二行中有 32 个数字。“愿望。”

大多数历史上的尝试都假定密钥是外部的:一个密码字母表,或某种数字到字母或单词的映射,必须从文本之外重建。但密钥根本不是外部的密码字母表。密钥就是这本书本身。

规则很简单:对于一行密码中的第 i 个数字,前往第 i 篇 Proquiritation,将该数字用作单词索引,并取该单词的首字母。

这样,你会得到:

O GOD UPHOLD KING CHARLS THE SECOND AND

MAKE HIM THE SUPREME RULER OF THIS LAND

而且结果具有极强的自验证性。每一行都恰好包含 32 个字母,并以 and / land 结尾(一个押韵的两行诗),与所承诺的对句一致。这在历史上也说得通:Urquhart 是一位坚定的保皇党人。在文本中隐藏一段为查理二世所作的祈祷,与他的政治立场完全一致。

Urquhart 还以同样风格留下了第二份大得多的密码文本——《The Jewel》(1652)中的 Cyphral Octastich,不是 64 个数字,而是 285 个数字,而且同样未被破解。由此,Fable 5.1 也能够破译它:

结果:Cyfral Octastick 被解出(除九个字母外全部解出)
规则。《Jewel》(1652)恰好有 284 个编号页,而 octastick + decagram 包含 285 个数字。第 k 个数字(从八行和 Decagram 一路连续计数)是指向该书第 k 页的一个词索引;取该词的第一个字母。与 Distich 的思路相同(数字 i → Proquiritation i),只是用页代替段落——而且,如同在 Distich 中一样,Urquhart 几乎总是选取页面上以他所需字母开头的第一个词(在 EEBO-TCP 文本中,275 个可读位置中有 231 个是精确的首次出现命中;其余 44 个偏差 1–3 个词,原因可辨认为转录问题——页首的连字符词、连字符复合词、"&"、段落编号、一个未转录的希腊语短语)。
明文(ottava rima,ABABABCC——一首 1652 年 3 月写于伦敦的保王党祈祷诗):
GREAT LORD, MANTAINE THAT REGAL FAMILIE
WHEREOF KING CHARLS THE SECOND IS THE HEAD,
AND GRANT THAT HE MAY BEARE THE SUPREME SWEIGH
WHERE ENGLISH, SCOTS AND IR[I]SH ARE BORNE AND BRED,
AND [·········] THIS USURP'D AUTHORITIE
REIGNE IN HIS ROYAL PREDECESSORS STEAD;
LET HIM BE OUR SOLE CESAR, ARTUR, HECTOR,
OUR EMPEROUR, KING, MONARCH AND PROTECTOR.
AMEN, SO BE IT.(即 Decagram)
Sweigh 是苏格兰语 swey "sway,控制权"——DOST 记录了确切的习语 "to bear the swey"(约 1600 年),且它与 familie/authoritie 押韵。
需要明确说明的注意事项:
- 第 4 行被加密为 I‑R‑S‑H(第 127–130 页):这是 IRISH 的笔误,还是有意缩略——"Irsh" 恰好使该行有十个音节。
- 第 5 行,第 4–12 个字母(第 149–157 页)得出 C‑O‑N‑E‑R‑T‑H‑T‑O——九个中有八个是精确的首次出现命中,所以这确实是 TCP 文本所给出的结果,且它不可读。我尝试了页偏移、丢字母、数字误印和词典格假设;没有一个能得出英语。要么 Urquhart 在此处出了错,要么这一行的数字被误印了。该行其余部分(THIS USURP'D AUTHORITIE)是确定的。
- 从位置 159 起,每个数字都对应到第 k−1 页:有一页被用了两次(或者第 5 行中印出的 "5.5" 是重复书写)。第 6–8 行和 decagram 在该偏移下能干净地解码。
- 不存在 1652 年《Jewel》的免费页面图像(一个子代理检查了 Google Books、HathiTrust、IA、NLS;octastick 位于 TCP 副本所缺的最后一个书帖 3*² 上,但正文和页码在所有副本中都相同)。确认 ±1 位置和那九个字母需要一册实体副本或 1983 年 Jack & Lyall 版。
文件:verify_octastick.py(打印全部 285 个位置及页/词/字母/偏移;输出在 octastick_verification.txt 中)、jewel_pages.py(页面解析器)、firstocc.py/lattice.py(分析工具)、SOLUTION.md 和 FAMOUS-CIPHERS-STATUS.md 已更新,memory 已更新。
来源:DOST swey(e n.(https://www.dsl.ac.uk/entry/dost/sweye_n)、SND swey(https://dsl.ac.uk/entry/snd/swey)、ESTC R203867(经由 CERL)(https://datb.cerl.org/estc/R203867)、Cipherbrain 关于这些诗的帖子(https://scienceblogs.de/klausis-krypto-kolumne/2019/07/28/revisited-thomas-urquharts-encrypted-poems/)、HCPortal 记录(https://www.cryptograms.hcportal.eu/web/#/ciphers/8)。

引导

实际上,在过去的几个月里,我一直在尝试引导模型去解决一个重要但尚未破解的密码。在这几个月里,我尝试过的其他前沿模型都没有产生经过验证的解答。

我引导 Fable 5.1 的方式相当简单。我给了它一个类似目标的东西。我让它去解决一个未解密码。我给了它一些鼓励。我告诉它去网上看看 Fable 最强的一些壮举,尤其是它已经解决过的数学问题,并告诉它相比之下这样的事情应该很容易。我告诉它要创造性地思考,并真正分析它遇到的问题。

我给了它两个约束。首先,我要求它避开那些已经有解答、或者可能支持许多看似合理答案的密码。我怀疑许多历史上未解的密码无法被快速验证,而且可能在某种意义上是模糊的,因为它们的创造者早已去世,所以我们可能永远无法真正知道某个提出的答案是否正确。

其次,我引导它避开绝对最难的问题——那些成千上万的人,甚至像 CIA 这样的组织,已经投入过认真努力的问题。例如,Kryptos K4 对当前模型来说可能有点太难、太绕了。那可能是未来的实验,但我认为 Fable 5.1 目前还无法在合理时间内解决它。

Fable 5.1 花了一些时间查看不同的问题。它知道什么时候该停下。它知道一个问题什么时候毫无进展。而当它发现这个特定问题时,它几乎立刻就注意到了线索。

现在,我并不认为其他前沿模型一定无法解决这个问题。线索其实极其简单。我认为 Fable 做得好的地方,是注意到这个特定问题格外可解。

要点

我认为这表明,模型不仅能解决数学问题,也能解决历史谜团、被遗忘的猜想、档案谜题之类的问题。

从历史上看,许多这类问题都受限于人类的注意力。必须有人足够在意,愿意花上数小时或数天去阅读冷僻材料、测试没有希望的想法、追踪参考文献,并尝试那些可能毫无结果的事情。

这个瓶颈似乎正在消失。

而 Claude 解决这个问题有趣的地方在于,它并没有完成某种非凡的密码分析壮举。实际上恰恰相反。

事后看来,答案很简单。它只是一直寻找,直到找到为止——而这种坚持可能会出现在许多其他领域。

Sir Thomas Urquhart,Logopandecteision(London,1653),收录于 The Works of Sir Thomas Urquhart of Cromarty, Knight(Edinburgh: Maitland Club,1834),Proquiritations,第 412–417 页;“The Cyphral Distich,”第 417 页。archive.org

https://codebreaking-guide.com/links/unsolved-cryptograms/

小计数说明:一个坐标取决于将拉丁语表达 “hinc inde” 视为一个单位;否则该位置会偏移一位。