Перейти к содержимому

Симулятор машины Энигма

Настройте Enigma I — три из пяти роторов, рефлектор B или C, кольца, начальные позиции и до десяти кабелей коммутационной панели, — затем печатайте: роторы сдвигаются, загорается лампа, и каждое нажатие клавиши прослеживается. Машина самообратна, поэтому те же настройки её и расшифровывают.

Загрузить пример

Настройки машины

Рефлектор

До десяти пар букв через пробел, например AV BS CG. Одна буква может входить только в одну пару.

На машине было только 26 клавиш с буквами, поэтому пробелы, цифры и знаки препинания не набираются. Операторы писали числа словами, а вместо точки ставили X.

Машина

Окна роторов

Левый

В окне Левый видна буква A

I

Средний

В окне Средний видна буква A

II

Правый

В окне Правый видна буква F

III

После последнего нажатия клавиши. Каждое нажатие сначала сдвигает правый ротор, и только потом проходит ток, поэтому первая буква шифруется уже на одно положение после начальной.

Панель ламп

Клавиатура

Путь последнего нажатия клавиши

  1. КлавишаA
  2. Коммутационная панельA
  3. III (Правый)G
  4. II (Средний)R
  5. I (Левый)U
  6. Рефлектор BC
  7. I (Левый)Y
  8. II (Средний)V
  9. III (Правый)O
  10. ЛампаO

Через коммутационную панель, роторы справа налево, рефлектор, затем обратно через роторы и коммутационную панель до лампы.

Результат

Записать результат как

BDZGO

набрано 5 букв

Чтобы расшифровать, установите те же роторы, кольца, коммутационную панель и начальную позицию и введите шифротекст: Enigma самообратна, поэтому те же настройки возвращают открытый текст.

Нажатия клавиш

#ОкнаКлавишаЛампа
1AABAB
2AACAD
3AADAZ
4AAEAG
5AAFAO

Как пользоваться симулятором машины Энигма

  1. 1. Настройте машину. Выберите рефлектор, затем для каждого гнезда — левого, среднего и правого — ротор, его кольцо и букву в окне в начале.
  2. 2. Подключите коммутационную панель. Введите до десяти пар букв, например AV BS CG; каждая пара меняет местами две буквы на входе и снова на выходе.
  3. 3. Введите сообщение, в поле или на клавишах. На машине было только 26 клавиш с буквами, поэтому пробелы, цифры и знаки препинания пропускаются — операторы писали числа словами, а вместо точки ставили X.
  4. 4. Смотрите, как она работает. Окна показывают роторы после последнего нажатия, панель ламп зажигает последнюю букву, а путь сигнала и журнал прослеживают каждое нажатие.
  5. 5. Расшифруйте с теми же настройками. Установите те же роторы, кольца, коммутационную панель и начальную позицию и введите шифротекст. Три примера загружают опубликованные тестовые случаи.

Как работает Enigma I

Нажатие клавиши делает две вещи, в таком порядке. Сначала роторы сдвигаются: правый ротор всегда поворачивается на одно положение, а выемка на его кольце переносит средний ротор на один шаг за каждый оборот. Затем ток идёт от клавиши через коммутационную панель, три ротора справа налево, рефлектор, роторы ещё раз слева направо и коммутационную панель снова, и зажигает лампу.

Каждый ротор — фиксированная перестановка алфавита, и поворот сдвигает её относительно букв, поэтому одна и та же клавиша каждый раз зажигает другую лампу. Рефлектор соединяет буквы парами, из-за чего машина самообратна — и никакая буква никогда не шифруется сама в себя. С роторами I, II и III, рефлектором B, кольцами AAA и начальной позицией AAA набор AAAAA зажигает B, D, Z, G и O: стандартная первая проверка любого симулятора Enigma.

Роторы и рефлекторы Enigma I
ЭлементСоединения от A → ZПереносВведён
Ротор IEKMFLGDQVZNTOWYHXUSPAIBRCJQ → R1930
Ротор IIAJDKSIRUXBLHWTMCQGZNPYFVOEE → F1930
Ротор IIIBDFHJLCPRTXVZNYEIWGAKMUSQOV → W1930
Ротор IVESOVPZJAYQUIRHXLNFTGKDCMWBJ → Kдекабрь 1938
Ротор VVZBRGITYUPSDNHLXAWMJQOFECKZ → Aдекабрь 1938
Рефлектор BYRUHQSLDPXNGOKMIEBFZCWVJAT—ноябрь 1937
Рефлектор CFVPJIAOYEDRZXWGCTKUQSBNMHL—1940, недолго

Перенос: когда ротор переходит из первой буквы своего окна во вторую, он на одно положение сдвигает ротор слева от себя.

Установка колец и двойной шаг

Установка кольца (Ringstellung) поворачивает проводку относительно кольца с буквами, а выемка остаётся на буквах. С кольцами BBB вместо AAA те же пять нажатий дают EWTYX.

У среднего ротора есть известная особенность: когда он доходит до своей позиции переноса, он сдвигается ещё раз при следующем нажатии и увлекает за собой левый ротор. Начиная с ADU с роторами I, II и III, окна показывают ADV, AEW, затем BFX — средний ротор прошёл от D к E и сразу дальше к F. Загрузите пример Двойной шаг, чтобы увидеть это.

