14 мая 2019 г. | Автор: Евгений Фёдоров
Код Энигмы

Легендарная шифровальная машина «Энигма» стала символом шпионских историй времён Второй мировой. По разным оценкам, её взлом сократил войну на два года и сохранил миллионы жизней. Это история о том, как лучшие криптоаналитики Британии, вооружившись математическими инструментами, смогли расшифровать сложнейший немецкий код.

Эта статья была опубликована в журнале OYLA №9(37). Оформить подписку на печатную и онлайн-версию можно здесь.

​Рождение легенды

Криптоанализ — наука о методах расшифровки закодированной информации без использования исходного ключа. Криптографы, напротив, занимаются шифрованием текстов и других данных.

Парадоксально, но шифровальная машина «Энигма» создавалась не для военных, а для засекречивания деловых переговоров. Разработал и запатентовал устройство в 1918 году немецкий инженер Артур Шербиус. «Энигма» первой серии весила более 50 кг. Из-за высокой стоимости и сложности в использовании шифровальная машина поначалу не привлекла внимания покупателей. За пять лет Шербиусу удалось продать всего несколько экземпляров для нужд иностранных армий и компаний связи.

Артур Шербиус 

1878–1929

Изобретатель шифровальной машины «Энигма», что в переводе с греческого означает «загадка». В 1908 году окончил Ганноверский университет, а спустя десять лет организовал частную фирму «Шербиус и Риттер», занимавшуюся производством «Энигмы». Изобретатель не дожил до триумфа своего детища — погиб в 1929 году в результате несчастного случая.

По достоинству шифровальную машину оценили в немецкой армии. В 1925 году её принял на вооружение сначала военно-морской флот (модель Funkschlussen С), а в 1930‑м и вермахт («Энигма I»). Общее количество шифраторов, произведённых до и во время Второй мировой войны, превысило 100 тысяч. Применялись они всеми видами вооружённых сил фашистской Германии, а также военной разведкой и службой безопасности.

Шифры «Энигмы»

Оператор шифровал сообщение по кодовой книге. Записи в ней выглядели так:

Мы видим установки на 31-й день месяца (код менялся каждый день). Оператор должен выбрать рефлектор В, выставить на роторах IV, I, VII буквы C, T и R соответственно. Далее идёт порядок замыкания контактов на кросс-панели. При шифровании операторы следовали общим правилам: пробелы не ставятся, знаки препинания обозначаются символами (например, запятая — YY, а кавычки — Х). Помимо дневного кода каждое сообщение имело свой ключ (положение роторов), который в зашифрованном виде отправлялся вместе с текстом сообщения. 

Что же представляла собой эта машина? В основе конструкции 3 вращающихся барабана (диска) с 26 электрическими контактами на каждом — по числу букв латинского алфавита. Этими контактами барабаны соприкасались друг с другом и обеспечивали прохождение электрического импульса. На торцы контактов были нанесены буквы. Перед началом работы оператор выставлял на всех трёх барабанах кодовое слово и печатал текст на клавиатуре. Каждый диск отвечал за элементарный шифровальный шаг — замену одной буквы на другую, к примеру P на W. Три диска кратно усложняли логику шифрования. Каждое нажатие клавиши вызывало электрический импульс, который, проходя сквозь барабаны, проворачивал первый диск на один шаг. После того как первый барабан совершал полный оборот, в дело вступал второй, потом третий — походило на работу электросчётчика.

Электрический сигнал, пройдя сквозь барабаны, поступал в рефлектор шифровальной машины. Он состоял из 13 проводников, представлявших собой пары контактов на задней стороне третьего диска. Рефлектор посылал электрический сигнал обратно в барабаны, но уже по новому пути — это значительно усложняло механику шифрования. Далее электрический импульс зажигал одну из лампочек-индикаторов, которые показывали букву шифруемого текста.

Шифровальное устройство М-94

На первых версиях «Энигмы» обычно работали сразу три человека: один читал текст, второй набирал его на клавиатуре, а третий считывал текст с лампочек-индикаторов и записывал зашифрованное послание. У машины был один фундаментальный изъян — невозможность зашифровать букву через саму себя. То есть, к примеру, L могла быть зашифрована любой буквой алфавита, кроме, собственно, L. В дальнейшем это стало одной из важнейших зацепок, которые привели к взлому шифра.

