Игра в имитацию
Шрифт:
Чтобы добиться точности работы, порядок расположения роторов фиксировали в письменной инструкции, то же относилось к коммутационной панели и установке колец. Задачей шифровальщика было выбрать оставшийся элемент — изначальную установку трех роторов. Это сводилось к выбору некоей тройки букв, например, «W H J». Самая простая система индикаторов просто передала бы «W H J» и включила бы это сочетание в зашифрованное сообщение. Однако на самом деле все было намного сложнее. Сочетание «W H J» само зашифровывалось в машине. Для этого в инструкции на день закладывались так называемые базовые настройки (ground settings). Они, как и порядок расположения роторов, коммуникационная панель и установки колец, были общими для всех операторов в сети. Предположим, что базовая настройка была «R T Y». Затем шифровальщик
Их метод заключался в том, чтобы с помощью радиоперехватов ежедневно составлять список этих первоначальных последовательностей из шести букв. Они знали, что в списке содержится некая модель или система. Например, если первой буквой была А, а четвертой R, то в любом другом сообщении, где первой буквой является А, то четвертой снова будет R. Накопив достаточно сообщений, они сумели составить полную таблицу, предположим:
Первая буква: А B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Четвертая буква: R G Z L Y Q M J D X A O W V H N F B P C K I T S E U
Затем появятся еще две таблицы, в которых связываются вторая и пятая и третья и шестая буквы. Существовал целый ряд способов использования этой информации для выяснения положения «Энигмы» на тот момент, когда были отправлены все эти сочетания из шести букв. Но особенно важным считался метод, который реагировал на механическую работу шифровальщика, включая механизированную форму анализа.
Поляки написали несколько таблиц сочетаний букв в форме циклов. Запись цикла широко применялась в элементарной теории групп. Чтобы преобразовать приведенное выше специфическое сочетание букв в «циклическую» форму, аналитик начинал с буквы А и отмечал, что А связана с буквой R. В свою очередь, буква R была связана с В, В — с G, G — c M, M — c W, W — c T, T — c C, C — c Z, Z — c U, U — c K, и К — с А, таким образов получался полный «цикл»: (A R B G M W T C Z U K). Полное сочетание можно записать как произведение четырех циклов:
(A R B G M W T C Z U K) (D L O H J X S P N V I) (EY) (FQ)
Причина такой записи состояла в следующем: аналитики обратили внимание на то, что длины этих циклов (в нашем примере 11, 11, 2, 2) не зависели от коммутационной панели. Они зависели только от положения роторов, коммутационная панель влияла на то, какие буквы появлялись в циклах, но не на их количество. Это наблюдение продемонстрировало, что положения роторов оставляют довольно четкие характерные признаки в зашифрованном тексте, когда поток сообщений рассматривается как единое целое. Фактически они оставили лишь три характерных признака — длины циклов каждой из трех таблиц сочетаний букв.
Из этого следовало, что если у аналитиков был полный набор признаков длин циклов, трех для каждого положения ротора, то все, что им нужно было сделать для того, чтобы определить, какое положение ротора использовалось для первых шести букв — это просто перебрать весь набор. Проблема заключалась в том, что в каталоге было 6 x 17576 позиций роторов. Но они сделали это. Для облегчения работы польские математики разработали небольшую электрическую машину, в которой были установлены роторы «Энигмы», и которая автоматически формировала требуемые комбинации букв. На всю работу у поляков ушел год, результаты
Это был элегантный метод, но его недостаток заключался в том, что он полностью зависел от конкретной системы индикаторов. И это не могло продолжаться долго. Сначала у поляков перестала получаться расшифровка сообщений, зашифрованных «Энигмой», применяемой в германском военно-морском флоте, и «… с конца апреля 1937 г., когда немцы изменили военно-морские индикаторы, они (поляки) смогли прочитать только военно-морскую переписку за период с 30 апреля по 8 мая 1937 г., и ту лишь в ретроспективе. Более того, этот небольшой успех не оставил им никаких сомнений в том, что новая система индикаторов сделала «Энигму» намного более безопасной…»
Затем, 15 сентября 1938 г., в тот день, когда Чемберлен прилетел в Мюнхен, произошла более серьезная катастрофа. Немцы изменили все остальные свои системы. Изменения были незначительны, но это означало, что в течение одной ночи все занесенные в каталог длины циклов стали совершенно бесполезны.
В новой системе базовая настройка (ground settings) больше не устанавливалась заранее. Теперь она выбиралась шифровальщиком, который таким образом должен был передать ее получателю. Это делалось простейшим способом — она передавалась, как есть. То есть, если шифровальщик выбирал буквы A G H, то устанавливал роторы так, что они считывали A G H. Затем он мог выбрать другую настройку, например, T U I. Он зашифровывает T U I T U I, получая, допустим, R Y N F Y P. Затем он передает A G H R Y N F Y P как буквы-индикаторы, после чего следует само сообщение, зашифрованное с помощью роторов с базовой настройкой T U I.
Безопасность этого метода базировалась на том, что установки колец менялись день ото дня. Однако первые три буквы (A G H в нашем примере) могли раскрыть всю переписку. Соответственно, перед аналитиками стояла задача определить установки колец, которые были общими для всего потока шифрованных сообщений сети. Удивительно, но польские аналитики смогли решить задачу поиска новых отличительных признаков, которые позволяли определить установку кольца или, что эквивалентно, определить физическое положение провода (core-position), которое соответствовало отрыто объявленной установке ротора, например A G H в нашем примере.
Так же как в случае с более старым методом, поиски характерных признаков зависели от оценки всего потока сообщений в целом и в использовании элемента повторений в последних шести из девяти букв-индикаторов. Если общая базовая настройка отсутствует, то отсутствует и четкая связь между первой и четвертой, второй и пятой, третьей и шестой буквами, которую можно проанализировать. Но «остаток» этой идеи уцелел, подобно улыбке Чеширского кота. Иногда случалось так, что первая и четвертая буквы фактически совпадали. Иногда совпадали вторая и пятая или третья и шестая буквы. Это явление было без всяких очевидных причин названо «мамой». Таким образом, если предположить, что сочетание T U I T U I было действительно зашифровано как R Y N F Y P, то повторяющаяся буква Y считалась «мамой». Этот факт дает небольшой кусочек информации о положении роторов, которое они занимали во время шифровки букв T U I T U I. Метод решения задачи зависел от поиска достаточного количества таких кусочков, сложив которые можно было бы разгадать всю головоломку.
Более точно можно было сказать, что core-position содержит букву-маму, если шифровка этой буквы оказывается одинаковой через те же самые три шага. Это было не очень редкое явление и имело место в среднем один раз в двадцати пяти. Некоторые core-position (около сорока процентов) имели свойство содержать как минимум одну букву-маму, а остальных их не было совсем. Свойство содержать или не содержать букву-маму не зависело от коммутационной панели, а ее идентификация, напротив, требовала ее учитывать.