Mașina Enigma

Mașina Enigma este numele unei familii de mașini electromecanice criptografice cu rotoare utilizate pentru a genera cifruri pentru criptarea și decriptarea de mesaje secrete. Enigma a fost folosită comercial de la începutul anilor 1920, fiind adoptată și de armatele și serviciile guvernamentale ale mai multor țări–cel mai celebru caz fiind cel al Germaniei naziste înainte de și în timpul celui de-al Doilea Război Mondial. Au fost produse, de-a lungul timpului, o varietate de modele diferite de Enigma, dar modelul armatei germane, Wehrmacht Enigma, este versiunea cel mai adesea studiată.
Mașina a căpătat notorietate deoarece criptologii Aliaților au reușit să decripteze un mare număr de mesaje care fuseseră cifrate cu această mașină. Decriptarea a devenit posibilă în 1932 datorită criptografilor polonezi Marian Rejewski, Jerzy Różycki și Henryk Zygalski de la Biroul de Cifruri. La jumătatea lui 1939, metodele de reconstrucție și descifrare au fost prezentate de Polonia Regatului Unit și Franței. Informațiile obținute din această sursă, denumite Ultra, au reprezentat un ajutor semnificativ pentru efortul de război al Aliaților. Influența exactă a Ultra nu este știută cu exactitate, dar o evaluare des întâlnită este cea că sfârșitul războiului din Europa a venit cu doi ani mai devreme datorită decriptării cifrurilor germane.
Deși cifrurile Enigma au slăbiciuni criptografice, în practică, doar în combinație cu alți factori semnificativi (greșeli de operare, defecte procedurale, o mașină sau un caiet de coduri capturate ocazional) criptografii Aliaților au reușit să descifreze mesajele.
Mașina este dotată cu o tastatură prin care se introduce textul clar simbol cu simbol, iar la capătul celălalt (imprimantă sau tablou cu becuri) rezultă simbolurile criptate. Acestea sunt calculate în funcție de starea rotoarelor (care se actualizează cu fiecare tastă apăsată), rotoare care controlează traseele circuitelor electrice de la intrare la ieșire. Versiunile inițiale au fost simple, dar în mod constant s-au adăugat complicații la mecanism, pentru creșterea securității cifrului, cum ar fi creșterea numărului de rotoare și adăugarea unui tablou de prize prin care se puteau substitui suplimentar perechi de simboluri.
Se mai păstrează încă mașini Enigma funcționale, în muzee, unele chiar în stare de funcționare, iar valoarea lor în licitații este de ordinul zecilor de mii de dolari. Rolul istoric al acestor mașini și al criptanalizei lor a fost reflectat în unele lucrări artistice, mai ales în Polonia, țară care a avut o contribuție semnificativă la descifrarea mesajelor Enigma.
Ca și alte mașini cu rotoare, mașina Enigma este o combinație de sisteme mecanice și electrice. Mecanismul mecanic constă dintr-o tastatură; un set de discuri rotative denumite rotoare aranjate unul lângă altul pe un ax; și un mecanism de schimbare a stării care rotește unul sau mai multe rotoare la fiecare apăsare a unei taste. Mecanismul exact variază de la versiune la versiune, dar cea mai des folosită formă este ca rotorul din dreapta să își schimbe starea cu un pas la fiecare apăsare, și ocazional declanșează și mișcarea rotoarelor învecinate. Mișcarea continuă a rotoarelor are ca rezultat aplicarea unei transformări criptografice diferite la fiecare apăsare de tastă.
Părțile mecanice se comportă în așa fel încât să formeze un circuit electric variabil—cifrarea efectivă a unei litere fiind efectuată electric. La apăsarea unei taste, circuitul se închide; curentul trece prin diferitele componente și în cele din urmă aprinde una din numeroasele lămpi, indicând litera de ieșire. De exemplu, la cifrarea unui mesaj care începe cu ANX..., operatorul ar tasta întâi A, având ca rezultat aprinderea, eventual, a lămpii Z; în acest caz, Z ar fi prima literă a textului cifrat. Operatorul ar trece apoi la cifrarea lui N în aceeași manieră, și așa mai departe.
În stânga, este o diagramă de cablaj a mașinii Enigma. Pentru a simplifica exemplul, sunt arătate doar patru componente din fiecare. În realitate, existau 26 de lămpi, taste, prize și cablaje în interiorul rotoarelor. Curentul trece de la baterie (1) prin comutatorul bidirecțional de litere (2) spre tabloul de prize (3). Tabloul de prize permite recablarea conexiunilor între tastatură (2) și roata fixă de intrare (4). Apoi, curentul trece prin priza (3)—neutilizată, deci închisă—prin roata de intrare (4), prin cablajele celor trei (în cazul Wehrmacht Enigma) sau patru (în cazul variantelor Kriegsmarine M4 sau Abwehr) rotoare (5) și intră în reflector (6). Reflector trimite curentul înapoi, pe o cale diferită, prin rotoare (5) și roata de intrare (4), și apoi prin priza S conectată cu un cablu (8) la priza D, și la un alt comutator bidirecțional (9) care aprinde lampa.
Schimbarea continuă a căii electrice prin unitate datorată rotației rotoarelor (care cauzează schimbarea contactelor la fiecare literă tastată) implementează criptarea polialfabetică ce îi conferea mașinii Enigma un nivel înalt de securitate.
Rotoarele (numite și roți sau tamburi—Walzen în germană) formează inima unei mașini Enigma. De aproximativ 10 cm în diametru, fiecare rotor este un disc din cauciuc tare sau din bachelită cu o serie de ace de bronz cu arc pe o parte aranjate în cerc; pe cealaltă parte sunt un număr corespunzător de contacte electrice circulare. Acele și contactele reprezintă alfabetul–de regulă cele 26 de litere A–Z. Când sunt plasate unul lângă altul, acele unui rotor se sprijină pe contactele rotorului vecin, formând o conexiune electrică. Înăuntrul unui rotor, un set de 26 de fire conectează fiecare ac de pe o parte cu un contact din partea cealaltă într-un șablon complex. Cablajele diferă pentru fiecare tablou.
Individual, un rotor efectuează doar un tip foarte simplu de criptare–un cifru cu substituție simplu. De exemplu, acul corespunzător literei E ar putea fi cablat cu contactul pentru litera T de pe partea opusă. Complexitatea provine de la utilizarea mai multor rotoare în serie—de regulă trei sau patru—și de mișcarea regulată a rotoarelor; aceasta furnizează un tip de criptare mult mai puternic.
În cadrul unei mașini, un rotor poate fi setat pe una din 26 de poziții. Aceasta se poate face manual cu ajutorul unui potențiometru, așa cum se arată în figura 2. Ca operatorul să cunoască poziția, fiecare rotor are un inel alfabetic atașat pe exteriorul discului, cu 26 de litere sau numere; una dintre acestea se vede printr-o fereastră, indicând operatorului poziția rotorului. La primele modele Enigma, inelul alfabetic era fix; o complicație introdusă în versiunile ulterioare o reprezintă facilitatea de a ajusta inelul alfabetic relativ la cablarea din centru. Poziția inelului este cunoscută sub denumirea de Ringstellung („setarea inelului”).
Rotoarele conțin fiecare unul sau mai multe marcaje, utilizate pentru a controla succesiunea de stări ale rotoarelor. În versiunile militare, marcajele se află pe inelul alfabetic.
Enigma Armatei și a Forțelor Aeriene erau echipate cu câteva rotoare; la început au fost doar trei. la 15 decembrie 1938 numărul a crescut la cinci, dintre care trei erau alese pentru introducerea în mașină. Acestea erau marcate cu cifre romane: I, II, III, IV și V, fiecare cu câte un singur marcaj aflat în diferite puncte ale inelului alfabetic. Intenția a fost ca aceasta să fie o măsură de securitate, dar în cele din urmă s-a dovedit a fi o slăbiciune ce a permis atacurile ceasului (efectuat de polonezi) și Banburismus (al britanicilor).
Versiunea navală a mașinii Enigma utilizată de Wehrmacht a avut mereu mai multe rotoare decât celelalte servicii: la început, șase, apoi șapte și în cele din urmă opt. Rotoarele suplimentare, numerotate VI, VII și VIII, aveau toate cablaje diferite, și două marcaje tăiate în ele la N și A, având ca rezultat o modificare mai frecventă.
Mașina Enigma cu patru rotoare (M4) a Marinei Germane avea un rotor în plus într-un volum egal cu cel din versiunea cu trei rotoare. Aceasta s-a realizat prin înlocuirea reflectorului original cu unul mai subțire și adăugarea unui al patrulea rotor special. Al patrulea rotor poate fi unul din două tipuri, „Beta” sau „Gamma”, și nu își schimbă niciodată starea, putând fi pus manual în oricare din cele 26 de poziții.
Pentru a evita implementarea doar a unui simplu (și slab) cifru cu substituție, unele rotoare se roteau la apăsările consecutive ale unei taste. Aceasta asigura că substituția criptografică va fi diferită la fiecare simbol, având ca rezultat o cifru cu substituție polialfabetică.
Cel mai adesea, acest scop este îndeplinit cu ajutorul unui clichet. Fiecare rotor are o roată dințată cu 26 de dinți; un grup de opritoare sprijină acești dinți. Acestea avansau la unison cu fiecare apăsare de tastă. Dacă un opritor ajunge la un dinte al roții, acel rotor își schimbă starea.
În Enigma Wehrmacht, fiecare rotor avea un inel ajustabil. Cele cinci rotoare elementare (I–V) aveau fiecare câte un marcaj, iar cele ale mașinii navale VI, VII și VIII aveau câte două. La un anumit moment, marcajul unui rotor ajunge să fie aliniat cu opritorul, permițându-i să acționeze clichetul următorului rotor la următoarea apăsare de tastă. Când un opritor nu este aliniat cu marcajul, el doar alunecă puțin pe suprafața inelului fără a acționa roata dințată. Într-un sistem de rotoare cu un singur marcaj, al doilea rotor avansează cu o poziție la fiecare 26 de avansuri ale primului rotor. Analog, al treilea rotor avansează cu o poziție la fiecare 26 de avansuri ale celui de-al doilea rotor. Al doilea rotor avansează și el împreună cu al treilea, ceea ce înseamnă că al doilea rotor poate face doi pași la apăsarea de taste—„pasul dublu”—având ca rezultat o reducere a perioadei.
Acest pas dublu cauzează devierea rotoarelor de comportamentul unui odometru obișnuit. Un pas dublu are loc după cum urmează: primul rotor avansează, și împinge al doilea rotor un pas mai departe. Dacă al doilea rotor se mișcă la acest pas în poziția marcajului său, al treilea clichet cade. La pasul următor, acest clichet împinge roata dințată a celui de-al treilea rotor, trecând în marcajul celui de-al doilea rotor, mișcându-l și pe acesta a doua oară consecutiv.
Cu trei roți și un singur marcaj în prima și a doua roată, mașina are o perioadă de 26 × 25 × 26 = 16.900 (în loc de 26 × 26 × 26, din cauza pasului dublu al celui de-al doilea rotor.) Istoric, dimensiunea mesajelor era limitată la numere de ordinul sutelor de litere, astfel existând un risc redus de repetare a unei poziții în cadrul unui singur mesaj.
Pentru a face loc pentru rotorul numărul patru, „Beta” respectiv „Gamma”, introduse în 1942, reflectorul a fost schimbat, făcându-l mai subțire și al patrulea rotor special, și el mai subțire, a fost pus lângă el. În restul mecanismului, nu s-a produs nicio schimbare. Deoarece existau doar trei clichete, al patrulea rotor nu avansa niciodată, dar putea fi pus manual într-una din cele 26 de poziții.
La apăsarea unei taste, rotoarele avansau înainte de conectarea circuitului electric.
Roata de intrare (în germană Eintrittswalze), sau statorul de intrare, conectează tabloul de prize, sau, dacă acesta nu există, tastatura și tabloul de tabloul de lămpi, cu ansamblul rotoarelor. Deși cablarea exactă utilizată este de importanță redusă pentru nivelul de securitate, s-a dovedit totuși a fi un obstacol pentru criptanalistul polonez Marian Rejewski în încercarea sa de a deduce cablajul rotoarelor. Mașina Enigma comercială conectează tastele în ordinea secvenței lor pe tastatură: Q → {\displaystyle \rightarrow } A, W → {\displaystyle \rightarrow } B, E → {\displaystyle \rightarrow } C și așa mai departe. Însă mașina Enigma militară le conectează în ordine alfabetică directă: A → {\displaystyle \rightarrow } A, B → {\displaystyle \rightarrow } B, C → {\displaystyle \rightarrow } C etc. A fost nevoie de o bănuială foarte inspirată a lui Rejewski pentru a descoperi modificarea, iar după aceasta, el a reușit să rezolve și mai inspiratele sale ecuații.
Cu excepția primelor modele A și B, ultimul rotor se afla înainte de un reflector (în germană Umkehrwalze, adică „roată de inversare”), o piesă patentată, care deosebea familia de mașini Enigma de diferitele mașini cu rotor proiectate în acea perioadă. Reflectorul conectează ieșirile ultimelor rotoare în perechi, redirecționând curentul electric înapoi prin rotoare pe un canal diferit. Reflectorul asigură că transformarea operată de Enigma este propria sa inversă: astfel, criptarea și decriptarea sunt aceeași operație și este efectuată de același mecanism. Dar reflectorul i-a dat mașinii Enigma și proprietatea că nicio literă nu era vreodată transformată în ea însăși. Aceasta a reprezentat un defect conceptual grav și o greșeală criptografică exploatată ulterior de criptanaliști.
În modelul C, reflectorul putea fi inserat într-una din două poziții diferite. În modelul D, reflectorul putea fi setat în 26 de poziții posibile, deși nu se putea mișca în timpul criptării. În Enigma Abwehr, reflectorul își schimba starea în timpul criptării, ca și celelalte roți.
În mașina Enigma a armatei germane și a forțelor aeriene, reflectorul era fix și nu se rotea; au existat patru versiuni. Cea originală denumită A a fost înlocuită de Umkehrwalze B la 1 noiembrie 1937. O a treia versiune, Umkehrwalze C a fost utilizată pentru scurt timp în 1940, probabil din greșeală, și a fost spartă de Hut 6. Cea de-a patra versiune, observată prima oară la 2 ianuarie 1944 avea un reflector recablabil, numit Umkehrwalze D, care permitea operatorului mașinii Enigma să includă modificarea conexiunilor ca parte din cheie.
Tabloul de prize (în germană Steckerbrett) permitea o cablare variabilă ce putea fi reconfigurată de operator (după cum se vede pe panoul frontal al figurii 1; unele din cablurile de conectare se văd în capac). A fost introdus în versiunea armatei germane în 1930 și a fost adoptat și de Marină curând după aceea. Tabloul de prize contribuia semnificativ la puterea criptării mașinii, mai mult decât ar fi făcut-o un rotor suplimentar. Enigma fără tablou de prize poate fi rezolvată relativ ușor folosind metode manuale; aceste tehnici sunt însă învinse prin adăugarea tabloului, iar criptanaliștii Aliaților au recurs la mașini speciale pentru a rezolva problema.
Un cablu pus pe panoul de prize conectează o pereche de litere între ele, de exemplu, E și Q ar putea fi o pereche conectată. Efectul conexiunii era interschimbarea celor două litere înainte și după unitatea criptografică principală, cu rotoare. De exemplu, când un operator apasă E, semnalul este deviat spre Q înainte de a intra în rotoare. Un număr de până la 13 astfel de perechi puteau fi folosite simultan.
Curentul trecea dinspre tastatură spre tabloul de prize și mai departe spre rotorul de intrare (Eintrittswalze). Fiecare literă de pe tabloul de prize are două intrări. Introducerea unei mufe deconecta intrările superioară (dinspre tastatură) și cea inferioară (spre rotorul de intrare) ale acelei litere. Mufa de la celălalt capăt al cablului era introdusă în intrarea altei litere, schimbând conexiunile între ele.
Un accesoriu utilizat de Enigma M4 a fost „Schreibmax”, o mică imprimantă care tipărea cele 26 de litere pe o mică bandă de hârtie. Aceasta a eliminat necesitatea ca un al doilea operator să citească lămpile și să noteze literele textului cifrat. Schreibmax era pus peste mașina Enigma și era conectat la panoul de lămpi. Pentru a instala imprimanta, carcasa lămpilor și toate becurile trebuiau demontate. În pofida acestui inconvenient, ea putea îmbunătăți securitatea operațională; imprimanta putea fi instalată la distanță astfel încât ofițerul care opera mașina nu mai trebuia să vadă informația decriptată (textul clar).
Un alt accesoriu al mașinii era panoul de lămpi la distanță. Dacă mașina era echipată cu un panou suplimentar, carcasa de lemn era mai mare pentru a-l putea conține. Exista o versiune de panou de lămpi ce putea fi conectat după aceea, dar care necesita, ca și Schreibmax, ca panoul de lămpi și becurile să fie scoase. Panoul de la distanță făcea posibil ca o persoană să citească textul decriptat fără ca operatorul să-l citească.
În 1944, Luftwaffe a introdus un comutator suplimentar pe tabloul de prize, comutator numit Uhr (ceas). Era o cutie mică ce conținea un comutator cu 40 de poziții. El înlocuia prizele inițiale. După conectarea prizelor, așa cum se arăta în foaia zilnică de chei, operatorul punea comutatorul într-una din cele 40 de poziții, fiecare producând o altă combinație de cablaje. Majoritatea acestor conexiuni nu erau pe perechi. Într-o singură poziție a comutatorului, Uhr nu făcea decât să emuleze 9 conexiuni realizate pe panoul de prize.
Transformarea Enigma pentru fiecare literă poate fi specificată matematic ca un produs de permutări. Presupunând o mașină Enigma a armatei germane sau a forțelor aeriene, fie P {\displaystyle P} transformarea tabloului de prize, U {\displaystyle U} cea dată de reflector, și L , M , R {\displaystyle L,M,R} respectiv cele date de cele trei rotoare. Atunci criptarea E {\displaystyle E} poate fi exprimată ca:
La fiecare apăsare de tastă, rotoarele se modifică, schimbând transformarea. De exemplu, dacă rotorul din dreapta R {\displaystyle R} este rotit cu i {\displaystyle i} poziții, transformarea devine ρ i R ρ − i {\displaystyle \rho ^{i}R\rho ^{-i}} , unde ρ {\displaystyle \rho } este permutarea ciclică ce transformă A în B, B în C, și așa mai departe. Analog, rotoarele stâng și central pot fi reprezentate ca rotațiile de j {\displaystyle j} și k {\displaystyle k} ale lui M {\displaystyle M} și L {\displaystyle L} . Transformarea de criptare poate fi descrisă ca:
În armata germană, comunicațiile erau împărțite într-un număr de rețele diferite, toate cu setări diferite pentru mașinile lor Enigma. Aceste rețele de comunicații erau numite la Bletchley Park chei, și aveau asignate câte un nume de cod, cum ar fi Red (Roșu), Chaffinch (Cinteza) și Shark (Rechinul). Fiecare unitate care opera pe o rețea primea o listă de setări pentru mașinile Enigma, valabilă o perioadă de timp. Pentru ca un mesaj să fie corect criptat și decriptat, atât transmițătorul cât și receptorul trebuiau să-și seteze mașina Enigma în același fel; selecția și ordinea rotoarelor, poziția de pornire și conexiunile de pe tabloul de prize trebuia să fie identice. Toate aceste setări (care împreună formau, în termeni moderni, cheia) trebuia să fi fost stabilite anterior, și erau distribuite în cărți de coduri.
Starea inițială a unei mașini Enigma avea câteva aspecte:
Enigma a fost proiectată să fie sigură chiar și dacă este cunoscută cablarea rotoarelor de către adversar, deși în practică s-au depus eforturi considerabile pentru a o păstra și pe aceasta secretă. Dacă cablarea e secretă, numărul total de configurații posibile a fost calculat a fi de ordinul a 10 (aproximativ 380 biți); când cablajul este cunoscut și cu alte constrângeri operaționale, dimensiunea spațiului este redusă la ordinul a 10 (76 biți). Utilizatorii Enigma erau încrezători în securitatea sa din cauza numărului mare de posibilități; la acea vreme, nu era fezabil ca un adversar să înceapă măcar să încerce fiecare configurație posibilă într-un atac cu forță brută.
Majoritatea cheilor erau păstrate în vigoare o anumită perioadă de timp, de regulă o zi. Totuși, o poziție inițială diferită a rotorului era aleasă pentru fiecare mesaj, concept similar cu cel de vector de inițializare din criptografia modernă, deoarece dacă mai multe mesaje sunt trimise criptat cu setări aproape identice, atunci un criptanalist, folosind mai multe mesaje interceptate, ar putea ataca mesajele folosindu-se de analiza frecvenței. Poziția inițială era transmisă chiar înainte de textul cifrat. Metoda exactă utilizată era denumită "procedura de indicator"—slăbiciunile acestei proceduri au deschis calea primelor spargeri ale mașinii Enigma.
Unele din primele proceduri de indicator a fost utilizată de criptanaliștii polonezi pentru a reuși primele spargeri cu succes ale mașinii Enigma. Procedura era ca operatorul să-și seteze mașina în conformitate cu lista de setări, care includea o poziție inițială globală a rotoarelor (Grundstellung), de exemplu AOH. Operatorul întorcea rotoarele până când literele AOH apăreau prin geamuri. În acel punct, operatorul își alegea o poziție de start arbitrară pentru mesajul respectiv. Putea alege de exemplu EIN, iar aceasta devenea setarea de mesaj pentru acea sesiune de criptare. Operatorul scria atunci EIN la tastatura mașinii, de două ori, pentru a permite detecția erorilor de transmisie. Rezultatul era un indicator criptat— EIN scris de două ori s-ar fi putut transforma de exemplu în XHTLOA, care ar fi transmis împreună cu mesajul. În cele din urmă, operatorul punea rotorul la setarea de mesaj, EIN în acest exemplu, și scria textul clar al mesajului.
La capătul celălalt, operation era inversată. Operatorul seta mașina la valorile inițiale și scria primele șase litere ale mesajului (XHTLOA). În acest exemplu, lămpile ar fi arătat EINEIN. Mutând rotoarele pe EIN, operatorul receptor scria apoi restul textului cifrat, descifrând mesajul.
Slăbiciunea acestei scheme de indicator venea din două surse. În primul rând, din utilizarea unei setări globale de inițializare—aceasta a fost ulterior schimbată, astfel încât operatorul își selecta valoarea inițială pentru a cripta indicatorul, și trimitea poziția inițială în clar. A doua problemă era repetiția indicatorului, un defect grav de securitate. Setarea mesajului era codificată de două ori, având ca rezultat o relație între prima și a patra, a doua și a cincea, respectiv a treia și a șasea literă. Această problemă de securitate a permis Biroului de Cifruri din Polonia spargerea sistemului Enigma dinainte de război încă din 1932. Totuși, după 1940, germanii au schimbat procedurile pentru a îmbunătăți securitatea.
În timpul celui de-al doilea război mondial, s-au folosit cărți de coduri doar pentru setarea rotoarelor și a inelelor. Pentru fiecare mesaj, operatorul alegea o poziție aleatoare de pornire, să zicem WZA, și o cheie aleatoare de mesaj, de exemplu SXT. Apoi muta rotoarele în poziția de start WZA și codifica cheia mesajului SXT. Presupunând că mesajul rezultat era UHL, el își seta apoi cheia de mesaj SXT ca poziție de start și cripta mesajul. Apoi, transmitea poziția de start WZA, cheia mesajului UHL și apoi textul cifrat. Receptorul seta poziția de start conform primei trigrame, WZA și apoi decodifica a doua trigramă, UHL, pentru a obține setarea de mesaj SXT. Apoi, utiliza acest SXT ca poziție de start pentru a decripta mesajul. Astfel, fiecare setare inițială era diferită și noua procedură evita defectul de securitate dat de dubla codificare a setărilor de mesaj.
Această procedură a fost utilizată doar de Wehrmacht și de Luftwaffe. Procedurile Kriegsmarine de la transmiterea mesajelor cu Enigma mult mai elaborate și complexe. Înainte de criptarea cu Enigma, mesajele erau codificate cu ajutorul cărții de coduri Kurzsignalheft. Kurzsignalheft conținea tabele de conversie ale diferitelor propoziții în grupuri de câte patru litere. Erau incluse numeroase posibilități, cum ar fi chestiuni logistice cum ar fi realimentarea cu combustibil sau întâlnirea cu navele de provizii, poziții, nume de porturi, țări, arme, starea vremii, pozițiile și navele inamice, tabele de date și ore. O altă carte de coduri conținea Kenngruppen și Spruchschlüssel: identificarea cheii și cheile de mesaj.
Mașina Enigma a armatei utiliza doar cele 26 de caractere alfabetice. Semnele erau înlocuite de combinații rare de caractere. Spațiul era omis și înlocuit cu X. X era în general folosit ca punct. Unele semne erau diferite în alte părți ale armatei. Wehrmachtul a înlocuit virgula cu ZZ și semnul de întrebare cu FRAGE sau FRAQ. Kriegsmarine însă, a înlocuit virgula cu Y și semnul de întrebare cu UD. Combinația CH, ca în cuvântul "acht" (opt) sau "Richtung" (direcție) au fost înlocuite cu Q (AQT, RIQTUNG). Două, trei sau patru zerouri erau înlocuite cu CENTA, MILLE și MYRIA.
Wehrmacht și Luftwaffe transmiteau mesajele în grupuri de câte patru caractere. Kriegsmarine, utilizând mașina Enigma cu patru rotoare, avea grupuri de patru caractere. Numele sau cuvintele folosite des erau variate atât cât se putea. Cuvinte ca Minensuchboot (detector de mine) puteau fi scrise MINENSUCHBOOT, MINBOOT, MMMBOOT sau MMM354. Pentru a îngreuna criptanaliza, era interzisă transmiterea de mesaje de peste peste 250 de caractere. Mesajele mai lungi erau împărțite în mai multe părți, fiecare cu propria sa cheie de mesaj. Pentru mai multe detalii, vezi traducerile lui Tony Sale ale „Procedurii generale” și ale „Procedurii pentru ofițeri și personal”.
Au existat numeroase modele și variante ale familiei Enigma. Primele mașini Enigma erau modele comerciale de la începutul anilor 1920. Începând de la jumătatea acelui deceniu, diferitele ramuri ale armatei germane au început să folosească Enigma, efectuând un număr de modificări pentru a-i crește nivelul de securitate. În plus, mai multe alte țări au adoptat sau au adaptat designul Enigma pentru propriile lor mașini de cifrare.
La 23 februarie 1918, inginerul german Arthur Scherbius a depus o cerere de patent pentru o mașină de cifrare cu rotoare și, împreună cu E. Richard Ritter, a fondat firma Scherbius & Ritter. Ei au abordat marina germană și ministerul de externe pentru a le prezenta proiectul, dar nu au găsit interes pentru acesta. Apoi ei au dat drepturile asupra patentului firmei Gewerkschaft Securitas, care a fondat Chiffriermaschinen Aktien-Gesellschaft (Societatea pe Acțiuni Mașini de Cifrare) la 9 iulie 1923; Scherbius și Ritter făceau parte din consiliul director.
Chiffriermaschinen AG a început să facă reclamă unei mașini cu rotoare—Enigma model A—care a fost expusă la Congresul Uniunii Poștale Internaționale în 1923 și în 1924. Mașina era grea și masivă, și conținea și o mașină de scris. Măsura 65×45×35 cm și cântărea aproximativ 50 kg. A fost introdus și un model B, cu o construcție similară. Deși și ele au purtat numele de Enigma, atât modelul A cât și modelul B erau diferite de versiunile ulterioare: atât forma și mărimea, cât și funcționalitatea, prin aceea că lor le lipsea reflectorul.
Reflectorul—o idee propusă de colegul lui Scherbius Willi Korn—a fost introdusă prima oară în modelul Enigma C (1926). Reflectorul este o piesă-cheie a mașinilor Enigma.
Modelul C era mai mic și mai portabil decât predecesoarele sale. Îi lipsa mașina de scris, bazându-se în schimb pe citirea de către operator a lămpilor; astfel, modelul a fost numit "Enigma cu lămpi" pentru a-l distinge de modelele A și B. Enigma C a dispărut rapid, făcând loc modelului Enigma D (1927). Această versiune a fost folosită pe scară largă, în Suedia, Olanda, Regatul Unit, Japonia, Italia, Spania, Statele Unite și Polonia.
Marina a fost prima ramură a armatei germane care a adoptat Enigma. Această versiune, numită Funkschlüssel C (Cifru radio C), a fost pusă în producție până în 1925 și a fost introdusă în folosință în 1926. Tastatura și tabloul de lămpi conțineau 29 de litere—de la A la Z, Ä, Ö și Ü—aranjate în ordine alfabetică, și nu în ordinea QWERTZU. Rotoarele aveau 28 de contacte, litera X fiind cablată să treacă necriptată prin rotoare. Trei rotoare erau alese dintr-un set de cinci și reflectorul putea fi introdus în una din patru poziții diferite, notate α, β, γ și δ. Mașina a fost revizuită în iulie 1933.
Până la 15 iulie 1928, armata germană (Reichswehr) își introdusese propria sa versiune de Enigma—Enigma G, urmată de versiunea sa revizuită Enigma I până în iunie 1930. Enigma I este numită și Enigma Wehrmacht, sau Servicii, și a fost utilizată de serviciile militare germane și de alte organizații guvernamentale (cum ar fi căile ferate), înaintea și în timpul celui de-al doilea război mondial. Diferența majoră dintre Enigma I și modelele comerciale a fost adăugarea tabloului de prize pentru a schimba între ele perechi de litere, mărind cu mult puterea criptografică a mașinii. Printre alte diferențe se numărau utilizarea unui reflector fix, și mutarea marcajelor de schimbare a stării de pe corpul rotorului pe inelele mobile cu litere. Mașina măsura 28×34×15 cm și cântărea în jur de 12 kg.
Până în 1930, Armata a sugerat ca și Marina Militară să adopte această mașină, arătând beneficiile sporului de securitate (cu tabloul de prize) și simplificarea comunicațiilor între servicii. Marina a acceptat în cele din urmă și în 1934 au introdus versiunea specială a mașinii armatei, denumită Funkschlüssel M sau M3. În timp ce armata folosea doar trei rotoare la acel moment, pentru a crește nivelul de securitate, Marina a decis să folosească trei rotoare din cinci posibile.
În decembrie 1938, Armata a produs două rotoare suplimentare, astfel încât cele trei rotoare erau alese dintr-un set de cinci. În 1938, Marina a mai adăugat două rotoare, și apoi încă unul în 1939 pentru a permite alegerea a trei rotoare dintr-un total de opt posibile. În august 1935, Forțele Aeriene au introdus Wehrmacht Enigma în comunicații. Marina a introdus pentru traficul submarinelor o mașină Enigma cu patru rotoare, la 1 februarie 1942. Mașina se numea M4 (rețeaua era denumită de Aliați Triton, sau Shark). Rotorul suplimentar a fost montat în același spațiu prin reducerea grosimii reflectorului, ceea ce a făcut loc pentru un al patrulea rotor mai subțire.
A existat și un model mare, cu opt rotoare și imprimantă, numit Enigma II. În 1933, criptanaliștii polonezi au detectat că acesta era folosit pentru comunicațiile militare la nivel înalt, dar că a fost retrasă din utilizare deoarece a fost considerată nesigură și se bloca des.
Abwehr a utilizat Enigma G (Enigma Abwehr). Această variantă de Enigma era o mașină cu patru rotoare cu marcaje multiple, dar nu avea tablou de prize. Acest model era echipat cu un contor incrementat la fiecare apăsare de tastă, fiind astfel cunoscut ca mașina cu contor sau Zählwerk Enigma.
Și alte țări au folosit mașini Enigma. Marina italiană a adoptat varianta comercială ca "Cifrul Marinei D"; spaniolii au folosit mașina comercială în timpul războiului civil. Criptanaliștii britanici au reușit să spargă aceste mașini, cărora le lipsea tabloul de prize. Elvețienii au utilizat o versiune de Enigma numită model K pentru comunitcații militare și diplomatice, model foarte similar cu Enigma D. Mașina a fost spartă de mai multe țări, printre care Polonia, Franța, Regatul Unit și Statele Unite (ultima a numit mașina INDIGO). Un model Enigma T (cu numele de cod Tirpitz) a fost fabricat pentru a fi utilizat de către japonezi.
Criptografia mașinii Enigma nu era perfectă, mai ales după ce aliații au capturat câteva exemplare, permițându-le să decodifice mesajele germanilor, ceea ce s-a dovedit a fi vital în Bătălia Atlanticului.
S-a estimat că s-au construit în total aproximativ 100.000 de mașini Enigma. După sfârșitul celui de-al doilea război mondial, Aliații au vândut mașinile Enigma capturate, și considerate încă relativ sigure, unui număr de țări în curs de dezvoltare.
Efortul de a sparge mașina Enigma nu a fost dezvăluit decât în anii 1970. De atunci, interesul pentru mașinile Enigma a crescut considerabil și mai multe exemplare sunt expuse astăzi în muzee din SUA și din Europa. Deutsches Museum din München are versiuni militare cu trei și patru rotoare, precum și alte versiuni civile mai vechi. O mașină Enigma în stare de funcționare este expusă la Muzeul Criptografic Național al NSA din Fort Meade, Maryland, unde vizitatorii pot să încerce să cripteze mesaje clare și să descifreze mesaje codate. Armémuseum din Stockholm are și el o mașină Enigma expusă. Sunt exemplare și la Muzeul de Istoria Calculatoarelor din Statele Unite, la Bletchley Park în Regatul Unit, la Muzeul Armatei Poloneze din Polonia, la Australian War Memorial, și în foaierul Defence Signals Directorate, ambele aflate în Canberra în Australia, precum și în mai multe alte locuri din Germania, SUA, Regatul Unit și în alte țări ale lumii. Muzeul Calculatoarelor din San Diego, astăzi închis, avea în colecția sa o mașină Enigma, pe care a dat-o apoi bibliotecii de la Universitatea de Stat San Diego. Altele sunt deținute de colecționari particulari. Ocazional, se vând mașini Enigma la licitații, la prețuri care ajung deseori la 20.000 de dolari.
Replici ale mașinilor sunt disponibile în diverse forme, inclusiv o copie exactă reconstituită a modelului naval M4, o Enigma implementată cu circuite electronice (Enigma-E), precum și diferite simulatoare software.
O mașină rară Enigma Abwehr, denumită G312, a fost furată de la muzeul Bletchley Park la 1 aprilie 2000. În septembrie, o persoană ce se autodenumea „The Master” a transmis o notă prin care cerea 25.000 de lire sterline și a amenințat că va distruge mașina dacă nu se plătește răscumpărarea. La începutul lui octombrie 2000, oficialii Bletchley Park au anunțat că vor plăti răscumpărarea dar termenul limită trecuse și nu se auzise nimic de la șantajist. La scurt timp, mașina a fost trimisă anonim ziaristului BBC Jeremy Paxman, dar cu trei rotoare lipsă. În noiembrie 2000, un negustor de antichități pe nume Dennis Yates a fost arestat după ce a sunat la The Sunday Times pentru a face aranjamente pentru returnarea pieselor lipsă. Mașina Enigma a fost returnată la Bletchley Park după incident. În octombrie 2001, Yates a fost condamnat la zece luni închisoare după ce a recunoscut că a deținut mașina furată și că a cerut răscumpărare pentru returnarea ei, dar a continuat să susțină că era doar un intermediar pentru un terț. Yates a fost eliberat din închisoare după trei luni.
Enigma a avut o puternică influență în domeniul proiectării mașinilor de cifrare, și mai multe mașini cu rotoare derivă din ea. Mașina britanică Typex a fost inițial derivată din patentele Enigma; Typex include chiar și caracteristici din descrierile patentului care au fost omise la realizarea practică a mașinilor Enigma. Din cauza nevoii de a păstra secretul asupra sistemului de cifrare, nu s-au plătit drepturi de autor pentru utilizarea patentului de către guvernul britanic. O clonă japoneză de Enigma a primit numele de cod GREEN de la criptografii americani. Folosită rareori, ea conținea patru rotoare montate vertical. În SUA, criptologul William Friedman a proiectat M-325, o mașină similară cu Enigma din punct de vedere al funcționalității, dar nu și din cel al structurii.
O mașină cu rotoare unică a fost construită în 2002 de Tatjana van Vark din Olanda. Acest dispozitiv neobișnuit a fost inspirat din Enigma dar utilizează rotoare cu 40 de puncte, permițând utilizarea de cifre, litere și unele caractere de punctuație; fiecare rotor conține 509 piese.
Piesa Breaking the Code (Spargerea codului), de Hugh Whitemore, este bazată pe viața și moartea lui Alan Turing, care a fost forța centrală în spargerea Enigma în Regatul Unit în timpul celui de-al doilea război mondial. Rolul lui Turing a fost jucat de Derek Jacobi, care l-a jucat pe Turing și în 1996 într-o adaptare la televiziune a piesei.
Acțiunea romanului din 1996 al lui Robert Harris Enigma se desfășoară în contextul celui de-al doilea război mondial și al criptologilor care lucrau la Bletchley Park încercând să citească mesajele cifrate de Enigma navală în Hut 8. Cartea, care face câteva modificări în acțiune, a fost ecranizată în 2001, filmul omonim fiind regizat de Michael Apted și avându-i în rolurile principale pe Kate Winslet și Dougray Scott; filmul a fost criticat pentru multe date istorice imprecise și pentru neglijarea rolului jucat de Biuro Szyfrów la spargerea codului Enigma. Un film polonez anterior care tratează aspectele poloneze ale subiectului a fost Sekret Enigmy (Secretul Enigmei), din 1979.
Filmul din 1981 al lui Wolfgang Petersen Das Boot include o mașină Enigma care este o variantă Kriegsmarine cu patru rotoare. Ea apare în multe scene care prezintă utilizarea sa cotidiană la bordul unui submarin german din cel de-al doilea război mondial.