Мариа́н Адам Рее́вский (; ; 16 августа 1905, Бромберг — 13 февраля 1980, Варшава) — польский математик и криптограф. Совместно с Генриком Зыгальским и Ежи Ружицким в 1932 году разгадал механизм машины «Энигма», главного шифровального устройства, использовавшегося нацистской Германией. Успех Реевского и его коллег позволил британским войскам разгадывать сообщения, зашифрованные с помощью Энигмы, во Вторую мировую. Накопленные разведкой сведения под кодовым названием «Ultra» оказались, возможно, решающими для победы над нацистской Германией(1).

Изучая математику в университете в Познани, Реевский посещал секретный курс по криптографии, проводившийся польским Бюро шифров при Генштабе, в который он поступил на полный рабочий день в 1932 году. Бюро достигло небольших успехов в расшифровке Энигмы и в конце 1932 года Реевский был принят для работы над этой задачей. Спустя всего лишь несколько недель он разгадал секрет внутренней проводки Энигмы. Затем Реевский и двое его коллег-математиков разработали различные технические устройства для систематической расшифровки сообщений, зашифрованных при помощи Энигмы. Разработки Реевского, включенные в так называемую «картотеку» (), получены с использованием его устройств «циклометр» и «криптологическая бомба».

За пять недель до вторжения Германии в Польшу в 1939 году, Реевский и его коллеги представили результаты своих исследований по расшифровке Энигмы французской и британской разведке. Вскоре после начала войны польские криптографы были эвакуированы во Францию, где они продолжили свою работу в сотрудничестве с британскими и французскими коллегами. Они вновь были вынуждены эвакуироваться после падения Франции в июне 1940-го, но спустя несколько месяцев вернулись к тайной работе в вишистской Франции. После того, как страна была полностью оккупирована Германией в ноябре 1942-го, Реевский и математик Генрих Зыгальский бежали через Испанию, Португалию и Гибралтар в Великобританию. Там они работали в подразделении Польской Армии, решая немецкие шифры низкого уровня. В 1946 году Реевский вернулся к своей семье в Польшу и работал бухгалтером, храня молчание о своей работе криптографом до 1967 года.

Обучение и первая работа

Мариан Реевский родился 16 августа 1905 года, в Бромберге, ныне Быдгощ.(2) Его родителями были Йозеф, продавец сигар, и Матильда, в девичестве Thoms. Он посещал уроки немецкого в (Королевская школа грамматики в Бромберге) и окончил среднюю школу, сдав матуру (аналог аттестата зрелости в Польше) в 1923. Затем Реевский обучался математике в Университете в Познани, который он окончил 1 марта 1929 года.

В начале 1929-го, незадолго до окончания университета, Реевский стал посещать секретные криптографические курсы для избранных немецкоговорящих студентов-математиков, проводившиеся Бюро шифров () при Польском Генеральном Штабе.The course began on 15 января, 1929. A letter dated «Warsaw, 29 января, 1929, To Professor Z. Krygowski, in Poznań, ul. Głogowska 74/75,» and signed by the «Chief of the General Staff, Piskor [i.e., Tadeusz Piskor], Generał Dywizji,» reads: «I hereby thank Pan Profesor for his efforts and assistance given to the General Staff in organizing the cipher [i.e., cryptology] course opened in Poznań on 15 января, 1929.» The letter is reproduced in Stanisław Jakóbczyk and Janusz Stokłosa, Złamanie szyfru Enigma (The Breaking of the Enigma Cipher), 2007, p. 44. Реевский и студенты Генрих Зыгальский и Ежи Ружицкий были теми немногими, кто мог следовать учебному курсу, учитывая требования их исследований.

Реевский окончил университет, получив степень магистра математики; темой его дипломной работы была «Теория двойных периодических функций второго и третьего рода и их применения». Несколько недель спустя он начал двухгодичное обучение на актуария в Гёттингене, в Германии.

