История неразгаданных шифров
Немецкий портал научных блогов Scienceblogs.de ведёт довольно известный список из 50 нерешённых шифров, включающий криптограммы, опубликованные серийными убийцами, и знаменитый манускрипт Войнича.
Среди них есть набор немецких радиосообщений Первой мировой войны, закодированных методом ADFGVX.
Как работает метод ADFGVX
Способ кодирования лучше всего объяснить на примере с ключевым словом «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 4 5 6 7 8 9
Буквы ADFGVX используются одновременно по горизонтали и вертикали для кодирования каждой ячейки таблицы. Например, буква H кодируется как «AA», O — как «AD», B — как «DA». Слово «PRINZ» в таком случае превратится в:
FX GD DX FV VD
Использование другого ключевого слова полностью изменит всю таблицу.
Известны ключи, использованные немцами для кодирования этих радиосообщений. Сотни из них уже успешно декодированы, включая работы криптографа George Lasry. Однако более дюжины остаются неразгаданными. Одно из них было передано 27 ноября 1918 года (страница 217 архива):
Решение от GPT-6 Astra
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 24TH AN ALLIED SQUADRON FOLLOWS ON THE 26TH
Модель использовала слово «TRUPPENVERSCHIEBUNG» (перемещение войск) как ключ кодирования, о чём сказано на страницах 214–215 в работе J. Rives Childs «The History and Principles of German Military Ciphers, 1914–1918». Это слово создаёт следующую таблицу:
Процесс декодирования
Перед использованием таблицы ключевое слово «TRUPPENVERSCHIEBUNG» переставляют так, чтобы его буквы располагались в алфавитном порядке (например, T — 16-я буква, R — 13-я):
Затем то же слово «TRUPPENVERSCHIEBUNG» записывается горизонтально, а под ним построчно располагаются буквы зашифрованного сообщения. Сообщение разбивается на 19 символов в строке (8 полных строк из 19 символов плюс 1 строка из 18 символов, всего 170 символов). Это означает 18 колонок с 9 символами каждая и 1 колонка с 8 символами (колонка «G»).
Поскольку T — 16-я колонка, перед ней располагается 14 колонок из 9 символов и 1 колонка из 8 символов: 9×14 + 1×8 = 134. Значит, T соответствует 135-му символу в сообщении, который является A. Аналогично R соответствует V (13-я буква алфавитно имеет 11×9 + 1×8 = 107 символов перед собой; 108-й символ в сообщении — V).
В таблице выше AV соответствует E, первой букве в слове «EIN». Этот процесс повторяется до полного декодирования всего сообщения.
(Впечатляюще.)
Astra выдвинула гипотезу, почему это конкретное сообщение оставалось нерешённым: ключ «TRUPPENVERSCHIEBUNG» начал использоваться только 9 декабря 1918 года, тогда как данное сообщение было передано ранее, 27 ноября 1918 года. Причина такого расхождения остаётся неясной.
Проверка результатов
Модель проверила свою работу и обнаружила, что английский крейсер HMS Canterbury действительно прибыл в Севастополь 24 ноября 1918 года, согласно его боевым журналам:
Также союзная эскадра действительно прибыла 26 ноября (см. строку 11 ниже, в которой указано прибытие союзной эскадры):
Это первое известное декодирование данного конкретного сообщения — результат, демонстрирующий возможности современных моделей ИИ в решении исторических криптографических задач.