![](https://habrastorage.org/storage2/8b4/0ce/140/8b40ce140d1c121230286266fdfa472c.jpg)
Как утверждают источники, это устройство — было новым словом в криптографии того времени.
Как же она работала?
Шифр замены
Для начала, следует знать, что такое «Шифр замены». Это обычная замена одних букв на другие. Т.е. в таком шифре вместо буквы «А» используется, например «T», вместо «B» — «S» и т.п.
Взламывается такой шифр достаточно просто. При наличии более-менее длинного зашифрованного сообщения, можно произвести частотный анализ и сопоставить его частоте употребления букв в языке. Т.е. если в зашифрованном шифром замены сообщении много букв «Т» — то это явный признак того, что за этой буквой скрывается какая-то гласная (например, «А» или «О» т.к. обычно именно эти буквы наиболее часты в языке).
Устройство Энигмы
Энигма представляла собой как бы динамический шифр цезаря. Т.е. изначально на барабаных выставлялось некое начальное значение (этакий random seed), которое и являлось ключом. Далее, при наборе букв, каждая буква шифровалась шифром цезаря, а потом, этот шифр менялся на другой.
Смена шифра обеспечивалась с помощью роторов.
![image](https://habrastorage.org/getpro/habr/post_images/f81/60a/0d1/f8160a0d1cf237dd7cf59dbece9eb77b.jpg)
Роторы представляли собой диски, у которых было по 26 контактов с каждой стороны, соединенных внутри ротора определенным (случайным) образом. Именно проходя через ротор, сигнал преобразовывался из буквы «А» в букву «Т» и т.д.
Роторов было несколько и они поворачивались после набора каждого символа (на манер барабанного счетчика).
Кроме того, была еще коммутационная панель, в которую можно было вставлять провода, которые попарно меняли буквы. Т.е. воткнув провод одним концом в гнездо «А», а другим — в «Е», вы меняли эти буквы местами.
![image](https://habrastorage.org/getpro/habr/post_images/f9e/c20/bd0/f9ec20bd09edad9b0fc3b195748db4e4.jpg)
Принцип работы можно понять посмотрев на принципиальную схему:
![](https://habrastorage.org/storage2/d82/977/0b8/d829770b8808f4ba2154741cbcf06210.png)
Количество роторов варьировалось в разные годы и для разного назначения (например, во флоте использовались Энигмы с большим количеством роторов).
Для усложнения взлома операторы кодировали частоупотребимые слова (названия) каждый раз по-разному. Например, слово «Minensuchboot» могло быть написано как «MINENSUCHBOOT», «MINBOOT», «MMMBOOT» или «MMM354»
Аксессуары.
Как к любому популярному устройству, к Энигме существовало большое количество аксессуаров (да-да, это началось уже тогда).
Например, были авто-печатающие устройства (в обычной версии кодирование производилось загорающимися лампочками, значения которых должен был записывать оператор).
Кроме того, были дистанционные печатающие устройства (на проводах, конечно же). Чтобы оператор, вбивающий зашифрованное сообщение в машину, не имел доступа к расшифрованному.