Он не закончил обучение, так как летом 1930 года согласился принять должность ассистента для преподавания математики в Университете в Познани. В то же самое время он также поступил на неполный рабочий день в Бюро шифров, которое к тому времени закрыло курсы криптографии и создало форпост в Познани для расшифровки перехваченных немецких радио-сообщений. Реевский работал по 12 часов в неделю рядом с Институтом математики в подземелье, которое прозвали «Черной комнатой».Kozaczuk, 1984, pp. 5—6

Летом 1932 Познанский филиал Бюро шифров был распущен. 1 сентября 1932, как гражданский служащий, Реевский вместе с Зыгальским и Ружицким присоединился к Бюро шифров в здании Генерального штаба (Саксонский дворец) в Варшаве.

Их первым заданием была расшифровка четырёхсимвольного кода, использовавшегося Кригсмарине (Немецкий ВМФ). Прогресс в разгадке этой системы был слишком медленным, но значительно ускорился после перехвата тестового обмена закодированными сообщениями. Было получено шесть групп сигналов, за которыми следовал ответ из четырёх групп. Криптографы верно догадались, что первым сигналом был вопрос «Когда родился Фридрих Великий?», за которым следовал ответ «1712».Kozaczuk, 1984, pp. 10—11

Энигма В октябре 1932, когда ещё шла работа над военно-морским кодом, Реевский был в одиночку тайно направлен на работу над расшифровкой новой немецкой шифровальной машины, Энигма I, которая получила широкое распространение у немецких войск. Хотя, согласно позднему докладу, Бюро шифров преуспело в разгадке ранней, лишенной коммутационной панели, Энигмы I(3), на самом деле им это не удалось.Kozaczuk, 1984, p. 12

Энигма была электромеханическим устройством, оборудованным 26-клавишной клавиатурой и набором из 26 ламп, соответствующих буквам латинского алфавита. Внутри был набор цилиндров со встроенной электропроводкой («роторы» и «рефлектор»), который шифровал ввод. Машина также отличалась наличием коммутационной панели для замены пар букв. Чтобы расшифровать букву, оператор нажимал соответствующую клавишу и записывал, которая из ламп загорелась. Каждое нажатие клавиши заставляло один или несколько роторов двигаться, таким образом расшифровка менялась от одного нажатия клавиши к следующему. Для того, чтобы два оператора могли общаться, в обеих Энигмах требовалось установить абсолютно одинаковое положение роторов. Большое число возможных положений роторов и коммутационной панели порождало астрономическое число различных вариаций, каждая из которых создавала свой индивидуальный шифр. Настройки менялись ежедневно, в результате чего машина снова и снова «ломалась» каждый день, если сообщения приходили непрерывно.

Для расшифровки сообщений Энигмы требовалось три пункта: Понимание того, как работает Энигма, Схема проводки в роторах, Соответствующие сегодняшнему дню настройки: порядок и положение роторов (которых изначально было три), а также схема соединений на коммутационной панели.

Реевский владел только ответом на первый вопрос, базирующемся на информации, полученной Бюро шифров.Kozaczuk, 1984, pp. 12, 19—20

Разгадка проводки Энигмы

Сперва Реевский бился над разгадкой схемы проводки роторов. Для этого он использовал чистую математику в криптоанализе. Первоначальный метод широко использовал лингвистические схемы и статистику текстов на естественном языке — частоту появления тех или иных букв. Реевский даже применял технику из теории групп — теоремы о перестановкаx — в своих криптографических атаках на Энигму. Эти математические методы в сочетании с материалами, поставляемыми французской разведкой, позволили ему реконструировать внутреннюю проводку роторов машины и неподвижного рефлектора. «Разгадка», пишет историк Дэвид Кан, «была принадлежащим Реевскому ошеломляющим достижением, которое возвысило его до пантеона величайших криптографов всех времен».Kahn, 1996, p. 974 Реевский использовал математическую теорему, которую один профессор математики с тех пор называл «теоремой, выигравшей Вторую мировую».Good and Deavours, 1981, pp. 229, 232

