Енѝгма (; [енигма] – загадка) е тип преносима шифровъчна машина, използвана за шифриране и дешифриране на секретни съобщения през 1920-те години.

Енигма е използвана от началото на 1920-те години за търговски цели, както и във военните и държавни служби и учреждения на много страни, но най-широко разпространение получава в Националсоциалистическа Германия по време на Втората световна война. Затова под „Енигма“ най-често се разбира немският военен модел Енигма на Вермахта (Wehrmacht Enigma).

История

За изобретател на Енигма се счита германският електроинженер д-р Артур Шербиус (1878 – 1929), който на 23 февруари 1918 г. получава първи патентChiffrierapparat DRP, №. 416 – 219 за шифровата машина. За производството на машината на 9 юли 1923 г. в Берлин се създава Акционерно дружество „Шифрови машини“ (Chiffriermaschinen – Aktiengesellschaft) с адрес Берлин, W.35 Steglitzer, str. 2. Първоначално Енигма е замислена като гражданска криптографска система, която да се продава свободно. Така например през 1923 г. е свободно предлагана за продажба на Международния пощенски конгрес в Берн. В края на 20-те години на ХХ век обаче военните институции проявяват засилен интерес към изобретението, така че машината скоро изчезва от цивилния пазар. Точно в началото на възхода на едва кретащото дотогава предприятие на Шербиус обаче, собственикът загива при нещастен случай. Фирмата на Шербиус е наследена през 1934 г. от Рудолф Хаймсьот и Елзбет Ринке. Двамата преустройват старата фирма на Шербиус и започват производството на Енигма в предприятието с ново име „Heimsoeth & Rinke“ в Берлин. Точно по това време в Германия изгрява националсоциализмът. На нарастващата военна мощ на Райха ѝ е необходима сериозна криптографска система, така че нищо вече не стои на пътя на възхода на Енигма.

Различните специалисти сочат различен брой произведени по време на Втората световна война машини: между 30 000 и 200 000 бройки. До края на войната се сменят различни модели и варианти на Енигма. Най-използваният обаче е т.нар. Енигма-I („Енигма едно“), който от 1930 г. е на въоръжение в Райхсвера, а по-късно и във Вермахта.

Тази машина става по-късно известна с това, че още преди войната криптоаналитиците от Антихитлеристката коалиция успяват да разшифроват много съобщения, шифрирани на нея. Заслугата е на полските криптографи Мариан Рейевски, Йежи Рожицки и Хенрик Зигалски от полското Шифрово бюро (), които разбиват кода през 1932 г. През юли 1939 г. Полша споделя с Великобритания и Франция разработените дешифровъчни методи и им предоставя реконструкции на машината. , chapter Touch and Go: The Warsaw Conference, July 1939 Така за британското военно разузнаване става възможно да добива информация чрез дубликат на Енигма, разработен в Блечли Парк и наричан УЛТРА (ULTRA). УЛТРА е използвана за декодиране на съобщения, кодирани с по-късната версия на Енигма, на базата на шифровъчна книга, спасена от потопена немска подводница. Към края на Втората световна война в отговор на подобренията направени от немска страна върху Енигма, във Великобритания бива разработена една от първите електронни изчислителни машини – КОЛОС (Colossus). Различните военни специалисти оценяват по различен начин приноса на УЛТРА и КОЛОС за ускоряването на победата на Съюзниците, но някои считат, че разшифроването на немските криптограми е съкратило продължителността на войната с две години.

Въпреки че шифърът на Енигма е слаб от криптографска гледна точка, той е труден за разбиване и на практика разчитането на шифрограмите става възможно само вследствие на съчетаването на няколко фактора като операторски грешки, процедурни недостатъци и трофейни машини Енигма и шифровъчни книгиKahn (1991), Hinsley and Stripp (1993)..

Описание

Буквата A се шифрира различно при последователното натискане на един и същ клавиш първо като G, а след това като C. Сигналът преминава по друга електрическа верига заради завъртането на ротора.

Машината Енигма-I тежи около 10 kg и е с размери 310 mm x 255 mm x 130 mm. На пръв поглед прилича на пишеща машина. Както и другите роторни машини, Енигма се състои от комбинация от механически и електрически системи. Механичната част включва клавиатура, набор от въртящи се дискове (ротори), които са разположени около вала и са долепени до него и степенчат механизъм, задвижващ един или повече ротора при всяко натискане на клавиш. Конкретният начин на работа може да е различен, но общият принцип е един и същ: при всяко натискане на клавиш най-десният ротор се измества с една позиция, а при определени условия се изместват и другите ротори. Движението на роторите води до различни криптографски преобразувания (самото шифриране) при всяко следващо натискане на клавиш на клавиатурата.

Механичните части се движат, образувайки променяща се електрическа верига, тоест фактически шифрирането на буквите се осъществява електрически. При натискането на клавиш веригата се затваря, токът преминава през различните компоненти и накрая включва една от множеството лампички, изобразяваща буквата, която ще излезе на изхода. Например, при шифроване на съобщение, започващо с ANX..., операторът първо натиска клавиш A и светвала лампичка Z, тоест Z ставала първата буква на криптограмата. Операторът продължавал шифрирането с буквата N по същия начин и т.н.

За обяснение на принципа на работа на Енигма вижте диаграмата вдясно. Диаграмата е опростена, като са показани само 4 компонента – на практика механизмът се състои от 26 лампички, клавиши, ключове и електрически схеми вътре в роторите. Токът преминава от батерията (1) през превключвателя (2) в комутационния панел (3). Комутационният панел позволява сигналът да премине от клавиатурата (2) до неподвижното входно колело (4). По-нататък токът преминава през щекер (3), в конкретния пример неизползван, входното колело (4) и схемата на съединение на три (в армейския модел) или четири (във военноморския модел) ротора (5), от където влиза в рефлектора (6). Рефлекторът връща тока обратно по друг път през роторите (5) и входното колело (4), после през щекер 'S', съединен чрез кабел (8) с щекер 'D', през друг двупосочен превключвател (9), като захранва лампичката..

