Шрифт:
Интервал:
Закладка:
Однако то, что создано с помощью машины, с легкостью может быть уничтожено с помощью машины. Вся сложность «Энигмы», какой бы совершенной машина ни была, становится бесполезной, как только она создает шифр, который может взломать противник, получивший в свое распоряжение копию машины. Она может создавать лишь иллюзию безопасности.
Конструкция «Энигмы» вовсе не была настолько продвинутой. Работавший на ней шифровальщик попрежнему выполнял нудную и занимающую много времени работу, отмечая, под какой буквой загорелась лампочка, и записывая ее на бумаге. Не существовало также автоматической печати и передачи сообщений. Их надо было передавать с помощью азбуки Морзе. Медлительную машину никак нельзя было считать оружием блицкрига, по технической сложности она не превосходила электрическую лампочку.
С точки зрения криптоаналитика, тем не менее, физические затраты шифровальщика и физическая конструкция машины значения не имели. Значение имело логическое описание – точно также как в машине Тьюринга. Все самое важное в «Энигме» содержалось в ее «таблице», списке ее положений и того, что она делает в каждом положении. И с точки зрения логики, действие «Энигмы» в любом данном конкретном положении имело очень специфическое свойство. Это была «симметричность», обусловленная «отражающей» природой машины. Для любой «Энигмы», в любом положении, истиной являлось то, что буква А при шифровке становится буквой Е, и затем в том же положении буква Е будет зашифрована как буква А. Алфавиты замещения, получающиеся из положения «Энигмы», всегда будут свопингами (обмен страниц данных между оперативной памятью и жестким диском для работы механизма виртуальной памяти. – Ред.).
Для гипотетической 8-буквенной машины в положении, показанном на первом рисунке, замещение будет выглядеть так:
Для машины в положении, показанном на втором рисунке, замещение будет следующим:
Это можно записать в виде свопингов: как (AE) (BD) (CG) (FH) в первом случае и как (AE) (BF) (CG) (DH) во втором случае.
У этого свойства «Энигмы» было практическое преимущество. Оно заключалось в том, что операция дешифровки была идентична операции шифровки. Получатель сообщения должен был лишь настроить машину точно таким же образом как отправитель, и загрузить зашифрованный текст. На выходе он получал расшифровку. Поэтому не было необходимости встраивать в машину режимы «шифровки» и «расшифровки», что делало ее работу менее подверженной ошибкам и путанице. Однако в этом же крылась и важнейшая уязвимость «Энигмы» – замещения всегда были именно особого вида, при этом буква не могла быть зашифрована самой собой.
Такова была базовая структура «Энигмы».
* * *
Но машины, использовавшиеся в военных целях, были гораздо сложнее. Начать с того, что три ротора не были жестко зафиксированы и могли сниматься и располагаться в любом порядке. До конца 1938 г. в машине было только три ротора, которые можно было располагать шестью способами. В этом случае машина предлагала 6 × 17 576 = 105 456 различных буквенных замещений.
Однако более важной и сложной особенностью машины было подключение коммутационной панели. Это было самое важное отличие военной «Энигмы» от коммерческой, и оно очень нервировало британских аналитиков. Она обладала эффектом автоматически выполнять дополнительные свопинги, как перед входом в роторы, так и после выхода из них. Технически это выполнялось втыканием штепселей, укрепленных на концах каждого провода в панель с 26 отверстиями, как на телефонном коммутаторе. Для достижения необходимого эффекта требовались искусные электрические соединения и двужильные провода. До конца 1938 г. для немецких шифровальщиков-пользователей «Энигмы» считалось обычным делом иметь всего шесть или семь пар букв, соединенных подобным способом.
Таким образом, если роторы и рефлектор базовой машины были установлены так, что замещение выглядело как
А 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
C O A I G Z E V D S W X U P B N Y T J R M H K L Q F,
а провода коммутационной панели были установлены так, что соединяли пары
(AP) (KO) (MZ) (IJ) (CG) (WY) (NQ),
то в результате нажатия клавиши А электрический ток тек по проводу к букве Р, затем через роторы к букве N, затем по проводу – к букве Q.
Из-за симметричного использования коммутационной панели перед и после прохождением тока через роторы сохранялись самоинверсный характер базовой «Энигмы» и свойство каждой буквы никогда не шифроваться самой в себя. Если буква А зашифровывалась в букву Q, и, следовательно, при том же положении машины буква Q зашифровывалась в букву А.
Поэтому коммутационная панель не оказала влияния на этот полезный – но опасный – аспект базовой «Энигмы». Однако она же очень сильно увеличила огромное количество позиций «Энигмы». Существовало 1 305 093 289 500 способов соединения семи пар букв на коммутационной панели, для каждого из 6 × 17 576 позиций роторов.
По-видимому, немецкие власти поверили в то, что эти изменения коммерческого варианта «Энигмы» очень сильно приблизили ее к рубежу «практической неразрешимости (невозможности расшифровки)». И все же, когда Алан 4 сентября присоединился к команде Блетчли, он обнаружил, что там все гудит от открытий, сделанных польскими криптоаналитиками. Ощущения были свежими и новыми, потому что технические материалы прибыли в Лондон только 16 августа. А в них указывались методы, с помощью которых поляки в течение семи лет расшифровывали сообщения, зашифрованные «Энигмой».
* * *
Во-первых, и это было обязательное условие, поляки сумели выяснить наличие проводов, соединенных с тремя роторами. Знать, что немцы используют машину «Энигма» – это одно, но узнать о наличии специальных проводов – это совсем другое дело. Сделать это в мирном 1932 году было настоящим подвигом. Это произошло благодаря усилиям французских спецслужб, чьи шпионы в сентябре и октябре 1932 г. добыли копию инструкций по применению машины. Инструкцию они передали полякам и затем – британцам. Разница заключалась в том, что в польском департаменте работали трое энергичных математиков, которые смогли использовать полученные документы, чтобы узнать о проводах.
Гениальные наблюдения, остроумные предположения и использование элементарной теории групп позволили понять, что в машине используются провода, и понять структуру рефлектора. Поняв все это, польские математики догадались, каким образом буквы на клавиатуре связаны с механизмом шифровки. Они могли быть соединены в полном беспорядке, чтобы внести дополнительную сложность в конструкцию машины. Однако поляки догадались и позднее убедились в том, что конструкция «Энигмы» не предусматривает эту потенциальную свободу. Буквы соединялись с ротором в алфавитном порядке. В результате поляки создали логическую, но не физическую копию машины и получили возможность использовать это обстоятельство.