Маріан Адам Реє́вський ( , Бидгощ, Німецька імперія — , Варшава, Польща) — польський математик і криптограф. Спільно з Генріхом Зигальським і Єжи Ружицьким в 1932 році розгадав механізм машини «Енігма», головного шифрувального пристрою, який використовувався Німеччиною. Успіх Реєвського і його колег дозволив британським військам розгадувати повідомлення, зашифровані за допомогою Енігми, у Другу світову війну. Накопичені розвідкою відомості під кодовою назвою «Ultra» виявилися, можливо, вирішальними для перемоги над Німеччиною.

Біографія Вивчаючи математику в університеті в Познані, Реєвський відвідував секретний курс по криптографії, що проводився польським Бюро шифрів при Генеральному штабі, в який він вступив на повний робочий день в 1932 році. Бюро досягло невеликих успіхів в розшифровуванні Енігми і наприкінці 1932 року Реєвський був прийнятий для роботи над цим завданням. Через всього лише кілька тижнів він розгадав секрет внутрішньої проводки Енігми. Потім Реєвський і двоє його колег-математиків розробили різні технічні пристрої для систематичного розшифрування повідомлень, зашифрованих за допомогою Енігми. Розробки Реєвського, включені в так звану «картотеку», отримані з використанням його пристроїв «циклометр» і «криптологічна бомба».

За п'ять тижнів до вторгнення Німеччини в Польщу в 1939 році, Реєвський і його колеги представили результати своїх досліджень з розшифровки Енігми французькій та британській розвідці. Незабаром після початку війни польські криптографи були евакуйовані у Францію, де вони продовжили свою роботу у співпраці з британськими та французькими колегами. Вони знову були змушені евакуюватися після падіння Франції в червні 1940 року, але через кілька місяців повернулися до таємної роботи в вішістській Франції. Після того, як країну повністю окупувала Німеччина в листопаді 1942-го, Реєвський і математик Генріх Зигальський втекли через Іспанію, Португалію і Гібралтар у Велику Британію. Там вони працювали в підрозділі Польської Армії, розгадуючи німецькі шифри низького рівня. У 1946 році Реєвський повернувся до своєї сім'ї в Польщу і працював бухгалтером, зберігаючи мовчання про свою роботу криптографом до 1967 року.

Навчання і перша робота

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

На початку 1929 року, незадовго до закінчення університету, Реєвський став відвідувати секретні криптографічні курси для обраних німецькомовних студентів-математиків, що проводило Бюро шифрів () при Польському Генеральному штабіThe course began on January 15, 1929. A letter dated «Warsaw, January 29, 1929, To Professor Z. Krygowski, in Poznań, ul. Głogowska 74/75, „and signed by the“ Chief of the General Staff, Piskor [ie, Tadeusz Piskor], Generał Dywizji , „reads:“ I hereby thank Pan Profesor for his efforts and assistance given to the General Staff in organizing the cipher [ie, cryptology] course opened in Poznań on January 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, ст. 5—6.

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

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

Енігма У жовтні 1932 року, коли ще йшла робота над військово-морським кодом, Реєвський був таємно спрямований на роботу над розшифровкою нової німецької шифрувальної машини, Енігма I, яка набула широкого поширення у німецьких військах. Хоча, згідно з пізнішою доповіддю, Бюро шифрів досягло успіху в розгадки ранньої, позбавленої комутаційної панелі, Енігми I, насправді їм це не вдалосяKozaczuk, 1984, ст. 12.

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

Для розшифровки повідомлень Енігми потрібно три пункти: Розуміння того, як працює Енігма. Схема проводки в роторах. Відповідні до певного дня настройки: порядок і положення роторів (яких спочатку було три), а також схема з'єднань на комутаційній панелі.

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

Розгадування проводки Енігми

Спершу Реєвський бився над розгадкою схеми проводки роторів. Для цього він використовував чисту математику в криптоаналізі. Первинний метод широко використовував лінгвістичні схеми і статистику текстів природною мовою — частоту появи тих чи інших букв. Реєвський навіть застосовував техніку з теорії груп — теореми про перестановки. Ці математичні методи в поєднанні з матеріалами, що постачала французька розвідка, дозволили йому реконструювати внутрішню проводку роторів машини і нерухомого рефлектора. «Розгадка», пише історик Девід Кан, «була приголомшливим досягненням, що належало Реєвському, і яке прославило його до пантеону найбільших криптографов всіх часів»Kahn, 1996, ст. 974. Реєвський використовував математичну теорему, яку один професор математики відтоді називав «теоремою, яка виграла Другу світову війну»Good and Deavours, 1981, ст. 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, ст. 254—255.

Допомога з Франції Тут Реєвський почав зазнавати труднощів: велика кількість невідомих вимагала систему рівнянь. Пізніше в 1980 році він скаже, що до сих пір не відомо, чи можна вирішити таку систему з шести рівнянь без додаткових даних. Але у нього була підтримка у вигляді документів, які відділ французької розвідки (Deuxième Bureau), під керівництвом майбутнього генерала Гюстава Бертрана, роздобув і доставив в польське Бюро шифрів. Документи були здобуті шпигуном Ганс-Тіло Шмідтом в німецькій службі шифрів і включали в себе налаштування Енігми для вересня та жовтня 1932 року. 9 або 10 грудня 1932 року документи були віддані Реєвському, який використовував їх для видалення впливу комутаційної панелі на рівняння. Із зменшеним числом невідомих рішення рівнянь перестало бути проблемою.