Все это не означало, что немецкая «Энигма», с которой теперь должен был бороться Алан Тьюринг, намного опережала свое время или даже лучшее из того, что могли предложить технологии конца 1930-х годов. Единственной особенностью «Энигмы», которая позволяла отнести ее к двадцатому или хотя бы к концу девятнадцатого столетия, было то, что она «приводилась в действие с помощью электричества». В ней использовались электрические провода, через которые автоматически осуществлялись серии алфавитных замещений. Однако «Энигма» буде использоваться в фиксированном положении только для шифрования одной буквы, после чего самый удаленный от середины ротор повернется на одну позицию, создав новые связи между входом и выходом. Это показано на рисунке.
Рисунок. Базовая «Энигма».
Для простоты мы представили на рисунке алфавит только из восьми букв, хотя на самом деле «Энигма» работала с обычным 26-буквенным алфавитом. На рисунке показано положение машины в конкретный момент ее работы. Линии обозначают провода, по которым течет ток. Простая система выключателей на входе работает таким образом, что при нажатии клавиши (например, В) ток течет по проводу (на рисунке показан жирной линией) и зажигает лампочку на панели дисплея (в данном случае — под буквой D). Для гипотетической восьмибуквенной «Энигмы» следующее положение будет выглядеть так:
Для 26-буквенной «Энигмы» роторы имели 26 × 26 × 26 = 17576 возможных положений. Они приводились в действие как в любом арифмометре, когда средний ротор поворачивался на одно деление, когда первый ротор совершал полный оборот, а крайний в направлении внутрь поворачивался на один шаг, когда средний ротор совершал полный оборот. «Рефлектор» же не двигался. На нем были закреплены провода, соединявшие выходы крайнего внутреннего ротора.
Таким образом, «Энигма» была полиалфавитой, с периодом, равным 17576. Однако это было не «огромное число». На самом деле, для нее требовалась книга размером с арифметические таблицы для всех записанных алфавитов. Этот механизм, в действительности, не был прыжком в новую степень сложности. Роуз Болл в книге, изданной в 1922 г., предупредил (эту книгу Алан изучал в школе):
«Часто рекомендуют использовать приборы, создающих шифры, которые меняются или могут меняться постоянно и автоматически… но следует принимать в расчет риск попадания таких приборов в руки посторонних. Поскольку в равной степени хорошие шифры можно создавать без помощи механических средств, я не думаю, что их применение можно рекомендовать».
Однако то, что создано с помощью машины, с легкостью может быть уничтожено с помощью машины. Вся сложность «Энигмы», какой бы совершенной машина ни была, становится бесполезной, как только она создает шифр, который может взломать противник, получивший в свое распоряжение копию машины. Она может создавать лишь иллюзию безопасности.
Конструкция «Энигмы» вовсе не была настолько продвинутой и не соответствовала данному Синковым описанию современных разработок. Работавший на ней шифровальщик по-прежнему выполнял нудную и занимающую много времени работу, отмечая, под какой буквой загорелась лампочка, и записывая ее на бумаге. Не существовало также автоматической печати и передачи сообщений. Их надо было передавать с помощью азбуки Морзе. Медлительную машину никак нельзя было считать оружием блицкрига, по технической сложности она не превосходила электрическую лампочку.
С точки зрения криптоаналитика, тем не менее, физические затраты шифровальщика и физическая конструкция машины значения не имели. Значение имело логическое описание — точно также как в машине Тьюринга. Все самое важное в «Энигме» содержалось в ее «таблице», списке ее положений и того, что она делает в каждом положении. И с точки зрения логики действие «Энигмы», в любом данном конкретном положении имело очень специфическое свойство. Это была «симметричность», обусловленная «отражающей» природой машины. Для любой «Энигмы», в любом положении, истиной являлось то, что буква А при шифровке становится буквой Е, и затем в том же положении буква Е будет зашифрована как буква А. Алфавиты замещения, получающиеся из положения «Энигмы», всегда будут своппингами.
Для гипотетической 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 августа. А в них указывались методы, с помощью которых поляки в течение семи лет расшифровывали сообщения, зашифрованные «Энигмой».
Во-первых, и это было обязательное условие (sine qua non), поляки сумели выяснить наличие проводов, соединенных с тремя роторами. Знать, что немцы используют машину «Энигма» — это одно, но узнать о наличии специальных проводов — это совсем другое дело. Сделать это в мирном 1932 году было настоящим подвигом. Это произошло благодаря усилиям французских спецслужб, чьи шпионы в сентябре и октябре 1932 г. добыли копию инструкций по применению машины. Инструкцию они передали полякам и затем — британцам. Разница заключалась в том, что в польском департаменте работали трое энергичных математиков, которые смогли использовать полученные документы, чтобы узнать о проводах.