Игра в имитацию — страница 50 из 109

одновременно. Это можно было сделать, если создать цепочку из семи «Энигм», установив из роторы в последовательные позиции. Задав буквы U I L K N T N, можно будет увидеть, появятся ли буквы G E N E R A L. Если нет, все «Энигмы» нужно передвинуть на один шаг, и повторить процесс. В конце концов, будет найдена нужная позиция ротора, и тогда положение машин будет выглядеть, допустим, так



Метод не требовал технических изысков, превосходящих уровень польской «Бомбы». Было достаточно легко прикрепить провода так, чтобы ток по ним шел лишь тогда, когда все семь букв совпадут с G E N E R A L и выключить машину.


Даже в самые первые дни эта идея не казалась особенно надуманной. Современник Алана, физик из Оксфорда Р.В.Джонс, который стал советником секретной службы по науке, был поставлен да довольствие в Блетчли в конце 1939 г. Он обсуждал насущные проблемы криптоанализа с заместителем Деннистона Эдвардом Трэвисом. Последний говорил о более амбициозной проблеме автоматического распознавания не определенного текста, а немецкого языка вообще. Джонс находчиво предложил несколько вариантов решения, одним из которых было «отметить или сделать прокол в бумаге или пленке в любой из 26 позиций в соответствии с буквой, выходящей из машины… и пропустить получившуюся запись мимо блока фотоэлементов, так что каждый из них может сосчитать количество появлений буквы, которую он ищет. После того, как будет достигнуто заданное общее число, распределение частот встречаемости букв можно будет сравнить с числом, соответствующим языку, таким образом, будет создано что-то вроде шаблона».

Трэвис представил Джонса Алану, которому идея «понравилась». Однако в том, что касалось «Энигмы», то основной метод по-прежнему оставался совсем другим. Он основывался на идее анализа известного куска обычного текста. Трудность, конечно, заключалась в том, что у военной «Энигмы» была коммуникационная панель, которая делала такой примитивный процесс невозможным — существовало 150 738 274 937 250 возможных комбинаций десяти пар букв. Проверить их все у машины не было никакой возможности.

Конечно, это устрашающее число не оказывало влияния на серьезного аналитика. Большие числа сами по себе не гарантировали безопасности от взлома. Любой человек, решивший криптограмму-головоломку, сумел устранить все кроме одного из 403 291 461 126 605 635 584 000000 различных буквенных замещений. Это было возможно сделать благодаря тому, что буква Е вполне обычна, сочетание АО — редко и т. д. и т. п. Так что каждый мог устранить большое количество вариантов сразу.


Как видно, большое количество коммутационных панелей само по себе не является проблемой. Можно рассмотреть гипотетическую машину, в которой своппинг коммутационной панели применяется только перед зашифровкой с помощью базовой «Энигмы». Предположим, что для такой машины точно известно, что текст F H O P Q B Z является шифровкой слова G E N E R A L.


И опять-таки, имеется возможность ввести буквы F H O P Q B Z в семь соединенных последовательно «Энигм» и проверить, что получается на выходе. Но в этот раз аналитик не ожидает появления букв G E N E R A L, потому что к ним был применен неизвестный своппинг коммутационной панели. Тем не менее, кое-что еще можно сделать. Предположим, что в некоей точке процесса прохода через все позиции ротора сложился такой набор значений:

(26!/ 10!6!2) На самом деле 11 пар дают немного больше способов — правда, тут совсем небольшая разница; 12 или 13 пар иногда меньше, т. е. 26! Это также число возможных подключений проводов к каждому ротору «Энигмы».



Затем можно задать вопрос: могут ли (или не могут) буквы G F G C O R I быть получены из комбинации G E N E R A L как побочный эффект от своппинга коммутационной панели. В этом примере звучит ответ «нет», потому что при своппинге первая буква G поменяется, а вторая буква G превратится в N, своппинг не может превратить первую букву в слове G E N E R A L в F, а вторую — в C. К этому можно добавить, что своппинг не может превратить букву R в слове G E N E R A L в О, а затем трансформировать А в R. Любого из этих замечаний достаточно, чтобы исключить эту позицию роторов.

Чтобы правильно ответить на вопрос, надо исходить из принципа соответствия. Если загрузить зашифрованный текст в «Энигмы», то будет ли результат на выходе соответствовать известному заранее простому тексту в том плане, что он отличается только в силу своппинга. С этой точки зрения, соответствия (OR) и (RA) или (EF) и (ЕС) являются противоречиями. Но достаточно одного противоречия, чтобы устранить миллиарды возможных коммутационных панелей на этой гипотетической машине. Поэтому огромное число (замещений) может считаться несущественным в сравнении с логическими свойствами шифровальной системы.

