11 ноября 1918 года Польша вновь обрела независимость после 123 лет прусской, австрийской и российской оккупации. Долгожданная свобода продлилась недолго. Как вскоре выяснилось, в соседних с Польшей государствах наступил самый жестокий период в их истории и мирные отношения с ними оказались невозможны.
С запада находилась Веймарская республика, со временем превратившаяся в Das Ditte Reich – нацистскую Германию. На востоке Польша граничила с Российской советской федеративной социалистической республикой (крупнейшей союзной республикой в составе будущего СССР), мечтавшей о коммунистической революции во всей Европе. Возрожденная Польша с первых же дней своего существования пребывала в опасности, и помимо восстановления и сплочения страны перед ней стояла задача обеспечить государственную безопасность.
Это хорошо понимала новоявленная польская служба разведки. Было немедленно создано агентство, специализирующееся на криптографии (использовании шифров и кодов) и криптологии (изучении шифров и кодов прежде всего с целью их «взламывания»). Перед агентством поставили основную цель: выяснить секретные планы двух соседних держав. Агентство получило название Секция шифров и стало предшественником знаменитого Бюро шифров, сотрудникам которого удалось разгадать код Энигмы.
Выбрать лучшего из лучших
Германская армия внедрила машинные шифры в начале 1928 года, и польская разведка сразу же начала с ними работать. На протяжении последующих четырех лет знаменитая в будущем Секция шифров, расшифровавшая более 100 шифров во время польско-советской войны (февраль 1919 ‒ март 1921), терпела неудачу за неудачей. В 1932 году стало ясно, что для разгадки немецких машинных шифров ресурсов Секции шифров не хватает. Решено было устроить курсы по расшифровке кодов для сотен студентов и научных работников с целью выявить талантливых дешифровщиков.
Самым многообещающим оказался Мариан Реевский ‒ математик, выпускник Познанского университета, кроме того, год стажировавшийся в Геттингене (Реевский в совершенстве владел немецким). Помимо Реевского были отобраны Хенрик Зыгальский и Ежи Ружицкий, также выпускники математического факультета Познанского университета. Все трое были сразу же направлены на работу в Бюро шифров и приступили к расшифровке кода Энигма.
Что такое Энигма?
Энигма ‒ это электромеханическая роторная машина, появившаяся на рынке в начале 1920-х. Она была доступна широкому кругу покупателей (хотя стоила при этом не дешево) и использовалась в первую очередь в коммерческих целях. В конце 1920-х германская армия впервые приобрела Энигму, и та сразу же стала главной шифровальной машиной германской армии, прежде всего во флоте и в авиации. Почему же выбор пал на Энигму? Вероятно, потому, что в ее основе вместо лингвистических шифров (популярных в годы Первой мировой войны) лежал многоалфавитный шифр подстановки. Устройство Энигмы требует детальных объяснений, но мы попробуем в общих чертах обрисовать ее особенности.
Роторы
Роторы ‒ это диски из эбонита или бакелита с пружинными штыревыми контактами, расположенными по окружности на одной стороне ротора, и соответствующим количеством плоских электрических контактов с другой. Штыревые и плоские контакты соответствовали буквам алфавита (как правило, 26 букв от A до Z). Функция каждого ротора была проста ‒ элементарный шифр замены. Например, контакт, соответствующий букве О, мог быть соединен с буквой Z на другой стороне ротора. Однако более продвинутые версии Энигмы использовали 3-4 ротора одновременно, для каждого из которых существовало 26 возможных положений. Более того, все роторы были «шагающие», это означает, что каждый из них менял свое положение при каждом нажатии клавиши на клавиатуре. Таким образом с помощью роторов каждое секретное послание многократно преобразовывалось, прежде чем оно было готово к отправке.
Коммутационная панель
Код для расшифровки информации, засекреченной с помощью Энигмы, менялся каждый день. Во-первых, его задавал выбор роторов и их изначальное положение. Кроме того, использовалось еще одно устройство ‒ коммутационная панель под названием Steckerbrett. Она позволяла любому оператору усложнять шифр за счет варьирования соединения проводов еще до прохождения сигнала через роторную часть. Энигму с коммутационной панелью было гораздо сложнее «взломать», поскольку невозможно было математически объяснить принцип замены букв (это было произвольное решение оператора, который мог по своему усмотрению менять соединения проводов).
Таким образом оператор военной версии Энигмы для расшифровки сообщений должен был знать следующее:
- Расположение роторов – выбор роторов (их было пять типов) и порядок, в котором они были установлены.
- Исходное положение роторов ‒ его выбирал оператор, оно различалось для каждого сообщения/дня/периода. Прежде чем отправить зашифрованное послание, оператор набирал сообщение-ключ, содержащее буквы, видимые в исходной позиции роторов.
- Настройки коммутационной панели ‒ соединения проводов в коммутационной панели Steckerbrett.
Считалось, что благодаря столь сложному устройству Энигму невозможно взломать, поэтому французская и британская разведки верили, что расшифровать сообщения нацистов можно, лишь выкрав одну из машин и внедрив в немецкую армию спецагента, который будет информировать союзников о ежедневно меняющихся настройках Энигмы. Этот план был недолговечен. Исчезновение любой из машин Энигма сразу бы заметили, и машину немедленно переделали. А что касается двойных агентов, шпионящих за нацистами, то и их век был короток…
(видео) Мерлин Хейкон объясняет, как работает машина Энигма
На сцену выходит Реевский
Неудачи преследовали французскую и британскую разведки до конца 1931 года. В тот год немецкому аристократу Гансу Тило-Шмидту, сотруднику шифровального штаба немецких вооруженных сил, было поручено уничтожить устаревшие списки кодов Энигмы, включая настройки Энигмы для различных дней. По какой-то причине, вероятно, финансовой, он решил продать эти коды Гюставу Бертрану, агенту французской разведки. Бертран немедленно создал специальную группу для анализа полученных данных, но информацию сочли устаревшей и бесполезной, к тому же данных было недостаточно даже для того, чтобы понять, с чего начать.
После этого Бертран решил передать документы полякам и британцам. Реевский, в чьем распоряжении уже была «гражданская» копия Энигмы (купленная в Германии), сразу же понял, что успех близко. Он использовал материал, полученный от Бертрана, и, сравнивая имеющиеся тексты с шифровками, смог вычислить формулы, которые позволили устанавливать соединение проводов роторов в той версии Энигмы, которую использовала германская армия. Для этого потребовалось знание теории перестановок высочайшего уровня.
Когда соединения проводов каждого из пяти типов роторов были установлены, Реевский велел своим инженерам перенастроить копию немецкой Энигмы, установил роторы в ту же исходную позицию, что и в зашифрованном тексте, ввел закодированное послание и… получил на выходе полную абракадабру. Лишь хаотический набор букв, напоминающий любое зашифрованное послание.
Реевский проверял свои расчеты снова и снова. Он был уверен, что функционирование роторов и коммутационной панели было разгадано. В вычислениях не хватало чего-то на первый взгляд очень простого. Это могло быть только соединение клавиш машины с соответствующими лампочками над клавишами.
В коммерческих машинах Энигма (как та, что использовал Реевский) клавиши всегда были устроены так же, как в немецких печатных машинках: по схеме A->Q B->W C->E и так далее, так, что каждая буква алфавита заменялась соответствующей буквой из клавиатуры QWERTZ. Несмотря на то, что вариантов соединения проводов могло быть сотни тысяч, Реевский был твердо намерен попробовать все возможные комбинации.
Он начал со стандартного алфавитного порядка. A->A, B->B, C->C и… получил правильный текст! Реевский сумел разгадать код. Теперь польская разведка обладала полностью функционирующей копией германской военной Энигмы! Почему схема оказалась такой простой? Этого так никто и не узнал. Настройки менялись ежедневно, но по крайней мере код был расшифрован.
Циклометр
Настройки Энигмы (то есть исходная позиция роторов и конфигурация коммутационной панели) регулярно менялись, как правило, ежедневно. Считалось, что при таком подходе расшифровать сообщения Энигмы практически невозможно, даже если дневной код был разгадан. Чтобы передать зашифрованное сообщение адресату, отправитель должен был отправить сообщение-ключ, состоящее из зашифрованных букв, видимых в исходной позиции ротора. Ключ нужно было вводить дважды во избежание ошибок.
Реевский вскоре заметил уязвимое место. Во-первых, ключи были идентичными для всех сообщений на протяжении дня. Кроме того, недобросовестные операторы очень часто выбирали простейшие ключи, например, AAA, ZZZ или QAY. Анализ большого количества шифровок позволял снизить число установок индикатора с 1012 до 105456 и начать каталогизацию. Реевский изобрел машину под названием циклометр, которая делала это механически. Он рассказывал о ней:
«Процесс каталогизации с помощью циклометра был трудоемким и занял больше года, но когда все было готово, ежедневные ключи можно было получить минут за пятнадцать».
Каталог был готов в 1936 году и превосходно работал до 1937 года. Почти 100% немецких сообщений были успешно расшифрованы. В конце 1937 года немцы поняли, что что-то пошло не так, и изменили способ кодирования, в результате чего метод Реевского оказался бесполезным. И все же польское Бюро шифров не собиралось сдаваться.
Листы Зыгальского
После того как Реевский потерпел неудачу, другой из набранных в 1928 году студентов придумал спасительное решение. Хенрик Зыгальский изобрел то, что позже назвали «листами Зыгальского», в основе которых лежала повторяемость знаков в сообщении-ключе. Разработав специальные перфорированные листы, Зыгальский смог проследить настройки индикатора и дневной ключ. Реевский был восхищен этим методом (пусть и не автоматическим) и заставлял операторов стирать пальцы в кровь в попытках найти нужную комбинацию:
«Когда листы были наложены и двигались в определенной последовательности и определенным образом относительно друг друга в соответствии с четко определенной программой, число видимых отверстий постепенно уменьшалось. И при условии наличия необходимого количества данных в конце концов оставалось одно отверстие, которое, вероятно, соответствует правильному положению, то есть решению. По положению отверстия можно было вычислить порядок роторов, положение их колец и (…) весь ключ шифра».
Установки нужно было проверять одну за другой на копии Энигмы, и, если криптологам не везло, это могло занять довольно много времени. Война надвигалась, и Бюро шифров понимало, что необходимо нечто более быстрое и более эффективное.
Криптологические бомбы
Реевскому вновь удалось подтвердить свою инженерную гениальность: он создал машину, названную криптологической бомбой. Это было электро-механическое устройство, опиравшееся на идею Зыгальского: прослеживать повторяющиеся буквы в сообщениях-ключах. Название «бомба», вероятно, возникло от тикающего звука, которое издавало устройство во время работы, напоминавшего его создателю о бомбе.
«Криптологическая бомба, изобретенная осенью 1938 года, позволяла автоматизировать и ускорить процесс расшифровки ежедневных ключей. Каждая криптологическая бомба (шесть были построены в Варшаве для Бюро шифров до сентября 1939) по существу представляла собой совокупность из шести машин Энигма. Она замещала примерно 100 рабочих и уменьшала время получения кодов до примерно двух часов», ‒ писал Реевский.
Бомбы обладали высокой эффективностью: они были быстрые и точные. И все же ликовать было рано. В Бюро шифров понимали, что политическая ситуация в Европе угрожающая и что германские эксперты вскоре догадаются, что их код опять рассекретили.
Начинается Вторая мировая война
15 сентября 1938 года германская армия вновь усовершенствовала устройство Энигмы, добавив два дополнительных роторных диска. Это в десять раз усложнило процесс расшифровки (для трех роторных дисков существовало 6 способов установки, для пяти роторов ‒ 60). И хотя Реевский быстро вычислил внутреннюю схему соединения новых роторных дисков, разгадывать ежедневные ключи стало намного сложнее. Политическое напряжение при этом нарастало.
В апреле 1939 года Германия в одностороннем порядке разорвала польско- немецкий договор о ненападении. Это подтолкнуло польское Бюро шифров поделиться своими наработками с союзниками: Францией и Великобританией. До этого глава польской армии оптравлял союзникам все расшифрованные сообщения, но не раскрывал метод дешифровки, опасаясь контрразведки. Во время секретной встречи в предместьях Варшавы 26 июля польские эксперты рассказали военным главам Франции и Великобритании, что код Энигмы раскрыт, и торжественно обещали предоставить им реплики военной версии Энигмы, а также метод дешифровки кодов и решения проблемы возможных модификаций кодов. 1 сентября 1939 года Германия напала на Польшу.
Из Польши в Англию через Францию
Все сотрудники Бюро шифров решили бежать из Польши 5-го сентября, спустя всего четыре дня после нападения Германии. Им удалось пробраться во Францию, где они работали на PC Bruno – польско-французскую разведку, занимавшуюся исключительно дешифровкой военных кодов. До капитуляции Франции в июле 1940 года, когда всем экспертам PC Bruno пришлось бежать в Великобританию, в этом центре разагдывался почти каждый пятый код, зашифрованный Энигмой. Нацисты арестовали некоторых сотрудников центра, но несмотря на ужасные пытки ни один из них не рассказал, как был раскрыт код Энигмы.
В Великобритании Мариан Реевский и Хенрик Зыгальский вступили в Польскую армию в изгнании и приступили к дешифровке германских ручных шифров на польской станции в Боксмуре. Из-за того, что они находились в оккупированной Франции и были арестованы армией Франко на пути в Великобританию, приглашение их на работу в Блетчли-парк – штаб-квартиру дешифровщиков Британской армии ‒ сочли слишком рискованным.
Эпилог
Идеи и разработки Реевского и его коллег из Бюро шифров легли в основу дальнейших работ по дешифровке постоянно меняющихся кодов Энигмы. После 1940 года команда Блетчли-парк возглавила работу по дешифровке Энигмы. Инженеры Блетчли-парк изобрели собственную версию «бомбы», и к концу войны рассекречивалось почти 100% немецких сообщений. Дуайт Эйзенхауер сказал, что разгадка кода Энигмы имела решающее значение для победы армий союзников, и многие историки полагают, что это сократило войну на два года и тем самым спасло жизни миллионам людей.
Хенрик Зыгальский остался в Великобритании после Второй мировой войны. Умер в 1978 году.
Мариан Реевский вернулся в Польшу, умер в 1980 году в возрасте 74 лет.
Оба математика были награждены Большим Крестом Ордена Возрождения Польши, а также британскими военными орденами.
Автор: Войцех Олексяк 3.07.2014, ред. Леа Беррьо. Источники: Rejewski Marian, Woytak Richard (1984), A Conversation with Marian Rejewski, Rejewski Marian, Summary of Our Methods for Reconstructing ENIGMA and Reconstructing Daily Keys, and of German Efforts to Frustrate Those Methods.