В сентябре 2026 года Картер Леффен запустил GPT-6 Astra Extra High на немецкой армейской радиограмме MVUEH от 10 июля 1941 года. Сообщение лежало в открытом доступе в архиве CryptoCellar с 2005 года и оставалось нерасшифрованным. Примерно через десять часов работы Astra нашла настройки Enigma и восстановила открытый текст. Военной тайны внутри не оказалось: немецкий радист запрашивал дальнейший маршрут из Розенова и просил срочно ответить по радио.
Интересен здесь не текст радиограммы, а то, как именно до него добрались, и что из заголовка про «взлом Enigma» — факт, а что — обёртка.
Почему нельзя было просто перебрать ключи
MVUEH состоит всего из 82 букв. Для криптоанализа это скорее проблема, чем подарок: чем короче шифротекст, тем меньше в нём статистики. Enigma при этом давала огромное пространство настроек: набор и порядок роторов, их начальные позиции, кольцевые установки, соединения коммутационной панели Steckerbrett. Тупо перебирать всё подряд — задача вычислительно бессмысленная. Известные дневные настройки к MVUEH тоже не подходили.
Поэтому Astra начала не с brute force, а с поиска контекста. В архивах нашлась другая радиограмма от 10 июля 1941 года, SIPVX № 173, которую исследователь Алекс Шовкопляс расшифровал в 2017 году. В её открытом тексте название города ROSENOW встретилось дважды подряд. Отсюда появилась гипотеза: если сообщения относятся к одному району, фрагмент ROSENOWROSENOW может присутствовать и в MVUEH.
Для криптоанализа Enigma такая догадка очень полезна. Предполагаемый фрагмент открытого текста называется crib. Вместо проверки всего пространства ключей можно искать настройки, при которых известный фрагмент шифруется в соответствующую часть перехваченного сообщения. У Enigma есть удобное свойство: буква никогда не шифруется сама в себя, поэтому часть возможных положений crib отсеивается сразу. Это классический приём, который исторически и позволял превращать невозможный полный перебор в существенно более узкую задачу.
Под гипотезу пришлось писать собственные инструменты
Одного ROSENOWROSENOW недостаточно. Дальше нужно было проверить, существует ли вообще конфигурация Enigma, которая согласуется с этой гипотезой и остальным шифротекстом. Astra написала программную реализацию машины и код для криптоанализа на Python и C++. Параллельно проверялись варианты чтения исходной радиограммы: архивный материал содержал символы, которые можно интерпретировать неоднозначно.
В итоге нашлась конфигурация с порядком роторов II–V–III. Это важная деталь: в других известных сообщениях того же дня использовался, например, порядок V–I–II, поэтому простая попытка взять готовый дневной ключ и применить его к MVUEH результата не давала.
Результат проверили независимо
С найденными настройками машина начала выдавать связный немецкий текст. Но связный текст сам по себе ещё ничего не доказывает. Поэтому следующий этап важнее красивой истории про «ИИ взломал Enigma».
Полученные настройки воспроизводят расшифровку всех 82 символов тела сообщения. Ключ и открытый текст проверил Фроде Вайеруд, исследователь Enigma и куратор CryptoCellar. После проверки в архиве появился отдельный разбор решения MVUEH. Есть конкретный шифротекст, конкретная конфигурация машины и воспроизводимый результат.
Где вклад модели, а где переупаковка
Если убрать обёртку, Astra не сделала ничего магического. Она не изобрела новый метод криптоанализа и не научилась мгновенно ломать Enigma. Ключевым оказался вполне классический подход: найти вероятный crib, сократить пространство поиска, проверить оставшиеся варианты вычислительно. Необычно другое: большую часть этой цепочки одна модель собрала сама.
Сначала архивный поиск. Потом сопоставление нескольких исторических документов. Из них появилась гипотеза. Под гипотезу понадобился код. Код позволил провести перебор. Полученный результат проверили на полном сообщении и отдали на внешнюю верификацию. Здесь LLM использовалась не как энциклопедия и не как генератор готового ответа, а скорее как исследовательский агент, который переходит между поиском информации, анализом источников и программированием в зависимости от следующего этапа задачи.
Человек из процесса при этом никуда не исчез. Исходную задачу поставил Леффен, исторические расшифровки создали исследователи до него, найденный результат проверил специалист по Enigma. Astra связала эти куски в рабочий процесс и взяла на себя значительную часть промежуточной работы. Реальный вклад модели в другом: в умении выстроить длинную техническую цепочку действий между вопросом и ответом.
Как повторить
- Перед запуском модели на задаче сформулируйте не только вопрос, но и критерий проверки результата: что именно считается решением и как его верифицировать.
- Попросите модель сначала собрать контекст из открытых источников и сформулировать гипотезу, а уже потом писать код. Иначе она сразу уйдёт в перебор.
- Если под гипотезу нужны вычисления, требуйте, чтобы модель написала воспроизводимую реализацию на Python или C++ с фиксированными входными данными.
- После получения результата обязательно прогоняйте его через внешнего специалиста или независимую проверку.
- В истории проекта сохраняйте отдельно код, исходные данные и найденную конфигурацию. Это превращает разовый эксперимент в воспроизводимый.