Этот простой пример показывает самый общий принцип. В практической криптографии (что отличает ее от составления отдельных головоломок) часть передаваемого сообщения обычно содержит не сам текст, а инструкции по дешифровке. Такие элементы передачи, которые скрыты в ней, называются индикаторами. В системе с одноразовыми шифровальными блокнотами могут применяться индикаторы, указывающие, какую страницу блокнота следует использовать. Фактически, если все «не разжевано» в полном объеме заранее, детально, если существует малейшая вероятность двусмысленности или ошибки, что в сообщение должен быть какой-нибудь индикатор.
Это, бесспорно, пришло на ум Алану, который, по меньшей мере, с 1936 года размышлял о «самом общем виде кода или шифра». Такая смесь инструкций и данных внутри одной передачи напоминала о его «универсальной машине», которая сначала расшифровывает «номер описания» в инструкцию, а затем применяет эту инструкцию к содержанию ленты-накопителя. На самом деле, любая шифровальная система может рассматриваться как «сложный механический процесс» или машина Тьюринга, используя не просто правила сложения и замещения, но и правила того, как найти, применить и передать сам метод шифрования. Хорошая криптография базируется на создании целого свода правил, а не того или иного сообщения. И серьезный криптоанализ предполагает работу по их раскрытию, воссозданию всего механического процесса, проделанного шифровальщиками, с помощью анализа всей массы сигналов.
Возможно, шифровальная система торгового флота и не являлась последним словом с точки зрения сложности, но хорошо функционировала на обычных суда и находилась почти на пределе возможностей ручного метода. Кто угодно мог мечтать о создании более безопасной системы, но если процедура шифрования становилась слишком длинной и сложной, это приводило только к дополнительным задержкам и ошибкам. Однако если использовались шифровальные машины, которые перенимали часть «механической работы» шифровальщика, то ситуация начинала выглядеть совсем по-другому.
В этом отношении Британия и Германия вели симметричную войну, используя очень похожие машины. Фактически каждая немецкая официальная радиопередача была зашифрована с помощью машины «Энигма». Британцы использовали машину «Тайпекс», правда, не настолько широко. Она применялась в сухопутных войсках и в большей части королевских ВВС. Министерство иностранных дел и Адмиралтейство сохранили собственные ручные шифровальные системы, основанные на книгах. «Энигма» и «Тайпекс» в равной степени позволили механизировать базовые операции замещения и суммирования таким образом, что появилась возможность начать практическое применение более сложных систем. Они не делали ничего сверх того, что можно было делать с помощью таблиц в книгах шифров, но дали возможность выполнять эту работу быстрее и точнее.
В существовании таких машин не было никакого секрета. О них знали все — по меньшей мере все, кто получил в качестве школьного подарка книгу Роуза Болла «Математические развлечения и опыты» (Mathematical Recreations and Essays) издания 1938 г. В исправленной главе, написанной криптоаналитиком вооруженных сил США Абрахамом Синковым, говорилось о старых металлических решетках, шифрах Плейфера и тому подобных вещах, а также упоминалось, что «относительно недавно были проведены серьезные исследования в области изобретения машин для автоматической шифровки и расшифровки сообщений. Большая их часть использует периодические полиалфавитные системы».
«Периодический» полиалфавитный шифр использует некую последовательность алфавитных замещений и затем повторяет ее.
«Новейшие машины приводятся в действие электричеством и во многих случаях период представляет собой огромное число… Эти машинные системы намного более быстры и точны, чем ручные методы. Они могут даже объединяться с печатными и передающими устройствами таким образом, что при шифровке сохраняется запись зашифрованного сообщения и идет его передача; при дешифровке секретное сообщение принимается и переводится, все автоматически. Что касается существующих криптоаналитических методов, то шифровальные системы, полученные из некоторых из этих машин, очень близки к практической неразрешимости».
В базовой машине «Энигма» также не было никаких секретов. Она была представлена на конгрессе Международного почтового союза в 1923 г., вскоре после изобретения. Ее покупали и использовали банки. В 1935 г. британцы создали «Тайпекс», внеся некоторые изменения в конструкцию «Энигмы». Немецкие криптологи, в свою очередь, несколькими годами ранее модифицировали ее несколько другим способом, получив машину, которая, сохранив название «Энигма», оказалась намного более эффективной по сравнению с коммерческим аналогом.
Все это не означало, что немецкая «Энигма», с которой теперь должен был бороться Алан Тьюринг, намного опережала свое время или даже лучшее из того, что могли предложить технологии конца 1930-х годов. Единственной особенностью «Энигмы», которая позволяла отнести ее к двадцатому или хотя бы к концу девятнадцатого столетия, было то, что она «приводилась в действие с помощью электричества». В ней использовались электрические провода, через которые автоматически осуществлялись серии алфавитных замещений. Однако «Энигма» буде использоваться в фиксированном положении только для шифрования одной буквы, после чего самый удаленный от середины ротор повернется на одну позицию, создав новые связи между входом и выходом. Это показано на рисунке.
Рисунок. Базовая «Энигма».
Для простоты мы представили на рисунке алфавит только из восьми букв, хотя на самом деле «Энигма» работала с обычным 26-буквенным алфавитом. На рисунке показано положение машины в конкретный момент ее работы. Линии обозначают провода, по которым течет ток. Простая система выключателей на входе работает таким образом, что при нажатии клавиши (например, В) ток течет по проводу (на рисунке показан жирной линией) и зажигает лампочку на панели дисплея (в данном случае — под буквой D). Для гипотетической восьмибуквенной «Энигмы» следующее положение будет выглядеть так:
Для 26-буквенной «Энигмы» роторы имели 26 × 26 × 26 = 17576 возможных положений. Они приводились в действие как в любом арифмометре, когда средний ротор поворачивался на одно деление, когда первый ротор совершал полный оборот, а крайний в направлении внутрь поворачивался на один шаг, когда средний ротор совершал полный оборот. «Рефлектор» же не двигался. На нем были закреплены провода, соединявшие выходы крайнего внутреннего ротора.
Таким образом, «Энигма» была полиалфавитой, с периодом, равным 17576. Однако это было не «огромное число». На самом деле, для нее требовалась книга размером с арифметические таблицы для всех записанных алфавитов. Этот механизм, в действительности, не был прыжком в новую степень сложности. Роуз Болл в книге, изданной в 1922 г., предупредил (эту книгу Алан изучал в школе):
«Часто рекомендуют использовать приборы, создающих шифры, которые меняются или могут меняться постоянно и автоматически… но следует принимать в расчет риск попадания таких приборов в руки посторонних. Поскольку в равной степени хорошие шифры можно создавать без помощи механических средств, я не думаю, что их применение можно рекомендовать».