Как известно, одной из главных уязвимостей шифровальной машины «Энигма» было то, что она никогда не кодировала буквы исходного сообщения в те же самые буквы шифротекста. Именно эта слабость стала ключом для взлома алгоритма и реконструкции хитроумного механизма.
Несмотря на это, до сих пор осталось одно нерасшифрованное сообщение. Оно датируется 1 мая 1945 года (на фото).
Шифротекст:
JCRSAJTGSJEYEXYKKZZSHVUOCTRFRCRPFVYPLKPPLGRHVVBBTBRSXSWXGGTYTVKQNGSCHVGF
Порядковый номер сообщения: P1030680 (U534).
«Энигма»
На фотографиях внизу показаны две версии «Энигмы», более ранняя слева и более продвинутая справа с платами расширения под клавиатурой, которые добавляли уровни сложности.
Работала машина просто: шифры (настройки) менялись роторами слева вверху. Три ротора в 26 позициях и дополнительная панель с десятью парами букв давали почти 159 квинтиллионов комбинаций настроек.
После этого сообщение кодировалось автоматически: оператор нажимает клавишу оригинального сообщения на печатной машинке — а сверху высвечивается буква шифротекста. Именно таким образом было зашифровано сообщение, приведённое в начале статьи.
Первая «Энигма» была изготовлена в 1923 году (Model А). Саму шифровальную машину изобрёл немецкий инженер Артур Шербиус вскоре после Первой мировой. Он запатентовал механизм и начал продавать продукт на коммерческом рынке. Первым крупным покупателем стал Международный почтовый союз с отделениями во всех уголках мира. Вскоре новинкой заинтересовались и военные.
Первая модель для армии была изготовлена в 1925 году и называлась Funkschlüssel C. Последняя вышла в феврале 1942-го.
Четырёхроторная модель Enigma M4, выпущенная по заказу ВМС 1 февраля 1942 года
Разные варианты «Энигмы» использовали армии разных стран, в том числе Швейцарии и СССР.
«Энигма» в советской армии, источник
Сам Шербиус погиб в 1929 году в результате несчастного случая с каретой.
Криптоанализ
На экскурсии в Блетчли-парк рассказывают историю, что однажды радисты перехватили шифровку, в которой не было букв Z, а поскольку такое было статистически маловероятно, то высказали предположение, что сообщение целиком состоит из таких букв. Так оно и оказалось. Это было дружеская шифрограмма одного скучающего немецкого оператора своему другу, состоящее только из букв Z. Затем шифр вскрыли, а следом и конструкцию роторов аппарата.
На самом деле криптоанализ «Энигмы» представлял сложную работу, в которой помогали и английские математики во главе с Аланом Тьюрингом. Но именно польским криптографам принадлежит первенство. Они первыми догадались привлечь математиков к расшифровке ещё в середине 30-х, когда в Великобритании этим занимались лингвисты.
Поляки же построили первые электромеханические машины (криптологические бомбы), которые симулировали работу «Энигмы», перебирая все возможные настройки в поиске текущей комбинации роторов.
Все наработки поляков отдали группе Алана Тьюринга, который и довёл их до логического конца. Выяснилось, что шифры немцев меняются раз в день:
А цифровые коды для шифров соотносились с тремя первыми символами сообщения:
Предполагалось, что первые три буквы указываются случайным образом в каждом сообщении, но операторы часто забывали их менять так часто.
Вот так после нескольких лет интеллектуальной работы совместного коллектива шифровальщиков и математиков Польши и Великобритании (при помощи французской агентуры, доставшей чертежи конструкции) была восстановлена шифровальная машина немцев, что сыграло очень важную роль в победе союзников во Второй мировой войне. По некоторым оценкам, работа математиков и шифровальщиков сократила длительность войны примерно на два года, сохранила бесчисленное количество жизней и реально изменила ход истории.
P. S. Расшифровка последнего сообщения «Энигмы» идёт в рамках распределённого проекта Enigma@Home. К нему можно присоединиться, выделив немножко мощности простаивающих CPU.
Комментарии (23)
Wesha
28.07.2023 21:59+4Предполагалось, что первые три буквы указываются случайным образом в каждом сообщении, но операторы часто забывали их менять так часто.
"Самое слабое звено в любой криптографической системе — это человек" (c) какой-то, судя по всему, древний римлянин.
DGN
28.07.2023 21:59+1Это наверное сложно, механически генерировать случайную последовательность.
Не очень понятно, они эту случайность тоже через машину прогоняли?
Не очень понятно, как боролись с ошибками в канале связи.
DirectoriX
28.07.2023 21:59Двух обычных (но различимых) игральных кубиков достаточно, чтоб выбрать случайный символ из 36. Другими словами, чтоб сгенерировать случайную последовательность символов нужно лишь 1 коробочка с прозрачной стенкой и двумя кубиками внутри (ну и памятки-наклейки) - не выглядит как нечто сложное или дорогое, особенно сравнивая с самой "Энигмой". При желании можно было бы хоть в основной корпус встроить, даже с какой-нибудь прижимной пластиной, чтоб кубики не гремели при переноске.
DGN
28.07.2023 21:59Если их перемножать, то последовательность не будет случайной с линейным распределением.
Или D3 + D6?
unC0Rr
28.07.2023 21:59+1Пусть на первом кубике выпало число A, на втором B, тогда результат можно посчитать как A*6+B.
masai
28.07.2023 21:59+2Просто число в шестеричной системе. Если перемножать, то и произведений будет меньше, чем 36.
LF69ssop
28.07.2023 21:59Лично я вообще не понял этот момент в тексте. Код шифра соотносится с первыми символами сообщения которые должны быть случайными, но такое было не всегда.
Кто на ком сидел? Как именно это работало?
Wesha
28.07.2023 21:59Перед началом собственно сообщения передавался ключ — те самые три буквы (на самом деле 6, но это совсем другая история), а потом само зашифрованное сообщение. Хохма была в том, что после кодирования каждой следующей буквы кодирование менялось по определенному закону, который с каждой следующей буквой менялся. В Википедии подробно описано.
DGN
28.07.2023 21:59Не очень понял, где ранель с парами букв?
Получается 6 (или 8) перестановок, каждое колесо имеет фиксированный в 26 вариантов секрет двух перестановок. Выглядит не очень стойко, на первый взгляд. Ну то есть, для того чтобы телеграфистки не читали новости раньше газет, оно вполне годилось, но не на войне.
Tarakanator
28.07.2023 21:59Это не от телеграфисток. Это чтобы ключ менялся.
Условно говоря у вас есть ключ
АААА вы считаете от него sha, получаете ключ для шифрования BBB. Но он всегда одинаковый,
Поэтому вы берёте секретный ключ АААА, добавляете к нему рандомные символы, И считаете хеш от ААААббб. Получаете уникальные ключи для шифрования.
MountainGoat
28.07.2023 21:59+1Есть компьютерная игра "The Beast Inside". Там ближе к началу игры дают эту самую Энигму и заставляют попользоваться. Насколько реалистично она там сделана, не скажу. И вообще вся игра про то, как у мужика от этой Энигмы кукуха покосилась.
w0rkm4n
28.07.2023 21:59+16Кликбейт. Зачем называть пост "Нерасшифрованное сообщение <<Энигмы>>", если об этом говорится только в начале и конце статьи? С таким же успехом можно было просто вырезать абзацы в начале и конце, и назвать её "ЛикБез по Энигме".
kraamis
28.07.2023 21:59+3Хабр превратился в Пикабу.
Корпоративный блог надо чем-то забить, вот и пишут статьи без содержания.
itundp
28.07.2023 21:59+1Почитайте Книга шифров. Тайная история шифров и их расшифровки Саймона Сингха, написано доступным языком, очень легко читается. Там вся история шифрования, ну и в частности история создания Энигмы и взлома Раевским.
veryboringman
В конце войны шифровальщики отправляли вскую случайную фигню (приказы ведь уже не выполнялись), вот и объяснение.
Leetc0deMonkey
Можно и в процессе, чтобы истощать ресурсы перехватывающих. С принимающей стороной понятно надо согласовать этот ньюанс.
roofcat
на Балтийской косе (где кстати в музее есть останки Энигмы, найденные в дюнах) бои шли до 9го мая, вполне организованные