Взлом «Enigma»

История этого устройства овеяна загадками и легендами. Начиная от самого названия («Enigma» - «Загадка»), до правдивых и не совсем фактов, создаваемых фильмами и СМИ. Например, о том, что «Энигма» была уникальной немецкой шифровальной машинкой и получить ее смогли только американцы в 1944-ом. О том, что расшифровать код, полученный с помощью этого механизма, удалось только в конце ХХ века... Попробуем разобраться, что мы знаем по этот интересный механизм.

Начнем с того, что первый патент на конструкцию «Enigma» получил голландец Хьюго Коч в 1917 году. Это был механизм, позволявший, за счет вращения роторов, заменять одни буквы другими. В следующем году Коч продал свое изобретение немцу Артуру Шербиусу, который увидел в механизме перспективу для коммерческого производства. Немецкий инженер доработал конструкцию, а чуть позже добавил рефлектор, находившийся за последним ротором. Рефлектор позволял избегать перестановки крайних роторов для дешифровки и гарантировал инволюцию: расшифровка и шифрование – одинаковы по сути и взаимообратимы.

Рефлектор (слева, литера В) и три ротора механизма "Энигмы"
Рефлектор (слева, литера В) и три ротора механизма «Энигмы»

Артур Шербиус и его партнер Рихард Риттер основали компанию «Chiffriermaschinen AG» и стали продвигать свои устройства: электромеханические роторные шифровальные машины «Enigma». Модели «А» и «В» были большими и неудобными (модели были без рефлектора). Начиная с модели «С» механизмы стали мобильнее и надежнее. Модель «D», появившаяся в 1927 году, была закуплена многими странами: Польшей, Англией, Голландией, Италией… Всего, по различным источникам, было изготовлено около ста тысяч разных модификаций «Энигмы».

Четырехроторная шифровальная машинка "Энигма"
Четырехроторная шифровальная машинка "Энигма"

Модели отличались размерами, количеством используемых роторов, количеством используемых букв (выемок и контактов на роторах). Наиболее «исторически известная» немецкая военная модификация «Энигмы» использовала двадцать шесть контактов на каждой из сторон ротора. Каждый контакт соответствовал букве алфавита. Для символов использовались сочетания букв. То есть каждый ротор мог обеспечить двадцать шесть разных подстановок каждой буквы – элементарный шифр подмены, не слишком сложный. Но использование нескольких роторов позволяло значительно усложнить его.

Немецкая трёхроторная военная шифровальная машина «Энигма»
Немецкая трёхроторная военная шифровальная машина «Энигма»

Первая трехроторная машинка обеспечивала 17576 вариантов подстановки символа(26*26*26). Используя в следующих моделях три из пяти роторов в случайном порядке, это число возрасло до 1054560 вариантов, а после добавления четвертого ротора, переваливает за миллиард. Эта высокая степень вариативности и значительная трудность для дешифровки убедило военное ведомство Германии использовать «Загадку» для передачи шифрованных сообщений в боевых действиях.

Электрическая схема "Энигмы". Буква А шифруется буквой D
Электрическая схема "Энигмы". Буква А шифруется буквой D

До появления таких устройств, передачи шифровали «вручную», используя таблицы. «Энигма» (и похожие устройства которые, разумеется, были изобретены) автоматизировали процесс. Кодировщику даже не надо было знать весь процесс шифрования: он нажимал буквы на клавиатуре (типа пишущей машинки), а на выходе получал набор символов, расшифровать который мог только тот, кто имел точно такую же машинку, с таким же количеством роторов, расположенных в тех же местах, в таком же порядке,что и у кодировщика.

"Энигма" с коммутационнй панелью спереди
"Энигма" с коммутационнй панелью спереди

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

Известно то, что в самом начале военных действий против СССР, в 1941 году, в руках у советских военных оказались несколько экземпляров «Enigma», но расшифровать немецкие передачи «у нас» не смогли (несмотря на созданный в 1921 году спецотдел по шифровке, имевший значительный опыт). Так же, еще до начала войны, многие страны пытались «взломать» механизм, но впервые успехов достигли только в 1932 году поляки под руководством математика Мариана Реевского.

