AI DAILY / 2026-09-19
GPT-6 Astra 解开一战德军 ADFGVX 无线电密文
GPT-6 Astra Solves a WWI German Radio Cipher
全文中文翻译 · AI 生成,仅供学习交流
GPT-6 Astra 破解一战德国无线电密码
正如你所见,ADFGVX 在表格中既横向使用又纵向使用,从而为表中的每个"单元格"赋予一个值。例如,在这段文本中,"AA" 对应字母 H,"AD" 对应字母 O,"DA" 对应字母 B,依此类推。因此,单词 "PRINZ" 将被编码为:FX GD DX FV VD。如果使用 "HOUSE" 以外的加密词,则会产生完全不同的表格。
有一份已知的德军用于加密这些无线电信息的密钥列表,其中数百条信息已被成功破解,包括由密码破译专家 George Lasry 完成的工作。尽管如此,仍有十几条至今未能被破解,其中(据我所知)包括这条最初于 1918 年 11 月 27 日发送的信息(第 217 页):

GPT-6 Astra 破解了这则密码,并认为原始信息内容如下:
EIN ENGLISCHER KREUZER EINLIEG X SEWASTOPOL X S4STEN X EIN GESCHWADER DER X ALLIIERTEN FOLGT 26STEN X
即用英语表达:
AN ENGLISH CRUISER ARRIVED AT SEVASTOPOL ON THE ?4TH AN ALLIED SQUADRON FOLLOWS ON THE 26TH模型使用了 "TRUPPENVERSCHIEBUNG"(译注:德语意为"部队调动")作为加密词,如 J. Rives Childs 所著《The History and Principles of German Military Ciphers, 1914–1918》(《德国军事密码的历史与原理,1914–1918》)第 214–215 页所述。该加密词对应如下表格:

在使用此表格之前,需要先把 "TRUPPENVERSCHIEBUNG" 这个词重新排列,使其中的字母按字母顺序排列(例如,T 是第 16 个字母,R 是第 13 个字母)。

随后,相同的 "TRUPPENVERSCHIEBUNG" 被横向写出,加密信息中的字母写在它的下方,每行 19 个(由于共有 170 个字符,因此最终形成 8 行每行 19 个符号,外加 1 行 18 个符号)。这同时也意味着我们有 18 列每列 9 个符号,以及 1 列("G" 列)8 个符号。由此出发,因为 T 是第 16 列,在它之前有 14 个 9 符号列,加上 1 个 8 符号的 G 列;9×14 + 1×8 = 134,所以 "T" 将对应信息中的下一个符号,即第 135 个符号 "A"。类似地,下一个字母 "R" 对应字母 "V"(因为 R 按字母顺序是第 13 个字母,所以在它之前有 11×9 + 1×8 = 107 个符号;信息中的第 108 个符号是 "V")。
在上表中,"AV" 对应 "E",即 "EIN" 中的第一个字母。我们重复此过程,直到解码完整条信息。
(厉害。)Astra 对此前这条信息为何未能被破解提出了一个假设:作为密钥的 "TRUPPENVERSCHIEBUNG" 是从 1918 年 12 月 9 日才开始使用的,而如上所述,这条信息发送得更早,于 1918 年 11 月 27 日发出。造成这一出入的原因尚不清楚。
Astra 觉得有必要对自己的工作进行验证,结果发现,根据其原始航海日志,英国巡洋舰 HMS Canterbury 实际上确实于 1918 年 11 月 24 日抵达了塞瓦斯托波尔(Sevastopol):……而一支盟军舰队确实在 11 月 26 日随后跟进(见第 11 行下方,记载了一支盟军舰队的抵达):我此前并不知道这条具体的信息曾被破解过,因此在此分享,作为该模型能力的一个小例子(但我觉得相当酷的成果)。
