Cайт программиста Ruby, веб-разработчика Ruby on Rails ESV Corp. Екатеринбург, Москва, Санкт-Петербург, Новосибирск, Первоуральск

Историки ждали больше двух веков. GPT-6 Astra за 6 часов расшифровала письмо Наполеоновской эпохи

Инженер SentinelOne Картер Черч с помощью GPT-6 Astra расшифровал военное письмо, которое оставалось непрочитанным 217 лет. Послание отправили генералу Огюсту де Мармону в конце марта 1809 года по распоряжению Наполеона Бонапарта, а модель примерно за шесть часов превратила единственный старый скан в транскрипцию, восстановила большую часть ключа и получила связный французский текст.

Искусственный интеллект (ИИ), однако, не начинал с чистого листа. До работы Черча исследователи уже установили значения 33 знаков, которые покрывали 435 из примерно 1300 элементов шифротекста, то есть около трети послания. Остальные две трети пришлось восстанавливать по самому документу.

Наполеон 16 марта 1809 года приказал своему пасынку Эжену де Богарне отправить Мармону зашифрованное описание расположения французских и союзных армий. Мармон командовал изолированным корпусом в Далмации, отделённым австрийской территорией от основных сил Франции. Сохранившееся письмо почти точно следует распоряжению Наполеона и перечисляет войска в Баварии, Польше, Саксонии, Германии и Италии.

Автор послания убеждал Мармона, что Австрию вскоре атакуют сразу с нескольких направлений, и советовал после приказа о выступлении не позволять запугать себя несколькими отрядами или сборищем сброда. Письмо также называло места сосредоточения австрийских войск, включая Лайбах, Клагенфурт, Филлах и Зальцбург.

Расшифрованный текст интересен ещё и тем, что смешивает довольно точные сведения о противнике с явно политическим посланием. Указанные позиции австрийцев хорошо совпали с направлениями наступления, начавшегося в апреле. Но фраза о движении российских войск против Австрии не отражала реальную ситуацию: за несколько дней до отправки письма Наполеон распорядился распространять представление о скором российском выступлении, хотя сам ещё не знал, начнёт ли Россия действовать. Численность некоторых союзных армий в письме тоже выглядела завышенной.

Сам шифр усложнял привычный частотный анализ. Для одной часто встречающейся буквы писарь мог выбирать несколько разных символов, поэтому самая популярная буква французского языка не превращалась в один очевидно повторяющийся знак. Дополнительно 29 символов обозначали целые слова, а некоторые знаки не несли смысловой нагрузки и служили помехой для криптоаналитика.

Работу осложнял и сам документ. Исходником служила репродукция письма из публикации 1969 года, причём отдельной готовой транскрипции не существовало. GPT-6 Astra сначала разделила изображение на 24 строки и зарегистрировала 175 визуально различавшихся рукописных знаков. Затем система сопоставляла варианты написания и свела итоговый набор к 155 знакам.

После распознавания Черч заставил модель написать программу для поиска недостающего ключа. Программа применяла метод имитации отжига: многократно меняла предполагаемые соответствия между символами и буквами и проверяла, насколько получающийся текст похож на нормальный французский язык. Для оценки использовались сочетания из трёх, четырёх и пяти букв, собранные в том числе из произведений Виктора Гюго, Александра Дюма и мемуаров Мармона.

Использование мемуаров самого адресата могло создать подозрение, что программа просто подгоняет результат под знакомые тексты. Поэтому Черч повторил поиск, исключив произведения Мармона и другие тексты наполеоновской эпохи. Алгоритм снова восстановил то же чтение, что укрепило уверенность в найденном ключе.

Расшифровка помогла прояснить ещё одну историческую деталь. В опубликованном в XIX веке распоряжении Наполеона Мармону сохранилась фраза о необходимости разбить стоящего перед ним противника и не позволить небольшой силе сдержать корпус, но последнее слово заменили многоточием. Письмо Эжена передаёт близкую мысль без пропуска и говорит о нескольких отрядах или сборище сброда. Однако послание пересказывает приказ, поэтому найденная формулировка не доказывает, что Наполеон употребил именно эти слова.

Черч отмечает пять знаков, для которых остаются альтернативные варианты чтения. Спорные места могут немного изменить отдельные слова, но не общий смысл документа. Решение проверил исследователь исторических шифров Сатоси Томокиё, после чего каталог Cryptiana перенёс письмо из числа неразгаданных и исправил прежнюю датировку: документ долго считали посланием 1807 года, тогда как содержание указывает на конец марта 1809-го.

Дальнейшие события подтвердили часть содержащихся в письме сведений. Весной Мармон вывел армию из Далмации, пробился через австрийские силы и 3 июня вошёл в Лайбах, один из городов, названных в расшифрованном документе. Корпус затем дошёл до Дуная и успел принять участие в сражении при Ваграме, после которого Наполеон произвёл Мармона в маршалы.

Черч не считает сам шифр задачей, которую люди XIX или XX века принципиально не могли решить. Квалифицированный специалист, по его оценке, справился бы и десятилетия назад, но потратил бы недели на ручное распознавание сотен плохо различимых знаков, проверку вариантов и восстановление ключа. GPT-6 Astra сократила эту работу до нескольких часов машинного времени и объединила распознавание изображения, программирование и криптоанализ в один процесс. Полный набор данных, ключ из 155 знаков, транскрипция и программы опубликованы вместе с результатами, поэтому расшифровку можно проверить независимо и использовать как отправную точку, если обнаружатся другие письма, зашифрованные той же системой.

SecurityLab