Шифровальная машинка "Энигма" в немецком узле связи
Шифровальная машинка "Энигма" в немецком узле связи

Для этого потребовалось четыре года напряженной работы, помощь французских разведданных (в лице «купленного» Ганса-Тило Шмидта, из минобороны Германии, который «слил», пусть и устаревшие, коды трехроторной «Энигмы», которые позволили понять принципы шифрования) и счастливой догадки самого Реевского о способе соединения проводов внутри роторов. Бывшие у поляков коммерческие модели соединяли пары букв «по расположению на клавиатуре», а немецкие военные – в алфавитной последовательности. Это был только шаг к разгадке: взломщики поняли как работаетшифровальная машина, но ключи для «Энигмы» менялись очень часто, фактически ежедневно.

"Криптологическая бомба" польских инженеров
"Криптологическая бомба" польских инженеров

И талантливыми поляками был создан механизм, называемый ими «Криптологической Бомбой». «Бомба» состояла из шести «Enigma» и позволяла за два часа перебирать 17576 положений трех роторов и проверить все возможные варианты ключей. Это давало возможность читать порядка восьмидесяти процентов шифрованых сообщений. А после модернизации «Энигмы» (немцы в 1937 заменили рефлекторы на своих машинах, а для ВМФ стали применять четыре ротора), процент дешифрованных сообщений еще понизился.

За тридцать семь дней до Второй мировой польские инженеры сделали союзникам Польши подарок – подарили по одной «КриптоБомбе». Французы не смогли воспользоваться подарком, зато англичане развернули на базе польского устройства целую программу противодействия «Энигме», с кодовым названием «Ультра», действовавшую под грифом «Ультра секретно» (что было выше «Сов.Секретно»!). А в мае 1941 года в разгадке тайны «Enigma»: была захвачена немецкая подводная лодка U-110, на борту которой были «Энигма М3», комплект роторов, ключей на апрель-июнь, инструкции по шифрованию…

Сдача немецкой подводной лодки U-110 в плен англичанам (09.05.1941)
Сдача немецкой подводной лодки U-110 в плен англичанам (09.05.1941)

Еще в 1939 году в Блетчли-Парк тайно было организовано главное шифровальное подразделение Англии - Station X. Именно там во время Второй мировой войны было главное место по работе над противодействием «Энигме», там, с помощью созданного Tabulating Machine устройства, которое использовало принципы, разработанные гениальным Аланом Тьюрингом (и называемое в честь него «Бомба Тьюринга»), и все полученные ранее наработки и захваченные материалы расшифровывались немецкие передачи.

"Бомба Тьюринга"
"Бомба Тьюринга"

Максимально одновременно работало двести одиннадцать «бомб Тьюринга», расшифровывавших до трех тысяч шифрованных сообщений. В Station X за время войны было доставлено сто семьдесят «Энигм» (из них – четыре модели «М4»). Всего в Блетчли-Парке работало около десяти тысяч специалистов. Весной 1944-го года часть работ перенесли в Америку, и, можно сказать, дешифровка превратилась в рутину. «Enigma» была разгадана.

Кадр из фильма "Игра в имитацию" (2014) - драма о криптографе Алане Тьюринге
Кадр из фильма "Игра в имитацию" (2014) - драма о криптографе Алане Тьюринге

Стоит отметить, что «вскрыть» самый секретный механизм Германии помогли несколько гениальных людей и идей, сыгравших немалую роль и в дальнейшем развитии криптошифрования. Конечно, с сегодняшних позиций криптографии шифр «Энигмы» был не слишком сложным. Да и влияние на ход войны "взлом" устройства тоже вызывает много вопросов... Но то, что это удивительное противовстояние умов, загаданное «Enigma», представляет ценность для истории криптоаналитики сомневаться не приходиться.

Источник

21:58