Летом 1939 года, когда до вторжения в Польшу оставалось пять недель, в лесу южнее Варшавы трое молодых математиков раздали союзникам секрет, на разгадку которого потратили семь лет, — и тем самым запустили цепочку событий, без которой история Второй мировой выглядела бы иначе.
Enigma в коммерческой версии появилась на рынке в 1920-х годах — громоздкий ящик с клавиатурой, набором вращающихся роторов и световой панелью. Нажимаешь букву — загорается другая. Роторы поворачиваются, и при следующем нажатии та же буква даёт уже иной результат. Военная версия, которую рейхсвер, а затем вермахт начали внедрять с конца двадцатых, отличалась от коммерческой добавлением штекерной панели (Steckerbrett), где пары букв дополнительно переставлялись проводами. Штекерная панель взрывала пространство возможных настроек: если три ротора давали порядка 17 576 начальных позиций, то штекерные соединения добавляли к ним астрономическое число комбинаций. Немецкие криптографы считали систему неприступной — и, по сути, она такой и была, если атаковать её лобовым перебором. Но перебор — не единственный инструмент.
Польша в межвоенный период жила в тесном соседстве с двумя державами, каждая из которых имела к ней территориальные претензии. Радиоперехват немецких военных сообщений был для Варшавы вопросом выживания, а не академического интереса. Biuro Szyfrów — Бюро шифров Генерального штаба — к началу тридцатых годов уже имело опыт работы с немецкими шифрами, но переход вермахта на машинное шифрование поставил перед ним стену, которую лингвисты и классические дешифровщики пробить не могли. Решение, к которому пришло руководство Бюро, было по тем временам необычным: набрать математиков.
В Университете Познани профессор Здислав Крыговский читал курс математики, и среди его студентов были люди, которых Бюро шифров присмотрело для секретной работы. Познань — город на западе Польши, где значительная часть населения говорила по-немецки; студенты-математики из этого региона сочетали два редких качества: абстрактное мышление и свободный немецкий язык. Отбором и организацией курса криптологии при университете занимались майор Франциск Покорный, Максимилиан Ценжкий и Антони Паллют — офицеры, понимавшие, что будущее военной криптологии принадлежит не филологам, а алгебраистам.
Мариан Реевский, родившийся 16 августа 1905 года в Бромберге (по-польски — Быдгощ), оказался одним из тех, кого отобрали. Вместе с ним в орбиту Бюро попали Ежи Рожицкий и Хенрик Зыгальский. Все трое были молоды — Реевскому в момент решающего прорыва было двадцать семь лет. Их перевели в Варшаву, и с этого момента начинается история, которая мне кажется одной из самых красивых в прикладной математике XX века — красивых именно инженерной, рабочей красотой, без романтического тумана.
Задача, стоявшая перед Реевским в конце 1932 года, формулировалась просто: определить внутреннюю проводку роторов военной Enigma, не имея доступа к самой машине. Проводка — это таблица подстановки внутри каждого ротора, и без её знания любой анализ шифротекста оставался слепым. Реевский подошёл к Enigma как к композиции перестановок: каждый ротор — перестановка алфавита, отражатель (Umkehrwalze) — ещё одна, штекерная панель — третья. Шифрование одной буквы — это произведение этих перестановок, и свойства произведения можно изучать алгебраически.
Ключевой уязвимостью оказалась немецкая процедура передачи ключей. Каждое сообщение начиналось с того, что оператор выбирал случайный трёхбуквенный «ключ сообщения» и шифровал его дважды подряд — для защиты от ошибок передачи. Шесть первых букв каждого перехваченного сообщения, таким образом, были шифровкой одного и того же трёхбуквенного блока, набранного два раза. Реевский увидел, что первая и четвёртая буквы этого шестибуквенного заголовка соответствуют одной и той же исходной букве, но зашифрованной при разных положениях роторов. То же — вторая и пятая, третья и шестая. Это давало три пары перестановок, и из их произведений можно было извлечь циклическую структуру.
Циклическая структура — штука из чистой алгебры: если перестановка переводит A→F→K→A, то это цикл длины три. Набрав достаточно перехватов за один день (а немцы отправляли сотни сообщений), Реевский мог восстановить полную циклическую структуру каждой из трёх пар и использовать её как отпечаток пальца текущих настроек. Но для того, чтобы превратить эти отпечатки в конкретную проводку, нужна была ещё одна деталь — хотя бы частичная информация о реальных настройках хотя бы за несколько дней.
Эту деталь предоставила французская разведка. Гюстав Бертран, офицер Deuxième Bureau, с начала тридцатых годов получал материалы от Ганса-Тило Шмидта — немецкого чиновника, работавшего в шифровальном управлении рейхсвера и продававшего секретные документы за деньги. Шмидт передавал таблицы ежедневных настроек Enigma — те самые ключи, которые менялись каждый месяц. Французы не смогли сами использовать эти материалы для взлома машины и, по договорённости о сотрудничестве, передали их полякам. Документы от Шмидта попали в руки Реевского приблизительно 8–10 декабря 1932 года.
Сочетание оказалось решающим. Алгебраический метод Реевского давал систему уравнений, а документы Шмидта — достаточно начальных условий, чтобы эту систему решить. Реевский восстановил проводку роторов. Это был момент, когда замок щёлкнул — но дверь ещё предстояло открывать каждый день заново, потому что немцы ежедневно меняли настройки: порядок роторов, начальные позиции, штекерные соединения.
Меня в этой истории поражает скромность инструментария. Реевский работал с карандашом, бумагой и теорией перестановок — разделом алгебры, который к тому времени был разработан больше ста лет. Никакого нового математического аппарата он не изобрёл. Он увидел, что существующий аппарат точно ложится на конструкцию машины, — и это видение стоило больше любого суперкомпьютера, которого тогда всё равно не существовало.
После реконструкции проводки началась рутинная — и при этом изобретательная — работа по ежедневному вскрытию ключей. Трое математиков создали целый арсенал методов.
Циклометр, построенный в 1936 году, представлял собой устройство из двух соединённых наборов роторов Enigma. Он позволял систематически перебирать положения роторов и записывать циклические структуры перестановок для каждого возможного начального положения. Результатом стал каталог — 105 456 записей, по сути карточная картотека, в которой каждому набору длин циклов соответствовала конкретная настройка. Получив из дневных перехватов циклическую структуру, криптологи просто искали её в каталоге. Работа кропотливая, как составление таблиц логарифмов, — но она давала результат.
Затем, 1 ноября 1937 года, немцы заменили отражатель — Umkehrwalze A на Umkehrwalze B. Весь каталог, составленный для циклометра, стал бесполезен: циклические структуры изменились. Реевскому и его коллегам пришлось начинать заново. Это был первый удар, но далеко не последний.
В сентябре 1938 года ответом стали два новых инструмента. Реевский спроектировал криптологическую бомбу (bombę kryptologiczną) — электромеханическое устройство, которое автоматически перебирало положения роторов, проверяя гипотезы о ключе сообщения. Шесть комплектов роторов Enigma, объединённых в одном корпусе, вращались синхронно, и машина останавливалась, когда находила совпадение. Параллельно Хенрик Зыгальский разработал метод перфорированных листов — больших бумажных таблиц с отверстиями в определённых позициях. Накладывая листы друг на друга на световом столе, криптологи искали позиции, где свет проходил через все слои: каждая такая точка указывала на возможную начальную настройку роторов.
Изготовление всего этого оборудования — и рабочих копий самой Enigma — взяла на себя варшавская радиоэлектрическая фирма AVA, основанная братьями Леонардом и Людомиром Данелевичами. В фирме работали инженеры Эдвард Фокчиньский и Антони Паллют (тот самый офицер, участвовавший в отборе криптологов в Познани). Начиная с 1934 года AVA производила функциональные копии Enigma — машины, собранные по реконструированным Реевским спецификациям. Это была полноценная мелкосерийная производственная линия, спрятанная в обычной варшавской мастерской.
К лету 1939 года ситуация стала критической. Немцы наращивали сложность: добавили четвёртый и пятый роторы в комплект (из которых три ставились в машину), увеличив число возможных порядков с шести до шестидесяти. Польские ресурсы — людские и финансовые — были исчерпаны. Для работы бомбы при новых условиях потребовалось бы в десять раз больше устройств, а для листов Зыгальского — заново изготовить шестьдесят комплектов перфорированных таблиц. Маленькая команда из трёх математиков и горстки инженеров упёрлась в потолок масштаба.
Решение было политическим: поделиться всем. 25 июля 1939 года в лесном комплексе Бюро шифров в Пырах — пригороде к югу от Варшавы — началась секретная трёхдневная встреча. Британскую делегацию возглавлял Аластер Деннистон, руководитель Правительственной школы кодов и шифров (будущего Блетчли-парка); с ним приехали Дилли Нокс — один из лучших британских криптоаналитиков, ветеран ещё Первой мировой — и Хамфри Сэндвич. Французскую сторону представляли Гюстав Бертран и Анри Бракение.
То, что произошло дальше, Нокс позже описал как потрясение. Поляки показали всё: реконструированную проводку роторов, методы извлечения ключей, циклометр, бомбу, листы Зыгальского. И передали каждой стороне по экземпляру рабочей копии Enigma — тех самых машин, изготовленных фирмой AVA. Британцы, которые годами бились над Enigma и считали задачу, по словам Нокса, почти безнадёжной, получили готовый фундамент.
Встреча продолжалась до 27 июля. Через пять недель, 1 сентября, вермахт пересёк польскую границу.
Здесь важно не впасть в зеркальную мифологию. Существует британский миф — о гении Тьюринга, в одиночку взломавшем Enigma в сельском поместье. Существует и польский — о тройке математиков, которые сделали всю работу, а британцы лишь воспользовались плодами. Реальность, как водится, сложнее и интереснее обеих версий.
Блетчли-парк к моменту встречи в Пырах уже занимался Enigma. Нокс работал над задачей, британская служба радиоперехвата Y-stations собирала немецкий трафик. Но без польского прорыва британцы, грубо говоря, ковыряли замок отмычкой, не зная, сколько в нём штифтов. Передача из Пыр дала им полную схему замка — и доказательство того, что он вскрываем.
Дальше включился масштаб, которого у Польши никогда не было. Алан Тьюринг и Гордон Уэлчман спроектировали британские Bombes — электромеханические машины, концептуально родственные польской бомбе, но радикально более мощные и основанные на ином принципе (метод «крибов» — предполагаемых фрагментов открытого текста). К пику работы в Блетчли-парке действовало более двухсот таких машин. Сеть станций перехвата покрывала всю Атлантику и Средиземноморье. Тысячи людей — лингвисты, операторы, курьеры, инженеры — обеспечивали конвейер, который превращал перехваченные радиограммы в разведывательные сводки Ultra. К этому добавлялись захваченные кодовые книги и роторы с немецких подводных лодок и кораблей — каждый такой трофей давал материал для нового рывка.
Польская тройка заложила фундамент. Британская система возвела на нём здание промышленного масштаба. Одно без другого не работало — или, точнее, работало бы с опозданием в месяцы или годы, которых у союзников не было.
В мае 1940 года немцы изменили процедуру передачи ключей — отменили двойное шифрование трёхбуквенного ключа сообщения. Та самая уязвимость, которую Реевский эксплуатировал с 1932 года, — шестибуквенный заголовок с повторяющейся структурой — исчезла. Циклометр, каталог, бомба в её польском варианте и листы Зыгальского в их исходном применении потеряли прямую эффективность.
Но фундамент — знание проводки роторов, понимание архитектуры машины, сам принцип алгебраического подхода к электромеханическому шифратору — остался. Британские Bombes уже работали на другом принципе и от смены процедуры не зависели. Тьюринг, по сути, предвидел что-то подобное: его метод опирался не на процедурную слабость, а на статистические свойства самого шифротекста и предполагаемых фрагментов открытого текста. Польская школа дала ему точку старта — а дальше он бежал по собственной траектории.
Что касается самих польских криптологов — после оккупации Польши они эвакуировались через Румынию во Францию, где продолжили работу под руководством Бертрана в центре «Кадикс» на юге Франции. Ежи Рожицкий погиб 9 января 1942 года — корабль, на котором он возвращался из Алжира во Францию, затонул в Средиземном море. Реевский и Зыгальский после падения Виши бежали через Испанию (где были интернированы) в Великобританию, но к работе в Блетчли-парке допущены не были — по соображениям секретности. Они провели остаток войны, занимаясь менее значимыми шифрами в польском подразделении при британских вооружённых силах.
Мариан Реевский после войны вернулся в Польшу. Он работал бухгалтером. Человек, который в двадцать семь лет совершил один из крупнейших криптоаналитических прорывов столетия, вёл учёт на предприятии в Быдгоще. О его работе в Biuro Szyfrów мир узнал только в 1970-х, когда британские архивы начали частично рассекречиваться, а сам Реевский написал мемуары. Он умер 13 февраля 1980 года в Варшаве, за несколько лет до того, как его имя стало широко известным.
Мне трудно не думать о масштабе этого несоответствия. Семь лет работы — с 1932 по 1939 год — уместились в три дня передачи в лесу под Варшавой. Эти три дня дали союзникам язык, на котором они научились читать немецкие секреты. А потом страна, создавшая этот язык, была разделена между Германией и Советским Союзом, и её математики стали беженцами.
История Пыр — не история одиночного гения. Реевский работал в команде с Рожицким и Зыгальским. Его обеспечивали офицеры Покорный, Ценжкий и Паллют. Ему передали критически важные документы Бертран и, сам того не подозревая, Шмидт. Его машины строили инженеры фирмы AVA. А результатами его работы воспользовались Тьюринг, Уэлчман и тысячи сотрудников Блетчли-парка. Это цепочка, в которой каждое звено необходимо, — и вынуть из неё польское звено нельзя, не разрушив всю конструкцию. Когда после войны Реевского спрашивали, как он взломал Enigma, он отвечал, что применил стандартную теорию перестановок — и что любой математик на его месте сделал бы то же самое. В этом, пожалуй, было больше вежливости, чем правды: «любой математик» почему-то не сделал этого ни во Франции, ни в Британии, пока не получил из Варшавы готовый ответ.