Фрагмент исходящей копии радиограммы MVUEH NF 88/61 от 10 июля 1941 года. Из-за выцветших и плохо различимых букв исследователям пришлось заранее учитывать несколько вариантов чтения некоторых символов.
Сотрудник Bloomberg Картер Леффен с помощью GPT-6 Astra расшифровал немецкую военную радиограмму MVUEH от 10 июля 1941 года. Сообщение состояло всего из 82 зашифрованных символов и находилось в коллекции исследовательского проекта CryptoCellar. По словам его куратора, специалиста по Enigma Фроде Вайеруда, попытки подобрать к нему ключ предпринимались с 2005 года.
Иногда эту историю уже пересказывают как «шифр не могли разгадать 83 года», но на самом деле неизвестно, пытался ли кто‑нибудь расшифровать именно эту радиограмму в течение большей части времени после войны. В современный криптоаналитический проект сообщение попало значительно позже. Вайеруд говорит вполне конкретно: MVUEH сопротивлялась попыткам расшифровки с 2005 года.
Леффен дал GPT-6 Astra в режиме Extra High довольно общую задачу — изучить оставшиеся нерасшифрованными сообщения из коллекции CryptoCellar и попробовать взломать одно из них. По рассказу самого Леффена, непосредственно работа модели до нахождения решения заняла около десяти часов. Всё исследование вместе с разбором источников, дополнительными проверками и воспроизведением результата шло 14 и 15 сентября.
Причём Astra не получила готовый криптоаналитический алгоритм. Она изучала архивные материалы, сравнивала разные копии радиограмм, разбиралась с плохо читаемыми буквами, построила программную модель Enigma, написала поисковые программы на Python и C++, запускала параллельные эксперименты и проверяла конкурирующие варианты ключа. В исследовании использовались несколько специализированных агентов: одни работали с архивными источниками, другие писали и запускали поиск, третьи проверяли исторический контекст, четвёртые независимо воспроизводили результат.
Фроде Вайеруд после изучения результата отдельно разобрал работу Astra. Когда Леффен прислал ему найденный ключ и открытый текст, Вайеруд, по его словам, сразу понял, что решение правильное. Особенно его удивило, что ключ MVUEH оказался совершенно непохож на остальные известные ключи за 10 июля 1941 года.
Простой полный перебор здесь практически бессмысленен. Даже если заранее принять стандартную для этой задачи конфигурацию Enigma I — три разных ротора из пяти, отражатель B и десять соединений штекерной панели, — получается примерно 159 квинтиллионов возможных дневных настроек. Поэтому задача состояла не в том, чтобы быстрее перебирать всё подряд, а в том, чтобы сначала резко сузить область поиска.
Та самая Enigma
Перелом наступил после анализа соседней радиограммы SIPVX № 173, также принятой 10 июля 1941 года. Её ещё в 2017 году расшифровал Алекс Шовкопляс. В архиве CryptoCellar эта работа датирована 9 июня 2017 года.
Самое интересное обнаружилось в открытом тексте SIPVX: там дважды подряд встречалось название ROSENOW ROSENOW. Более того, как выяснилось уже после расшифровки MVUEH, тексты двух радиограмм вообще оказались почти одинаковыми, хотя были зашифрованы совершенно разными настройками Enigma.
Astra предположила, что последовательность ROSENOWROSENOW могла присутствовать и в MVUEH. В криптоанализе такой предполагаемый заранее фрагмент открытого текста называется crib, дальше я буду называть его просто предполагаемым фрагментом текста.
И ещё раз уточню: чуда «модель взяла 82 совершенно неизвестных символа и каким‑то образом превратила их в немецкий текст» не было.
Четырнадцать букв ROSENOWROSENOW были предположены заранее. Astra перебирала возможные места, где этот фрагмент мог находиться в сообщении, одновременно подбирая работу роторов и неизвестные соединения штекерной панели. В правильном варианте ROSENOWROSENOW оказалось на позициях с 40-й по 53-ю.
Но остальные 68 букв модели никто не сообщал. Они должны были сами превратиться в связный немецкий текст при той же самой конфигурации машины.
Это очень показательная проверка. Под заданный фрагмент при достаточно большом поиске ещё можно случайно подобрать что‑то подходящее. Значительно труднее подобрать настройки, при которых вокруг него внезапно возникает осмысленная фраза про маршрут движения и немедленный ответ по радио.
И есть ещё одна важная деталь: заголовок радиограммы при первоначальном поиске вообще не использовался. Его оставили как независимую проверку результата.
По техническому отчёту исследования, полный поиск состоял из 43 016 отдельных поисковых заданий. После них осталось 97 337 различных кандидатов на настройки, объяснявших основную часть сообщения. Всего поиск охватил около 4,29 млрд сочетаний вариантов работы роторов и возможного положения предполагаемого фрагмента текста.
Затем в дело вступил тот самый независимый заголовок радиограммы.
На бланке сохранилась пара GTA / KCI. При найденной конфигурации машины она должна была согласовываться с начальным положением роторов для основного текста. Выяснилось, что одинаковое поведение машины при расшифровке тела сообщения можно получить с 26 сочетаниями установок колец и начальных положений роторов. Но только один вариант из этой группы одновременно объяснял записанный в 1941 году заголовок: установки колец H–M–F и начальное положение роторов R–W–D.
Для дополнительной проверки исследователи прогнали через заголовок 14 829 646 полных вариантов физической настройки Enigma. Заголовку соответствовали 923 из них, после чего кандидатов проверяли уже вместе с текстом сообщения и остальными ограничениями. То есть сам по себе заголовок тоже не давал готового ответа — но послужил независимым свидетельством в пользу найденного решения.
В итоге была восстановлена следующая конфигурация Enigma I с отражателем B:
роторы слева направо:
II – V – III
установки колец:
H – M – F
начальное положение роторов:
R – W – D
соединения штекерной панели:
AC BE DG FH KN MO PR SU TV XZ