Как устроена «Энигма»?

Роторные диски. Сердце «Энигмы» — диски с 26 контактами с каждой стороны. Входные и выходные кон­такты соединялись случайным образом. Проходя через ротор, сигнал преобразовывался из одной буквы в другую.

Рефлектор имел 26 контактов и соединялся с третьим ротором. Он «отражал» ток из третьего ротора и отправлял его обратно, но уже по другому пути. Рефлектор гарантировал, что никакая буква не будет зашифрована через саму себя.

Индикационная панель имела 26 лампочек и повторяла раскладку механической клавиатуры. Она служила индикатором выходной буквы в процессе шифрования.

Выключатель. Под выключателем «Энигмы» находился отсек с батареей 4,5 вольта.

Клавиатура включала 26 символов: от A до Z. Она не имела ни цифр, ни запятых, ни клавиши пробела. Знаки препинания заменялись условными символами (например, запятая — YY). Цифры записывались прописью.

Кросс-панель. Присутствовала в военных моделях «Энигмы» и представляла собой набор гнёзд для штепселей. Служила для того, чтобы менять местами контакты двух букв, штепсели которых в данный момент были соединены.

​Битва в радиоэфире

На первых версиях «Энигмы» работали три человека: один читал текст, второй набирал его на клавиатуре, третий записывал шифровку

Германия в начале 1930‑х активно во­оружалась и готовилась к войне. Особое внимание уделялось глубокой секретности при передаче информации по радиоканалам. Поэтому все «Энигмы» работали в условиях конспирации: для каждого сеанса работы шифрмашины существовали дневные ключи (набор букв, указывающий начальное положение роторов), одинаковые у машины-передатчика и машины-приёмника. У каждого шифровальщика была специальная тетрадь с сотнями ключей для каждого выхода в эфир. Перед отправкой сообщения оператор придумывал новый ключ для данного сообщения и шифровал его. Допустим, дневной ключ — AOH. Оператор и получатель выставляют у себя на роторах AOH. Далее оператор шифрует ключ к сообщению два раза. Допустим, он выбрал ключ EIN. В результате двойного ввода ключа EINEIN в криптограмме отображалось XHTLOA. Далее набирался текст, зашифрованный с помощью ключа EIN. Получатель сообщения вводил первые 6 букв и расшифровывал ключ — начальное положение роторов для данного сообщения.

Ситуацию осложняло то, что немцы шифровали за раз не более 250 символов, а спустя несколько лет добавили ещё два барабана. Это значительно усилило стойкость шифров к взлому. Высший командный состав использовал некоторое время «Энигму II», состоящую сразу из восьми роторов. Однако из-за сложности работы и низкой надёжности от неё вскоре отказались.

Иногда немцы намеренно замусоривали радиопространство: «Энигма» посылала в эфир бессвязные, ничего не значащие обрывки фраз. Можно сказать, немецкие связисты впервые применили спам-атаку. Все эти меры, несомненно, усложняли работу спецслужбам Европы по расшифровке кодов Третьего рейха.

«Волчьи стаи» Дёница

Безжалостная подводная война, которую вела фашистская Германия, оставляла мало шансов торговым и военным судам СССР, Великобритании и США. Основным средством связи подлодок кригсмарине стала военно-морская версия «Энигмы». С её помощью руководство организовывало ударные группы подлодок и наводило их на конвои с целью уничтожения. Такая «волчья стая» атаковала суда исключительно группой и преследовала десятки миль, пуская на дно несколько кораблей. Одним из вдохновителей этой тактики был командующий подводным флотом Германии Карл Дёниц. С расшифровкой кодов «Энигмы» англичане стали получать точную информацию о расположении судов противника и их намерениях — удача отвернулась от «волчьих стай».

Перехватить радиограмму было недостаточно, чтобы расшифровать сообщение. Помогали разведывательные службы. В конце 20‑х годов польская группа криптоаналитиков получила в своё распоряжение коммерческий вариант «Энигмы». Это позволило получить общее представление о логике работы шифровальной машины. Спустя несколько лет французская разведка смогла раздобыть руководство по эксплуатации новейшей военной модели. Однако всё это лишь помогло понять принцип работы устройства — расшифровать сообщения пока было невозможно.