Было сделано важнейшее открытие. Его суть заключалась в том, что нечто подобное можно было бы сделать и с реальной военной «Енигмой» со своппингом для коммутационной панели. Ведь он осуществлялся перед и после ввода текста на роторы у базовой «Энигмы». Открытие было сделано далеко не сразу и оно не было плодом раздумий и усилий одного человека. Чтобы сделать этот вывод, ушло несколько месяцев. К его авторам, в первую очередь, следует отнести двух человек. В то время, как Джеффрис присматривал за изготовлением новых перфорированных листов, Алан и Гордон Уэлчмен контролировали разработку изделия, которое позже стало известно как «британская Бомба».

«Атаку» начал Алан, а Уэлчмэн отвечал за анализ потоков информации, поэтому ему первому удалось сформулировать принцип механизации поиска логических соответствий, основанный на «вероятном слове». Польские аналитики механизировали простую форму распознавания, будучи ограниченными используемой тогда системой индикаторов. Новая машина, как ее видел Алан, была намного более амбициозной, требовала наличия проводки для имитации «включений» от гипотетической коммутационной панели и средств распознавания не только простых соответствий, но и появляющихся противоречий.


Теперь предположим, что нам известно, что буквы L A K N Q K R являются шифровкой слова G E N E RA L, и эта шифровка выполнена на «полноценной» «Энигме» с коммутационной панелью. В этот раз нет смысла в проверке сочетания L A K N Q K R на базовых «Энигмах» и в просмотре того, что получается на выходе, потому что перед вводом L A K N Q K R на роторы «Энигмы» к этой комбинации букв был применен неизвестный своппинг коммутационной панели. Но поиски были небесполезны. Рассмотрим только одну букву, а именно А. Существует только 26 вариантов воздействия коммутационной панели на А, поэтому мы можем проверить их все. Начать мы можем с принятия гипотезы (АА), т. е. допустить, что коммутационная панель не повлияла на букву А.

Что следует из этого? Теперь мы можем использовать то обстоятельство, что имеется только одна коммутационная панель, выполняющая одну и ту же своппинговую операцию на буквах, поступающих на роторы и выходящих из них (если бы «Энигма» была оснащена двумя разными коммутационными панелями — одной для своппинга вводимых букв, другой — для своппинга получающихся, то это была бы совсем другая история). Кроме того, мы можем использовать тот факт, что этот конкретный иллюстративный «ключ» содержит одну особенность — замкнутый контур. Проще всего это можно увидеть при выработке возможных обобщений, которые можно сделать из (АА).

Проверяя вторую букву в комбинации, мы вводим А в роторы «Энигмы» и получаем на выходе, например, букву О. Это значит, что коммутационная панель должна содержать своппинг (ЕО).



При проверке четвертой буквы, утверждение (ЕО) будет иметь импликацию для N, например, (NQ); теперь третья буква дает импликацию для К, например (KG).



Наконец, мы рассматриваем шестую букву: здесь контур замыкается, и мы получаем либо соответствие, либо противоречие между (KG) и оригинальной гипотезой (АА). Если это противоречие, то гипотеза оказалась ложной и может быть удалена.

Предложенный метод был далек от идеала, потому что полностью зависел от нахождения замкнутых контуров в «ключе». Этот феномен проявлялся не во всех ключах. Но это был метод, который по-настоящему работал, потому что идея с замнутой цепью позволяла перевести работу в электрическую форму. Это доказывало, что огромное количество коммутационных панелей само по себе не являлось непреодолимым препятствием.

Это было начало, и оно стало первым успехом Алана. Подобно большинству научных исследований военного времени, идея не требовала самых совершенных знаний. Скорее здесь была нужна квалификация такого же уровня, что и про проведении перспективных исследований, но применяемая при решении более простых проблем. Идея автоматизации процессов была достаточно известна в двадцатом веке. Ей не был нужен автор «Computable Nambers». Но его серьезный интерес к математическим (вычислительным) машинам, его увлеченность идеей работы машины, были очень важны. Опять же, присущие коммутационной панели условия «соответствия» и «противоречия» касались только сугубо ограниченной проблемы, а не чего-то, подобного теореме Гёделя, которая описывала бесконечное множество теории чисел. Но аналогия с формалистской концепцией математики, в которой импликации должны были механически доведены до логического конца, была поразительна.

Алан смог реализовать свою идею в виде конструкции новой «Бомбы» в начале 1940 г. Она была запущена в производство, причем работа шла со скоростью, которую невозможно было представить в мирное время. Выпуском руководил Гарольд «Док» Кин на заводе компании «British Tabulating Machinery» в Летчуорте. Раньше здесь выпускали офисные счетные машины и сортирующие устройства, в которых реле выполняли простейшие логические функции, например, суммирование и распознавание. Теперь задачей завода был выпуск реле, выполняющих переключение «Бомбы» в случае «распознавания» позиции, где есть соответствие, и остановку машины. И снова Алан оказался тем самым человеком, который понял, что необходимо сделать. Сказался его необычный опыт знакомства с релейными множителями, который помог вникнуть в проблему выполнения логических манипуляций в такого рода технике. Возможно, в 1940 г. не было никого, кто мог бы контролировать эту работу лучше его.