4 Взлом «Энигмы»
После Первой мировой войны британские криптоаналитики в «Комнате 40» продолжали как и прежде внимательно следить за немецкими коммуникациями. С 1926 года криптоаналитики начали перехватывать сообщения, которые ставили их в тупик. У противника появилась «Энигма», и по мере увеличения количества этих шифровальных машин возможности «Комнаты 40» по сбору разведывательных данных быстро шли на убыль. Раскрыть шифр «Энигмы» старались также американцы и французы, но и их попытки оказались безуспешными, так что вскоре они оставили надежду взломать его. Теперь у Германии стала самая безопасная в мире связь.
То, как быстро криптоаналитики союзников оставили надежду взломать «Энигму», резко контрастировало с их настойчивостью, которую они проявляли всего лишь десятилетием раньше, в Первую мировую войну. Стоящие перед перспективой поражения, криптоаналитики войск союзников не смыкая глаз трудились над тем, чтобы проникнуть в тайну немецких шифров. Создавалось впечатление, что страх являлся главной движущей силой, и что драматические события — это один из непременных факторов успешного дешифрования. Точно так же не что иное, как страх и неблагоприятная обстановка во Франции, столкнувшейся в конце девятнадцатого века с растущей мощью Германии, возродили к жизни криптоанализ. Однако после Первой мировой войны союзники больше уже никого не опасались. Вследствие разгрома Германия значительно ослабла, союзники заняли доминирующее положение, и, как следствие, их криптоаналитический пыл, казалось, угас. Численность криптоаналитиков союзников сократилась, а качество их работы ухудшилось.
Только одно государство не могло позволить себе расслабиться. После Первой мировой войны Польша возродилась как независимое государство, но ее вновь обретенному суверенитету грозили опасности. К востоку лежала Россия, государство, жаждущее распространить свой коммунизм, а на западе — Германия, отчаянно стремящаяся вновь заполучить территорию, отошедшую после войны к Польше. Для поляков, зажатых между этими двумя врагами, жизненно важна была разведывательная информация, и они создали новое шифровальное бюро — польское Бюро шифров.
Если необходимость — мать изобретения, то неблагоприятная обстановка и драматические события — это, пожалуй, мать криптоанализа. Успешность работы польского Бюро шифров иллюстрируется его достижениями во время русско-польской войны 1919–1920 гг. В августе 1920 года, когда армия большевиков стояла у ворот Варшавы, Бюро дешифровало 400 сообщений противника. Столь же результативным было и слежение за немецкими линиями связи — вплоть до 1926 года, когда Бюро также столкнулось с сообщениями, зашифрованными с использованием «Энигмы».
За дешифрование немецких сообщений отвечал капитан Максимилиан Чецкий[16], верный патриот, выросший в городе Шамотулы, центре польского национализма. Чецкий имел доступ к коммерческой модели «Энигмы», в которой были заложены все основные принципы изобретения Шербиуса. Но, к сожалению, в том, что касалось распайки проводов внутри шифраторов, коммерческая модель существенно отличалась от модели для вооруженных сил. Не зная, как идут провода в армейской модификации, у Чецкого не было шансов на дешифрование депеш, посылаемых немецкой армией. Совершенно отчаявшись, он, чтобы извлечь хоть какой-то смысл из перехваченных шифровок, как-то даже привлек к работе человека, обладающего даром ясновидения. Ничего удивительного, что и ясновидящий не сумел решить эту задачу, в чем так нуждалось Польское Бюро шифров. Это выпало на долю немцу, Ханс-Тило Шмидту, который сделал первый шаг во взломе шифра «Энигмы».
Ханс-Тило Шмидт родился в 1888 году в Берлине и был вторым сыном знаменитого профессора и его жены из аристократической семьи. Шмидт начинал свою карьеру в немецкой армии и принимал участие в Первой мировой войне, но вследствие резкого сокращения численности вооруженных сил по Версальскому договору его не посчитали нужным оставить на службе. После этого он попытался сделать себе имя в сфере предпринимательства, однако из-за послевоенной депрессии и гиперинфляции принадлежащую ему фабрику по производству мыла пришлось закрыть, а он сам и его семья разорились.
Унижение Шмидта из-за неудач усугубилось успехами его старшего брата Рудольфа, который также воевал, а впоследствии был оставлен в армии. В 20-х годах Рудольф продвигался по службе, достигнув в итоге положения начальника штаба войск связи. Он отвечал за обеспечение защищенности связи, и фактически именно Рудольф официально санкционировал применение в армии «Энигмы».
После краха своего предприятия Ханс-Тило был вынужден просить своего брата о помощи, и Рудольф устроил его на работу в Берлин в Chiffrierstelle, — в ведомство, которое осуществляло контроль и управление зашифрованной связью в Германии. Это был командный пункт шифровальных машин «Энигма», сверхсекретное подразделение, имеющее дело с особо важной и секретной информацией. Когда Ханс-Тило отправился к своему новому месту работы, он оставил свою семью в Баварии, где стоимость жизни была не слишком высока. В Берлине он жил одиноко, замкнуто и практически без средств, завидуя благополучию своего брата и обиженный на государство, которое отвергло его. Результат был предсказуем. Продавая секретную информацию об «Энигме» иностранным государствам, Ханс-Тило Шмидт смог бы заработать денег и отомстить, подорвав безопасность своей страны и нанеся вред организации брата.
Рис 41. Ханс-Тило Шмидт
8 ноября 1931 года Шмидт прибыл в Гравд Отель в бельгийском городке Вервье на связь с французским тайным агентом Рексом. В обмен на 10000 марок (что соответствует нынешним 20 000 фунтов стерлингов) Шмидт позволил Рексу сфотографировать два документа: ‘Gebrauchsanweisung f?r die Chiffriermaschine Enigma’ и ‘Schlusselanleitung f?r die Chiffriermaschine Enigma’. Эти документы являлись по сути инструкциями по пользованию «Энигмой», и хотя в них не было точного описания того, как в шифраторах выполнена проводка, однако имелась информация, позволяющая сделать о ней определенные выводы.
Так, вследствие предательства Шмидта, союзники теперь могли создать точную копию армейской «Энигмы». Этого, однако, было недостаточно, чтобы дешифровать зашифрованные «Энигмой» сообщения. Стойкость шифра зависит не от того, чтобы держать машину в секрете, а от того, чтобы хранить в тайне ее начальные установки (ключ). Если криптоаналитик хочет дешифровать перехваченное сообщение, то ему потребуется иметь точную копию «Энигмы», но помимо этого он по-прежнему должен будет отыскать тот ключ из триллионов возможных, который был применен для зашифровывания. В немецком меморандуме по этому поводу было сказано так: «При оценке стойкости криптосистемы предполагается, что противник имеет шифровальную машину в своем распоряжении».
Французская секретная служба, безусловно, оказалась на высоте, найдя такой источник развединформации в лице Шмидта и получив документы, в которых сообщалось о расположении внутренней проводки в армейской «Энигме». Французские же криптоаналитики оказались несостоятельны, и, похоже, не желали и не были способны применить эту полученную информацию. После окончания Первой мировой войны они стали чересчур уж самонадеянны и у них не было стимулирующих факторов. Французское Бюро шифров даже не побеспокоилось изготовить точную копию армейской «Энигмы», поскольку были абсолютно уверены в невозможности отыскания ключа, необходимого для дешифровки зашифрованного с помощью «Энигмы» сообщения.
Между прочим, десятью годами ранее, французы подписали соглашение о военном сотрудничестве с Польшей. Поляки проявили горячий интерес ко всему, что связано с «Энигмой», поэтому в соответствии с этим соглашением десятилетней давности французы просто передали фотографии документов, полученных от Шмидта, своим союзникам, предоставив заниматься безнадежной задачей по взлому «Энигмы» польскому Бюро шифров. В Бюро быстро осознали, что эти документы являются всею лишь отправной точкой, но, в отличие от французов, их еще подгонял страх вторжения. Поляки посчитали, что должен существовать ускоренный способ поиска ключа к зашифрованному «Энигмой» сообщению, и что если они приложат достаточно усилий, изобретательности и ума, то смогут отыскать его.
В документах, полученных от Шмидта, наряду с расположением внутренней проводки в шифраторах, также подробно объяснялась структура шифровальных книг, используемых немцами. Ежемесячно операторы «Энигмы» получали новую шифровальную книгу, где указывалось, какой ключ должен применяться на каждый текущий день. К примеру, для первого дня месяца шифровальная книга могла задавать следующий ключ текущего дня:
Расположение шифраторов и их ориентация называются установками шифраторов. Чтобы использовать заданный ключ текущего дня, оператор «Энигмы» должен был установить свою «Энигму» следующим образом:
(1) Установка штепсельной коммутационной панели: Осуществить коммутацию букв А и L, соединив их проводом на штепсельной коммутационной панели, а затем проделать ту же самую процедуру для букв P и R, T и D, B и W, K и F, O и Y.
(2) Расположение шифраторов: Установить 2-ой шифратор в 1-ый паз шифровальной машины, 3-ий шифратор — во 2-ой паз, а 1-ый шифратор — в 3-ий паз.
(3) Ориентация шифраторов: У каждого шифратора на наружной части выгравированы буквы алфавита, с помощью которых оператор устанавливает этот шифратор в определенном положении. В нашем случае оператор должен вначале повернуть первый шифратор так, чтобы сверху оказалась буква O, затем второй шифратор, чтобы сверху оказалась буква C и, наконец, третий шифратор, установив его таким образом, чтобы сверху была буква W.
Один из способов зашифровывания сообщений состоит в том, что отправитель зашифровывает весь дневной поток информации в соответствии с ключом текущего дня. Это означает, что в течение всего дня перед началом зашифровывания каждого сообщения все операторы «Энигмы» должны будут устанавливать свои шифровальные машины по одному и тому же предписанному ключу текущего дня. Затем, всякий раз, как потребуется передать сообщение, его вначале вводят в машину с помощью клавиатуры, записывают результат зашифровывания и отдают радисту для отправки. На другом конце радист принимает радиограмму и передает ее оператору «Энигмы», а тот вводит ее в свою машину, которая к тому времени уже должна быть установлена в соответствии с заданным ключом текущего дня. В результате будет получено исходное сообщение.
Такой способ вполне безопасен, однако его стойкость снижается из-за многократного использования только одного ключа текущего дня для зашифровывания сотен сообщений, которые могут передаваться каждый день. Вообще-то, по правде говоря, если для зашифровывания огромного количества информации используется один-единственный ключ, то для криптоаналитика становится проще определить его. Большой объем идентичным образом зашифрованной информации дает криптоаналитику больше шансов отыскать этот ключ. Так, например, возвращаясь к простым шифрам, взломать одноалфавитный шифр с помощью частотного анализа гораздо легче, если имеется несколько страниц зашифрованного текста, а не лишь пара предложений.
Поэтому, в качестве дополнительной меры предосторожности, немцы сделали хитроумный ход: они использовали установки ключа текущего дня для передачи нового разового ключа для каждого сообщения. Для разовых ключей установки на штепсельной коммутационной панели и расположение шифраторов будут теми же, что и для ключа текущего дня; отличие состоит только в ориентации шифраторов. Поскольку новой ориентации шифраторов в шифровальной книге нет, отправитель должен сообщить о ней получателю. Вначале отправитель настраивает свою машину в соответствии с установленным ключом текущего дня, в котором указана и ориентация шифраторов, допустим, QSW. Затем для разового ключа он устанавливает новую, произвольно выбранную ориентацию шифраторов, скажем, PGH. Далее отправитель зашифровывает PGH в соответствии с ключом текущего дня. Разовый ключ вводится в «Энигму» дважды — для обеспечения двойного контроля получателем. К примеру, отправитель может зашифровать разовый ключ PGHPGH как KIVBJE. Обратите внимание, что два PGH зашифровываются по-разному (первое как KIV, а второе как BJE); это происходит из-за того, что шифраторы «Энигмы» поворачиваются после зашифровывания каждой буквы и меняют способ шифрования. После этого отправитель меняет ориентацию шифраторов на своей машине на PGH и зашифровывает основную часть сообщения с этим разовым ключом. У получателя машина первоначально установлена в соответствии с ключом текущего дня — QCW. В машину вводятся первые шесть букв пришедшего сообщения, KIVBJE, и в результате высвечивается PGHPGH. В результате получатель узнает, что он должен установить свои шифраторы в положение PGH, — это и есть разовый ключ, — и сможет после этого расшифровать основной текст сообщения.
Это эквивалентно тому, как отправитель и получатель договариваются об основном ключе шифрования. Только вместо использования этого единственного основного ключа шифрования для зашифровывания всех сообщений его применяют для зашифровывания нового ключа, а само сообщение зашифровывают этим новым ключом. Если бы немцы не ввели разовые ключи, тогда тысячи сообщений, содержащих миллионы букв, передавались бы зашифрованными одним и тем же ключом текущего дня. Если же ключ текущего дня используется только для передачи разовых ключей, то им зашифровывается небольшой кусочек текста. Допустим, в течение дня пересылается 1000 разовых ключей, тогда ключом текущего дня зашифровывается всего-навсего 6000 букв. И поскольку каждый разовый ключ выбирается случайным образом и используется для зашифровывания только одного сообщения, то с его помощью зашифровывается только текст незначительного объема, — лишь нескольких сотен знаков.
На первый взгляд система выглядит неуязвимой, но польских криптоаналитиков это не обескуражило. Они были готовы проверить каждую тропку, чтобы отыскать слабое место у шифровальной машины «Энигма» и в использовании ключей текущего дня и разовых ключей. В противоборстве с «Энигмой» главными теперь стали криптоаналитики нового типа. Веками считалось, что наилучшими криптоаналитиками являются знатоки структуры языка, но появление «Энигмы» заставило поляков изменить свою политику подбора кадров. «Энигма» была электромеханической шифровальной машиной, и польское Бюро шифров рассудило, что для ученого шансов взломать эту машину гораздо больше. Бюро организовало курс по криптографии и пригласило двадцать математиков; каждый из них поклялся хранить тайну. Все они были из познаньского университета. Хотя этот университет и не считался самым лучшим академическим учреждением в Польше, но его преимущество в данном случае заключалось в том, что располагался он на западе страны, на территории, которая до 1918 года была частью Германии. Поэтому-то эти математики свободно говорили по-немецки.
Трое из этих двадцати продемонстрировали способность раскрывать шифры и были приглашены на работу в Бюро. Самым способным из них был застенчивый, носящий очки, двадцатитрехлетний Мариан Реевский, который прежде изучал статистику, чтобы в будущем заняться страхованием. Он и в университете был весьма способным студентом, но только в польском Бюро шифров нашел свое истинное призвание. Здесь он проходил обучение, разгадывая обычные шифры, прежде чем перейти к более неприступной задаче «Энигмы». Трудясь в полном одиночестве, он полностью сосредоточился на запутанности машины Шербиуса. Будучи математиком, он постарался всесторонне проанализировать работу машины, изучая влияние шифраторов и кабелей штепсельной коммутационной панели. Но, как и все в математике, его работа требовала не только вдохновения, но и логического мышления. Как сказал один из военных математиков-криптоаналитиков, творческий дешифровальщик должен «волей-неволей ежедневно общаться с темными духами, чтобы совершить подвиг интеллектуального джиу-джитсу».
Реевский разработал стратегию атаки на «Энигму» исходя из того, что повторение является врагом безопасности: повторения приводят к возникновению характерного рисунка — структуры сообщения, и криптоаналитики благоденствуют на структурах. Самым явным повторением при шифровании с использованием «Энигмы» был разовый ключ, который зашифровывался дважды в начале каждого сообщения. Если оператор выбирал, к примеру, разовый ключ ULJ, то он должен был зашифровать его дважды, так что ULJULJ мог приобрести вид PEFNWZ, и вначале посылался этот набор букв, а затем само сообщение. Немцы требовали такого повторения, чтобы избежать ошибок вследствие радиопомех или оплошности оператора. Но они не предполагали, что из-за этого возникнет угроза безопасности машины.
Каждый день Реевскому передавали новую пачку перехваченных сообщений. Все они начинались шестью буквами повторяющегося трехбуквенного разового ключа, все были зашифрованы с использованием одного и того же ключа текущего дня. Например, он мог получить четыре сообщения, начинающихся со следующих зашифрованных разовых ключей:
В каждом из этих случаев 1-я и 4-я буквы являются одной и той же зашифрованной буквой — первой буквой разового ключа. Точно так же 2-я и 5-я буквы являются одной и той же зашифрованной буквой — второй буквой разового ключа, а 3-я и 6-я буквы — третьей буквой разового ключа. Так, в первом сообщении, L и R являются одной и той же зашифрованной буквой — первой буквой разового ключа. Причина, почему одна и та же буква зашифровывается по-разному, вначале как L, а затем как R, заключается в том, что между двумя зашифровываниями первый шифратор «Энигмы» продвинется на три шага и способ шифрования изменится.
То, что L и R являются одной и той же зашифрованной буквой, позволило Реевскому вывести еле уловимую связь с начальной установкой машины. При некотором начальном положении шифратора, которое неизвестно, первая буква ключа текущего дня, который опять-таки неизвестен, зашифровывается в L, а затем, при другом положении шифратора, который передвинулся на три шага от начального, по-прежнему неизвестного положения, та же буква ключа текущего дня, который также по-прежнему неизвестен, преобразуется в R.
Эта связь представляется смутной, так как здесь полно неизвестностей, но она хотя бы показывает, что буквы L и R неразрывно связаны с исходной установкой «Энигмы» — с ключом текущего дня. При перехвате новых сообщений можно найти другие соответствия между 1-й и 4-й буквами повторяющегося разового ключа.
Все они отражают исходную установку «Энигмы». Например, из второго сообщения видно, что существует связь между M и X, из третьего — между J и M и из четвертого — между D и P. Реевский начал суммировать эти соответствия, сводя их в таблицу. Для четырех сообщений, которые мы пока имеем, таблица дает наличие связей между (L, R), (M, X), (J, M) и (D, P):
Если бы у Реевского было достаточное количество сообщений, отправленных в какой-нибудь один из дней, то он смог бы завершить составление алфавита соответствия. Ниже приведена заполненная таблица соответствий:
У Реевского не было никаких догадок ни о ключе текущего дня, ни о том, какие выбирались разовые ключи, но он знал, что они есть в этой таблице соответствий. Если бы ключ текущего дня был другим, то и таблица соответствий была бы совершенно отличной. Следующий вопрос заключался в том, можно ли найти ключ текущего дня из этой таблицы соответствий. Реевский приступил к поиску в таблице характерных рисунков — структур, которые могли бы послужить признаком ключа текущего дня. В итоге он начал изучать один частный тип структуры, который характеризовал цепочку букв. В таблице, к примеру, A в верхнем ряду связана с F в нижнем ряду. Перейдя в верхний ряд и найдя там F, Реевский выяснил, что F связана с W. Снова перейдя в верхний ряд и отыскав там W, он обнаружил, что, оказывается, связана с A, то есть он вернулся к тому месту, откуда начал поиск. Цепочка завершена.
Рис 42. Мариан Реевский
Для остальных букв алфавита Реевский создал похожие цепочки. Он выписал все цепочки и отметил в каждой из них количество связей:
До сих пор мы рассматривали только соответствия между 1-й и 4-й буквами шестибуквенного повторяющегося ключа. В действительности же Реевский проделал то же самое для соответствий между 2-й и 5-й буквами и между 3-й и 6-й буквами определяя в каждом конкретном случае цепочки и количество связей в каждой из них.
Реевский обратил внимание, что каждый день цепочки изменялись. Иногда встречалось множество коротких цепочек, иногда лишь несколько длинных. И разумеется, в цепочках менялись буквы. То, какими были эти цепочки, зависело, несомненно, от параметров установки ключа текущего дня — совокупного влияния установок на штепсельной коммутационной панели, взаимного расположения и ориентации шифраторов. Однако оставался вопрос, как же Реевскому из этих цепочек найти ключ текущего дня? Какой ключ из 10 000 000 000 000 000 возможных ключей текущего дня соответствовал конкретной структуре цепочек? Количество вероятностей было просто огромным.
И именно в этот момент Реевского озарило. Хотя и установки на штепсельной коммутационной панели, и взаимное расположение, и ориентация шифраторов оказывали влияние на элементы цепочек, но их вклад можно было в какой-то степени разделить. В частности, у цепочек есть одно свойство, целиком зависящее от установок шифраторов и никак не связанное с установками на штепсельной коммутационной панели: количество связей в цепочках зависит исключительно от установок шифраторов. Возьмем, к примеру, вышеприведенный пример и предположим, что ключ текущего дня требует перестановки букв S и G на штепсельной коммутационной панели. Если мы изменим этот элемент ключа текущего дня, сняв кабель, с помощью которого осуществляется перестановка этих букв S и G, и используем его, чтобы выполнить перестановку, скажем, букв T и K, то цепочки изменятся следующим образом:
Некоторые буквы в цепочках изменились, но, что важно, количество связей в каждой цепочке осталось тем же. Реевский нашел то свойство цепочек, которое зависело лишь от установок шифраторов.
Полное число установок шифраторов равно количеству взаимных расположений шифраторов (6), умноженному на количество ориентаций шифраторов (17 576), что составляет 105 456. Поэтому вместо того, чтобы беспокоиться о том, какой из 10 000 000 000 000 000 ключей текущего дня связан с конкретной группой цепочек, Реевский смог заняться гораздо более простой задачей: какая из 105 456 установок шифраторов связана с количеством связей в группе цепочек? Это число по-прежнему велико, но все же примерно в сотню миллиардов раз меньше общего числа возможных ключей текущего дня. Другими словами, задача стала в сотню миллиардов раз проще — уже в пределах человеческих возможностей.
Реевский поступил следующим образом. Благодаря шпионской деятельности Ханс-Тило Шмидта, он получил доступ к точным копиям шифровальных машин «Энигма». Его команда приступила к кропотливой проверке каждой из 105 456 установок шифраторов и каталогизации длин цепочек, которые образовывались при каждой установке. Потребовался целый год, чтобы завершить создание такого каталога, но, как только в Бюро были накоплены данные, Реевский смог, наконец, приступить к распутыванию шифра «Энигмы».
Ежедневно он просматривал зашифрованные разовые ключи — первые шесть букв перехваченных сообщений, и использовал данную информацию для подготовки своей таблицы соответствий. Это позволило ему выписать цепочки и установить количество связей для каждой из них. К примеру, анализируя 1-ю и 4-ю буквы, можно получить четыре цепочки с 3, 9, 7 и 7 связями. При анализе 2-й и 5-й букв также получаются четыре цепочки с 2 3, 9 и 12 связями. А анализ 3-й и 6-й букв дает в результате пять цепочек с 5, 5, 5, 3 и 8 связями.
У Реевского и сейчас не было никаких предположений о ключе текущего дня, но он знал, что в результате его применения получаются 3 группы цепочек; количество цепочек в группе и связей в каждой из них указаны ниже:
Реевский мог теперь воспользоваться своим каталогом, в котором были представлены все установки шифратора, проиндексированные в соответствии с тем, какой вид цепочек получается при каждой конкретной установке. Найдя запись в каталоге, содержащую требуемое количество цепочек с соответствующим количеством связей в каждой, он сразу же определял установки шифраторов для каждого конкретного ключа текущего дня. Цепочки оказались фактически «отпечатками пальцев», уликой, которая выдавала исходное взаимное расположение и ориентацию шифраторов. Реевский действовал словно детектив: он мог отыскать на месте преступления отпечаток пальца, а затем по базе данных выявить подозреваемого, которому этот отпечаток принадлежит.
Хотя Реевский и нашел ту часть в ключе текущего дня, которая определяется шифратором, но ему по-прежнему требовалось выяснить установки на штепсельной коммутационной панели. Несмотря на то что существует около сотни миллиардов возможностей для установок на штепсельной коммутационной панели, это было уже сравнительно несложной задачей. Реевский начал с того, что установил шифраторы на своей копии «Энигмы» в соответствии с вновь найденной частью ключа текущего дня, которая определяется шифратором. Затем он вытащил все кабели из штепсельной коммутационной панели, так что эта панель перестала оказывать какое-либо влияние. Далее он брал фрагмент перехваченного шифртекста и вводил его в «Энигму». По большей части это приводило к появлению совершенно бессмысленного текста, поскольку расположение кабелей на штепсельной коммутационной панели было неизвестно, и их у него на панели попросту не было. Однако время от времени появлялись смутно опознаваемые выражения, как, например, alliveinbelrin, которое, по всей видимости, должно означать «arrive in Berlin». Если предположение верно, то это значит, что буквы R и L должны быть соединены кабелем на штепсельной коммутационной панели, осуществляющим их перестановку, буквы же A, I, V, E, B и N при этом кабелями не соединены. Анализируя другие фразы, можно найти другие пять пар букв, которые меняются местами друг с другом с помощью кабелей на этой панели.
Определив расположение кабелей на штепсельной коммутационной панели и используя уже найденные установки шифраторов, Реевский определил полный ключ текущего дня, и в результате он мог дешифровать любое сообщение, отправленное в этот день.
Реевский существенно упростил задачу нахождения ключа текущего дня, разделив задачу определения установок шифраторов и задачу определения установок на штепсельной коммутационной панели. Сами по себе обе эти задачи могут быть решены. По нашим первоначальным оценкам, чтобы проверить все возможные ключи «Энигмы», потребуется время, превышающее срок существования Вселенной. Однако Реевский потратил всего-навсего год, составляя свой каталог длин цепочек, после чего он мог определить ключ текущего дня еще до того, как день подойдет к концу. Имея ключ текущего дня, он владел той же информацией, что и получатель, которому она была направлена, и поэтому столь же легко был способен дешифровать сообщения.
В результате совершенного Реевским прорыва передаваемые немцами сообщения больше не представляли секрета. Польша не находилась в состоянии войны с Германией, но существовала угроза вторжениями то, что «Энигма» была покорена, стало для нее огромным облегчением. Если поляки смогут выяснить, что замышляют в отношении них немецкие генералы, то это давало им возможность защитить себя. Судьба Польши зависела от Реевского, и он не подвел свою страну. Атака Реевского на «Энигму» является одним из по-истине величайших достижений криптоанализа. Я был вынужден ограничиться всего несколькими страницами, чтобы рассказать о его работе, и поэтому опустил многие технические подробности и вообще не упоминал о путях, которые вели в тупики. «Энигма» — это сложная шифровальная машина, и взлом ее потребовал огромных интеллектуальных усилий. Мои упрощения не должны вводить вас в заблуждение, и из-за них не стоит недооценивать исключительный успех Реевского.
Успех поляков во взломе шифра «Энигмы» может быть объяснен тремя факторами: страх, математика и шпионаж. Если бы не было опасности вторжения, полякам помешала бы кажущаяся неуязвимость шифра «Энигмы». Без математики Реевский бы не смог проанализировать цепочки. А без Шмидта, которому был присвоен псевдоним Аше, и его документов не удалось бы получить представление о внутренней проводке шифраторов и невозможно было бы даже приступить к проведению криптоанализа. Реевский не стеснялся высказывать, насколько он обязан Шмидту: «Документы Аше были словно манна с небес, и все двери сразу же открылись».
В течение нескольких лет поляки с успехом применяли способ Реевского. Находясь в 1934 году с визитом в Варшаве, Герман Геринг и не подозревал, что все его сообщения перехватывались и дешифровывались.
Когда он вместе с другими немецкими официальными лицами возлагал венок к Могиле Неизвестного солдата неподалеку от польского Бюро шифров, Реевский мог наблюдать за ними из своего окна, удовлетворенный сознанием, что может прочесть их самые секретные сообщения.
Даже когда немцы незначительно изменили способ передачи сообщений, Реевский сумел справиться и с этим. Его старый каталог длин цепочек стал бесполезен, но вместо того, чтобы переписывать его заново, он придумал механизированную версию своей системы каталогизации, которая могла осуществлять автоматический поиск установок шифраторов. Изобретением Реевского стала переработанная и усовершенствованная «Энигма», способная быстро перебирать каждую из 17 576 установок, пока не будет получено совпадение. Поскольку шифраторы могли располагаться шестью различными способами, потребовалось шесть совместно работающих машин Реевского, в каждой из которых было установлено одно из возможных расположений шифраторов. Вместе они образовывали устройство высотой около метра и способное найти ключ текущего дня менее чем за два часа. Эти устройства были названы «бомбами», возможно, из-за тиканья, которое они издавали во время проверки установок шифраторов. Рассказывают, правда, что Реевскому пришла идея назвать так машины в кафе, когда он ел bombe — мороженое в виде половинки шарика. «Бомбы» успешно механизировали процесс дешифрования. Это был естественный ответ на «Энигму», которая представляла собой механическое устройство для зашифровывания.
Большую часть 30-х годов Реевский и его коллеги без устали трудились, чтобы вскрыть ключи «Энигмы». Месяц за месяцем команда вынуждена была постоянно исправлять механические неисправности в «бомбах» и непрерывно обрабатывать нескончаемый поток зашифрованных перехватов. Вся их жизнь стала подчинена поиску ключа текущего дня — этому исключительно важному элементу, с помощью которого раскрывается содержание зашифрованных сообщений. Однако, что было неизвестно польским дешифровальщикам, большая часть их работы была не нужна. У руководителя Бюро, майора Гвидо Лангера, уже имелись ключи текущего дня «Энигмы», но он держал их спрятанными в своем столе.
Лангер через французов продолжал получать информацию от Шмидта. Гнусные действия немецкого шпиона не закончились в 1931 году передачей двух документов по работе «Энигмы», а продолжались еще семь лет. Он двадцать раз встречался с французским секретным агентом Рексом, нередко в укромных шале в Альпах, где была гарантирована тайность их встреч. При каждой встрече Шмидт передавал одну или несколько шифровальных книг, в каждой из которых были указаны ключи текущего дня на месяц.
Это были шифровальные книги, которые вручались всем немецким операторам «Энигмы», и в них содержалась вся информация, которая была нужна, чтобы зашифровывать и расшифровывать сообщения. В итоге он передал шифровальные книги, в которых были представлены ключи текущего дня для 38 месяцев. Эти ключи помогли бы сэкономить Реевскому массу времени и сил, сократив потребность в «бомбах» и высвободив людские ресурсы, которые могли бы быть направлены на другие участки работы Бюро. Однако исключительно умный Лангер решил не сообщать Реевскому, что ключи уже есть. Лангер считал, что его следует подготовить к тому неизбежному моменту, когда эти ключи больше уже нельзя будет получить. Он знал, что если разразится война, то тайные встречи со Шмидтом не смогут продолжаться и Реевскому тогда придется действовать в одиночку. Лангер полагал, что Реевскому следует привыкать действовать самостоятельно в мирное время, что послужит ему в качестве подготовки к тому, что ждет его впереди.
Как профессионал, Реевский достиг своего потолка в декабре 1938 года, когда немецкие криптографы повысили стойкость «Энигмы». Всем операторам «Энигмы» были переданы два новых шифратора, так что в машине могли применяться любые три из пяти имеющихся шифраторов. Прежде имелось только три шифратора (обозначаемых 1, 2 и 3), и их можно было расположить всего лишь шестью различными способами, но теперь, когда появились два дополнительных шифратора (обозначаемых 4 и 5), количество способов их расположения возросло до 60, что показано в таблице 10. Первой задачей Реевского стало определение внутренней проводки двух новых шифраторов. Ему также пришлось в десять раз увеличить число «бомб», чтобы учесть все возможные расположения шифраторов. Стоимость создания такого количества «бомб» в пятнадцать раз превышала весь годовой бюджет Бюро на оборудование. На следующий месяц ситуация стала еще хуже, когда число кабелей для штепсельной коммутационной панели возросло с шести до десяти. Теперь, вместо двенадцати букв, для которых выполнялась перестановка перед прохождением шифраторов, их стало двадцать. А число возможных ключей увеличилось до 159 000 000 000 000 000 000.
Таблица 10 Возможные расположения с пятью шифраторами.
В 1938 году число перехватов и дешифрования сообщений в Польше достигло максимума, но к началу 1939 года применение новых шифраторов и дополнительных кабелей штепсельной коммутационной панели приостановило поток информации. Реевский, который в прошлые годы раздвинул границы применения криптоанализа, пребывал в замешательстве. Он доказал, что шифр «Энигмы» не является нераскрываемым, но, не имея ресурсов, необходимых, чтобы проверить все возможные установки шифраторов, он не мог найти ключ текущего дня и дешифрование стало невозможным.
В таких отчаянных обстоятельствах Лангер, возможно, пошел бы на то, чтобы отдать ключи, полученные от Шмидта, но он их больше не получал. Как раз перед внедрением новых шифраторов Шмидт оборвал контакт с агентом Рексом. Семь лет он передавал ключи, которые были не нужны, а именно в тот момент, когда в них возникла потребность, их у поляков не оказалось.
То, что «Энигма» вновь стала неуязвимой, явилось для Польши потрясением, поскольку «Энигма» была не просто средством связи, она была заложена в основу стратегии блицкрига Гитлера. Идея блицкрига («молниеносной войны») заключалась в быстром, мощном и скоординированном наступлении, означающем, что крупные танковые дивизии должны были поддерживать связь между собой, а также с пехотой и артиллерией. Кроме того, должна быть обеспечена поддержка наземных сил с воздуха пикирующими бомбардировщиками «Штукас», что также опирается на эффективную и надежную связь между войсками на передовой линии и аэродромами. Дух блицкрига — это «быстрота наступления благодаря быстроте связи». Если поляки не смогут взломать «Энигму», у них не останется никакой надежды остановить нападение немцев, которое, как уже стало ясно, было вопросом нескольких месяцев. Германия уже оккупировала Судеты и 27 апреля 1939 года разорвала Пакт о ненападении с Польшей. Антипольские выступления Гитлера становились все более и более резкими. Лангер решил, что если Польша будет захвачена, то ее достижения в криптоанализе, которые до сих пор держались в секрете от союзников, не должны пропасть. Если Польша не способна извлечь пользу из работы Реевского, то пусть хотя бы союзники получат возможность попробовать построить ее. Может быть, Британия и Франция с их значительными ресурсами смогут в полной мере воспользоваться концепцией «бомбы».
30 июня майор Лангер телеграфировал своим французским и британским коллегам, приглашая их в Варшаву, чтобы обсудить некоторые безотлагательные вопросы, касающиеся «Энигмы». 24 июля ведущие криптоаналитики Франции и Англии прибыли в штаб-квартиру Бюро, не слишком понимая, чего им следует ожидать. Лангер ввел их в комнату, в которой стоял какой-то предмет, накрытый черной тканью. Сдернув ее театральным жестом, Лангер явил собравшимся одну из «бомб» Реевского. Все были поражены, услышав, как Реевский взламывал «Энигму» в течение нескольких лет. Поляки опередили всех в мире на десятилетие. Особенно были изумлены французы, потому что работа поляков основывалась на результатах, полученных французской разведкой. Французы передавали информацию от Шмидта полякам, считая, что ценности она не представляет, однако поляки доказали, что они ошибались.
Рис. 43 Передвижной командный пункт генерала Хайнца Гудериана. Слева внизу показана «Энигма» в работе.
В завершение Лангер поразил их еще раз, предложив британцам и французам две точные копии «Энигмы» и рабочие чертежи «бомбы», которые следовало перевезти дипломатической почтой в Париж. Оттуда 16 августа одна из «Энигм» была переправлена в Лондон. Чтобы не вызывать подозрения немецких шпионов, которые следили за портами, ее тайно перевезли через Ла-Манш в качестве части багажа драматурга Саша Гитри и его жены, актрисы Ивонны Принтемпс. Двумя неделями позже, 1 сентября, Гитлер вторгся в Польшу. Началась война.