Эта статья посвящена взлому Энигмы в Блетчли-парк. Описание строения Энигмы можно прочитать в первой части, а про работу польских криптографов – во второй
После того как польские криптографы передали результаты союзникам, работа по взлому Энигмы продолжилась в главном шифровальном подразделение Великобритании – Блетчли-парк. Ежедневно сотрудники Блетчли-парк получали тысячи перехваченных немецких сообщений. Благодаря усилиям польского Бюро шифров британцы уже имели работающую копию Энигмы. Их задачей стало получение дневных настроек машины и расшифровка сообщений. Сложность задачи усугублялась тем, что настройки машины теперь менялись ежедневно, поэтому службы дешифровки работали круглосуточно, в три смены.
Теоретическую часть работы выполнил известный математик Алан Тьюринг. Принцип разработанного Тьюрингом метода состоял в переборе возможных вариантов ключа, когда была известна часть открытого текста.
Немецкие сообщения
После 1940 года немцы изменили процедуры передачи сообщений. Это больше не позволяло использовать закономерности, которые возникали между буквами дважды зашифрованного ключа в начале сообщения.
Пример:
Оператор выбирает стартовую позицию роторов – ключ сообщения, например, kjh и позицию роторов для шифрованию этого ключа, например cvb. Далее он устанавливает роторы в положение cvb и шифрует kjh один раз, получает mpd. Потом он устанавливает роторы в положение kjh и шифрует само сообщение. В результате получается:cvb mpd <сообщение>
∎
Задача криптоаналитиков – найти дневной ключ: правильную последовательность роторов, положение роторов, настройки коммутационной панели и положение колец. Используя дневной ключ, можно расшифровать любое сообщение за день.
Атака на основе открытых текстов
Представим, что мы знаем зашифрованный Энигмой текст и соответствующий ему открытый текст. Тогда можно построить так называемые “меню” – диаграмму, которая показывает связь букв
Номер буквы | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|---|
Зашифрованный текст | R | R | H | K | T | K | E |
Исходный текст | W | E | T | T | E | R | K |
Нас интересуют циклы в этой диаграмме. Рассмотрим цикл $E-R-K$
Предположим, что в течение шифрования букв нашего текста поворачивался только самый быстрый ротор, а остальные стояли на месте. Если это окажется не так – со временем мы придём к противоречию. Обозначим действие Энигмы без коммутационной панели на $i$-ую букву как $D_i$, действие коммутационной панели – $S$.
Имеем:
$S^{-1}D_{2}S(E) = R$
$S^{-1}D_{6}S(R) = K$
$S^{-1}D_{7}S(K) = E$
Перенесём $S$ в правую часть:
$D_{2}S(E) = S(R)$
$D_{6}S(R) = S(K)$
$D_{7}S(K) = S(E)$
Подставим выражения для $S$:
$D_{7}D_{6}D_{2}S(E) = S(E)$
Это означает, что для буквы, соединённой на коммутационной панели с буквой $E$, при правильном положении роторов выполняется указанное равенство. При других положений роторов равенство может выполняться только с небольшой вероятностью, которая уменьшается с ростом длины цикла, что продемонстрировал Тьюринг. Метод состоит в переборе всех положений роторов и проверке равенства для всех букв. Если при каком-то положение роторов равенство будет выполнено, это означает, что мы нашли положение роторов и букву, которая соединена с $E$ на коммутационной панели. Далее методом исключений находим остальные соединения на коммутационной панели. Наконец, простым перебором находим положение колец.
Вернёмся к началу. Чтобы осуществить атаку нужно только знать часть открытого текста и его точное положение. Часто удавалось достаточно точно определить содержание сообщения. Например, прогноз погоды передавался постоянно в одно и то же время. Каждое такое сообщение содержало слово “Погода” (Wetter), а знание погоды в данной местности очень помогало в предположениях о содержании остального сообщения. Подобные подсказки, в Блетчли-парк называли “крибы” (cribs).
Чтобы определить точное положение известной части текста использовали слабость Энигмы. Дело в том, что из-за устройства рефлектора буква никогда не может быть зашифрована в себя. На первый взгляд это может показаться достоинством, но на самом деле позволяет сильно сократить количество возможных положений криба.
Пример:
Слово “wetter” не может быть зашифровано как “kepoas”, потому что и в открытом, и в зашифрованном тексте на втором месте стоит одинаковая буква “e”.∎
Bombe
Для проведения перебора в Блетчли-парк была сделана электронная машина “Bombe”. Bombe состоит из нескольких Энигм, в которых все буквы соединены друг с другом и вращающихся барабанов, делающих перебор возможных настроек роторов. Когда находились нужные настройки, электрическая цепь замыкалась, и машина останавливалась. Криптоаналитики записывали найденное положение и проверяли его. Если остановка была ложной – поиск продолжался. Первая Bombe была запущена 18 марта 1940 года. Она была 3 метра в длину, 2 метра в высоту и 0,6 метра в ширину. Весила машина 2,5 тонны.
Всего в Блетчли-Парк было установлено 210 машин Bombe, что позволило ежедневно расшифровывать до 3 тысяч сообщений. Это внесло существенный вклад в военные успехи Британии, особенно в Атлантике. Машина серийно выпускалась вплоть до сентября 1944 года, когда ход войны сделал ненужным увеличение количества машин.
Операция Ультра
Расшифровать сообщения противника – это только половина дела, нужно ещё использовать их так, чтобы противник не догадался о расшифровке. Программа по использованию расшифрованных данны немецких сообщений называлась “Ультра”. О существовании программы было известно лишь небольшому кругу лиц. Сведения передавались адресатам сетью офицеров разведки без указания реального источника данных.
Британцам приходилось тщательно рассчитывать и маскировать действия, основанные н расшифрованных данных, чтобы не выдать тайну взлома. Например, когда они узнавали из взломанных сообщений местонахождение кораблей противника, те не подвергались атаке немедленно. Сначала на “поиск” отправлялись самолёты, катера или подводные лодки, которые как бы случайно обнаруживали корабли (давая заметить и себя).
Однажды в критический момент операции в Африке немецкие корабли отплыли из Неаполя в Северную Африку. У британцев не было достаточно времени, чтобы подготовить обычную операцию-прикрытие, поэтому они приняли решение атаковать немедленно. Чтобы рассеять подозрения, после атаки британцы отправили радиосообщение фиктивному шпиону в Неаполе с благодарностью за полезное донесение. Сообщение специально было слабо зашифровано, так что немцы смогли взломать и прочитать его.
Операция “Ультра” продолжалась до конца войны. Ее вклад в дело победы был высоко оценён союзниками.