GPT-6 Astra Solves a WWI German Radio Cipher

GPT-6 Astra Solves a WWI German Radio Cipher

GPT-6 Astra 破解了一则一战德国无线电密码

Scienceblogs.de, a German science blogging portal, includes a relatively famous list of 50 unsolved ciphers, which range from cryptograms published by serial killers to the famous Voynich manuscript. 德国科学博客门户网站 Scienceblogs.de 收录了一份颇为著名的“50个未解密码”清单,内容涵盖了连环杀手发布的密码文到著名的《伏尼契手稿》。

Among these ciphers is a set of German radio messages from World War I that were encoded using the ADFGVX method. 在这些密码中,有一组使用 ADFGVX 方法加密的一战德国无线电信息。

This method is illustrated by the following example using the word “HOUSE” as the key: 该方法通过以下使用“HOUSE”作为密钥的示例进行说明:

A D F G V X A H O U S E A D B C D F G I F J K L M N P G Q R T V W X V Y Z 0 1 2 3 X

As you can see, ADFGVX is used both horizontally and vertically to give each “cell” in the table a value. For example, in this text, “AA” corresponds to the letter H, “AD” corresponds to the letter O, “DA” corresponds to the letter B, and so on. And so, the word “PRINZ” would be encoded as: FX GD DX FV VD 正如你所见,ADFGVX 被同时用于横向和纵向,为表格中的每个“单元格”赋值。例如,在此文中,“AA”对应字母 H,“AD”对应字母 O,“DA”对应字母 B,依此类推。因此,单词“PRINZ”将被编码为:FX GD DX FV VD

Using an encryption word other than “HOUSE” would result in a completely different table. 使用“HOUSE”以外的加密词将产生完全不同的表格。

There is a list of known keys used by the Germans to encrypt these radio messages, and hundreds of these messages have already been decoded, including by codebreaking expert George Lasry. Still, over a dozen have thus far eluded efforts to solve them, including (to my knowledge) this one, originally transmitted on November 27, 1918 (pg. 217): 德国人用于加密这些无线电信息的已知密钥清单中,已有数百条信息被破译,其中包括密码破译专家 George Lasry 的成果。然而,仍有十几条信息至今未被破解,据我所知,其中就包括这条于 1918 年 11 月 27 日发送的信息(第 217 页):

GPT-6 Astra solved this cipher, and believes that the original message was as follows: EIN ENGLISCHER KREUZER EINLIEG X SEWASTOPOL X S4STEN X EIN GESCHWADER DER X ALLIIERTEN FOLGT 26STEN X GPT-6 Astra 破解了此密码,并认为原始信息如下: EIN ENGLISCHER KREUZER EINLIEG X SEWASTOPOL X S4STEN X EIN GESCHWADER DER X ALLIIERTEN FOLGT 26STEN X

Or, in English: AN ENGLISH CRUISER ARRIVED AT SEVASTOPOL ON THE ?4TH AN ALLIED SQUADRON FOLLOWS ON THE 26TH 或者翻译成英文: 一艘英国巡洋舰于 24 日抵达塞瓦斯托波尔,一支盟军中队将于 26 日跟进。

The model used “TRUPPENVERSCHIEBUNG” as the encryption word, as described on pgs. 214-215 of J. Rives Childs’s “The History and Principles of German Military Ciphers, 1914–1918”. This encryption word yields the following table: 该模型使用了 J. Rives Childs 所著《1914-1918 年德国军事密码的历史与原理》第 214-215 页中描述的“TRUPPENVERSCHIEBUNG”作为加密词。该加密词生成的表格如下:

Before even using this table, the word “TRUPPENVERSCHIEBUNG” is required to be rearranged, so that the letters in the word are in an alphabetical order (e.g., T is 16th and R is 13th). Then, the same “TRUPPENVERSCHIEBUNG” is written out horizontally, with letters from the encrypted message written under it, in rows of 19 (resulting in 8 rows of 19 symbols each, plus 1 row of 18 symbols, since there are 170 characters total). This also means that we have 18 columns with 9 symbols each and 1 column with 8 symbols (column “G”). From here, because T is the 16th column, it has 14 9-symbol columns before it, plus 1 8-symbol G column; 9×14 + 1×8 = 134, so “T” will correspond to the following, 135th, symbols in the message, which is “A”. Similarly, the next letter, “R”, corresponds to the letter “V” (because R is the 13th letter alphabetically and thus has 11×9 + 1×8 = 107 symbols before it; the 108th symbol in the message is “V”). 在使用此表之前,需要先对单词“TRUPPENVERSCHIEBUNG”进行重排,使其字母按字母顺序排列(例如,T 是第 16 位,R 是第 13 位)。然后,将“TRUPPENVERSCHIEBUNG”横向写出,并将加密信息中的字母写在下方,每行 19 个符号(总共 170 个字符,因此产生 8 行每行 19 个符号,外加 1 行 18 个符号)。这也意味着我们有 18 列每列 9 个符号,以及 1 列 8 个符号(“G”列)。由此,因为 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”)。

In the table above, “AV” corresponds to “E”, the first letter in “EIN”. We repeat this process until we decode the entire message. (Wow.) 在上表中,“AV”对应“EIN”的第一个字母“E”。我们重复此过程,直到破译整条信息。(哇。)

Astra’s hypothesis for why this particular message was previously unsolved is that “TRUPPENVERSCHIEBUNG” was used as the key starting on December 9, 1918 - whereas, as noted above, this message was transmitted earlier, on November 27, 1918. The reason for this discrepancy is unknown. Astra 对这条信息此前为何未被破解的假设是:“TRUPPENVERSCHIEBUNG”是从 1918 年 12 月 9 日才开始作为密钥使用的——而如上所述,这条信息发送得更早,是在 1918 年 11 月 27 日。这种差异的原因尚不清楚。

Astra felt compelled to check its work and found that, in fact, the English cruiser HMS Canterbury arrived in Sevastopol on November 24, 1918, based on its original logs:… and an allied squadron did follow on November 26 (see right below line 11, which says that an allied squadron arrived): Astra 决定核实其工作,发现根据原始航海日志,英国巡洋舰“坎特伯雷号”(HMS Canterbury)确实于 1918 年 11 月 24 日抵达塞瓦斯托波尔:……而且一支盟军中队确实在 11 月 26 日跟进(见第 11 行下方,显示盟军中队已抵达):

I am not aware of this particular message having ever been decoded before, so sharing it here as a minor (but I think really cool) result and illustration of the capabilities of this model. 据我所知,这条特定信息此前从未被破译过,因此在此分享它,作为一个微小(但我认为非常酷)的成果,用以展示该模型的能力。