Енігма — електромеханічна Поліалфавітний машина: три колеса Ротор перекроюють Алфавіт з кожним натисканням клавіші, а Рефлектор відбиває сигнал крізь колеса назад — тож та сама літера майже ніколи не шифрується двічі однаково.
Інструмент моделює Enigma I у фіксованій конфігурації:
Ротори I, II і III, зліва направо, зі стартом від ключа, який ви набираєте (три літери, A–Z — Grundstellung, стартові позиції);
Рефлектор B;
без штекерної панелі та з прямою вхідною шайбою.
Будьмо чесними зі словом ключ: на справжній машині ключовий лист містив також порядок роторів (п'ять роторів, з яких обирали три), кільцеві налаштування та до десяти пар Штекерна панель. Три літери тут — лише стартові позиції: найменший шматочок справжнього ключа Енігми.
Виставте три ротори на ключ, скажімо AAA.
Наберіть літеру. Спершу ротори повертаються — праве колесо зсувається на одну позицію з кожним натисканням.
Далі сигнал біжить: крізь вхідну шайбу, справа наліво крізь три ротори, в рефлектор, який відсилає його зліва направо крізь ті самі ротори, й нарешті знову крізь вхідну шайбу.
Над клавіатурою спалахує лампа: це літера шифротексту.
Це найславетніша контрольна перевірка в криптології: Enigma I,
ротори I-II-III, рефлектор B, стартові позиції AAA, набір AAAAA
дає BDZGO. Слідкуйте за середнім стовпцем — віконце роторів
повзе AAB, AAC, AAD… поки ви друкуєте, і кожна A шифрується в
іншому стані роторів, тому й виходи різні.
Правий ротор зсувається з кожним натисканням — 26 кроків, потім переносить у середній ротор.
У кожного ротора є вирубка: коли він переступає свою вирубку (ротор I переносить після Q), колесо ліворуч від нього теж зсувається.
Середній ротор має славетну особливість подвійного кроку: стоячи на власній вирубці, він зсувається двічі поспіль, тож лівий ротор повертається раніше, ніж підказував би охайний одометр.
Рефлектор міняє літери парами (A↔Y, R↔U…) і ніколи не відображає літеру на неї саму. Оскільки кожна ділянка шляху проходиться вперед, а потім назад у дзеркальному порядку, вся машина — власний обернений елемент: ті самі стартові позиції, набраний шифротекст — і спалахує відкритий текст. Тому в інструмента немає справжнього «режиму розшифрування» — кнопка обміну це ввічливість, а не потреба.
Спробувати в інструментіНаберіть повідомлення у поле повідомлення. Подорожують лише літери A–Z — пробіли, цифри й розділові знаки зникають без коментаря, точнісінько як на справжній машині, яка не мала клавіші пробілу.
Виставте трилітерний ключ у поле «Ключ» — стартові позиції
роторів, скажімо AAA.
Прочитайте результат у поле результату. Колеса котяться самі; більше нічого регулювати не треба.
Вставте криптограму у поле повідомлення. Тримайте її в голих літерах — інструмент усе інше ігнорує.
Виставте у поле «Ключ» той самий трилітерний ключ, що й у відправника. Помилковий ключ дає чистий шум, а не граційне погіршення.
Натисніть кнопку обміну кнопку обміну — а можна й не натискати. Енігма сама собі обернена: шифрування й розшифрування — та сама операція; кнопка обміну існує лише заради симетрії з іншими інструментами сайту.
Справжній трафік ділили на частини: оператор обирав випадкову ключ повідомлення, шифрував ним повідомлення й висилав цей ключ (двічі — звичка, що стала фатальною) на початку передачі.
Що б це зімітувати: зашифруйте тіло з одним ключем у поле «Ключ», запишіть шифротекст, потім почніть новий прогін з ключем повідомлення і зашифруйте сам трилітерний ключ. Отримувач робив ті самі кроки у зворотному порядку.
Зашифруйте те саме повідомлення під двома різними ключами й порівняйте виходи — жодного видимого зв'язку не виживає, і саме заради цього рухається ротори.
Саму машину Енігма ніхто не «зламав» так, як падають Цезар чи Віженер — її математика, повідомлення за повідомленням, перевищувала паперову арифметику будь-кого. Зламали систему довкола неї: звички, процедури, cribs. Ця сторінка розповідає ту історію, бо це найбільший урок криптоаналізу з усіх.
Спробувати в інструментіТри процедурні дарунки потопили Енігму:
Подвоєний ключ повідомлення. Оператори шифрували трилітерний ключ кожного повідомлення двічі на початку кожної передачі — шість літер, у яких перша й четверта, друга й п'ята, третя й шоста мали гарантовані зв'язки. Саме цю структуру використав Мар'ян Рєвєзький, щоб 1932 року математично відновити ротори — навіть не торкаючись машини.
Ключове слово. Рутинні формули — зведення погоди (WETTER…),
привітання, шапки ANX, передбачувані формуляри — давали
Блечлі-парку шматок імовірного відкритого тексту майже для кожного
денного трафіку.
Ключі, обрані людьми. Правила «жодних однакових сусідніх літер», що забороняли AAA та QWE, робили операторські ключі слабшими, а ледачі ключі (три ряди клавіатури) з'являлися все одно.
Британська бомба (спроєктована Аланом Тюрінгом, з вирішальним
поліпшенням Ґордона Велчлі після польської бомби) не шукала ключів.
Маючи crib, вона шукала неможливі налаштування роторів:
Crib на кшталт WETTER каже: літера відкритого W стає шифрованою X
на позиції 1, E→Y на позиції 2 тощо.
Для кожного кандидата-налаштування бомба перевіряла, чи ця відповідність узгоджена з проводкою машини — чимало cribs породжують петлі (ланцюги тверджень про пари літер, що замикаються самі на себе), і петля робить цілий клас налаштувань логічно суперечливим.
Кожна суперечність знімала тисячі налаштувань одним махом; нечисленних уцілілих перевіряли на справжній машині, шукаючи зрозумілу німецьку.
Це логіка обмежень, а не повний перебір — предок розв'язувальних стратегій, якими сьогодні живе вся інформатика.
Симуляція бомби потребує crib, двигуна суперечностей і пошуку за порядками роторів, кільцями та штекерними панелями — окремого проєкту, далеко за межами пошукових зламувачів цього сайту. Демонстрація вище працює так, як діяв би супротивник справжнього радиста: із захопленим або вгаданим ключем розшифрування — одне вставляння; важкою частиною завжди було здобути той ключ, і та частина живе в історії, а не в цьому інструменті.
Історик Гаррі Гінслі оцінив, що розвідка з Енігми (Ultra) скоротила Другу світову на два-чотири роки. Жодна інша перемога над шифром не має порівнянних претензій. Машина, що програла, не була слабкою — слабкою була процедура довкола неї, і ця відмінність — найглибший урок цього сайту: криптографія це система, а системи ламаються в найслабшій звичці.
Порівняйте зі сторінкою Віженера: Віженер впав під статистикою; Енігма впала під процедурами. Обидві атаки цілять у систему.
Польська бомба й британська бомба — дві різні машини з однією
назвою й однією праматір'ю; сторінка історії їх розплутує.