Така постоянното изменение на електрическата верига, през която преминава електричеството позволява да се постигне многобуквен шифър, който е сравнително високоустойчив за времето си. Ако операторът изпише „OTTO“, то последователно ще се засветят примерно лампите „PQWS“. Важно в криптографско отношение е, че заради завъртането на роторите една и съща буква се кодира по различен начин.

Ротори

Роторите са сърцето на Енигма. Всеки ротор представлява диск с диаметър около 10 cm, изработен от твърда гума или бакелит, с пружинни контактори от едната страна на ротора, разположени в кръг. От другата страна има съответното количество плоски електрически контакти. Всяка двойка съответства на буква от азбуката, обикновено 26-те букви от A до Z. При допир контактите на съседни ротори затварят електрическа верига. Вътре в ротора всеки контактор е съединен с друг от плоските контакти. Редът на съединяване може да е произволен.

Роторът сам по себе си извършва най-простия тип шифриране – замяна на една буква с друга. Например контактът, отговарящ за буквата Е, може да е свързан с контакта на буквата Т от другата страна на ротора и тогава всички букви „Е“ в шифрирания текст биха били заменени с „Т“. Но при използването на няколко взаимосвързани ротора (обикновено три или четири), при тяхното въртене се получава наистина надеждно шифриране.

Роторът може да заема една от 26 възможни позиции в машината. Той може да бъде завъртян до друга позиция ръчно посредством назъбения роторен палец, който се подава навън, както се вижда на Снимката. За да може операторът винаги да определя положението на ротора, на венеца на всеки от тях в кръг са изписани буквите от азбуката и само една от тях се вижда през прозорчето. В първите модели Енигма азбучното колело било фиксирано, а в по-късните версии конструкцията била усложнена и то можело да се регулира. Всеки ротор имал една или няколко зъба, използвани за управление на движението на роторите. Във военните версии зъбите били разположени на азбучното колело.

Военните модели Енигма се произвеждали с различен брой ротори. Първият модел имал едва три, от 15 декември 1938 г. те станали пет, но само три от тях се използвали едновременно в машината. Тези ротори били маркирани с римските числа от I до V, и всеки от тях имал по един зъбец, разположен на различни места в азбучното колело. Военноморските модели винаги имали повече ротори, отколкото другите – по шест, седем или дори осем. Тези допълнителни ротори били маркирани с числата VI, VII и VIII, като всеки от тях имал различни електропроводници. Имали по два зъбеца около буквите 'N' и 'A', поради което се завъртали по-често.

Четирироторният военноморски модел Енигма-M4 имал един допълнителен ротор, въпреки че бил с размерите на трироторен. Това се постигало с по-тънък рефлектор. Имало два типа допълнителен ротор – Бета и Гама. Те не се движели в процеса на шифриране, но можели да бъдат преместени ръчно на която и да е от 26 различни позиции.

Разглобен ротор Три последователно свързани ротора колело със зъби маркиращата точка за контакт „A“ азбучно колело контакти електропроводници контактори пружинен лост за настройка на колелото втулка пръстовото колело спирачното колело

Стъпково движение

Всеки ротор бил прикрепен към зъбно колело с 26 зъба (зъбен запиращ механизъм), а групата езичета се зацепвала в зъбите на това колело. Езичетата се измествали напред едновременно с натискането на клавиш на машината. Ако езичето зацепвало зъб на запиращия механизъм, роторът се завъртал с една стъпка.

В армейския модел на Енигма всеки ротор бил прикрепен към регулируемо колело със зъбци. Петте базови ротора (I-V) имали по един зъбец, докато военноморският модел (VI-VIII) имал по два. В даден момент зъбецът попадал срещу езичето, позволявайки му да се зацепи за зъбния запиращ механизъм на следващия ротор при последващото натискане на клавиш. Когато обаче езичето не попадало в зъбец, то просто се плъзгало по повърхността на колелото, без да се зацепва за механизма. В система с един зъбец вторият ротор се измествал напред с една позиция за същото време, за което първият се измествал с 26 позиции. Аналогично третият се премествал с една позиция за времето, за което втория правел 26 стъпки. Специфична особеност на машината била, че вторият ротор също се местел, ако се премествал третия. Това означава, че втория ротор може да се премести два пъти при две последователни натискания на клавиши – така нареченото „двустъпково движение“, което водело до намаляване на периода.David Hamer, Enigma: Actions Involved in the 'Double-Stepping' of the Middle Rotor, Cryptologia, 21(1), януари 1997 г., стр. 47 – 50, онлайн версия (PDF)

Двустъпковото движение различава работата на роторите от тази на обикновения километражен брояч. Двойната стъпка действала по следния начин: първият ротор се завъртал, карайки втория също да направи една стъпка. И ако втория попаднел в необходимата позиция, третото езиче се зацепвало в третия запиращ зъбен механизъм. На следващата стъпка това езиче бутало запъващия механизъм и го премествало, премествайки същевременно и третия ротор.

С три диска, имащи само по един зъбец на първия и втория диск, машината имала период на повторение 26 × 25 × 26 = 16 900 символа. Като правило, изпращаните съобщения били по-къси от неколкостотин символа, поради което нямало риск да се повтори една и съща позиция на роторите при едно и също съобщение.

В четирироторните военноморски модели нямало изменения в механизма. Четвъртият ротор не се въртял, но можел да бъде сложен ръчно на която и да е от наличните 26 позиции.

Входно колело