А расшифрованный машиной текст выглядит так:
BTTE UM ANGABE DES MARSQWEGES X BEFINDE MIQ IN X ROSENOW ROSENOW X SOFORT FUNKANTWORT X WASCHBBSCH
Пробелы здесь добавлены уже для чтения — Enigma их не передавала.
Приблизительный перевод:
Прошу указать маршрут движения. Нахожусь в Розенове, Розенове. Немедленно ответьте по радио.
Последнее слово исследователи предположительно читают как фамилию Waschbusch. Буква Q в этом формате использовалась для передачи сочетания CH, а X разделяла части сообщения. Поэтому MARSQWEGES читается как MARSCHWEGES, а MIQ — как MICH.
А вот BTTE вместо BITTE — уже настоящая ошибка исходного сообщения. Исследователи специально не стали исправлять её в машинной расшифровке. То же относится к WASCHBBSCH: восстановление фамилии Waschbusch остаётся интерпретацией, а не частью доказательства правильности ключа.
Есть и ещё одна причина, по которой MVUEH оказалось неприятным, с точки зрения криптоанализа, сообщением: оно очень короткое. Всего 82 буквы — статистических данных для определения правильности расшифровки мало.
Кроме того, на 72-й букве происходил переход левого ротора в следующее положение: CryptoCellar отмечает, что такое переключение дополнительно усложняет взлом. И наконец, две сохранившиеся копии радиограммы расходятся в нескольких местах: исходный рукописный документ выцвел настолько, что некоторые буквы допускают несколько чтений.
Поэтому перед поиском исследователи отдельно зафиксировали двенадцать сомнительных позиций и допустимые варианты их прочтения. Всего это давало 13 824 возможных прочтения исходного шифротекста. Важно, что эти варианты были записаны до нахождения ключа: после получения красивой расшифровки нельзя было просто заменить неудобную букву на более подходящую.
В результате окончательная реконструкция отличается от использовавшейся ранее транскрипции всего в трёх позициях.
Результат не оставили на уровне «вот скриншот из ChatGPT, поверьте» — опубликованы исходные данные, восстановленная конфигурация Enigma, отдельная программа проверки, исходный код поисковой программы на C++, все результаты победившего запуска и полный архив исследования объёмом 134,8 МБ с исходными журналами, контрольными суммами и результатами проверок. Всё это доступно в материалах исследования.
Две независимые программные реализации Enigma воспроизводят все 82 буквы сообщения и его заголовок в обоих направлениях — то есть расшифровывают шифротекст найденным ключом и затем снова получают исходный шифротекст при обратной операции. Отдельно был с нуля повторён победивший поисковый запуск: он воспроизвёл все 49 результатов побайтно.
После решения CryptoCellar изменил статус MVUEH на «расшифровано» и указал Картера Леффена и дату 14 сентября 2026 года.
Фроде Вайеруд пишет, что, насколько известно исследователям проекта, это первый случай, когда ИИ удалось решить достаточно сложную реальную задачу по Enigma. Но здесь стоит быть аккуратным: это оценка CryptoCellar, а не доказанное историческое «первое в мире». Авторы исследования сами специально не заявляют мирового первенства.
Есть и несколько вопросов, которые пока остаются открытыми. Не установлен конкретный населённый пункт Rosenow, о котором говорится в сообщении. Не доказано, что MVUEH и SIPVX были именно повторными передачами одного сообщения, хотя их открытые тексты почти совпадают. Наконец, чтение подписи как Waschbusch остаётся предположительным.
Но интересное здесь не формулировка «GPT-6 взломала Enigma». Сам принцип Enigma был взломан ещё в 1930-х годах польскими криптоаналитиками, а затем методы её вскрытия развивали в Блетчли‑парке. Никакого нового фундаментального способа ломать Enigma Astra не изобрела.
Интересно другое: модели дали историческую исследовательскую задачу, для которой не было готового ответа. Она сама полезла в архивы, обнаружила расхождения между источниками, построила программную модель шифровальной машины, написала инструменты поиска, проверила несколько неудачных гипотез, нашла связь с другой радиограммой, превратила её в проверяемую гипотезу,
Источник: habr.com