Enigma · Enigma Code Book

Кодовая книга

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

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

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

Настройки указывали, какие роторы нужно использовать и в каком порядке их установить. В раннем наборе оператор выбирал три ротора из пяти доступных для Enigma M3. В более поздней Enigma M4, введённой для подводного флота в 1942 году, применялись уже четыре ротора, выбиравшиеся из расширенного комплекта. Каждый ротор имел свою уникальную внутреннюю проводку, поэтому даже небольшое изменение в выборе или порядке роторов кардинально меняло шифр.

Кодовая книга Энигмы

Кроме порядка роторов, книга задавала кольцевые настройки (Ringstellung), которые определяли смещение между внутренней проводкой ротора и буквенным кольцом на его ободе. Каждый ротор имел подвижное кольцо с буквами от A до Z, которое можно было поворачивать относительно внутреннего механизма. Это добавляло ещё 26 возможных позиций для каждого ротора, экспоненциально увеличивая общее количество возможных настроек.

Также указывалось начальное положение роторов (Grundstellung) — позиции, с которых начиналось шифрование каждого конкретного сообщения. В отличие от кольцевых настроек, которые оставались неизменными в течение всего дня, начальные позиции могли меняться для каждого сообщения. Наконец, одним из важнейших элементов были пары букв для коммутационной панели (Steckerbrett), которая дополнительно переставляла буквы перед их входом в роторный механизм и после выхода из него. Типичная настройка включала 10 пар букв, что создавало огромное количество дополнительных комбинаций.

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

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