Cabinet Noir>Навчання / Машина «Енігма»

Не знаєте, який це шифр? Розпізнайте його
Роторна машина: три колеса й рефлектор перекроюють алфавіт з кожним натисканням клавіші.
Типполіалфавітний шифр підстановки
Зламскладно зламати вручну
Епоха1920-ті — 1940-ві
НазваВинайдена Артуром Шербіусом у Німеччині; запатентована 1918 року, на озброєнні німецького війська з 1926-го.
Режимишифрування · розшифрування

Навчання

Машина «Енігма»

Як працює машина «Енігма»

Ідея одним реченням

Енігма — електромеханічна Поліалфавітний машина: три колеса Ротор перекроюють Алфавіт з кожним натисканням клавіші, а Рефлектор відбиває сигнал крізь колеса назад — тож та сама літера майже ніколи не шифрується двічі однаково.

Машина на цьому сайті

Інструмент моделює Enigma I у фіксованій конфігурації:

  • Ротори I, II і III, зліва направо, зі стартом від ключа, який ви набираєте (три літери, A–Z — Grundstellung, стартові позиції);

  • Рефлектор B;

  • без штекерної панелі та з прямою вхідною шайбою.

Будьмо чесними зі словом ключ: на справжній машині ключовий лист містив також порядок роторів (п'ять роторів, з яких обирали три), кільцеві налаштування та до десяти пар Штекерна панель. Три літери тут — лише стартові позиції: найменший шматочок справжнього ключа Енігми.

Рецепт

  1. Виставте три ротори на ключ, скажімо AAA.

  2. Наберіть літеру. Спершу ротори повертаються — праве колесо зсувається на одну позицію з кожним натисканням.

  3. Далі сигнал біжить: крізь вхідну шайбу, справа наліво крізь три ротори, в рефлектор, який відсилає його зліва направо крізь ті самі ротори, й нарешті знову крізь вхідну шайбу.

  4. Над клавіатурою спалахує лампа: це літера шифротексту.

Розібраний приклад

Крок 1 із 5
Літера відкритого тексту
Віконце роторів (I·II·III)
Результат
A
AAB
B

Це найславетніша контрольна перевірка в криптології: Enigma I, ротори I-II-III, рефлектор B, стартові позиції AAA, набір AAAAA дає BDZGO. Слідкуйте за середнім стовпцем — віконце роторів повзе AAB, AAC, AAD… поки ви друкуєте, і кожна A шифрується в іншому стані роторів, тому й виходи різні.

Котящийся алфавіт

  • Правий ротор зсувається з кожним натисканням — 26 кроків, потім переносить у середній ротор.

  • У кожного ротора є вирубка: коли він переступає свою вирубку (ротор I переносить після Q), колесо ліворуч від нього теж зсувається.

  • Середній ротор має славетну особливість подвійного кроку: стоячи на власній вирубці, він зсувається двічі поспіль, тож лівий ротор повертається раніше, ніж підказував би охайний одометр.

Чому та сама машина шифрує й розшифровує

Рефлектор міняє літери парами (A↔Y, R↔U…) і ніколи не відображає літеру на неї саму. Оскільки кожна ділянка шляху проходиться вперед, а потім назад у дзеркальному порядку, вся машина — власний обернений елемент: ті самі стартові позиції, набраний шифротекст — і спалахує відкритий текст. Тому в інструмента немає справжнього «режиму розшифрування» — кнопка обміну це ввічливість, а не потреба.

Спробувати в інструменті

Покрокові інструкції

Зашифруйте перше повідомлення

  1. Наберіть повідомлення у поле повідомлення. Подорожують лише літери A–Z — пробіли, цифри й розділові знаки зникають без коментаря, точнісінько як на справжній машині, яка не мала клавіші пробілу.

  2. Виставте трилітерний ключ у поле «Ключ» — стартові позиції роторів, скажімо AAA.

  3. Прочитайте результат у поле результату. Колеса котяться самі; більше нічого регулювати не треба.

Розшифруйте отримане повідомлення

  1. Вставте криптограму у поле повідомлення. Тримайте її в голих літерах — інструмент усе інше ігнорує.

  2. Виставте у поле «Ключ» той самий трилітерний ключ, що й у відправника. Помилковий ключ дає чистий шум, а не граційне погіршення.

  3. Натисніть кнопку обміну кнопку обміну — а можна й не натискати. Енігма сама собі обернена: шифрування й розшифрування — та сама операція; кнопка обміну існує лише заради симетрії з іншими інструментами сайту.

Попрацюйте як писар із шифроблокнотом

  1. Справжній трафік ділили на частини: оператор обирав випадкову ключ повідомлення, шифрував ним повідомлення й висилав цей ключ (двічі — звичка, що стала фатальною) на початку передачі.

  2. Що б це зімітувати: зашифруйте тіло з одним ключем у поле «Ключ», запишіть шифротекст, потім почніть новий прогін з ключем повідомлення і зашифруйте сам трилітерний ключ. Отримувач робив ті самі кроки у зворотному порядку.

  3. Зашифруйте те саме повідомлення під двома різними ключами й порівняйте виходи — жодного видимого зв'язку не виживає, і саме заради цього рухається ротори.

Злам машини «Енігма»

Саму машину Енігма ніхто не «зламав» так, як падають Цезар чи Віженер — її математика, повідомлення за повідомленням, перевищувала паперову арифметику будь-кого. Зламали систему довкола неї: звички, процедури, cribs. Ця сторінка розповідає ту історію, бо це найбільший урок криптоаналізу з усіх.

Спробувати в інструменті

Вада: міцна машина в руках, що протікають

Три процедурні дарунки потопили Енігму:

  1. Подвоєний ключ повідомлення. Оператори шифрували трилітерний ключ кожного повідомлення двічі на початку кожної передачі — шість літер, у яких перша й четверта, друга й п'ята, третя й шоста мали гарантовані зв'язки. Саме цю структуру використав Мар'ян Рєвєзький, щоб 1932 року математично відновити ротори — навіть не торкаючись машини.

  2. Ключове слово. Рутинні формули — зведення погоди (WETTER…), привітання, шапки ANX, передбачувані формуляри — давали Блечлі-парку шматок імовірного відкритого тексту майже для кожного денного трафіку.

  3. Ключі, обрані людьми. Правила «жодних однакових сусідніх літер», що забороняли AAA та QWE, робили операторські ключі слабшими, а ледачі ключі (три ряди клавіатури) з'являлися все одно.

Бомба: машини суперечностей, а не пошук ключа

Британська бомба (спроєктована Аланом Тюрінгом, з вирішальним поліпшенням Ґордона Велчлі після польської бомби) не шукала ключів. Маючи crib, вона шукала неможливі налаштування роторів:

  • Crib на кшталт WETTER каже: літера відкритого W стає шифрованою X на позиції 1, E→Y на позиції 2 тощо.

  • Для кожного кандидата-налаштування бомба перевіряла, чи ця відповідність узгоджена з проводкою машини — чимало cribs породжують петлі (ланцюги тверджень про пари літер, що замикаються самі на себе), і петля робить цілий клас налаштувань логічно суперечливим.

  • Кожна суперечність знімала тисячі налаштувань одним махом; нечисленних уцілілих перевіряли на справжній машині, шукаючи зрозумілу німецьку.

Це логіка обмежень, а не повний перебір — предок розв'язувальних стратегій, якими сьогодні живе вся інформатика.

Чому в цьому інструменті немає зламувача

Симуляція бомби потребує crib, двигуна суперечностей і пошуку за порядками роторів, кільцями та штекерними панелями — окремого проєкту, далеко за межами пошукових зламувачів цього сайту. Демонстрація вище працює так, як діяв би супротивник справжнього радиста: із захопленим або вгаданим ключем розшифрування — одне вставляння; важкою частиною завжди було здобути той ключ, і та частина живе в історії, а не в цьому інструменті.

Вердикт

Історик Гаррі Гінслі оцінив, що розвідка з Енігми (Ultra) скоротила Другу світову на два-чотири роки. Жодна інша перемога над шифром не має порівнянних претензій. Машина, що програла, не була слабкою — слабкою була процедура довкола неї, і ця відмінність — найглибший урок цього сайту: криптографія це система, а системи ламаються в найслабшій звичці.

Куди далі

  • Порівняйте зі сторінкою Віженера: Віженер впав під статистикою; Енігма впала під процедурами. Обидві атаки цілять у систему.

  • Польська бомба й британська бомба — дві різні машини з однією назвою й однією праматір'ю; сторінка історії їх розплутує.

Глосарій

Відкритий текст — Початкове читабельне повідомлення до шифрування.
Шифротекст — Перемішане повідомлення, отримане після шифрування.
Ключ — Секрет, що визначає, як саме змішується текст.
Алфавіт — Набір літер, з якими працює шифр.
Поліалфавітний — Шифр, що послідовно використовує кілька алфавітів замість одного.
Ротор — Колесо з проводкою, що пропускає літери крізь фіксоване переплутання й повертається на крок з кожним натисканням, змінюючи відповідність під час друку.
Штекерна панель — Панель пар кабелів, що міняє літери місцями до і після роторів; головний множник простору ключів Енігми.
Рефлектор — Фіксована, самообернена проводка, що відбиває сигнал назад крізь ротори; робить Енігму оберненою саму в себе, але ніколи не відображає літеру на неї саму.
Ключове слово — Слово, яке ви припускаєте у відкритому тексті; порівняння з шифротекстом розкриває літери ключа.