Искусство криптоанализа

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

Удачливее всех на этом этапе оказались польские криптоаналитики. Получив доступ ко всему массиву данных европейской разведки, они смогли с 1933 года читать и немецкие шифровки. Длилось это пять лет: в 1938‑м немцы отказались от дневных ключей и стали менять начальное положение ротора перед каждым сообщением. Оператор отправлял начальный ключ, за ним следовал зашифрованный ключ для данного сообщения. Таким образом были устранены два фактора уязвимости системы: универсальные дневные ключи для всех радиограмм и шифрование ключа сообщения дважды (такая практика, понятное дело, помогала дешифровщикам находить закономерности между буквами). 

В ответ на новый вызов в Польше создали «Бомбу» — шесть соединённых между собой машин «Энигма», которые могли за пару часов методом перебора вычислить начальный ключ радиошифровок (стартовое положение барабанов). Необычное название машина-дешифровщик получила за характерное тиканье во время работы, напоминавшее звук часового механизма. Фактически это был прообраз ЭВМ, в которой в качестве носителя информации использовались картонные перфокарты. Оккупация Польши в 1939‑м и очередное усложнение конструкции «Энигмы» заставили Францию и Великобританию искать новые пути «хакинга».

От чего зависело шифрование?

Расположение роторов. Выбор роторов и их расположение

Позиции роторов. Выбирались оператором и были различными для каждого сообщения

Настройка колец. Позиция алфавитного кольца, совпадающая с роторной схемой

Настройки штепселей. Соединения штепселей на кросс-панели

​Операция «Ультра»

Режим «Ультрасекретности»

По одной из версий, британцы расшифровали радиограммы, в которых был описан план бомбардировки Ковентри 14–15 ноября 1940 года. Но вместо того чтобы организовать плотную оборону города с частичной эвакуацией жителей, правительство для сохранения режима «Ультрасекретности» сделало вид, что радиограммы не было. В результате налёта погибли более 500 человек, были уничтожены 4300 домов. Британское командование и в дальнейшем крайне избирательно пользовалось полученной информацией.

Частное имение Блетчли-парк в графстве Бакингемшир стало мозговым центром разведслужб Великобритании в годы Второй мировой. Именно здесь в 1939 году собрались самые талантливые математики и криптоаналитики с одной целью — взломать код «Энигмы». Приоритетными задачами программы, получившей название «Ультра», стали шифровки немецкого флота — кригсмарине, чьи подводные лодки потопили немало кораблей и отправили на дно грузы стоимостью в миллионы фунтов стерлингов.

Алан Тьюринг — профессор из Кембриджа, сумевший взломать код «Энигмы»

С самого начала работы в Блетчли-парке исследовательского центра, известного как Station X, среди дешифровщиков выделялся молодой профессор из Кембриджа Алан Тьюринг. Он возглавил группу, которая по польскому аналогу построила суперкомпьютер «Бомба». Машина обрабатывала тысячи немецких шифровок, которые перехватывали британские радиоприёмники. В этом гигантском объёме информации постепенно стали выявляться общие закономерности работы «Энигмы» — немецкие радисты оказались небезгрешны. Приветствия, небрежное кодирование цифр, часто повторяющиеся обрывки текста — все эти отступления от протокола шифрования строго учитывались в Station X. Со временем было построено около 200 дешифраторов по типу «Бомбы», что позволило обрабатывать 3000 немецких шифровок в день. К 1942 году научный коллектив «Ультры» смог достаточно серьёзно продвинуться к цели, но случались регулярные провалы: сказывались постоянные усложнения «Энигмы» и изменения алгоритмов работы.

«Бомба» Тьюринга состояла из 108 электромагнитных барабанов и весила 2,5 тонны

Неоценимую помощь учёным оказал британский противолодочный корабль, захвативший немецкую подлодку U-559. У неё на борту оказался целый и невредимый экземпляр «Энигмы» с полным комплектом документации и набором шифров. О значении программы дешифровки «Энигмы» исчерпывающе сказал премьер-министр Великобритании Уинстон Черчилль: «Именно благодаря “Ультре” мы выиграли войну».