Каждый вечер Антоний Палльтх, инженер и совладелец польской фирмы «АВА», закончив свой рабочий день в фирме, садился в большой черный лимузин и в сопровождении вооруженной охраны возвращался домой. При себе Палльтх имел портфель, прикованный наручниками к запястью. В портфеле находились немецкие шифровки, над чтением которых он работал до самого утра, когда приезжал посыльный и забирал их. Иногда от перенапряжения Палльтх терял зрение и был вынужден просить свою жену проводить его в спальню.
Однако, несмотря на маниакальное упорство, с которым трудился Палльтх, и мастерство, проявленное им при взломе немецких шифров, с «Энигмой» у него так ничего и не вышло. И тогда начальник «немецкого» отдела шифрбюро министерства обороны Польши Ченжский решил поручить работу над «Энигмой» трем выпускникам Познаньского университета, ученикам Палльтха.
Самым молодым из них был Ежи Розицкий, которому не исполнилось и 20 лет, когда он пришел на первую лекцию Палльтха по криптологии в Познаньском университете. Отец Ежи, пьяница, бабник и картежник, в свое время был богатым землевладельцем на Украине, и друзья считали его счастливчиком, который, войдя в реку совершенно голым, непременно выйдет оттуда в цилиндре и смокинге. По своему характеру Ежи Розицкий был экстравертом, ему было очень трудно держать в секрете все то, чем он занимался в шифрбюро. Приходя домой со службы, Ежи обычно целовал мать в щеку и говорил: «Как жаль, что я не могу рассказать тебе о своей работе, чтобы ты могла гордиться мной». Когда Ежи было всего четыре года, мать заметила, что он тайком помогает старшему брату-школьнику решать задачи по математике. Тогда, отругав Ежи как следует, она сказала ему: «Тебя ждет большое будущее. Я буду очень гордиться тобой». Эти слова глубоко запали ему в душу, и он очень боялся, что не сможет оправдать надежды матери.
Мариан Режевский и Генрих Зыгальский сильно отличались от Розицкого. Оба обладали сильным характером и были весьма практичными молодыми людьми. Старшим по возрасту был Режевский — в 1929 году, когда он откликнулся на предложение Ченжского прослушать курс лекций по криптологии в Познаньском университете, ему уже исполнилось 23 года. Режевский и учился намного лучше, чем Розицкий и Зыгальский, а его отец, торговец сигарами, неустанно повторял, что Мариан — настоящий гений.
Весной 1932 года Режевский, Розицкий и Зыгальский закончили Познаньский университет и осенью того же года переехали в Варшаву, где поступили на службу в польское шифрбюро. Однажды Ченжский пригласил их в свой кабинет и предложил поучаствовать в работе над взломом «Энигмы». Знакомя Режевского, Розицкого и Зыгальского с имеющейся информацией по «Энигме», большая часть которой была получена от Шмидта, Ченжский попросил их ничего не говорить о своем новом задании другим сотрудникам шифрбюро.
Благодаря Шмидту, полякам было известно, что «Энигма» использовалась для шифрования сообщений, которые затем пересылались по радио с помощью азбуки Морзе. Например, требовалось послать сообщение:
Hitler ist in Berlin.
Немецкий оператор «Энигмы» нажимал клавишу H и записывал в свой блокнот букву с лампочки, загоравшейся на световой панели шифровальной машины. И так далее для каждой буквы открытого текста шифруемого сообщения.
Сведения об «Энигме», переданные Шмидтом, позволяли также понять физическую природу процесса шифрования. Нажатие клавиши на клавиатуре «Энигмы» замыкало электрическую цепь, состоявшую из коммутационной панели, трех дисков и рефлектора. Проходя через коммутационную панель и диски, ток отклонялся от своего первоначального маршрута и попадал на рефлектор, который посылал его снова через диски и коммутационную панель, но уже по другому маршруту. Свое путешествие в недрах «Энигмы» ток завершал на световой панели, где загоралась лампочка, помеченная одной из букв латинского алфавита.
Коммутационная панель «Энигмы» выглядела как обычный телефонный коммутатор и состояла из штекерных гнезд, в которые втыкались соединительные шнуры. Ключевые установки для «Энигмы», которыми Шмидт снабжал французское Второе бюро, в частности определяли, каким образом отправитель и получатель сообщения должны были соединить шнурами гнезда на коммутационной панели, чтобы правильно зашифровать и расшифровать его. Изменения в соединения на коммутационной панели вносились ежеквартально.
Каждый из трех дисков «Энигмы» мог вращаться вокруг горизонтальной оси отдельно от остальных или совместно с ними, подобно велосипедным колесам. На правой стороне диска находились 26 контактных иголок, служивших входами для электрического тока, генерируемого путем нажатия соответствующих клавиш на клавиатуре «Энигмы». На левой стороне диска располагались 26 контактных пластин, являвшихся выходами для электрического тока, проходившего через диск.
Электрический ток, попадая на контактную иголку, выходил с левой стороны диска через контактную пластину, а оттуда попадал прямиком на контактную иголку следующего диска. Пройдя через все три диска, электрический ток отражался рефлектором и посылался в противоположном направлении, снова проделывая путь через все три диска и коммутационную панель, минуя их в обратном порядке. Конечной точкой этого пути являлась лампочка с нанесенной буквой на световой панели. Именно она и являлась буквой шифрованного текста, подлежавшего отправке адресату сообщения.
Внутри каждого диска находились 26 проводов, соединявших иголки на правой стороне диска с пластинами на левой. Таким образом, если обозначить контактные иголки и пластины диска буквами латинского алфавита, получится, что электрический ток, поданный на контактную иголку, помеченную, скажем, буквой A, выходил с другой стороны диска через контактную пластину Z. Затем электрический ток проходил через следующий диск, снова отклоняясь в своем движении от прямой траектории. Миновав все три диска, ток отражался рефлектором и двигался обратно по ломаной линии через диски и коммутационную панель, заканчивая свой сложный путь на световой панели «Энигмы».
Самый правый диск «Энигмы» поворачивался на 1/26 часть своего полного оборота каждый раз, когда оператор нажимал клавишу на клавиатуре. А значит, в результате двойного нажатия на одну и ту же клавишу путь, который электрический ток проделывал внутри «Энигмы», был различным. Соответственно менялась и лампочка, которая загоралась на световой панели «Энигмы».
Любой из трех дисков «Энигмы» мог быть установлен в крайнюю правую позицию, посередине или в крайнюю левую позицию. О порядке расположения дисков «Энигмы», равно как и о соединениях на ее коммутационной панели, французов регулярно информировал Шмидт.
Еще одним важным составным элементом «Энигмы», положение которого требовалось задать для правильного зашифрования и расшифрования сообщений, являлось кольцо, установленное по внешнему периметру каждого диска. На кольцо были нанесены буквы латинского алфавита, и его можно было вращать вокруг оси диска. Положение кольца фиксировалось на диске с помощью специальной защелки и однозначно определялось буквой, находящейся на кольце напротив защелки. Эти буквы (по одной для каждого диска) были видны сквозь прорези на лицевой панели «Энигмы» и использовались отправителем шифрованного сообщения, чтобы задать исходное угловое положение, в которое получатель сообщения должен был установить диски своего экземпляра «Энигмы», чтобы правильно его расшифровать.
У колец было еще одно назначение. На каждом кольце имелся зубчик, который, после того как диск занимал определенное положение, заставлял поворачиваться ровно на одну позицию следующий диск «Энигмы», расположенный левее. Это положение было различным для каждого из трех дисков. Путем несложных вычислений можно убедиться, что исходное угловое положение, в которое были установлены диски «Энигмы», воспроизводилось вновь после примерно 17 тысяч нажатий клавиш на клавиатуре.
Режевский понимал, что для чтения немецких шифровок ему необходимо обзавестись точной копией «Энигмы». А чтобы ее изготовить, он должен выяснить, как контактные иголки и пластины соединены между собой внутри каждого из трех дисков. В декабре 1932 года Режевский, используя данные, полученные от Шмидта, вывел сложную алгебраическую формулу, позволявшую вычислить эти соединения для первого и второго дисков «Энигмы».
Однако при работе над формулой он допустил ошибку. Дело в том, что помимо трех вращающихся дисков в «Энигме» был еще один неподвижный диск. Режевский предположил, что этот четвертый диск устроен точно так же, как и такой же диск в коммерческой модификации «Энигмы». Предположение было неверным. В отличие от коммерческой модификации, в «Энигме», которую использовали немецкие военные, четвертый диск никак не влиял на направление движения электрического тока. И только когда Режевский осознал допущенную им ошибку, он смог совершенно точно определить соединения внутри первого и второго дисков «Энигмы».
Что же касается третьего диска и рефлектора, то их внутренние соединения Режевский сумел вычислить, используя пример, найденный им в руководстве по использованию «Энигмы», которое французам передал Шмидт. В этом примере был приведен текст сообщения на немецком языке и соответствующий ему шифрованный текст, полученный с помощью указанных в примере ключевых установок.
После того как Режевский восстановил внутренние соединения всех дисков и рефлектора, Палльтх и его коллеги в фирме «АВА» приступили к изготовлению точной копии «Энигмы». Из соображений секретности часть этого процесса происходила в здании польского Генерального штаба. Однако наиболее шумные операции все равно пришлось производить в помещениях, принадлежавших фирме «АВА». Работа велась там в неурочные часы и с привлечением только особо доверенных служащих.
Еще в конце 1930 года Палльтх и Данилевич, инженеры из «АВА», которые годом раньше были привлечены к обследованию экземпляра «Энигмы», случайно попавшего в руки поляков, изготовили прототип «Энигмы». Это был именно прототип, поскольку соединения внутри дисков им были неизвестны. Однако прототип содержал все необходимые элементы, чтобы превратить его в полноценную «Энигму», когда эти соединения станут известны. Для изготовления прототипа потребовалось всего полгода.
Как только точная копия «Энигмы» была готова, Режевский, Розицкий и Зыгальский попытались прочесть перехваченные немецкие шифровки. И снова их невольными помощниками в этом трудном деле стали сами немцы. Согласно инструкции, оператор «Энигмы» должен был сначала дважды зашифровать так называемый разовый ключ (угловое положение дисков «Энигмы» в момент шифрования первой буквы сообщения) и поместить полученный результат в начало шифровки. Однако любой, кто хоть сколько-нибудь разбирается в шифрах, знает, что повторы в тексте шифруемого сообщения допускаются только в том случае, если обойтись без них совершенно невозможно. Иначе эти повторы могут быть замечены противником и использованы для чтения шифровок.
При шифровании сообщений немецкий оператор «Энигмы» проделывал следующую процедуру. Предположим, что порядок следования дисков и соединения на коммутационной панели «Энигмы» и у получателя, и у отправителя шифрованного сообщения были одинаковыми. Отправитель шифровки придумывал, в какое угловое положение поставить диски. Допустим, это было BYS. Он устанавливал диски в другое угловое положение (скажем, XYZ), взятое из календарного списка суточных ключей, который заблаговременно рассылался по всем узлам связи, и дважды набирал на клавиатуре BYS. Затем отправитель сообщения считывал со световой панели две шифрованные версии BYS (пусть это будет ABS OVR). Данные шесть букв назывались индикатором, поскольку служили для того, чтобы получатель сообщения мог узнать, какой разовый ключ использовался при шифровании. И наконец отправитель сообщения устанавливал диски в положение BYS, шифровал сообщение и посылал по радио кодом Морзе.
Прежде чем приступить к расшифрованию пришедшего сообщения, его получатель устанавливал диски своего экземпляра «Энигмы» в угловое положение, определяемое календарным списком суточных ключей (XYZ). После этого дважды набирал на клавиатуре индикатор (ABS OVR) и получал два раза повторенный разовый ключ (BYS BYS). Установив диски в угловое положение, задаваемое разовым ключом, получатель шифровки мог приступать к ее расшифрованию.
Требование шифровать разовый ключ дважды оказалось самым уязвимым местом «Энигмы» и позволило читать немецкие шифровки в 30-е годы и в начале 40-х годов. Режевский, Зыгальский и Розицкий разработали так называемый характеристический метод взлома «Энигмы», который основывался на том, что во всех немецких шифровках, перехваченных за сутки, первые шесть букв были зашифрованы с использованием одного и того же суточного ключа.
15 сентября 1938 года немцы внесли существенное изменение в процедуру шифрования сообщений с помощью «Энигмы». Отныне, вместо того чтобы устанавливать диски в соответствии с календарным списком суточных ключей, немецким операторам связи предлагалось самим выбирать исходное угловое положение дисков и в незашифрованном виде доводить до сведения получателя сообщения. В результате характеристический метод оказался неприменим. Однако в ответ поляки придумали два новых метода, которым впоследствии суждено было сыграть весьма существенную роль при взломе «Энигмы». Это были перфокарты и «Бомба».
После войны никто из польских криптоаналитиков так и не смог вспомнить, почему несколько соединенных вместе «Энигм» назвали «Бомбой». По одной из версий, Режевский, Зыгальский и Розицкий, когда их осенила эта идея, сидели в кафе и ели фирменное мороженое под названием «Бомба». По другой версии, в изобретенном ими устройстве весьма своеобразным датчиком служили несколько небольших грузил, которые, подобно бомбе, падали вниз, когда вскрывались искомые ключевые установки для «Энигмы». Первая «Бомба» была изготовлена в ноябре 1938 года и состояла из шести «Энигм» — по одной для каждого варианта расположения дисков в «Энигме». Чтобы определить порядок следования дисков в «Энигме», требовалось не более двух часов работы «Бомбы». К этому времени производительность «Бомбы» стала решающим фактором, который обеспечил полякам успех в работе над взломом «Энигмы». Если в начале 1933 года, когда Режевский сумел восстановить внутренние соединения всех дисков и рефлектора «Энигмы», немцы меняли порядок следования дисков каждые три месяца, то в 1936 году это уже делалось сначала ежемесячно, а потом и ежедневно.
Однако уже тогда было совершенно ясно, что успех Режевского и его коллег весьма скоротечен. «Бомба» срабатывала, только если количество соединенных между собой штекерных разъемов коммутационной панели было относительно невелико. До 1938 года число таких соединений обычно колебалось в пределах от 10 до 16. Тем не менее немецкие операторы связи в любой момент могли получить приказ увеличить это число сверх 16, и тогда «Бомба» перестала бы в приемлемые сроки справляться с определением ключевых установок для «Энигмы».
Перфокарты представляли собой второе хитроумное приспособление, придуманное поляками для ускорения процесса вскрытия ключевых установок для «Энигмы». Автором этого изобретения был Зыгальский, однако понадобилось довольно много времени, чтобы воплотить его идею в жизнь.
Зыгальский первым заметил, что количество различных индикаторов, которые присутствовали в немецких шифровках, перехваченных за сутки, было относительно невелико. Эти индикаторы, как правило, были чем-то схожи: в них совпадали или первая и четвертая буквы, или вторая и пятая, или третья и шестая. Такие индикаторы на жаргоне польских криптоаналитиков назывались «самками». Самая существенная особенность «самок» состояла в том, что немецкие операторы были весьма ограничены в выборе ключевых установок (угловых положений дисков, порядка их следования и расположения на них колец), чтобы в результате шифрования примененного разового ключа получить эти «самки». Поэтому, как только поляки отмечали появление «самки» в перехваченной немецкой шифровке, они могли не рассматривать ключевые установки, с помощью которых невозможно было получить данную «самку». В среднем количество таких отбракованных ключевых установок, приходящихся на одну «самку», составляло порядка 40 процентов. Однако чтобы это правило начало действовать, необходимо было найти по крайней мере две «самки». Соответственно, с ростом числа обнаруженных «самок» уменьшалось число ключевых установок для «Энигмы», которые польским криптоаналитикам приходилось проверять.
С помощью перфокарт поляки автоматизировали этот процесс. Если определенная ключевая установка могла привести к появлению «самки», то в соответствующем месте соответствующей перфокарты пробивалось отверстие. Если появление «самки» было исключено, отверстие не пробивалось. Перфорация производилась заранее и предшествовала попытке вскрыть ключевые установки. Перфокарты, имевшие отношение к «самкам», появление которых было отмечено за текущие сутки, складывались стопкой на столе. В этой стопке каждая «самка» была представлена отдельной перфокартой. Сквозное отверстие в стопке соответствовало ключевой установке для «Энигмы», которая могла породить «самок», обнаруженных в течение суток. Отверстий было немного. Небольшим было и количество ключевых установок, среди которых необходимо было ручным способом отыскать ту единственную, которая использовалась немцами для шифрования своих сообщений.
Интересная особенность метода вскрытия ключевых установок для «Энигмы» с помощью перфокарт состояла в том, что он совершенно не зависел от соединений на ее коммутационной панели. Если бы немцы соединяли шнуром каждое гнездо коммутационной панели с каким-то другим ее гнездом, то количество таких соединений равнялось бы примерно восьми триллионам. Изготовить набор перфокарт для каждого соединения было бы совершенно нереально. Однако оказалось, что если «самка» порождалась какой-то ключевой установкой, когда соединения между гнездами на коммутационной панели отсутствовали, то «самка» возникала и при соединении некоторых или даже всех гнезд между собой. Менялись лишь буквы, входившие в состав «самки». Скажем, если бы гнездо A было подсоединено к гнезду В, то «самка» выглядела бы как ВАН BIC, а в отсутствие каких-либо соединений на коммутационной панели «самка» представляла бы собой LAH LIC.
Тот факт, что буквы в индикаторах, в которых имелись «самки», были различными, не имел значения. Цель теста состояла лишь в проверке возможности породить индикатор с «самкой» при установке дисков «Энигмы» в определенное исходное угловое положение. Соединения разъемов на коммутационной панели на результаты этого теста никакого влияния не оказывали, и польские криптоаналитики их попросту игнорировали.
Тем не менее задача получения полного набора перфокарт и без того была весьма трудоемкой. Количество перфораций, которые необходимо было сделать, равнялось примерно 150 тысячам. Поляки не смогли автоматизировать этот процесс, и к середине декабря 1938 года в условиях катастрофического дефицита рабочих рук им удалось обработать всего два из шести возможных вариантов порядка следования дисков в «Энигме». Задача еще больше усложнилась, когда немецкие операторы получили в свое распоряжение два дополнительных диска и вместе с ними — возможность выбирать из пяти дисков три, которые устанавливались в «Энигму». В результате количество вариантов расположения дисков в «Энигме» возросло с 6 до 60 и, как следствие, десятикратно выросло число перфокарт, которые польские криптоаналитики должны были изготовить для ускорения процесса вскрытия ключевых установок для «Энигмы».
Очередное изменение в процедуру использования «Энигмы» немцы внесли в начале 1939 года. Они решили соединить между собой большее число разъемов на коммутационной панели. До этого число подсоединенных разъемов колебалось от 10 до 16. Начиная с 1939 года немецким операторам секретной связи предписывалось задействовать от 14 до 20 разъемов.
Внесенные изменения не замедлили неблагоприятно сказаться на эффективности работы польских криптоаналитиков. И хотя они довольно скоро смогли установить внутренние соединения для двух дополнительных дисков «Энигмы», в первые месяцы 1939 года им удавалось читать только те немецкие сообщения, которые были зашифрованы без использования этих дисков. У поляков не было времени, чтобы изготовить нужное количество перфокарт и переделать «Бомбу» с учетом появления в «Энигме» двух дополнительных дисков и увеличения числа соединенных между собой разъемов на коммутационной панели.
24–25 июля 1939 года в Варшаве прошло совещание, на котором английский криптолог Дилли Нокс, директор английской Правительственной криптографической школы Аластер Деннистон, начальник шифровального отдела французского Второго бюро Густав Бертран и французский криптолог Генри Бракени узнали, наконец, от своих польских коллег о взломе ими «Энигмы». Присутствовавшие на совещании англичане и французы получили от поляков по одной копии «Энигмы» вместе с инструкциями по изготовлению и использованию перфокарт для вскрытия ключевых установок.
Первый вопрос, который Нокс задал присутствовавшим на совещании польским криптоаналитикам, касался внутренних соединений дисков «Энигмы». Когда Нокс узнал, что поляки давным-давно вычислили эти соединения, то был оскорблен до глубины души. Однако он сдержался и дал волю обуревавшим его чувствам только в такси, направляясь после окончания совещания в варшавский отель, в котором остановился вместе с Деннистоном.
Обиделись на поляков и французы. В беседе с возвратившимся из Варшавы в Париж Бертраном Гай Шлессер остроумно заметил, что поляки поделились информацией о достигнутых ими успехах только тогда, когда натолкнулись на непреодолимые трудности. После этого поляки поспешили сбыть с рук два ставших теперь ненужными экземпляра «Энигмы» своим союзникам — англичанам и французам, чтобы те попытались приспособить их для вскрытия ключевых установок. И если Бертрану за его излишнюю доверчивость почти ничего не грозило, не считая насмешек коллег и недовольства руководства, то Шмидт, который с 1933 по 1936 год регулярно снабжал Второе бюро ключевыми установками для «Энигмы», рисковал собственной жизнью. Ведь даже после того, как Режевский сумел определить внутренние соединения дисков «Энигмы» и поляки начали читать немецкие шифровки, Шмидт продолжал передавать французам ключевые установки, которые поляки научились вскрывать без его помощи.
В марте 1938 года немецкая контрразведка арестовала Лемуана, но вскоре он был выпущен на свободу. И хотя во Втором бюро поверили Лемуану на слово, что он никого не предал и не перевербован немцами, ему было запрещено контактировать со Шмидтом. Единственный положительный аспект в этой истории с поляками заключался в том, что благодаря их «сдержанности» Лемуан до своего ареста так ничего и не успел узнать об успехах польских криптоаналитиков. Поэтому и проболтаться о них немцам он никак не мог.