Книга Игра в имитацию - Эндрю Ходжес
Шрифт:
Интервал:
Закладка:
Однако то, что создано с помощью машины, с легкостью может быть уничтожено с помощью машины. Вся сложность «Энигмы», какой бы совершенной машина ни была, становится бесполезной, как только она создает шифр, который может взломать противник, получивший в свое распоряжение копию машины. Она может создавать лишь иллюзию безопасности.
Конструкция «Энигмы» вовсе не была настолько продвинутой и не соответствовала данному Синковым описанию современных разработок. Работавший на ней шифровальщик по-прежнему выполнял нудную и занимающую много времени работу, отмечая, под какой буквой загорелась лампочка, и записывая ее на бумаге. Не существовало также автоматической печати и передачи сообщений. Их надо было передавать с помощью азбуки Морзе. Медлительную машину никак нельзя было считать оружием блицкрига, по технической сложности она не превосходила электрическую лампочку.
С точки зрения криптоаналитика, тем не менее, физические затраты шифровальщика и физическая конструкция машины значения не имели. Значение имело логическое описание — точно также как в машине Тьюринга. Все самое важное в «Энигме» содержалось в ее «таблице», списке ее положений и того, что она делает в каждом положении. И с точки зрения логики действие «Энигмы», в любом данном конкретном положении имело очень специфическое свойство. Это была «симметричность», обусловленная «отражающей» природой машины. Для любой «Энигмы», в любом положении, истиной являлось то, что буква А при шифровке становится буквой Е, и затем в том же положении буква Е будет зашифрована как буква А. Алфавиты замещения, получающиеся из положения «Энигмы», всегда будут своппингами.
Для гипотетической 8-буквенной машины в положении, показанном на первом рисунке, замещение будет выглядеть так:
Для машины в положении, показанном на втором рисунке, замещение будет следующим:
Это можно записать в виде своппингов: как (AE) (BD) (CG) (FH) в первом случае и как (AE) (BF) (CG) (DH) во втором случае.
У этого свойства «Энигмы» было практическое преимущество. Оно заключалось в том, что операция дешифровки была идентична операции шифровки. (В терминологии теории групп шифр был самоинверсным). Получатель сообщения должен был лишь настроить машину точно таким же образом как отправитель, и загрузить зашифрованный текст. На выходе он получал расшифровку. Поэтому не было необходимости встраивать в машину режимы «шифровки» и «расшифровки», что делало ее работу менее подверженной ошибкам и путанице. Однако в этом же крылась и важнейшая уязвимость «Энигмы» — замещения всегда были именно особого вида, при этом буква не могла быть зашифрована самой собой.
Такова была базовая структура «Энигмы». Но машины, использовавшиеся в военных целях, были гораздо сложнее. Начать с того, что три ротора не были жестко зафиксированы и могли сниматься и располагаться в любом порядке. До конца 1938 г. в машине было только три ротора, которые можно было располагать шестью способами. В этом случае машина предлагала 6 × 17576 = 105456 различных буквенных замещений.
Очевидно, что роторы нужно было каким-то образом помечать снаружи, чтобы можно было идентифицировать разные положения. Однако это привносило еще одну сложность. На каждом роторе располагалось кольцо с 26 буквами, так что, когда кольцо фиксировалось в определенном положении, буква отмечала положение ротора. (На самом деле букву было видно через окно в верхней части машины). Однако положение кольца относительно системы электрических проводов менялось каждый день. Возможно, провода помечались числами от 1 до 26, а положение кольца — буквами от А до Z, появлявшимися в окне. Поэтому установка кольца определяла место, где оно должно было зафиксироваться на роторе. Например, буква G оказывалась на позиции 1, буква Н — на позиции 2 и т. д.
Установка кольца в определенное положение входила в обязанности шифровальщика. Он же использовал буквы на кольце для определения положения ротора. С точки зрения криптоаналитика это означало, что даже если было бы открыто объявлено, что ротор установлен в положение К, это не не позволило бы установить то, что в Блетчли-Парке назвали бы «core-position» — фактическое физическое положение провода. Его можно было вычислить, если бы было также известно положение кольца. Однако аналитик может знать относительное физическое положение провода; таким образом, положения К и М неизбежно будут соответствовать положениям core-positions, расположенным в двух позициях одна от другой. Поэтому было известно, что если К находится в положении 9, то М будет находиться в положении 11.
Однако более важной и сложной особенностью машины было подключение коммутационной панели. Это было самое отличие военной «Энигмы» от коммерческой, и оно очень нервировало британских аналитиков. Она обладала эффектом автоматически выполнять дополнительные своппинги, как перед входом в роторы, так и после выхода из них. Технически это выполнялось втыканием штепселей, укрепленных на концах каждого провода в панель с 26 отверстиями — как на телефонном коммутаторе. Для достижения необходимого эффекта требовались искусные электрические соединения и двужильные провода. До конца 1938 г. для немецких шифровальщиков-пользователей «Энигмы» считалось обычным делом иметь всего шесть или семь пар букв, соединенных подобным способом.
Таким образом, если роторы и рефлектор базовой машины были установлены так, что замещение выглядело как
а провода коммутационной панели были установлены так, что соединяли пары
то в результате нажатия клавиши А электрический ток тек по проводу к букве Р, затем через роторы к букве N, затем по проводу — к букве Q.
Из-за симметричного использования коммутационной панели перед и после прохождением тока через роторы сохранялись самоинверсный характер базовой «Энигмы» и свойство каждой буквы никогда не шифроваться самой в себя. Если буква А зашифровывалась в букву Q, и, следовательно, при том же положении машины буква Q зашифровывалась в букву А.
Поэтому коммутационная панель не оказала влияния на этот полезный — но опасный — аспект базовой «Энигмы». Однако она же очень сильно увеличила огромное количество позиций «Энигмы». Существовало 1 305 093 289 500 способов соединения семи пар букв на коммутационной панели, для каждого из 6 × 17576 позиций роторов.
По-видимому, немецкие власти поверили в то, что эти изменения коммерческого варианта «Энигмы» очень сильно приблизили ее к рубежу «практической неразрешимости (невозможности расшифровки)». И все же, когда Алан 4 сентября присоединился к команде Блетчли, он обнаружил, что там все гудит от открытий, сделанных польскими криптоаналитиками. Ощущения были свежими и новыми, потому что технические материалы прибыли в Лондон только 16 августа. А в них указывались методы, с помощью которых поляки в течение семи лет расшифровывали сообщения, зашифрованные «Энигмой».