Реевский исследовал первые 6 букв всех сообщений Энигмы, полученных за один день. Для безопасности, каждое сообщение, посылаемое Энигмой, было зашифровано при различных начальных установках трех роторов. Эти установки произвольно выбирались оператором, информация о них — три символа, назвалась «сообщение настроек». Для передачи этого сообщения принимающему оператору, отправляющий оператор шифровал его, получая шестизнаковый «индикатор», которым начинал каждое сообщение. Индикатор был сформирован при помощи Энигмы с роторами, установленным в положение, соответствующее текущим дневным настройкам, обозначенным «главными настройками», общими для всех операторов. К несчастью для Германии, устроенный таким образом индикатор являлся основным слабым местом в системе.

Например, предположим, что оператор выбрал для сообщения «сообщение настроек» KYG. Сначала оператор должен выставить роторы Энигмы в соответствии с «главными настройками», которые действуют в этот день, например, GBL, а затем зашифровать сообщение настроек на Энигме «дважды»; то есть оператор должен ввести KYGKYG (в результате может получиться что-то вроде QZKBLX). Затем оператор должен переставить роторы в положение KYG и зашифровать само сообщение. Принимающий оператор должен применить обратный процесс для расшифровки сообщения настроек, а затем самого сообщения. Повторение сообщения настроек по-видимому предназначалось для проверки на наличие ошибок и выявления искажений, но оно имело непредвиденное последствие — значительное ослабление стойкости шифра. Благодаря повторению в индикаторе сообщения настроек, Реевский знал, что в индикаторе первая и четвёртая буква были закодированной одной и той же, вторая соответствовала пятой, а третья шестой. Эти соотношения можно было использовать для разгадки шифра.

Реевский изучал эти соотносящиеся пары букв. Например, если было четыре сообщения, которые имели следующие индикаторы за один день: BJGTDN, LIFBAB, ETULZR, TFREII, то посмотрев на первые и четвёртые буквы каждого индикатора, он знал, что соответствующие пары букв взаимосвязаны. B относится к T, L к B, E к L, а T к E: (B,T), (L,B), (E,L), и (T,E). Если у него было достаточно различных сообщений, с которыми можно было работать, он мог строить целые последовательности отношений: буква B связана с T, которая следует за E, затем L и снова B (на иллюстрации). Это был «четырёхэтапный цикл», так как происходило четыре шага, прежде чем он возвращался на начальную букву. Другой цикл в тот же день мог быть AFWA, или «тройной цикл». Если было достаточно сообщений за один день, все буквы алфавита могли охватываться различными циклами разных размеров. Циклы были совместимы всего один день, затем они менялись на другие наборы циклов. Такой же анализ мог быть проведен над 2-й и 5-й буквами, 3ей и 6-й, выявляя циклы в каждом случае и количество этапов в них.

Используя данные таким образом, в сочетании с оплошностью операторов Энигмы, которые стали выбирать для индикаторов предсказуемые комбинации (инициалы подружек или наборы ключей, которые они видели на клавиатуре Энигмы), Реевский смог вывести шесть перестановок, соответствующих шести настройкам Энигмы. Эти перестановки могут быть описаны шестью уравнениями с различными неизвестными, описывающими проводку в машине и установки на коммутационной панели.Kozaczuk, 1984, pp. 254—255

Помощь из Франции Тут Реевский начал испытывать затруднения: большое количество неизвестных требовало систему уравнений. Позднее в 1980 он скажет, что до сих пор не известно, можно ли решить такую систему из шести уравнений без дополнительных данных. Но у него была поддержка в виде документов, которые отдел французской разведки — Второе бюро () под руководством будущего генерала Гюстава Бертрана — раздобыл и доставил в польское Бюро шифров. Документы были добыты шпионом Ганс-Тило Шмидтом в немецкой службе шифров и включали в себя настройки Энигмы для сентября и октября 1932 года. 9-го или 10-го декабря,(4) 1932 года документы были отданы Реевскому, который использовал их для удаления влияния коммутационной панели на уравнения. С уменьшенным числом неизвестных решение уравнений перестало быть проблемой.