РИС. 15Старые машины
Как работает «Энигма»: роторы, рефлектор и коммутатор
Нажмите A пять раз на «Энигме» с роторами I-II-III в положении AAA, и лампы зажгутся буквами B, D, Z, G, O.
На этом устройстве не получается показать 3D-модель. Шаги экскурсии ниже можно прочитать текстом.
1 / 10 Настоящее сообщение 1941 годаМашина настроена так: роторы II, IV и V, кольца B U L, начальное положение B L A и десять кабелей. Она набирает сообщение немецкой армии, отправленное 7 июля 1941 года, и лампы выдают открытый немецкий текст: AUFKLXABTEILUNGXVONX...
Тяните для поворота. Колесо или щипок меняют масштаб.
Что происходит при нажатии клавиши
Как работала шифровальная машина «Энигма»? При каждом нажатии клавиши электрический ток шёл через коммутационную панель, три ротора и рефлектор, затем обратно через роторы и панель и зажигал лампу с другой буквой. Правый ротор делал шаг при каждом нажатии, проводка менялась, и одна и та же буква каждый раз выходила по-разному.
В 1941 году у немецкого радиста на столе стоял деревянный ящик, примерно 35 на 29 см и 16 см глубиной в дубовом корпусе, весом около 12 кг. Он нажимал клавишу, под окошком с буквой загоралась одна лампочка, а второй солдат записывал эту букву. Нажмите ту же клавишу ещё раз, и загорится другая лампа. Это весь пользовательский интерфейс Enigma I, и модель выше работает так же.
Эта страница прослеживает ток от клавиши до лампы, деталь за деталью, по настоящей проводке роторов I–V и рефлектора B. Шифр в модели настоящий: настройте его так, как это сделал отправитель, и он прочтёт сообщение, отправленное с русского фронта 7 июля 1941 года.
Детали, через которые идёт ток
Нажатие клавиши замыкает контакт. Батарея на 4,5 вольта внутри корпуса гонит ток по такой цепочке:
- Клавиатура: 26 клавиш в немецком порядке QWERTZ.
- Коммутационная панель (Steckerbrett): гнёзда на передней стенке. Кабель между двумя гнёздами меняет эти две буквы местами.
- Входной диск: неподвижный диск, который передаёт ток роторам. В Enigma I он проведён напрямую, A к A.
- Три ротора, справа налево. Каждый из них перемешивает алфавит.
- Рефлектор: неподвижное полуколесо, которое разбивает буквы на пары и отправляет ток обратно.
- Те же три ротора ещё раз, слева направо, другим путём.
- Снова входной диск и коммутационная панель, затем одна из 26 ламп.
Ток проходит через ротор шесть раз: три раза туда и три обратно. Если бы машина на этом останавливалась, это была бы неизменная подстановка, которую школьник с карандашом разгадает подсчётом букв. Хитрость в том, что роторы движутся.
Почему роторы движутся до того, как загорится лампа
Клавиша выполняет две задачи в строгом порядке. Первые миллиметры её хода толкают собачку на храповик правого ротора и поворачивают его на 1/26 оборота. Только в нижней точке хода клавиша замыкает электрический контакт. Поэтому буква всегда шифруется при новом положении роторов.
Включите «Заглянуть внутрь» и наберите несколько букв. Красный и синий провод внутри каждого ротора прыгает на новое место при каждом нажатии, даже если вы нажимаете одну и ту же клавишу, потому что ротор повернулся, и перед неподвижным контактом теперь стоит другой внутренний провод.
Внутри ротора: 26 проводов в перепутанном порядке
Ротор представляет собой толстый диск из изоляционного материала. На его правой стороне 26 пружинных штифтов, на левой 26 плоских контактов. Внутри 26 изолированных проводов соединяют каждый штифт с одним из контактов. Ротор I, например, переводит A в E, B в K и C в M; полный список: EKMFL GDQVZ NTOWY HXUSP AIBRC J. Модель использует опубликованную проводку всех пяти роторов:
| Ротор | Проводка (во что превращаются A–Z) | Вырез | В службе |
|---|---|---|---|
| I | EKMFL GDQVZ NTOWY HXUSP AIBRC J | Q | 1930 |
| II | AJDKS IRUXB LHWTM CQGZN PYFVO E | E | 1930 |
| III | BDFHJ LCPRT XVZNY EIWGA KMUSQ O | V | 1930 |
| IV | ESOVP ZJAYQ UIRHX LNFTG KDCMW B | J | декабрь 1938 |
| V | VZBRG ITYUP SDNHL XAWMJ QOFEC K | Z | декабрь 1938 |
По ободу сидит подвижное алфавитное кольцо с вырезом. Кольцо определяет, какая буква видна в окошке, а установка кольца (Ringstellung) определяет, насколько буквы сдвинуты относительно проводки. Сдвиг кольца на одно место действует на проводку так же, как поворот сердечника на одно место при неподвижных буквах.
Рефлектор и почему буква не становится собой
Рефлектор B соединяет 26 контактов в 13 пар: A с Y, B с R, C с U и так далее (YRUHQ SLDPX NGOKM IEBFZ CWVJA T). Ток, пришедший на A, уходит на Y и возвращается через три ротора.
Из этого вытекали два следствия. Хорошее для операторов: машина обратна самой себе. Если при какой-то настройке A превращается в B, то при той же настройке B превращается в A, поэтому та же машина и та же процедура расшифровывают сообщение. Плохое: буква никогда не может превратиться в саму себя. Обратный путь не может закончиться там, где начался прямой, потому что рефлектор никогда не соединяет контакт с самим собой. В модели можно набрать 1000 букв и ни разу не увидеть, чтобы загорелась лампа той клавиши, которую вы нажали. Взломщики использовали это, чтобы отсеивать положения угаданного слова (крибба): если догадка ставила букву над такой же буквой шифртекста, это положение было невозможным.
Шаги, вырезы и двойной шаг
Правый ротор делает шаг при каждом нажатии. Когда он проходит положение выреза (V для ротора III), он переносит средний ротор на один шаг. Когда средний ротор проходит свой вырез, он переносит левый.
У механизма есть особенность. Собачка, которая толкает левый ротор, опирается на вырез среднего ротора и, толкая, тянет за собой и средний. Поэтому средний ротор делает шаг на двух нажатиях подряд. Шаг экскурсии 5 показывает это на роторах I, II и III, стартующих с ADU:
- ADU становится ADV (правый ротор доходит до выреза на V)
- ADV становится AEW (средний ротор переносится на E, свой вырез)
- AEW становится BFX (средний ротор делает шаг снова и берёт с собой левый)
- BFX становится BFY
Из-за двойного шага у среднего ротора в цикле только 25 различных положений, а не 26. Машина повторяется через 26 × 25 × 26 = 16 900 нажатий. Код модели прогнали на полном цикле, и он возвращается к началу ровно через 16 900 шагов.
Одна буква от A до B
Поставьте I-II-III на AAA, без кабелей, и нажмите A. Сначала делает шаг правый ротор, поэтому в окошке читается AAB. Затем ток идёт так:
| Остановка | Буква |
|---|---|
| Клавиша | A |
| Коммутационная панель | A (кабеля нет) |
| Правый ротор (III на B) | C |
| Средний ротор (II на A) | D |
| Левый ротор (I на A) | F |
| Рефлектор B | S |
| Левый ротор, обратно | S |
| Средний ротор, обратно | E |
| Правый ротор, обратно | B |
| Коммутационная панель и лампа | B |
Нажмите A ещё четыре раза, и лампы покажут D, Z, G и O. Превращение строки AAAAA в BDZGO служит стандартной проверкой для симулятора «Энигмы», и модель её проходит. Если же поставить кольца на BBB, те же пять клавиш дадут EWTYX, это ещё одна опубликованная проверка, которую код модели проходит.
Сколько существует способов настроить машину
Армейский оператор должен был выставить четыре параметра по суточному листу ключей. Приведённые ниже числа вычислены, а формулы даны, чтобы вы могли их проверить.
- Порядок роторов: три из пяти роторов в выбранном порядке, 5 × 4 × 3 = 60.
- Начальные положения: 26 × 26 × 26 = 17 576.
- Коммутационная панель с десятью кабелями: выбрать десять пар из 26 букв. Число равно 26! / (6! × 10! × 2^10) = 150 738 274 937 250. Множитель 6! учитывает шесть букв без кабеля, 10! порядок кабелей, а 2^10 два конца каждого кабеля.
Перемножаем: 60 × 17 576 × 150 738 274 937 250 = 158 962 555 217 826 360 000, около 1,6 × 10^20, или примерно 2^67. Установки колец среднего и правого роторов меняют моменты переноса, что умножает итог ещё максимум на 26 × 26 = 676, до примерно 1,07 × 10^23.
Больше всего в это число вносит коммутационная панель. Десять кабелей не предел: одиннадцать кабелей дали бы 205 552 193 096 250 вариантов пар. До января 1939 года армия использовала только шесть кабелей, что даёт 100 391 791 500.
Большое пространство ключей не означает стойкий шифр. Роторы, которые выглядят самой хитрой частью, дают всего 60 × 17 576 = 1 054 560 настроек. Машины взломщиков в Блетчли-парке атаковали именно эту часть, а с коммутационной панелью справлялись логикой.
Шифрование и расшифровка: одно и то же действие
Наберите HALLO на I-II-III, AAA без кабелей, и лампы зажгут IDBDA. Нажмите «В начало» и наберите IDBDA: лампы составят HALLO. Кнопка «Набрать буквы ламп» делает это за вас. Благодаря рефлектору получателю не требовался отдельный режим расшифровки. Он выставлял те же роторы, кольца, кабели и начальное положение и набирал шифртекст.
В военной практике начальное положение для каждого сообщения само шифровалось. Оператор выбирал три буквы (ключ сообщения), шифровал их на основной настройке дня, отправлял результат в начале сообщения, а затем поворачивал роторы на свой ключ сообщения. Сообщение 1941 года в первом шаге экскурсии использует ключ сообщения BLA, роторы II, IV и V, кольца B U L и десять кабелей (AV BS CG DL FU HZ IN KM OW RX). Его первые слова читаются как AUFKL XABTE ILUNG XVONX KURTI NOWA, где X обозначает пробел: разведывательная часть докладывает из Куртиновы близ Себежа.
Чем модель отличается от настоящей машины
- Крышка, светофильтр ламп и окошко крышки убраны, чтобы были видны роторы.
- Коммутационные кабели висят ниже настоящих, чтобы не закрывать гнёзда. У настоящих штекеров два штифта разной толщины, поэтому один кабель меняет буквы в обе стороны.
- Красный и синий путь тока нарисован прямой линией. В настоящей машине провода идут через основание по постоянному жгуту.
- Клавиши настоящей машины ещё и переключают цепь ламп, так что нажатая клавиша не может зажечь свою лампу. Модель делает то же в логике, но не на рисунке.
- Корпус от Enigma I. Если выбрать в лаборатории флотскую M3, роторы VI–VIII и рефлектор C вычисляются точно, но ящик остаётся тем же. Если выбрать M4, четвёртое колесо и тонкий рефлектор вычисляются и названы на табличке рефлектора; на рисунке по-прежнему три ротора.
- Бегущий огонёк режима «Следить за током» движется со скоростью пешехода. Настоящий ток пересекал машину за несколько наносекунд.
Как «Энигму» взломали
Артур Шербиус подал заявку на патент роторной шифровальной машины 23 февраля 1918 года. Немецкий флот принял машину на вооружение в 1926 году, а армия добавила коммутационную панель в 1928 году. В декабре 1932 года польский математик Мариан Реевский вычислил проводку роторов с помощью теории перестановок. Ему помогли немецкие руководства и суточные списки ключей, которые шпион в Берлине Ганс-Тило Шмидт продал французской разведке. Поляки построили собственные копии и прибор под названием циклометр и читали большую часть немецкого трафика в 1930-х годах.
15 декабря 1938 года армия добавила роторы IV и V, увеличив число порядков роторов с 6 до 60, а в январе 1939 года число коммутационных кабелей выросло с шести. 26 и 27 июля 1939 года в Пырах близ Варшавы польское Бюро шифров передало французским и британским офицерам свои методы и восстановленные машины. В Блетчли-парке Алан Тьюринг и Гордон Уэлчман разработали бомбу, электромеханическую машину, которая проверяла положения роторов по криббу. Первая из них, названная «Виктори», поступила 18 марта 1940 года. Вторая, с диагональной панелью Уэлчмана, появилась 8 августа 1940 года.
Попробуйте сами в лаборатории
Под органами управления есть лаборатория с шестью инструментами. Ни один из них не отдельная симуляция: каждый работает на том же шифровальном коде, что и машина выше, на коде, проверенном по сообщению 1941 года.
Настройка машины. Выберите модель, три ротора, рефлектор, установку колец и начальное положение. Коммутационная панель представляет собой ряд из 26 гнёзд. Перетащите от одного гнезда к другому, чтобы вставить кабель, или коснитесь двух по очереди. Коснитесь занятого гнезда, чтобы вынуть кабель. Можно также касаться латунных гнёзд на передней стенке 3D-машины. Каждое изменение очищает ленту, потому что шифртекст имеет смысл только вместе с настройкой, на которой он сделан.
Следить за током. Включите это и нажмите клавишу. Сначала делают шаг роторы, затем от клавиши отходит маленький огонёк, переходит к своему гнезду, меняет букву, если там есть кабель, входит во входной диск и проходит через правый, средний и левый роторы. В рефлекторе он разворачивается и возвращается через левый, средний и правый роторы другим путём к коммутационной панели и наверх к лампе. Полоса в верхней части сцены подсвечивает каждую остановку, когда огонёк её проходит. Попробуйте с включённым «Заглянуть внутрь»: корпуса роторов становятся прозрачными, и видно, как огонёк прыгает между контактами.
Двойной шаг в замедленной съёмке. Здесь роторы I-II-III ставятся на ADU, движение роторов замедляется, и A нажимается три раза. Журнал под схемой записывает, какие роторы двигались на каждой клавише: ADU в ADV двигает только правый ротор, ADV в AEW правый и средний, а AEW в BFX все три. Средний ротор двигался на двух нажатиях подряд.
Буква никогда не становится собой. Одна кнопка нажимает A десять тысяч раз, каждый раз при новой случайной настройке с десятью случайными кабелями, и рисует, как часто загоралась каждая лампа. Столбец A всегда пуст. Остальные 25 столбцов держатся около 400, потому что 10 000 / 25 = 400. В одном прогоне на этой странице они лежали от 343 до 444. Этот пустой столбец и есть слабость, которой пользовались взломщики.
Зашифровать и расшифровать. Напишите сообщение и нажмите «Зашифровать». Затем нажмите «Расшифровать результат»: та же настройка превращает шифртекст обратно в ваше сообщение, и строка об этом говорит. «Набрать на машине» отправляет сообщение через 3D-модель буква за буквой.
Сколько настроек. Таблица перемножает части ключа для каждой модели. Можно двигать число коммутационных кабелей от 0 до 13 и видеть, как меняется итог. Все числа точные целые, а те же формулы проверены и вручную.
Флотские машины: три из восьми роторов, а затем четыре колеса
Немецкий флот обращался с «Энигмой» осторожнее армии. Его M3 брала те же роторы I–V и добавляла три собственных, VI, VII и VIII. У этих флотских роторов по два выреза, на Z и на M, поэтому следующий ротор переносится дважды за оборот, а не один раз. При выборе трёх роторов из восьми получается 8 × 7 × 6 = 336 порядков роторов вместо 60. Флот использовал также рефлектор C наряду с B.
Если подставить эти числа в то же произведение (336 порядков роторов, 2 рефлектора, 17 576 начальных положений, 676 установок колец и десять кабелей), получится 1 203 537 298 065 206 936 832 000, около 1,2 × 10^24.
В 1942 году машина для подлодок снова изменилась. В корпусе не было места для четвёртого ротора, поэтому рефлектор сделали тонким, а между ним и левым ротором встало тонкое колесо, Beta или Gamma. Это четвёртое колесо можно было устанавливать вручную, но оно никогда не делало шагов. Британцы называли новый трафик подлодок «Акула» (Shark). Международный музей шпионажа, где показана четырёхроторная машина, построенная Германией для Японии, отмечает, что на новый взлом «Акулы» ушёл почти год.
У четвёртого колеса было скрытое удобство. Поставьте Beta на A с тонким рефлектором B, и M4 шифрует точно так же, как трёхроторная машина со старым рефлектором B. То же тождество верно для Gamma с тонким рефлектором C. Оно позволяло подлодкам читать сообщения береговых станций, использовавших трёхроторные машины. Поскольку четвёртое колесо может занимать 26 положений и выбираться из двух колёс, число настроек M4 в лаборатории вырастает примерно до 6,3 × 10^25.
Криббы: угадываем открытый текст
Крибб означает кусок открытого текста, который вы ожидаете найти в сообщении. Метеосводки каждый день начинались с одних и тех же немецких слов. Части докладывали в твёрдых форматах, а некоторые ночь за ночью посылали одну и ту же строку «без происшествий».
Первая задача состоит в том, чтобы совместить крибб с шифртекстом. Здесь рефлектор помогает взломщику. Поскольку ни одна буква не шифруется в саму себя, крибб не может стоять там, где буква крибба совпадает с буквой шифртекста под ней. Возьмите первые 96 букв сообщения 1941 года на этой странице и настоящее начало его открытого текста, AUFKLXABTEILUNG, длиной 15 букв. Начаться крибб мог бы в 82 местах. В 40 из них сталкивается хотя бы одна буква, так что остаётся только 42, и среди них положение 0, верное. С более длинными криббами отсев больше.
Совмещённый крибб даёт пары букв: открытая A стала шифрованной E на шаге 1, U стала D на шаге 2 и так далее. Эти пары служат входными данными бомбы.
Бомба в Блетчли-парке
Польская бомба 1938 года работала, замечая удвоенный ключ сообщения в начале каждого сообщения. Когда немцы перестали удваивать ключ и добавили роторы, этот подход перестал работать. Алан Тьюринг разработал новую машину, которая исходила из криббов.
В бомбе стояло много комплектов барабанов, копировавших роторы «Энигмы». Для одного порядка роторов она перебирала все 17 576 начальных положений. В каждом положении она проверяла, могут ли пары букв крибба быть верными вместе при какой-нибудь коммутации. Большинство положений сразу приводили к противоречию, и машина шла дальше. Когда она останавливалась, операторы записывали положение и догадку о коммутации и проверяли её вручную на копии Typex или «Энигмы».
Гордон Уэлчман добавил диагональную панель. Она вводила тот факт, что коммутационный кабель меняет буквы в обе стороны, так что если A включена на V, то V включена на A. Это резко сократило число ложных остановов. По данным Национального музея вычислительной техники, первая бомба, «Виктори», начала работу в марте 1940 года, первая с диагональной панелью, «Агнус Деи», в августе 1940 года, а к концу войны около 1676 «рэнов» и 263 человека из RAF обслуживали 211 бомб. Музей показывает работающую реконструкцию.
Когда суточный ключ был найден, расшифровать ещё предстояло тысячи сообщений. Для этой работы Блетчли-парк использовал британские машины Typex, приспособленные вести себя как «Энигма».
Другие роторные машины: Typex и SIGABA
Британия купила две коммерческие «Энигмы» в 1928 году. Затем министерство авиации поручило производителям телетайпов Creed & Company построить улучшенную копию, и первые Typex Mark I поступили в RAF в начале 1937 года. В Typex было пять роторов, два из которых оставались неподвижными при наборе, а текст печатался на бумажной ленте, а не зажигал лампы. Mark 22 получила коммутационную панель, поэтому могла имитировать «Энигму». Имперские военные музеи сообщают, что немцы захватили не менее двух машин Typex, но так и не вскрыли её, и она оставалась в строю до начала 1960-х годов.
SIGABA армии США, называвшаяся во флоте США ECM, тоже использовала проводные роторы. Фрэнк Роулетт дал ей такое запутанное движение, что оно выглядело случайным. Национальный криптологический музей АНБ отмечает, что это единственная машинная система войны, которую противник не вскрыл. С ноября 1943 года приспособленные ECM и Typex работали вместе как Объединённая шифровальная машина, чтобы британские и американские корабли могли обмениваться сообщениями.
Слабое место «Энигмы» было не в том, что она использовала роторы. Оно было в регулярных шагах, в рефлекторе и в привычках её операторов. Список из 50 машин, людей и методов в лаборатории продолжает эту историю и приводит источник для каждой записи.
Почему тринадцать кабелей дают меньше настроек, чем одиннадцать
Заполнить все гнёзда коммутационной панели кажется самым надёжным выбором. Но после одиннадцати кабелей число вариантов падает. Чтобы понять почему, обозначим число расстановок с n кабелями через P(n). Сравнение двух соседних значений приведённой выше формулы с факториалами сокращает почти всё:
P(n + 1) / P(n) = (26 − 2n)(25 − 2n) / (2(n + 1)).
При десяти кабелях свободны шесть гнёзд. Одиннадцатый кабель даёт отношение 6 × 5 / 22 = 15/11, так что число растёт со 150 738 274 937 250 до 205 552 193 096 250. При одиннадцати кабелях свободны четыре гнезда. Следующее отношение 4 × 3 / 24 = 1/2, так что двенадцать кабелей дают 102 776 096 548 125 расстановок. Последнее отношение 2 × 1 / 26 = 1/13: тринадцать кабелей оставляют только 7 905 853 580 625 расстановок. Это числа возможных полных панелей, а не число способов добавить кабель к одной конкретной панели.
Почему делим на n + 1? Каждую готовую панель можно получить, убрав любой один из её n + 1 кабелей и поставив его обратно. Если считать все возможные добавления без этого деления, одна и та же готовая панель посчитается несколько раз. Множитель 2 не даёт считать отдельно две ориентации одного кабеля. Кабель, соединяющий A с B, образует то же соединение, что и кабель, соединяющий B с A.
В счётчике настроек оставьте модель машины без изменений и двигайте ползунок кабелей от 10 до 13. Все остальные множители остаются неизменными, так что итог повторяет тот же подъём и спад. Это проверяет допущение о подсчёте, а не время, нужное для взлома сообщения. Одиннадцать кабелей максимизируют именно это пространство поиска; одно это не доказывает, что одиннадцать кабелей дают самый стойкий шифр на практике. Методичка по комбинаторике Корнеллского университета выводит исходную формулу из выбора гнёзд и их разбиения на пары.
Взлом сообщения на сцене бомбы
Включите сцену бомбы, и «Энигма» уступает место модели бомбы. На передней стороне 108 барабанов в трёх рядах. Национальный музей вычислительной техники описывает машину так: каждый вертикальный набор из трёх барабанов выполняет работу роторов одной «Энигмы», так что на передней стороне размещены 36 «Энигм». Барабаны модели вращаются вместе с поиском, а боковые барабаны показывают проверяемое положение.
Сообщение на сцене представляет собой выдуманную метеосводку подлодки, зашифрованную суточным ключом, который страница скрывает до конца. Предположение таково, что в ней есть WETTERVORHERSAGE, «прогноз погоды», слово, которое музей называет типичным для флотских криббов. Первая панель сдвигает этот крибб вдоль шифртекста. Там, где буква крибба стоит над такой же буквой шифртекста, она краснеет, и положение исключается, потому что «Энигма» никогда не шифрует букву в саму себя. Из первых 20 положений остаются 12. Верное положение 8.
Нажмите «Построить меню здесь», и панель нарисует меню. Каждая буква крибба и буква шифртекста под ней соединены линией, помеченной номером места в сообщении. Этот крибб даёт 15 букв, 16 линий и 3 замкнутые петли. Самая связанная буква, E, становится входной буквой. Важнее всего петли. Догадку о партнёре E по коммутации можно проследить по петле, и она должна вернуться и согласоваться сама с собой, так что каждая петля служит ещё одной проверкой, которую неверная догадка может не пройти.
Затем пуск. Для одного порядка роторов бомба перебирает все 17 576 положений барабанов. В каждом положении она предполагает, что E включена на какую-то букву, прослеживает эту догадку через каждый скремблер меню и использует диагональную панель Уэлчмана (если E включена на w, то W включена на e), чтобы распространить её дальше. Неверная догадка быстро влечёт, что E включена сразу на каждую букву, а это невозможно, и барабаны идут дальше. Бомба останавливается только там, где какая-то догадка выживает. Модель делает ту же проверку полностью, так что её остановы дают настоящие результаты шифра, а не заранее написанная анимация. Каждый из них затем проверяется так, как это делала проверочная машина: если какой-то букве понадобились бы два партнёра, это ложный останов. С верным порядком II-V-III прогон останавливается один раз, на YIV, и проверка проходит. Три других порядка на панели не дают ни одного останова.
Останов даёт положение барабанов и партнёров по коммутации для каждой буквы меню. Нажмите «Расшифровать по этому останову», и большая часть сообщения читается, с несколькими неверными буквами: ANUFDXXWETTERVORHERSAGE. Эти ошибки сидят на трёх кабелях, чьи буквы ни разу не встречались в меню. Найти их по полупрочитанному тексту предстоит последним шагом, и это одна из задач лаборатории.
Две вещи упрощены. Установки колец зафиксированы на A, потому что бомба находит положения барабанов, а кольца только сдвигают буквы, показанные в окошке. А скремблеры модели делают шаги точно как «Энигма», включая средний ротор, а не копируют собственный зубчатый привод барабанов бомбы. Музей приводит скорость настоящей машины: верхние барабаны вращались со скоростью 97,5 оборота в минуту, так что прогон без остановов занимал не меньше 10,4 минуты. Ползунок скорости запускает модель в этом темпе или до тысячи раз быстрее.
Lorenz и Colossus: другой немецкий шифр
Высшее командование германской армии не использовало «Энигму» для самых важных сообщений. Оно использовало Lorenz SZ40 и SZ42, приставки, шифровавшие трафик телетайпов. Блетчли-парк называл эту систему «Тунни» (Tunny). Телетайпы передают каждый знак как пять сигналов включено и выключено, а Lorenz добавляла пять битов ключа от двенадцати колёс. Пять колёс хи, с 41, 31, 29, 26 и 23 кулачками, двигались с каждым знаком. Пять колёс пси двигались, только когда это разрешали два моторных колеса. Поднятый кулачок даёт 1, опущенный 0, а ключ равен хи плюс пси.
Сцена Lorenz показывает двенадцать колёс со всеми 501 кулачком. «Один знак» сдвигает их на один шаг. Таблица показывает биты хи, биты пси и биты ключа, которые они составляют, а также то, двигались ли колёса пси. Рисунки кулачков в модели случайны, а мотор следует простому правилу SZ40 без позднейшего ограничения, так что считайте её рабочей схемой, а не копией какой-то одной машины.
По данным Crypto Museum, в августе 1941 года оператор дважды отправил длинное сообщение на одних и тех же положениях колёс, а во второй раз набрал его немного иначе. По этой паре взломщики восстановили почти 4000 знаков ключа, и Билл Татт к январю 1942 года вывел логику машины, ни разу её не увидев. Чтобы достаточно быстро выставлять колёса для каждого нового сообщения, Томми Флауэрс построил Colossus, электронную машину более чем на 1700 ламп, которая считывала шифртекст с бумажной ленты. Первая поступила в Блетчли-парк в январе 1944 года. К концу войны, как сообщает Национальный музей вычислительной техники, десять «Колоссов» и 550 человек расшифровали 63 млн знаков.
Пятьдесят машин, людей и методов
Каталог в лаборатории теперь включает 50 записей, у каждой есть источник, и его можно искать и фильтровать по виду. Записи о машинах открывают карточку сравнения рядом с Enigma I. Карточка сравнивает, как каждая машина перемешивает, её движущиеся части, контакты или буквы, годы службы и была ли она вскрыта. Японская машина Purple использовала телефонные шаговые искатели вместо роторов, а криптографы армии США восстановили её в 1940 году, ни разу не увидев, по данным Национального криптологического музея АНБ. M-209 была карманной штифтовой машиной. Немцы порой могли вскрыть одно из её сообщений примерно за четыре часа, что было приемлемо для приказов, терявших ценность за считаные часы, и она всё ещё применялась в Корейской войне. KL-7 1952 года, среди пользователей которой была Южная Корея, и советская «Фиалка» 1956 года перенесли идею ротора в холодную войну с большим числом роторов и более сложными шагами.
Вопросы
Может ли буква «Энигмы» зашифроваться в саму себя?
Нет. Рефлектор никогда не соединяет контакт с самим собой, поэтому обратный путь всегда заканчивается на другой букве, чем та, что вы нажали. Из-за этого криббы было проще совместить.
Почему одна и та же машина и шифрует, и расшифровывает?
Рефлектор превращает каждую настройку в набор из 13 обменов. Если A переходит в B, то при этой настройке B переходит в A. Набор шифртекста с той же начальной настройкой даёт открытый текст.
Что такое двойной шаг?
Когда средний ротор доходит до выреза, собачка, поворачивающая левый ротор, толкает и средний. Средний ротор двигается на двух нажатиях подряд, как в ADV, AEW, BFX.
Сколько ключей было у Enigma I?
При пяти роторах, десяти кабелях и 26 начальных положениях на ротор получается 158 962 555 217 826 360 000 настроек, около 2^67. Установки колец двух роторов добавляют множитель до 676.
Зачем нужна коммутационная панель, если роторы уже перемешивают?
Роторы были одинаковыми во всех машинах, их можно было захватить или вычислить. Коммутационная панель менялась каждый день и умножала число настроек примерно на 150 триллионов.
Через сколько повторяются положения роторов?
Для роторов с одним вырезом через 26 × 25 × 26 = 16 900 нажатий. 25 получается из-за двойного шага, который пропускает одно положение среднего ротора.
Могу ли я здесь расшифровать настоящее сообщение?
Да. Выберите сообщение 1941 года в настройках или нажмите «Пуск». Машина настроена на роторы II, IV и V, кольца B U L и старт BLA, и лампы показывают немецкий текст.
Что изменилось во флотской M4?
Тонкий рефлектор освободил место для четвёртого колеса, Beta или Gamma, которое устанавливается вручную и никогда не делает шагов. Поставленное на A с соответствующим тонким рефлектором, оно работает как трёхроторная машина.
Почему операторы набирали ключ сообщения дважды?
Для защиты от ошибок радиосвязи. В 1930-х годах армия шифровала трёхбуквенный ключ сообщения два раза подряд, так что буквы 1 и 4, 2 и 5, 3 и 6 каждого сообщения скрывали одну и ту же букву. Реевский построил свою атаку на этой закономерности.
Вскрывали ли Typex или SIGABA?
Неизвестно, чтобы какой-либо противник вскрыл хоть одну из них. АНБ называет SIGABA единственной машинной системой войны, которую не вскрыли, а Имперские военные музеи сообщают, что немцы так и не проникли в Typex.
Сколько времени заняла бы проверка всех настроек?
При миллиарде настроек в секунду на 1,07 × 10^23 настроек Enigma I с десятью кабелями ушло бы около 3,4 млн лет. Взломщики никогда не пробовали все. Криббы и бомба сократили работу до 1 054 560 порядков роторов и положений, а коммутационную панель обрабатывали логикой.
Что такое меню бомбы?
Схема пар букв, которые даёт крибб. Каждая пара, буква крибба и буква шифртекста под ней, соединена линией, помеченной номером места в сообщении. Бомба монтировалась кабелями в соответствии с ней. Меню с замкнутыми петлями дают меньше ложных остановов.
Что такое ложный останов?
Положение барабанов, в котором бомба не нашла противоречия, хотя положение неверное. Его отсеивали на проверочной машине, когда выяснялось, что какой-то букве нужны два партнёра по коммутации. На сцене бомбы проверка выполняется сразу после каждого останова.
Сколько длился один прогон бомбы?
Национальный музей вычислительной техники называет не менее 10,4 минуты на полный прогон 17 576 положений без останова при зубчатом приводе его реконструкции. В начале 1943 года прогон занимал 16 минут, а скоростные машины Keen с марта 1943 года завершали прогон для трёх колёс за полторы минуты.
Чем Lorenz отличалась от «Энигмы»?
«Энигма» шифровала отдельные буквы роторами и рефлектором, а оператор записывал показания ламп. Lorenz шифровала знаки телетайпа как пять битов, добавляя биты от двенадцати штифтовых колёс, и работала автоматически на линии. Её вскрывали ручными методами, а затем с помощью Colossus, а не бомбами.
Термины
- Ротор (Walze): проводной диск, который переводит 26 контактов на одной стороне в 26 на другой.
- Установка кольца (Ringstellung): сдвиг между алфавитным кольцом и проводкой ротора.
- Вырез: прорезь в кольце, которая позволяет сделать шаг следующему ротору слева.
- Рефлектор (Umkehrwalze): неподвижное колесо, которое разбивает контакты на пары и возвращает ток.
- Входной диск (Eintrittswalze): неподвижное колесо между коммутационной панелью и правым ротором.
- Коммутационная панель (Steckerbrett): гнёзда и кабели, которые меняют пары букв местами.
- Ключ сообщения: три буквы, на которых роторы стартуют для одного сообщения.
- Крибб: угаданный кусок открытого текста, например привычное слово, по которому ищут ключ.
- Бомба: электромеханическая машина в Блетчли-парке, проверявшая положения роторов по криббу.
- Тонкий рефлектор и четвёртое колесо (греческое колесо): детали M4, добавившие неподвижное колесо, Beta или Gamma, на месте прежнего рефлектора.
- Диагональная панель: добавление Уэлчмана к бомбе, использовавшее двусторонний обмен кабелей, чтобы отбрасывать ложные остановы.
- Суточный ключ: настройка из листа ключей, которой в этот день пользовался каждый оператор сети.
Источники
- Crypto Museum, Enigma I: battery, rotor orders, model history. https://www.cryptomuseum.com/crypto/enigma/i/index.htm (проверено 15 октября 2026 года)
- Crypto Museum, Enigma wiring. https://www.cryptomuseum.com/crypto/enigma/wiring.htm (проверено 15 октября 2026 года)
- Dirk Rijmenants, Cipher Machines and Cryptology, Enigma technical details. https://www.ciphermachinesandcryptology.com/en/enigmatech.htm (проверено 15 октября 2026 года)
- Crypto Museum, Enigma History (Scherbius's patent application of 23 February 1918, the navy's machine of 1926, the army's plugboard of 1928, Rejewski in December 1932, the extra plug cables of January 1939, the Pyry meeting of July 1939). https://www.cryptomuseum.com/crypto/enigma/hist.htm (проверено 17 октября 2026 года)
- Science Museum Group, Three-ring Enigma cypher machine in oak wood transit case, object 1980-1200 (closed 160 × 290 × 350 mm, 11.6 kg). https://collection.sciencemuseumgroup.org.uk/objects/co35752/three-ring-enigma-cypher-machine-in-oak-wood-transit-case (проверено 17 октября 2026 года)
- Crypto Museum, Bombe (the first British Bombe, Victory, delivered to Bletchley Park on 18 March 1940; the second, with Welchman's diagonal board, installed on 8 August 1940). https://www.cryptomuseum.com/crypto/bombe/index.htm (проверено 17 октября 2026 года)
- Cornell University, Math 135, Plugboard arrangements. https://pi.math.cornell.edu/~kozdron/Teaching/Cornell/135Summer06/Handouts/enigma.pdf (2026-10-23)
- Frode Weierud, CryptoCellar, Breaking German Army Ciphers. https://cryptocellar.org/bgac/ (проверено 15 октября 2026 года)
- Bletchley Park Trust, Enigma. https://bletchleypark.org.uk/our-story/enigma/ (проверено 15 октября 2026 года)
- Расчёты на этой странице: число расстановок коммутационной панели 26! / ((26 − 2n)! × n! × 2^n); всего настроек 60 × 26^3 × панель; длина цикла 26 × 25 × 26. Шифр модели сверен с известными результатами: AAAAA → BDZGO, кольца BBB → EWTYX, двойной шаг ADU и полное сообщение 1941 года.
- Crypto Museum, Typex: Typex Mark 22 used as an Enigma analogue at Bletchley Park. https://www.cryptomuseum.com/crypto/uk/typex/index.htm (проверено 17 октября 2026 года)
- Imperial War Museums, TypeX Enciphering Machine, Mark 22 (the 1928 purchase of commercial Enigmas, five rotors, the CCM from November 1943, service into the 1960s). https://www.iwm.org.uk/collections/item/object/30005901 (проверено 17 октября 2026 года)
- Science Museum Group, Typex Mk III cypher machine for field use, c. 1945, object 1980-1275. https://collection.sciencemuseumgroup.org.uk/objects/co35754/typex-mk-iii-cypher-machine-for-field-use-c-1945 (проверено 17 октября 2026 года)
- National Security Agency, National Cryptologic Museum, SIGABA/ECM. https://www.nsa.gov/History/National-Cryptologic-Museum/Exhibits-Artifacts/Exhibit-View/Article/2719165/sigabaecm/ (проверено 17 октября 2026 года)
- National Security Agency, NSA/CSS National Cryptologic Museum unveils new Polish Enigma exhibit (11 December 2007: Rejewski, Zygalski and Różycki, December 1932, the Bomba). https://www.nsa.gov/Press-Room/Press-Releases-Statements/Press-Release-View/Article/1632427/nsacss-national-cryptologic-museum-unveils-new-polish-enigma-exhibit (проверено 17 октября 2026 года)
- Jennifer Wilcox, NSA Center for Cryptologic History, Solving the Enigma: History of the Cryptanalytic Bombe (Turing at OP-20-G, December 1942). https://www.nsa.gov/portals/75/documents/about/cryptologic-heritage/historical-figures-publications/publications/wwii/solving_enigma.pdf (проверено 17 октября 2026 года)
- The National Museum of Computing, The Turing-Welchman Bombe (Victory in March 1940, Agnus Dei in August 1940, 211 bombes, 1,676 WRNS and 263 RAF personnel). https://www.tnmoc.org/bombe (проверено 17 октября 2026 года)
- International Spy Museum, Four Rotor Enigma Machine (the 1942 fourth rotor, Shark, a machine built for Japan). https://www.spymuseum.org/exhibition-experiences/about-the-collection/collection-highlights/four-rotor-enigma-machine (проверено 17 октября 2026 года)
- Другие расчёты на этой странице: роторы VI–VIII и рефлекторы A, C, тонкие B и C сверены с таблицей проводки Crypto Museum; M4 с Beta на A и тонким B равна рефлектору B, Gamma и тонкий C равны C; 80 000 случайных букв никогда не шифруются в себя и всегда расшифровываются обратно; формула коммутационной панели совпадает с полным перебором на 6–12 буквах; итог для M3 336 × 2 × 26^3 × 26^2 × панель; пример с криббом (42 из 82 положений остаются для AUFKLXABTEILUNG).
- The National Museum of Computing, Bombe History 1: Historical Background (after National Archives HW3/146: runs of 16 minutes in early 1943, Keen high-speed machines from March 1943, 211 machines, 36,002 jobs). https://www.tnmoc.org/bh-1-bombe-historical-background (проверено 26 октября 2026 года)
- The National Museum of Computing, Bombe History 10: Bombe Description (three banks, 36 Enigmas of three drums, 17,576 positions, the diagonal board, reflector D). https://www.tnmoc.org/bh-10-bombe-description (проверено 26 октября 2026 года)
- The National Museum of Computing, Bombe History 11: Bombe Speed (top drums at 97.5 revolutions a minute, 10.4 minutes a run). https://www.tnmoc.org/bh-11-bombe-speed (проверено 26 октября 2026 года)
- The National Museum of Computing, Bombe History 16: Menus and Cribs (WETTER VORHERSAGE, stops, the checking machine, The Ultra Secret in 1974). https://www.tnmoc.org/bh-16-menus-and-cribs (проверено 26 октября 2026 года)
- The National Museum of Computing, Colossus (Flowers's eleven months at Dollis Hill, ten Colossi, 550 people, 63 million characters). https://www.tnmoc.org/colossus (проверено 26 октября 2026 года)
- Crypto Museum, Lorenz SZ-40/42 (Tunny, the August 1941 message, Tutte by January 1942). https://www.cryptomuseum.com/crypto/lorenz/sz40/index.htm (проверено 26 октября 2026 года)
- Crypto Museum, Colossus (over 1,700 valves, delivered 18 January 1944, first message 5 February 1944, Mark II with 2,400 valves on 1 June 1944). https://www.cryptomuseum.com/crypto/colossus/index.htm (проверено 26 октября 2026 года)
- Jack Copeland, Colossus: Breaking the German Tunny Code, The Rutherford Journal, University of Auckland (chi wheels of 41, 31, 29, 26 and 23 cams). https://museum.cs.auckland.ac.nz/rutherfordjournal/article030109.html (проверено 26 октября 2026 года)
- National Security Agency, National Cryptologic Museum, The Magic of Purple (Purple from 1939, the sixes and twenties, Rosen's analogue, September 1940). https://www.nsa.gov/History/National-Cryptologic-Museum/Exhibits-Artifacts/Exhibit-View/Article/2718925/the-magic-of-purple (проверено 26 октября 2026 года)
- Crypto Museum, M-209 (six pin wheels of 17 to 26 segments, about 140,000 made, breaks in about 4 hours, use in the Korean War). https://www.cryptomuseum.com/crypto/hagelin/m209/index.htm (проверено 26 октября 2026 года)
- Crypto Museum, TSEC/KL-7 (1952, eight rotors of 36 contacts, users including South Korea). https://www.cryptomuseum.com/crypto/usa/kl7/index.htm (проверено 26 октября 2026 года)
- Crypto Museum, M-125 Fialka (1956, ten rotors of 30 contacts). https://www.cryptomuseum.com/crypto/fialka/index.htm (проверено 26 октября 2026 года)
- Crypto Museum, Enigma K, NEMA, Hagelin C-38, Kryha and M-94 (catalogue entries). https://www.cryptomuseum.com/crypto/enigma/k/index.htm (проверено 26 октября 2026 года)
- Расчёты для бомбы: скремблер сцены бомбы равен машине без кабелей; 12 из первых 20 положений крибба остаются; в меню 15 букв, 16 пар и 3 петли; полный прогон на четырёх порядках роторов даёт один останов, YIV для II-V-III, пары кабелей которого совпадают с ключом; три кабеля вне меню: BF, LP и XU; у двенадцати колёс Lorenz 501 кулачок и 43 × 47 × 51 × 53 × 59 × 37 × 61 × 41 × 31 × 29 × 26 × 23 начальных положений; ответы задач вычисляются по шифру.
Текст и симуляция: CC BY-NC-SA 4.0, если не указано иное.





