Шифровальная машина Энигма — это переносная шифровальная машина, использовавшаяся для шифрования и дешифрования секретных сообщений. «Энигма» внесла существенное влияние в сферу изобретения шифровальных машин вообще и роторных машин в частности.
«Энигма» относилась к классу электромеханических шифровальных машин. Ее конструкция была основана на системе из трех роторов, осуществлявших замену двадцати шести букв латинского алфавита.
Каждый ротор имел 26 входных контактов на одной поверхности и 26 выходных контактов — на другой. Внутри каждого ротора проходили провода, связывавшие входные и выходные контакты между собой. Выходные контакты первого ротора соединялись с входными контактами второго ротора. Когда оператор нажимал на какую-либо букву на клавиатуре машины, электрический ток подавался на входной контакт первого ротора, соответствующий этой букве. Ток проходил через первый ротор и поступал на выходной контакт, соответствующий какой-либо другой букве. Затем ток проходил последовательно через второй и третий роторы и подавался на неподвижный рефлектор (от лат. reflecto — «обращаю назад», «отражаю»).
В конструкции рефлектора 26 контактов разбивались на пары, контакты внутри каждой пары были соединены между собой. Таким образом рефлектор заменял букву на парную ей.
Ток, прошедший через рефлектор, подавался назад, на систему роторов. Он вновь проходил через три ротора, но в обратном порядке. В конце концов на световом табло «Энигмы» загоралась одна из 26 лампочек, соответствовавшая зашифрованной букве. Самым важным свойством «Энигмы» являлось вращение роторов.
Первый ротор после каждой преобразованной буквы поворачивался на одну позицию. Второй ротор поворачивался на одну позицию после того, как первый ротор совершал полный оборот, т. е. после 26 преобразованных букв. Наконец, третий ротор поворачивался на одну позицию после того, как второй ротор совершал полный оборот, т. е. после 26.26 = 676 зашифрованных букв.
Благодаря рефлектору «Энигма» на каждом шаге осуществляла перестановку букв внутри пар, и если, к примеру, буква N заменялась на S, то при том же положении роторов буква S заменялась на N (ток шёл по тем же проводам, но в обратную сторону). Этим объяснялась особенность «Энигмы»: для расшифровки сообщения достаточно было вновь пропустить его через машину, восстановив предварительно начальное положение роторов.
Таким образом, начальное положение роторов играло роль ключа шифрования. Начальное положение роторов устанавливалось в соответствии с текущей датой. Каждый оператор имел специальную книгу, задававшую положение роторов для каждого дня. В этом заключалась очевидная слабость данной системы шифрования: достаточно было завладеть книгой и машиной, чтобы раскрыть все секреты.