Машина «Энигма»
Моделируйте, шифруйте и расшифровывайте с помощью немецкой шифровальной машины «Энигма» времён Второй мировой войны. Выберите рефлектор, три ротора, их настройки колец и начальные положения, а также коммутационную панель, затем введите сообщение и наблюдайте, как шагают роторы. «Энигма» взаимна: одни и те же настройки и шифруют, и расшифровывают, поэтому отдельного режима расшифровки нет. Всё работает в вашем браузере.
«Энигма» взаимна: одна и та же настройка машины и шифрует, и расшифровывает. Чтобы прочитать сообщение, установите роторы, кольца, положения и коммутационную панель точно в те настройки, что использовались при шифровании, вставьте шифртекст — и результатом будет исходный текст. Отдельной кнопки расшифровки нет.
Рефлектор
Роторы
Левый (медленный)
Средний
Правый (быстрый)
Настройки колец
Начальные положения
Коммутационная панель
Коммутационная панель меняет буквы попарно до и после роторов. Введите пары вроде AB CD EF; каждую букву можно использовать только один раз. Оставьте поле пустым, чтобы не было замен. Пробелы и другие символы игнорируются.
Введите текст выше, чтобы увидеть здесь результат «Энигмы».
Как пользоваться Машина «Энигма»
- 1
Выберите рефлектор и роторы
Выберите рефлектор, B или C, и подберите три ротора от I до V для левого, среднего и правого гнёзд. Стандартная эталонная настройка — рефлектор B с роторами I, II и III.
- 2
Задайте настройки колец
Введите три настройки колец буквами, например AAA. Настройка кольца, или Ringstellung, поворачивает схему каждого ротора относительно его буквенного кольца и меняет результат.
- 3
Задайте начальные положения
Введите три начальных положения буквами, например AAA. Это точки, в которые повёрнуты роторы перед началом набора, видимые в окнах роторов. Для расшифровки используйте те же начальные положения, что применялись при шифровании.
- 4
Добавьте пары коммутационной панели
При желании введите пары коммутационной панели, например AB CD EF. Каждая пара меняет две буквы до и после роторов, и каждую букву можно использовать только один раз. Оставьте поле пустым, чтобы не использовать коммутационную панель.
- 5
Введите текст и прочитайте результат
Введите или вставьте сообщение, и результат появится мгновенно, а окна роторов будут шагать в живом расчёте. Поскольку «Энигма» взаимна, одни и те же настройки шифруют и расшифровывают, поэтому вы можете копировать, скачивать или поделиться ссылкой, которая снова откроет инструмент с вашей точной настройкой машины и текстом.
Разбираемся в машине «Энигма»
Что такое машина «Энигма»?
Машина «Энигма» — это электромеханическое роторное шифровальное устройство, изобретённое немецким инженером Артуром Шербиусом (Arthur Scherbius) около 1918 года. Внешне она похожа на пишущую машинку в деревянном корпусе: клавиатура, панель из 26 светящихся букв над ней, набор вращающихся колёс, называемых роторами, и коммутационная панель с кабелями спереди. При нажатии буквы электрический ток проходит через коммутационную панель, через роторы и рефлектор и возвращается обратно, зажигая на панели другую букву. Эта зажжённая буква и есть шифртекст. Каждое нажатие клавиши также поворачивает роторы, поэтому одна и та же буква текста шифруется по-разному при каждом появлении, и именно это делает «Энигму» многоалфавитным шифром, а не простой заменой.
Принятая на вооружение и неуклонно совершенствуемая немецкими военными, «Энигма» стала основой секретной связи нацистской Германии на протяжении всей Второй мировой войны. Немцы считали её невзламываемой из-за ошеломляющего числа возможных настроек. Они ошибались: польские математики во главе с Марианом Реевским (Marian Rejewski) восстановили машину и её схему в начале 1930-х годов, а их работа была развита в британском Блетчли-Парке Аланом Тьюрингом (Alan Turing), Гордоном Уэлчманом (Gordon Welchman) и многими другими, чья дешифровка, как широко считается, сократила войну. Этот инструмент воссоздаёт стандартную трёхроторную Enigma I, которую использовали сухопутные войска и военно-воздушные силы Германии.
Как работает машина «Энигма»
Настройка «Энигмы» состоит из четырёх рабочих частей. Коммутационная панель, или Steckerbrett, меняет пары букв кабелями до и после блока роторов. Роторы, или Walzen, — это колёса, смонтированные так, что каждый из 26 входных контактов соединён с перепутанным выходным контактом; эта машина использует три ротора одновременно, выбранных и упорядоченных из набора в пять штук. Рефлектор, или Umkehrwalze, расположен на дальнем конце и отправляет ток обратно через роторы по фиксированному сопоставлению. Затем панель ламп показывает результат. Таким образом, сигнал совершает путь туда и обратно: коммутационная панель, правый ротор, средний ротор, левый ротор, рефлектор, левый ротор, средний ротор, правый ротор, коммутационная панель и, наконец, лампа.
Три настройки персонализируют машину для конкретного дня или сообщения. Настройка кольца, или Ringstellung, поворачивает схему каждого ротора относительно его буквенного кольца. Начальное положение, или Grundstellung, — это точка, в которую повёрнут каждый ротор перед началом набора, видимая через небольшие окошки. Пары коммутационной панели добавляют последний слой замен. Перед каждым нажатием клавиши роторы продвигаются, как одометр, поэтому схема, через которую проходит ток, никогда не повторяется два раза подряд. Живой расчёт под инструментом показывает, как три окна роторов шагают для каждой буквы вашего сообщения.
Разобранный пример
Установите машину в наиболее часто упоминаемую эталонную конфигурацию: рефлектор B, роторы I, II и III слева направо, все три настройки колец на A, все три начальных положения на A и пустая коммутационная панель. Теперь наберите пять букв A. Первое нажатие шагает правым ротором, и ток проходит свой путь туда и обратно, зажигая лампу B. При наборе оставшихся A, с шагом роторов каждый раз, загораются D, затем Z, затем G, затем O. Таким образом, текст AAAAA шифруется в BDZGO — классическая проверка, подтверждающая, что роторы смонтированы правильно.
Поскольку «Энигма» взаимна, расшифровка использует те же самые настройки. Верните все три ротора в начальные положения A, оставьте всё прочее без изменений и наберите шифртекст BDZGO. Получится AAAAA — исходное сообщение. Та же настройка восстановила текст, и поэтому у этого инструмента нет отдельного режима расшифровки: достаточно восстановить настройки, использованные при шифровании, и снова набрать шифртекст.
Рефлектор и взаимность
Именно рефлектор делает «Энигму» взаимной. Поскольку он симметрично соединяет 26 проводов в пары, путь, который ток проходит от клавиши к лампе, в точности обратим: если при данной конфигурации роторов нажатие A зажигает G, то при той же конфигурации нажатие G зажжёт A. Так как шаг роторов зависит только от настроек и положения буквы в сообщении, но никогда от самих букв, расшифровка идентична шифрованию, как только машина сброшена в то же начальное состояние. Одна процедура, одна настройка, оба направления.
Рефлектор также породил самый известный изъян «Энигмы»: буква никогда не может зашифроваться сама в себя. Поскольку ток всегда возвращается по проводу, отличному от того, по которому ушёл, A может стать любой буквой, кроме A. Это кажется безобидным, но дало взломщикам мощный инструмент. Если они предполагали, что отрывок открытого текста, «криб», находится где-то в сообщении, они могли сдвигать его вдоль шифртекста и мгновенно отбрасывать каждую позицию, где буква совпадала сама с собой, резко сужая поиск. Конструкция, призванная добавить удобства, дала союзникам опору.
Шаг роторов и двойной шаг
Роторы вращаются, как колёса одометра, но с особенностью. Правый ротор шагает при каждом нажатии клавиши. У каждого ротора есть выемка-зацеп, и когда ротор переступает эту выемку, он толкает ротор слева от себя на одну позицию вперёд. Поэтому после того, как правый ротор совершит полный оборот и достигнет своей выемки, средний ротор продвигается; после того, как средний ротор в конце концов достигнет своей выемки, продвигается левый ротор. Вот почему машина долго не повторяется: с тремя роторами полный цикл длится тысячи букв.
Существует одна хорошо известная неправильность — двойной шаг. Из-за того, как сцепляются рычаги шага, когда средний ротор находится в собственном положении зацепа, он продвигается при следующем нажатии вместе с левым ротором, а на предыдущем нажатии он уже был продвинут правым ротором, так что кажется, будто он движется дважды подряд. Любой добросовестный симулятор «Энигмы» обязан воспроизводить эту аномалию, и этот инструмент это делает; вы можете увидеть её в живом расчёте, когда средний ротор близок к своей выемке. Точно задать шаг крайне важно, потому что даже один неверный шаг исказил бы все последующие буквы.
Как был взломан код «Энигмы»
Первый прорыв пришёл из Польши. В 1932 году математик Мариан Реевский (Marian Rejewski), работая с Ежи Ружицким (Jerzy Rozycki) и Хенриком Зыгальским (Henryk Zygalski) в польском Бюро шифров, использовал теорию перестановок и украденный список настроек, чтобы восстановить внутреннюю схему военной «Энигмы» — достижение, долго считавшееся невозможным. Поляки построили электромеханические вспомогательные устройства и годами читали немецкий трафик, а затем передали всё Великобритании и Франции прямо перед войной. Этот дар стал основой, на которой строился Блетчли-Парк.
В Блетчли-Парке Алан Тьюринг (Alan Turing) и Гордон Уэлчман (Gordon Welchman) спроектировали «Бомбу» (Bombe) — машину, которая быстро перебирала огромное число настроек роторов, чтобы найти ключ дня. Их атака опиралась на изъян невозможности самошифрования, на крибы предсказуемого открытого текста, такие как сводки погоды и шаблонные фразы, и на ошибки операторов вроде повторно использованных или лениво выбранных ключей сообщений. По мере того как Германия добавляла роторы и штекеры, работа усложнялась, но дешифровка не прекращалась. Полученная разведывательная информация под кодовым названием Ultra, как широко считается, сократила Вторую мировую войну и спасла много жизней, а также помогла заложить основы современных вычислений.
Надёжен ли шифр «Энигма»?
По меркам своего времени «Энигма» была грозной: около 159 квинтиллионов возможных настроек, если учесть выбор роторов, настройки колец, начальные положения и десять кабелей коммутационной панели. Но чистое число ключей не равнозначно безопасности. Структурные изъяны, особенно то, что ни одна буква не шифруется сама в себя, предсказуемое содержание сообщений и человеческие ошибки позволяли аналитикам с нужными машинами и методами восстанавливать суточные ключи снова и снова. Против современного компьютера даже безупречно управляемая «Энигма» не даёт никакой защиты.
Сегодня шифр «Энигма» изучают и любят за то, чему он учит, и за его необыкновенную историю. Это один из лучших способов понять роторные машины, многоалфавитную замену и то, как тщательный криптоанализ побеждает шифр, и он постоянно встречается в музеях, фильмах, головоломках и соревнованиях capture the flag. Чтобы защитить настоящую информацию, всегда полагайтесь на современные, хорошо проверенные алгоритмы, такие как AES.
Часто задаваемые вопросы
Что такое машина «Энигма»?
Как работает машина «Энигма»?
Как расшифровать сообщение «Энигмы»?
Можете показать пример «Энигмы»?
Почему у «Энигмы» нет отдельной кнопки расшифровки?
Что такое роторы, настройки колец и начальные положения?
Что такое коммутационная панель?
Почему буква никогда не может зашифроваться сама в себя?
Кто взломал код «Энигмы»?
Насколько надёжен был шифр «Энигма»?
Загружается ли мой текст на сервер?
Похожие инструменты
Продолжайте работу с этими удобными инструментами