Глава 4 Летящий над всем
Глава 4
Летящий над всем
Летящий над всем, через все,
Через Природу, Время, Пространство,
Словно корабль, плывущий вперед,
В полете души — не только жизнь,
Смерть, многие смерти я пою.
(Уолт Уитмен, «Листья травы»)
На следующий день, 4 сентября, Алан явился в Правительственную школу кодов и шифров, которую эвакуировали в августе в викторианское поместье Блетчли-Парк. Сам Блетчли представлял собой скучный застроенный кирпичными домами городской округ, затерянный среди кирпичных заводов Бакингемшира. Однако он находился в геометрическом центре интеллектуальной Англии, где главная железная дорога, ведущая из Лондона на север, пересекала ветку, соединяющую Оксфорд и Кембридж. Непосредственно на северо-запад от пересечения железных дорог, на небольшом холме, увенчанном древней церковью и нависающим над глиняным карьером в долине, и стоял Блетчли Парк.
По железной дороге в Бакингемшир было эвакуировано 17000 детей из Лондона, в результате население Блетчли увеличилось на двадцать пять процентов. «Тем немногим, кто вернулся (в Лондон)», — сказал один городской советник, «было бы просто негде остановиться, и они, возможно, оказались самыми умными, вернувшись в свои халабуды». В этих обстоятельствах прибытие нескольких отобранных для работы в Правительственной школе кодов и шифров джентльменов стало бы причиной небольшой суматохи, хотя говорили, что когда профессор Эдкок впервые прибыл на станцию, один маленький мальчик закричал: «Я прочту вашу тайнопись, мистер!», приведя его в сильнейшее замешательство. Позднее местные жители жаловались на бездельников в Блетчли-Парке, говорили также, что члена парламента пришлось попросить не ставить об этом вопрос в Парламенте. Прибывшие устроились с жильем — в сердце Бакингемшира было несколько небольших гостиниц. Алана разместили в отеле «Краун Инн» в Шенли Брук-Энд, крошечной деревушке в трех милях севернее Блетчли-Парка, куда он каждый день приезжал на велосипеде. Его хозяйка, миссис Рэмшоу, громко выражала свое недовольство тем, что молодой здоровый мужчина не выполняет свой долг. Иногда он помогал ей в баре.
Первые дни в Блетчли-Парке напоминали переехавшую на новое место профессорскую, обитатели которой из-за домашних неурядиц были вынуждены обедать с коллегами, однако изо всех сил старались не жаловаться. Главным был Кинг, из стариков — Нокс, Эдкок и Бёрч, более молодые Фрэнк Лукас и Патрик Уилкинсон, а также Алан. Вероятно, опыт кейнсианского Кембриджа был полезен для Алана. В частности, у него завязались отношения с Диллвином Ноксом, которого современники Алана не считали доброжелательным или доступным человеком. GC&CS никак не нельзя было считать крупной организацией. 3 сентября Деннисон написал в министерство финансов:
«Дорогой Уилсон,
Несколько дней назад мы были вынуждены привлечь несколько человек в ранге профессора из нашего чрезвычайного списка, которым министерство согласилось платить 600 фунтов в год. Я прилагаю список уже принятых на службу джентльменов с указанием дат их прибытия».
Алан был далеко не первый. К моменту его прибытия в Блетчли с семью другими на следующий день, там уже находились девять человек «в ранге профессора» из списка Деннисона. В течение следующего года туда прибыли еще более шестидесяти специалистов со стороны.
«Чрезвычайный набор позволил вчетверо увеличить численность криптоаналитиков Службы и почти удвоить общее количество криптоаналитиков». Однако лишь трое из этих первых новобранцев были выходцами из научной среды. Кроме Алана это были У.Г.Уэлчмен и Д. Джеффриз. Гордон Уэлчмен с 1929 г. преподавал математику в Кембридже и был на шесть лет старше Алана. Он специализировался на алгебраической геометрии, области математики, широко представленной в Кембридже в те времена, но никогда не привлекавшей Алана, поэтому их пути прежде не пересекались.
В отличие от Алана, Уэлчмен до начала войны не был связан с GC&CS и поэтому ему, как новичку, Нокс поручил анализировать немецкие позывные, используемые частоты и тому подобное. Как выяснилось, это была работа огромной важности, и Уэлчмен быстро поднял «анализ траффика» на новый уровень. Это позволило идентифицировать различные системы ключей «Энигмы». Важность этого открытия заставила GC&CS по-новому оценить проблему и возможности ее решения. Однако никто не мог расшифровать сами сообщения. Существовала лишь «малочисленная группа, которую возглавляли гражданские, и она сражалась с «Энигмой» в интересах всех трех Служб». Сначала в составе группы работали Нокс, Джеффриз, Питер Туинн и Алан. Они обосновались в бывшей конюшне поместья и развивали идеи, которыми поляки поделились незадолго до начала войны.
Шифровальное дело в те времена было лишено романтического ореола. В 1939 г. работа шифровальщика, хотя и требовала мастерства, была скучной и монотонной. Однако шифрование являлось неотъемлемым атрибутом радиосвязи. Последняя использовалась в войне в воздухе, в море и на земле, и радиосообщение для одного становилось доступно всем. Поэтому сообщения необходимо было делать неузнаваемыми. Их не просто делали «секретными» как у шпионов или контрабандистов. Засекречивалась вся система коммуникации. А это означало ошибки, ограничения и многочасовую работу над каждым сообщением. Однако другого выбора не было.
Шифры, применявшиеся в 1930-х годах, основывались не на большой математической сложности, а на простых идеях суммирования и замещения. Идею «суммирования» никак нельзя было назвать новой. Еще Юлий Цезарь скрывал свои послания от галлов, прибавляя число три к каждой букве, так что буква А становилась буквой D, буква В — буквой Е и т. д. Если выразить это точнее, то такой способ суммирования математики называли модулярным суммированием или суммированием без переноса, потому что оно означало, что буква Y становилась буквой В, буква Z становилась буквой С, как если бы буквы располагались по кругу.
Две тысячи лет спустя идею модулярного суммирования фиксированного числа вряд ли можно было бы считать адекватной. Однако ничего принципиально отличного от основной идеи придумано не было. Один важный тип шифров использовал идею «модулярного суммирования», но вместо фиксированного числа применялась изменяющаяся последовательность чисел, образующая ключ, который добавлялся к сообщению.
На практике слова сообщения сначала зашифровывались в числа с помощью стандартной книги шифров. Работа шифровальщика заключалась в том, чтобы взять этот «открытый текст», допустим
6728 5630 8923, взять ключ, допустим,
9620 6745 2397 и сформировать зашифрованный текст
5348 1375 0210 с помощью модулярного суммирования.
Чтобы это можно было как-то использовать, законный получатель должен был знать ключ, чтобы вычесть его и получить «открытый текст». Таким образом, должна была существовать система, с помощью которой отправитель и получатель заранее согласовывали ключ.
Одним из способов сделать это стал принцип «одноразовости». Это была одна из немногих рациональных идей, рожденных в области криптографии в 1930-х годах, она же являлась одной из самых простых. Принцип требовал, чтобы ключ был точно в два приема, одна копия передавалась отправителю, вторая — получателю сообщения. Аргумент в пользу безопасности данной системы заключался в том, что она работала абсолютно случайным образом, как при перетасовке карт или бросании костей, и вражескому криптоаналитику было не за что зацепиться.
Предположим, что зашифрованный текст выглядит как «5673», тогда дешифровщик может подумать, что открытый текст будет «6743», а ключ — «9930», или открытый текст будет «8442», а ключ — «7231». Однако проверить эту догадку будет невозможно, также нет причин предпочесть одну догадку другой. Аргумент в пользу системы базировался на полной бессистемности выбора ключа, который мог в равной степени состоять из всех возможных цифр, в противном случае криптоаналитик имел бы причину предпочесть одну догадку другой. И в самом деле, поиск системы в абсолютном хаосе — это работа как для криптоаналитика, так и для ученого.
По британской системе были изготовлены шифровальные блокноты для одноразового использования. Помимо случайного выбора ключа, ни одна из станиц не использовалась дважды, и к блокнотам не имели доступа посторонние, поэтому система была защищена от случайных ошибок и безопасна. Однако она была построена на создании колоссального количества ключей, равного по объему максимуму того, что мог потребовать канал связи. Предположительно, выполнение этой неблагодарной задачи было возложено на женщин из Строительной секции (Construction Section) GC&CS, которую с началом войны эвакуировали не в Блетчли, а в Мэнсфилд Колледж в Оксфорде. Что касается использования системы, то и оно не доставляло большого удовольствия. Малькольм Маггеридж, который работал в секретной службе, считал ее «трудоемкой работой, в которой я всегда был слаб. Во-первых, нужно было вычитать из групп чисел в телеграмме соответствующие группы из так называемого одноразового шифровального блокнота; затем смотреть в книге шифров, что означают получившиеся группы. Любая ошибка в вычитании или, что еще хуже, в вычтенных группах, и все можно выбрасывать. Я пахал до потери пульса, ужасно путался, и если надо было начитать все сначала….»
В качестве альтернативы можно было использовать систему шифрования, основанную на идее «замещения». В простейшем виде она применялась для головоломок-криптограмм, которые решали любители «Принстонской охоты за сокровищами». По этой системе одна буква алфавита заменялась другой по заранее определенному принципу, например:
так что слово TURING превращается в VNQOPA. Такой простой или «моноалфавитный» шифр можно было легко разгадать, проверив частоту использования букв, общих слов и т. Фактически проблема при решении таких головоломок возникала лишь тогда, когда составитель включал в нее необычные слова вроде XERXES (Ксеркс), чтобы затруднить разгадку. Такая система была слишком примитивной для использования в военных целях. Однако в 1939 г. использовались системы, которые были немногим сложнее. Сложность их заключалась в применении нескольких алфавитных замещений, используемых по принципу ротации или в соответствии с другими несложными схемами. Немногие существовавшие инструкции и учебники по криптологии были, в основном, посвящены таким «полиалфавитным» шифрам.
Немного более сложной была система, в которой шло замещение не отдельных букв, а 676 возможных пар букв. Одна британская шифровальная система тех лет была основана на этом принципе. Она сочетала использование этого принципа и книги шифров. Система использовалась британским Торговым флотом.
Сначала шифровальщик должен был закодировать сообщение кодом торгового флота, например:
Следующим шагом было дополнение до четного числа строк, поэтому шифровальщик добавлял слово, не несущее никакого смысла, например,
После этого сообщение нужно было зашифровать. Шифровальщик брал первую вертикальную пару букв, т. е. VC, и искал ее соответствие в таблице буквенных пар. В таблице значилась другая буквенная пара, например, ХХ. Подобным образом шифровальщик заменял все остальные пары букв сообщения.
Добавить здесь особо нечего, за исключением того, что, как и в системе шифрования «с суммированием», процесс был бесполезен в случае, если законный получатель не знал, какая таблица замещения используется. Если, скажем, предварить передачу информацией «Таблица номер 8», то это может позволить криптоаналитику противника собрать и систематизировать сообщения, зашифрованные с использованием той же самой таблицы, и попробовать взломать шифр. Поэтому здесь также использовались некоторые способы сокрытия информации. С таблицами печатался список последовательностей из восьми букв, например, «B M T V K Z M D». Шифровальщик выбирал одну из этих последовательностей и добавлял ее к началу сообщения. Получатель, имевший такой же список, мог видеть, какая таблица используется.
Этот простой пример показывает самый общий принцип. В практической криптографии (что отличает ее от составления отдельных головоломок) часть передаваемого сообщения обычно содержит не сам текст, а инструкции по дешифровке. Такие элементы передачи, которые скрыты в ней, называются индикаторами. В системе с одноразовыми шифровальными блокнотами могут применяться индикаторы, указывающие, какую страницу блокнота следует использовать. Фактически, если все «не разжевано» в полном объеме заранее, детально, если существует малейшая вероятность двусмысленности или ошибки, что в сообщение должен быть какой-нибудь индикатор.
Это, бесспорно, пришло на ум Алану, который, по меньшей мере, с 1936 года размышлял о «самом общем виде кода или шифра». Такая смесь инструкций и данных внутри одной передачи напоминала о его «универсальной машине», которая сначала расшифровывает «номер описания» в инструкцию, а затем применяет эту инструкцию к содержанию ленты-накопителя. На самом деле, любая шифровальная система может рассматриваться как «сложный механический процесс» или машина Тьюринга, используя не просто правила сложения и замещения, но и правила того, как найти, применить и передать сам метод шифрования. Хорошая криптография базируется на создании целого свода правил, а не того или иного сообщения. И серьезный криптоанализ предполагает работу по их раскрытию, воссозданию всего механического процесса, проделанного шифровальщиками, с помощью анализа всей массы сигналов.
Возможно, шифровальная система торгового флота и не являлась последним словом с точки зрения сложности, но хорошо функционировала на обычных суда и находилась почти на пределе возможностей ручного метода. Кто угодно мог мечтать о создании более безопасной системы, но если процедура шифрования становилась слишком длинной и сложной, это приводило только к дополнительным задержкам и ошибкам. Однако если использовались шифровальные машины, которые перенимали часть «механической работы» шифровальщика, то ситуация начинала выглядеть совсем по-другому.
В этом отношении Британия и Германия вели симметричную войну, используя очень похожие машины. Фактически каждая немецкая официальная радиопередача была зашифрована с помощью машины «Энигма». Британцы использовали машину «Тайпекс», правда, не настолько широко. Она применялась в сухопутных войсках и в большей части королевских ВВС. Министерство иностранных дел и Адмиралтейство сохранили собственные ручные шифровальные системы, основанные на книгах. «Энигма» и «Тайпекс» в равной степени позволили механизировать базовые операции замещения и суммирования таким образом, что появилась возможность начать практическое применение более сложных систем. Они не делали ничего сверх того, что можно было делать с помощью таблиц в книгах шифров, но дали возможность выполнять эту работу быстрее и точнее.
В существовании таких машин не было никакого секрета. О них знали все — по меньшей мере все, кто получил в качестве школьного подарка книгу Роуза Болла «Математические развлечения и опыты» (Mathematical Recreations and Essays) издания 1938 г. В исправленной главе, написанной криптоаналитиком вооруженных сил США Абрахамом Синковым, говорилось о старых металлических решетках, шифрах Плейфера и тому подобных вещах, а также упоминалось, что «относительно недавно были проведены серьезные исследования в области изобретения машин для автоматической шифровки и расшифровки сообщений. Большая их часть использует периодические полиалфавитные системы».
«Периодический» полиалфавитный шифр использует некую последовательность алфавитных замещений и затем повторяет ее.
«Новейшие машины приводятся в действие электричеством и во многих случаях период представляет собой огромное число… Эти машинные системы намного более быстры и точны, чем ручные методы. Они могут даже объединяться с печатными и передающими устройствами таким образом, что при шифровке сохраняется запись зашифрованного сообщения и идет его передача; при дешифровке секретное сообщение принимается и переводится, все автоматически. Что касается существующих криптоаналитических методов, то шифровальные системы, полученные из некоторых из этих машин, очень близки к практической неразрешимости».
В базовой машине «Энигма» также не было никаких секретов. Она была представлена на конгрессе Международного почтового союза в 1923 г., вскоре после изобретения. Ее покупали и использовали банки. В 1935 г. британцы создали «Тайпекс», внеся некоторые изменения в конструкцию «Энигмы». Немецкие криптологи, в свою очередь, несколькими годами ранее модифицировали ее несколько другим способом, получив машину, которая, сохранив название «Энигма», оказалась намного более эффективной по сравнению с коммерческим аналогом.
Все это не означало, что немецкая «Энигма», с которой теперь должен был бороться Алан Тьюринг, намного опережала свое время или даже лучшее из того, что могли предложить технологии конца 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 г. добыли копию инструкций по применению машины. Инструкцию они передали полякам и затем — британцам. Разница заключалась в том, что в польском департаменте работали трое энергичных математиков, которые смогли использовать полученные документы, чтобы узнать о проводах.
Гениальные наблюдения, остроумные предположения и использование элементарной теории групп позволили понять, что в машине используются провода, и понять структуру рефлектора. Поняв все это, польские математики догадались, каким образом буквы на клавиатуре связаны с механизмом шифровки. Они могли быть соединены в полном беспорядке, чтобы внести дополнительную сложность в конструкцию машины. Однако поляки догадались и позднее убедились в том, что конструкция «Энигмы» не предусматривает эту потенциальную свободу. Буквы соединялись с ротором в алфавитном порядке. В результате поляки создали логическую, но не физическую копию машины и получили возможность использовать это обстоятельство.
Другими словами, они смогли сделать эти наблюдения, только поняв очень специфический способ использования машины. Применяя этот метод, они продвинулись в направлении регулярной расшифровки материалов, зашифрованных с помощью «Энигмы». Они не сломали машину; они победили систему.
Базовый принцип использования «Энигмы» заключался в том, что ее роторы, кольца и коммутационная панель устанавливались определенным образом, затем осуществлялась шифровка сообщения, и после того, как это было сделано, роторы автоматически поворачивались на шаг. Однако для того, чтобы такая система связи функционировала, получатель должен был знать первоначальное положение машины. В этом заключалась фундаментальная проблема любой системы шифрования. Недостаточно было иметь саму машину, должен был также существовать согласованный и постоянный метод ее использования. Согласно методу, который применяли немцы, первоначальное положение машины частично определялось во время ее использования шифровальщиком. При этом неизбежно применялись индикаторы, и именно с помощью системы индикаторов полякам удалось добиться успеха.
Чтобы добиться точности работы, порядок расположения роторов фиксировали в письменной инструкции, то же относилось к коммутационной панели и установке колец. Задачей шифровальщика было выбрать оставшийся элемент — изначальную установку трех роторов. Это сводилось к выбору некоей тройки букв, например, «W H J». Самая простая система индикаторов просто передала бы «W H J» и включила бы это сочетание в зашифрованное сообщение. Однако на самом деле все было намного сложнее. Сочетание «W H J» само зашифровывалось в машине. Для этого в инструкции на день закладывались так называемые базовые настройки (ground settings). Они, как и порядок расположения роторов, коммуникационная панель и установки колец, были общими для всех операторов в сети. Предположим, что базовая настройка была «R T Y». Затем шифровальщик устанавливает свою «Энигму» с учетом определенного положения роторов, коммутационной панели и колец. Он поворачивает роторы, который считывают «R T Y». После этого он зашифровывает в два приема установку ротора по своему выбору. Иными словами, он зашифровывает «W H J W H J», получая, допустим сочетание «E R I O N M». Он передает сочетание «E R I O N M», затем возвращает роторы на «W H J», зашифровывает сообщение и передает его. Преимущество заключалось в том, что каждое сообщение после первых шести букв зашифровывалось на другой настройке. Слабость системы состояла в том, что в течение одного дня все операторы в сети использовали одно и то же положение машины для первых шести букв своих сообщений. Еще хуже было то, что эти шесть букв всегда представляли шифровку повторяющихся сочетаний из трех букв. Повторение этого элемента и сумели использовать польские криптоаналитики.
Их метод заключался в том, чтобы с помощью радиоперехватов ежедневно составлять список этих первоначальных последовательностей из шести букв. Они знали, что в списке содержится некая модель или система. Например, если первой буквой была А, а четвертой R, то в любом другом сообщении, где первой буквой является А, то четвертой снова будет R. Накопив достаточно сообщений, они сумели составить полную таблицу, предположим:
Первая буква: А 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
Четвертая буква: R G Z L Y Q M J D X A O W V H N F B P C K I T S E U
Затем появятся еще две таблицы, в которых связываются вторая и пятая и третья и шестая буквы. Существовал целый ряд способов использования этой информации для выяснения положения «Энигмы» на тот момент, когда были отправлены все эти сочетания из шести букв. Но особенно важным считался метод, который реагировал на механическую работу шифровальщика, включая механизированную форму анализа.
Поляки написали несколько таблиц сочетаний букв в форме циклов. Запись цикла широко применялась в элементарной теории групп. Чтобы преобразовать приведенное выше специфическое сочетание букв в «циклическую» форму, аналитик начинал с буквы А и отмечал, что А связана с буквой R. В свою очередь, буква R была связана с В, В — с G, G — c M, M — c W, W — c T, T — c C, C — c Z, Z — c U, U — c K, и К — с А, таким образов получался полный «цикл»: (A R B G M W T C Z U K). Полное сочетание можно записать как произведение четырех циклов:
(A R B G M W T C Z U K) (D L O H J X S P N V I) (EY) (FQ)
Причина такой записи состояла в следующем: аналитики обратили внимание на то, что длины этих циклов (в нашем примере 11, 11, 2, 2) не зависели от коммутационной панели. Они зависели только от положения роторов, коммутационная панель влияла на то, какие буквы появлялись в циклах, но не на их количество. Это наблюдение продемонстрировало, что положения роторов оставляют довольно четкие характерные признаки в зашифрованном тексте, когда поток сообщений рассматривается как единое целое. Фактически они оставили лишь три характерных признака — длины циклов каждой из трех таблиц сочетаний букв.
Из этого следовало, что если у аналитиков был полный набор признаков длин циклов, трех для каждого положения ротора, то все, что им нужно было сделать для того, чтобы определить, какое положение ротора использовалось для первых шести букв — это просто перебрать весь набор. Проблема заключалась в том, что в каталоге было 6 ? 17576 позиций роторов. Но они сделали это. Для облегчения работы польские математики разработали небольшую электрическую машину, в которой были установлены роторы «Энигмы», и которая автоматически формировала требуемые комбинации букв. На всю работу у поляков ушел год, результаты ее были занесены в картотеку. Но после этого детективная работа была фактически механизирована. Для определения комбинации длин циклов, которые соответствовали обмену шифрованными сообщениями за день, требовалось всего 20 минут поиска в картотеке. В результате аналитики идентифицировали позиции роторов, в которых те находились во время шифровки шести букв индикаторов. Имея эту информацию, аналитики могли вычислить все остальное и прочитать дневную шифропереписку.
Это был элегантный метод, но его недостаток заключался в том, что он полностью зависел от конкретной системы индикаторов. И это не могло продолжаться долго. Сначала у поляков перестала получаться расшифровка сообщений, зашифрованных «Энигмой», применяемой в германском военно-морском флоте, и «… с конца апреля 1937 г., когда немцы изменили военно-морские индикаторы, они (поляки) смогли прочитать только военно-морскую переписку за период с 30 апреля по 8 мая 1937 г., и ту лишь в ретроспективе. Более того, этот небольшой успех не оставил им никаких сомнений в том, что новая система индикаторов сделала «Энигму» намного более безопасной…»
Затем, 15 сентября 1938 г., в тот день, когда Чемберлен прилетел в Мюнхен, произошла более серьезная катастрофа. Немцы изменили все остальные свои системы. Изменения были незначительны, но это означало, что в течение одной ночи все занесенные в каталог длины циклов стали совершенно бесполезны.
В новой системе базовая настройка (ground settings) больше не устанавливалась заранее. Теперь она выбиралась шифровальщиком, который таким образом должен был передать ее получателю. Это делалось простейшим способом — она передавалась, как есть. То есть, если шифровальщик выбирал буквы A G H, то устанавливал роторы так, что они считывали A G H. Затем он мог выбрать другую настройку, например, T U I. Он зашифровывает T U I T U I, получая, допустим, R Y N F Y P. Затем он передает A G H R Y N F Y P как буквы-индикаторы, после чего следует само сообщение, зашифрованное с помощью роторов с базовой настройкой T U I.
Безопасность этого метода базировалась на том, что установки колец менялись день ото дня. Однако первые три буквы (A G H в нашем примере) могли раскрыть всю переписку. Соответственно, перед аналитиками стояла задача определить установки колец, которые были общими для всего потока шифрованных сообщений сети. Удивительно, но польские аналитики смогли решить задачу поиска новых отличительных признаков, которые позволяли определить установку кольца или, что эквивалентно, определить физическое положение провода (core-position), которое соответствовало отрыто объявленной установке ротора, например A G H в нашем примере.
Так же как в случае с более старым методом, поиски характерных признаков зависели от оценки всего потока сообщений в целом и в использовании элемента повторений в последних шести из девяти букв-индикаторов. Если общая базовая настройка отсутствует, то отсутствует и четкая связь между первой и четвертой, второй и пятой, третьей и шестой буквами, которую можно проанализировать. Но «остаток» этой идеи уцелел, подобно улыбке Чеширского кота. Иногда случалось так, что первая и четвертая буквы фактически совпадали. Иногда совпадали вторая и пятая или третья и шестая буквы. Это явление было без всяких очевидных причин названо «мамой». Таким образом, если предположить, что сочетание T U I T U I было действительно зашифровано как R Y N F Y P, то повторяющаяся буква Y считалась «мамой». Этот факт дает небольшой кусочек информации о положении роторов, которое они занимали во время шифровки букв T U I T U I. Метод решения задачи зависел от поиска достаточного количества таких кусочков, сложив которые можно было бы разгадать всю головоломку.
Более точно можно было сказать, что core-position содержит букву-маму, если шифровка этой буквы оказывается одинаковой через те же самые три шага. Это было не очень редкое явление и имело место в среднем один раз в двадцати пяти. Некоторые core-position (около сорока процентов) имели свойство содержать как минимум одну букву-маму, а остальных их не было совсем. Свойство содержать или не содержать букву-маму не зависело от коммутационной панели, а ее идентификация, напротив, требовала ее учитывать.
Аналитики с легкостью определяли местоположение всех букв-мам в дневном потоке шифровок. Они не знали физическое положение проводов, которое приводило к их возникновению. Однако из открыто объявленных установок ротора, например, A G H, они узнавали относительное физическое положение проводов. Эта информация дала возможность определить систему появления букв-мам. Из-за того, что только около сорока процентов положений (core-positions) содержали буквы-мамы, существовала единственный способ, в котором система могла совпадать с их известным распределением. Таким образом, был определен новый характерный признак — система букв-мам.
Однако заранее составить каталог всех возможных систем, как поляки поступили применительно к длинам циклов, было невозможно. Поэтому нужно было найти другие, более сложные способы определения соответствия. Аналитики использовали листы с перфорациями. Это были простые таблицы всех физических положений проводов (core-positions), в которых вместо того, чтобы печатать «содержит букву-маму» или «не содержит букву-маму», пробивали или не пробивали отверстия. В принципе, поляки могли бы сначала изготовить одну огромную таблицу, и затем ежедневно изготавливать шаблон систем «букв-мам», отмеченных в потоке шифросообщений за данный день. Накладывая шаблон на таблицу, они, в конце концов, находили бы позицию, где отверстия совпадали. Однако такой метод был бы слишком неэффективен. Вместо этого они выбрали метод накладывания кусков таблицы физических положений один на другой, чередуя их в порядке, соответствующем найденным относительным положениям материнских букв. В итоге совпадение схем наблюдалось там, где свет проходил сквозь все листы. Преимущество метода чередования заключалось в одновременной проверке 676 вариантов. Это была по-прежнему длительная работа, требовавшая проведения 6 ? 26 операций для полного исследования. Требовалось также изготовить перфорированные листы, регистрировавшие 6 ? 17576 положений проводов. Но аналитики выполнили эту работу в течение нескольких месяцев.
И это был не единственный метод, который они разработали. Система перфорированного листа требовала знания местоположения десяти материнских букв в потоке сообщений. Вторая система требовала знания местоположения лишь трех материнских букв, но использовала не только факт существования такой буквы, но и конкретную букву, которая оказывалась материнской в зашифрованном тексте. Важной особенностью найденного метода было то, что эти конкретные буквы должны были быть среди тех букв, на которые не оказывала влияния коммутационная панель. С тех пор как в 1938 г. в коммутационной панели использовались только шесть или семь пар букв, это требование стало не слишком обязательным.
В принципе, метод заключался в сопоставлении обнаруженной системы трех конкретных материнских букв со свойствами положениями провода. Однако было невозможно каталогизировать заранее все материнские буквы в 6 ? 17576 положениях, а затем провести поиск, даже с помощью чередующихся листов. В этом случае возникало слишком много возможных вариантов. Вместо этого польские математики пошли на радикально новый шаг. Они решили перебирать позиции роторов каждый раз заново, не делая каталоги заранее. Но это должен был делать не человек. Работа должна была выполняться машинами. К ноябрю 1938 г. они построили такие машины — фактически их было шесть, по одной на каждый возможный способ расположения роторов. Во время работы машины громко тикали, поэтому их назвали «Бомбами».
В «Бомбах» использовалась электрическая схема «Энигмы». В ней применялся электрический метод распознавания обнаруженных «совпадений». Сам факт того, что «Энигма» была машиной, позволял задуматься о механизации криптоанализа. Суть идеи заключалась в том, чтобы соединить между собой шесть копий «Энигмы» таким образом, чтобы электрическая цепь замыкалась при появлении трех конкретных «материнских» букв. Относительные основные позиции проводов шести «Энигм» фиксировались на известных относительных установках «материнских букв» — так же как в чередовании листов. Сохраняя эти относительные позиции, «Энигмы» проверяли каждую возможную позицию. Они могли проделать полный перебор позиций за два часа, т. е. каждую секунду проверялось несколько позиций. Это был «лобовой» метод, заключавшийся в том, что проверялись все возможные варианты один за другим. В нем не было математической изысканности. Однако он «втащил» криптоанализ в двадцатый век.
К сожалению для польских криптоаналитиков, немцы сильнее их углубились в двадцатый век. Едва поляки оснастили свои «Энигмы» электромеханической системой, как новое осложнение свело на нет их усилия. В декабре 1938 г. количество роторов в немецких «Энигмах» было увеличено с трех до пяти. Вместо шести возможных вариантов расположения роторов их число выросло до шестидесяти. Польские аналитики не испытывали недостатка в предприимчивости и преуспели в разработке новой системы расположения проводов благодаря ошибкам криптографов самозваной немецкой службы безопасности СД. Однако арифметика здесь была простой. Вместо шести «Бомб» теперь нужно было иметь шестьдесят. Вместо шести комплектов перфорированных листов теперь требовалось шестьдесят. Поляки проиграли. Так складывалась ситуация в июле 1939 г., когда британская и французская делегации прибыли в Варшаву. У поляков не было технических ресурсов для дальнейших разработок.
Так выглядела история процесса, которую услышал Алан. Сам процесс застопорился. Однако даже на тот момент поляки были на годы впереди англичан, которые по-прежнему оставались там, где они были в 1932 г. Англичане не смогли разработать систему проводов, они не смогли осознать тот факт, что клавиатура соединялась с первым ротором в простом порядке. Как и польские аналитики, они предполагали, что в данной точке конструкции имеется какая-то сбивающая с толку операция, и с удивлением узнали, что таковая отсутствует. Перед июльской встречей 1939 г. в GC&CS даже не думали «о возможности испытаний высокоскоростной машины, предназначенной для борьбы с «Энигмой»». Это можно было назвать отказом воли на некотором уровне. Они действительно не хотели думать, они действительно не хотели знать. Теперь же было преодолено конкретное препятствие, и англичанам пришлось столкнуться с проблемой, которую поляки считали неразрешимой:
«Вскоре после того как различные документы, предоставленные поляками — а именно, детали электропроводки — прибыли в GC&CS, появилась возможность расшифровать старые сообщения, ключи к которым были взломаны поляками, но более новые сообщения так и остались нерасшированными».
Они остались не расшифрованными по той же самой причине, по которой поляки считали их нечитаемыми. У них не было достаточного количества «Бомб» или перфорированных листов для пятироторной «Энигмы». Существовала также еще одна трудность: с 1 января 1939 г. в немецких системах использовалось десять пар на коммутационной панели, из-за чего польский метод с «Бомбой», перестал работать. За всем этим стояла более глубокая проблема. Она заключалась в том, что основные польские методы полностью зависели от определенной системы индикаторов. Поэтому требовалось предложить что-то совершенно новое. И именно в этот момент Алан впервые сыграл решающую роль.
Британские аналитики немедленно приступили к изготовлению шестидесяти комплектов перфорированных листов, которые требовались для использования первого метода «материнских букв» — перед ними стояла колоссальная задача проверки миллиона положений ротора. Но они знали, что если девятибуквенная система индикаторов будет изменена, пусть даже совсем незначительно, то их листы окажутся бесполезными. Им был нужен какой-то принципиально новый метод, не зависящий от систем индикаторов.
Данный текст является ознакомительным фрагментом.