thumb|Prizele, tastatura, lămpile şi controalele rotoarelor aşa cum se văd pe capacul interior al unei maşini militare germane Enigma cu trei rotoare 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, , 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.Kahn (1991).

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.Kahn (1991), Hinsley și Stripp (1993).

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.

Descriere

thumb|left|upright|Diagrama de cablaje a unei maşini Enigma, arătând calea curentului electric. Cheia A este codificată în lampa D. D produce A, dar A nu produce niciodată A. right|thumbnail|upright|Acţiunea de substituţie de simboluri a rotoarelor Enigma pentru două litere consecutive–curentul trece printr-un set de rotoare, în jurul reflectorului, şi înapoi prin rotoare. Liniile gri reprezintă alte circuite posibile în cadrul fiecărui rotor, circuite cablate la contactele fiecărui rotor. Litera A este criptată diferit la două apăsări consecutive, întâi în G, şi apoi în C. Aceasta pentru că rotorul din dreapta şi-a schimbat starea, trimiţând semnalul pe o rută complet diferită.

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 thumb|Ansamblul rotoarelor maşinii Enigma. Cele trei rotoare mobile sunt plasate între două roţi fixe: roata de intrare la dreapta şi reflectorul (marcat aici cu B) la stânga.

Rotoarele (numite și roți sau tamburi în germană) formează inima unei mașini Enigma. De aproximativ î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.

thumb|left|Structura unui rotor Enigma: 1. Inel cu marcaje 2. Punctul de marcaj pentru contactul „A” 3. Roata alfabetică 4. Contacte pe placă 5. Conexiuni cu fire 6. Conectoare în formă de ac cu arc 7. Inel de ajustare cu pârghie 8. Învelișul metalic prin care trece axul central 9. Roata de ajustare manuală 10. Roata clichetului

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 („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 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).

thumb|right|Trei rotoare Enigma şi arborele pe care sunt ele plasate în timpul funcţionării.

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.

Schimbarea de stare thumb|Schimbarea stărilor maşinii Enigma.

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.David Hamer, "Enigma: Actions Involved in the ‘Double-Stepping’ of the Middle Rotor," Cryptologia, 21(1), ianuarie 1997, pp. 47–50, Versiune online (PDF arhivat cu zip)

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.