Пример: сообщение с кольцами и коммутационной панелью

Полное сообщение загружает рабочий пример из статьи об Enigma в немецкой Википедии: рефлектор B, роторы I IV III, кольца 16 26 08 (P Z H) и кабели AD CN ET FL GI JV KZ PU QY WX. Оператор выбрал начальную позицию QWE, набрал ключ сообщения RTZ, увидел EWG и отправил QWE EWG открытым текстом.

Получатель устанавливает QWE, набирает EWG и читает RTZ по лампам. Установив RTZ, шифротекст EJZLB SYEQP DWDUE EJJOU PSOFL B… превращается в XAACH ENXAA CHENX ISTGE RETTE T…: Aachen ist gerettet, «Аахен спасён» — с X вместо пробелов и точек, двойным написанием названия места и CH, записанным как Q, по правилам немецких военных сообщений.

Взлом Enigma: Реевский, Блетчли-парк и Тьюринг

Артур Шербиус подал заявку на патент роторной машины в 1918 году и продал первую коммерческую Enigma в 1923 году. Немецкий флот принял модифицированную версию в 1926 году, армия добавила коммутационную панель в 1928 году, а Enigma I поступила на службу в 1930 году. Первыми её взломали польские математики: примерно в декабре 1932 года Мариан Реевский из польского Бюро шифров применил теорию перестановок к ежедневным ключам, которые французы получили от немецкого агента Ганса-Тило Шмидта, и восстановил проводку роторов. Вместе с Ежи Ружицким и Генриком Зыгальским он создал листы Зыгальского и электромеханическую бомбу, чтобы находить ежедневные настройки, а в июле 1939 года в Пырах под Варшавой поляки передали всё это французским и британским криптологам.

В Блетчли-парке Алан Тьюринг сконструировал британскую бомбу, которая проверяла настройки роторов по «crib» — открытому тексту, который криптоаналитики ожидали найти в сообщении, — а диагональная доска Гордона Уэлчмена сделала её гораздо эффективнее; первая бомба была установлена в марте 1940 года. Поскольку ни одна буква не шифруется сама в себя, угаданное слово не могло стоять там, где буква легла бы на саму себя, что помогало размещать crib. Разведданные, полученные из Enigma и других шифров под кодовым названием Ultra, существенно помогли союзникам.

Была ли Enigma надёжной?

На бумаге она была сильной: три из пяти роторов в порядке, их начальные позиции и десять пар коммутационной панели дают 158 962 555 217 826 360 000 настроек — около 1,6 × 10²⁰, или 67 бит, — не считая установок колец. Её взломали из-за конструкции и способа использования: никакая буква не становилась сама собой, операторы отправляли предсказуемые фразы и до мая 1940 года набирали ключ сообщения дважды. Сегодня компьютер восстанавливает настройки Enigma по одному лишь шифротексту, поэтому этот симулятор нужен для обучения, а не для секретности.

Часто задаваемые вопросы

Как работает машина Enigma?
Каждое нажатие клавиши сначала сдвигает роторы, затем пропускает ток через коммутационную панель, три ротора, рефлектор, роторы в обратном порядке и коммутационную панель снова, чтобы зажечь лампу. Поскольку роторы сдвигаются при каждом нажатии, каждая буква шифруется своим алфавитом, поэтому повторяющаяся буква в сообщении не повторяется в шифротексте.
Что такое двойной шаг в Enigma?
Средний ротор делает два шага подряд, когда доходит до своей позиции переноса: один раз, когда правый ротор переносит его туда, и ещё раз при следующем нажатии, когда он увлекает за собой левый ротор. Начиная с ADU с роторами I, II и III, окна показывают ADV, AEW, BFX. Многие симуляторы ошибаются в этом; этот проверен на данном случае.
Почему Enigma не может зашифровать букву в саму себя?
Из-за рефлектора: он всегда соединяет букву с другой, поэтому ток возвращается по другому проводу, и загорается лампа, которая никогда не совпадает с нажатой клавишей. Это сделало машину самообратной, но также подсказывало криптоаналитикам, где угаданное слово не может стоять.
Как расшифровать сообщение Enigma?
Установите тот же рефлектор, порядок роторов, кольца, коммутационную панель и начальную позицию, что использовал отправитель, и введите шифротекст: лампы выложат открытый текст. Военные сообщения также несли зашифрованный ключ сообщения, поэтому получатель сначала расшифровывал этот ключ, а затем устанавливал роторы по нему.
Кто взломал код Enigma?
Первым взлом совершили поляки: Мариан Реевский восстановил проводку роторов примерно в декабре 1932 года и вместе с Ежи Ружицким и Генриком Зыгальским несколько лет до войны читал трафик Enigma. С 1939 года работа продолжилась в Блетчли-парке, где Алан Тьюринг, Гордон Уэлчмен и тысячи других людей, многие из них женщины, работавшие на бомбах, превратили её в промышленную операцию.

Похожие инструменты

Ещё в разделе «Коды и шифры»