Энигма
Эни́гма (лат. Enigma — загадка) — портативная шифровальная машина, использовавшаяся для шифрования и дешифрования секретных сообщений. Более точно, Энигма — целое семейство электромеханических роторных машин, применявшихся с 20-х годов XX века.
Энигма использовалась в коммерческих целях, а также в военных и государственных службах во многих странах мира, но наибольшее распространение получила в нацистской Германии во время Второй мировой войны. Именно Энигма вермахта (Wehrmacht Enigma) — немецкая военная модель — чаще всего является предметом дискуссий. Эта машина получила дурную славу, потому что криптоаналитики Антигитлеровской коалиции смогли расшифровать большое количество сообщений, зашифрованных с её помощью. Специально для этих целей была создана машина с кодовым названием Bombe, оказавшая значительное содействие Антигитлеровской коалиции в войне. Вся информация, полученная криптоанализом с её помощью, имела кодовое название ULTRA.
Хотя с точки зрения криптографии шифр Энигмы и был слаб, но на практике только сочетание этого фактора с другими (такими как ошибки операторов, процедурные изъяны, заведомо известный текст сообщений (например при передаче метеосводок), захваты экземпляров Энигмы и шифровальных книг) позволило взломщикам разгадывать шифры и читать сообщения.
Было выпущено, по приблизительным оценкам, около 100 000 экземпляров шифровальных машин Энигма.
Трёхроторная военная немецкая шифровальная машина Энигма (версия с метками).
Описание
Электрическая схема Энигмы, показывающая, куда течёт ток, когда буква «A» шифруется буквой «D»
Шифрующее действие Энигмы показано для двух последовательно нажатых клавиш — ток течёт через роторы, «отражается» от рефлектора, затем снова через роторы.
Замечание: Серыми линиями показаны другие возможные электрические цепи внутри каждого ротора. Буква A шифруется по-разному при последовательных нажатиях одной клавиши, сначала в G, затем в C. Сигнал пошёл по другому маршруту за счёт поворота ротора.
Как и другие роторные машины, Энигма состояла из комбинации механических и электрических систем. Механическая часть включала в себя клавиатуру, набор вращающихся дисков (роторов), которые были расположены вдоль вала и прилегали к нему, и ступенчатого механизма, двигающего один или более роторов при каждом нажатии клавиши.
Конкретный механизм работы мог быть разным, но общий принцип был таков: при каждом нажатии клавиши самый правый ротор сдвигается на одну позицию, а при определённых условиях сдвигаются и другие роторы. Движение роторов приводит к различным криптографическим преобразованиям при каждом следующем нажатии клавиши на клавиатуре.
Механические части двигались, замыкая контакты и образуя меняющийся электрический контур (то есть, фактически, сам процесс шифрования букв реализовывался электрически). При нажатии клавиши клавиатуры контур замыкался, ток проходил через различные цепи и в итоге включал одну из набора лампочек, и отображавшую искомую букву кода (например: при шифровке сообщения, начинающегося с ANX…, оператор вначале нажимал кнопку A — загоралась лампочка Z — то есть Z и становилась первой буквой криптограммы; далее оператор нажимал N и продолжал шифрование таким же образом далее).
Для объяснения принципа работы машины приведена диаграмма слева. Диаграмма упрощена: на самом деле механизм состоял из 26 лампочек, клавиш, разъёмов и электрических схем внутри роторов. Ток шёл из батареи через переключатель в коммутационную панель (3). Коммутационная панель позволяла перекоммутировать соединения между клавиатурой (2) и неподвижным входным колесом (4). Далее ток проходил через разъём (3), в данном примере неиспользуемый, входное колесо (4) и схему соединений трёх (в армейской модели) или четырёх (в военно-морской модели) роторов (5) и входил в рефлектор (6). Рефлектор возвращал ток обратно, через роторы и входное колесо, но уже по другому пути, далее через разъём «S», соединённый с разъёмом «D», через другой переключатель (9), и зажигалась лампочка.
Таким образом, постоянное изменение электрической цепи, через которую шёл ток, вследствие вращения роторов позволяло реализовать многоалфавитный шифр подстановки, что давало высокую, для того времени, устойчивость шифра.
Роторы
Левая сторона ротора Энигмы, видны плоские электрические контакты.
Правая сторона ротора, видны штыревые контакты. Римская V идентифицирует электропроводку ротора.
Роторы — это сердце Энигмы. Каждый ротор представлял собой диск примерно 10 см в диаметре, сделанный из твёрдой резины или бакелита, с пружинными штыревыми контактами на одной стороне ротора, расположенными по окружности. На другой стороне находилось соответствующее количество плоских электрических контактов. Штыревые и плоские контакты соответствовали буквам в алфавите, обычно это были 26 букв от A до Z. При соприкосновении контакты соседних роторов замыкали электрическую цепь. Внутри ротора каждый штыревой контакт был соединён с одним из плоских. Порядок соединения мог быть различным.
Три ротора и шпиндель, к которому они крепятся.
Сам по себе ротор производил очень простой тип шифрования: элементарный шифр замены. Например, контакт, отвечающий за букву E, мог быть соединён с контактом буквы T на другой стороне ротора. Но при использовании нескольких роторов в связке (обычно трёх или четырёх) за счёт их постоянного движения получается более надёжное шифрование.