miniatura|Màquina Enigma LEnigma era una màquina portàtil per a encriptar i desencriptar missatges. Més exactament, era una família de màquines criptogràfiques electromecàniques de rotor, desenvolupades i utilitzades durant la primera meitat del . Foren inventades per l'enginyer alemany Arthur Scherbius als darreres mesos de la Primera Guerra Mundial, i els primers models es van utilitzar en l'àmbit comercial a principi dels anys vint, tot i que diversos països adoptaren la màquina per emprar-la en l'àmbit governamental i militar, com és el cas de l'Alemanya nazi d'abans i durant la Segona Guerra Mundial. Es van produir diversos models però els models alemanys emprats per la Wehrmacht són els més populars.
Malgrat que els alemanys creien que era inviolable, els aliats van trencar-ne la clau i en van desxifrar molts missatges.
Descripció miniatura|esquerra|El cablejat de l'Enigma mostra el seu funcionament. La tecla "A" serà codificada a una "D". D dona com a resultat A, però A mai no dona A. Aquesta propietat fa més segura la transmissió de missatges, però podia ser aprofitada pels criptoanalistes. miniatura|Es mostra l'acció combinada dels rotors de l'Enigma per a dues lletres consecutives. El corrent passa cap a un seguit de rotors, entra i surt del reflector, i torna a passar pels rotors. Les línies grises són unes altres possibles rutes de cada rotor. La lletra A dona un resultat diferent quan es prem la tecla dos o més cops. La primera vegada és una G, la segona una C. Això és perquè el rotor dret ha fet una passa endavant i envia el corrent per un camí diferent. Els altres rotors també avancen però més a poc a poc, no a cada tecla que es prem.
Com les altres màquines de rotor, la màquina Enigma és un conjunt de subsistemes mecànics i elèctrics. El mecànic és un teclat alfanumèric, i un seguit de discos giratoris anomenats rotors units a un eix. Hi ha uns mecanismes que fan avançar un o més rotors quan es toca una tecla. El mecanisme per a avançar pot ser diferent segons el model. El més habitual era que el rotor dret fes una passa cada vegada que es premia una tecla, i els altres ho feien ocasionalment. Per tant, si es prem la mateixa tecla dos o més cops seguits, el resultat és diferent cada vegada. Cada cop es fa un circuit elèctric diferent.
Quan es prem una tecla, es tanca un circuit, el corrent passa pels diferents components i al final encén la bombeta de la lletra resultant. Per exemple, per encriptar un missatge que comença per ANX…, l'operador hauria primer de prémer la tecla A, i s'encendria la lletra Z. Per tant, la Z seria la primera lletra del text codificat. Després es prem la N, després la X i així. Com que les rutes elèctriques a dins de l'Enigma canviaven constantment a causa de la rotació dels rotors, l'encriptació era polialfabètica i això feia l'Enigma molt segura.
La màquina miniatura|Màquina Enigma al Museu Nacional de la Ciència i la Tecnologia Leonardo da Vinci, Milà.El mecanisme estava construït fonamentalment per un teclat similar al de les màquines d'escriure les tecles del qual eren interruptors elèctrics, un engranatge mecànic, uns rotors amb circuits interns que els interconnectaven i un panell de llums amb les lletres de l'alfabet.
La part elèctrica consistia en una bateria que encenia una de les làmpades, cadascuna de les quals representava una de les lletres de l'alfabet. Es pot observar a la part inferior de la imatge adjunta el teclat, i les làmpades són els circuits que apareixen al seu damunt.
El cor de la màquina Enigma era mecànic i constava de diversos rotors connectats entre ells. Cada rotor era un disc circular pla amb 26 contactes elèctrics a cada cara, un per cada lletra de l'alfabet. Cada contacte d'una cara estava connectat o cablejat a un contacte diferent de la cara oposada. Per exemple, en un rotor concret, el contacte número 1 d'una cara podia estar connectat amb el contacte número 14 de l'altra cara i el contacte número 5 d'una cara amb el número 22 de l'altre. Cadascun dels cinc rotors proporcionats amb la màquina Enigma estava cablejat d'una manera diferent i els rotors utilitzats per l'exèrcit alemany posseïen un cablejat diferent dels models comercials.
La màquina Enigma s'acompanyava, en la majoria de les seves versions, d'un joc de cinc rotors, tres dels quals es col·locaven en sengles ranures. Els rotors triats es distribuïen com es desitjava en les ranures, permetent diverses combinacions.
El recorregut intern que seguirà una lletra en ser xifrada serà el següent: en prémer, per exemple, la lletra A enviarà un impuls cap al primer rotor que el farà girar una posició, llavors connectarà la lletra "A" amb l'altra cara del mateix rotor produint així el primer canvi de lletra.
Aquesta cara del primer rotor connectarà amb la primera cara del segon rotor produint un altre canvi de lletra en passar cap a la segona cara del segon rotor, tot seguit continuarà cap a la primera cara del tercer rotor i en passar cap a la segona cara del tercer rotor produirà un altre canvi de lletra.
En arribar al reflector, aquesta peça de la màquina enigma el que fa és "reflectir" l'última lletra que li ha arribat de la segona cara del tercer rotor. És a dir, envia de nou la lletra cap al primer rotor, però per un camí diferent del que havia seguit per arribar al reflector, produint nous canvis de lletra.
L'existència del reflector diferencia la màquina Enigma d'altres màquines de xifratge de l'època basades en rotors. Aquest element, que no estava inclòs a les primeres versions, possibilitava que la clau utilitzada pel xifratge es pogués utilitzar al desxifratge del missatge. Es poden observar a la part superior de la imatge els tres rotors amb les seves corresponents protuberàncies dentades que permetien girar-los a mà, col·locant-los en una posició determinada.
Llavors, en un panell amb les 26 lletres de l'alfabet anglosaxó s'il·lumina una lletra diferent de la que s'havia teclejat, obtenint-se d'aquesta manera una lletra ja xifrada.
Aquest procés es repetiria exactament igual fins que el primer rotor tornés a la posició inicial en què es trobava al començament del xifratge. Arribats a aquest punt, el segon rotor giraria una posició.
D'aquí deduïm que el primer rotor gira una posició per cada pulsació al teclat (1/26 part per cada pulsació). El segon rotor gira una posició (1/26 part) per cada volta completa del primer rotor i, com era d'esperar, el tercer rotor gira una posició (1/26 part) per cada volta completa del segon rotor.
Cada cop que s'introduïa una lletra al missatge original, prement la tecla corresponent al teclat, la posició dels rotors variava. A causa d'aquesta variació, a dues lletres idèntiques en el missatge original, per exemple AA, els corresponien dues lletres diferents en el missatge de xifratge, per exemple QL. A la majoria de les versions de la màquina, el primer rotor avançava a una posició amb cada lletra. El nombre de posicions avançades per cadascun dels rotors era un paràmetre configurable per l'operari. Com que el cablejat de cada rotor era diferent, la seqüència exacta dels alfabets de substitució variava segons quins rotors estaven instal·lats a les ranures (cada màquina disposava de cinc), el seu ordre d'instal·lació i la posició inicial de cadascun. alt=Enigma plugboard|miniatura|El panell endollable es trobava al davant de la màquina, sota les tecles. Com que l'abecedari anglès té 26 lletres, això permetia fer fins a 13 canvis. D'altra banda, alguns models de màquina Enigma incloïen també una placa endollable on l'operari podia connectar lletres de dues en dues per tal d'intercanviar-les abans i després de passar pels rotors.
Totes aquestes dades necessàries per posar la màquina a punt per a xifrar o desxifrar eren conegudes amb el nom de configuració inicial, i eren distribuïdes, mensualment al principi i amb més freqüència a mesura que avançava la guerra, en llibres als usuraris de les màquines.
El funcionament de les versions més comunes de la màquina Enigma era simètric en el sentit que el procés de desxifratge era anàleg al procés de xifratge. Per obtenir el missatge original només calia introduir les lletres del missatge a la màquina i aquesta retornava d'una a una les lletres del missatge original, sempre que la configuració inicial de la màquina fos idèntica a la utilitzada per xifrar la informació.
Criptoanàlisi bàsica Els xifratges poden ser desxifrats i la manera més efectiva depèn del mètode de xifratge. Al començament de la Primera Guerra Mundial els departaments de desxifratge eren prou avançats per poder descobrir la majoria dels xifratges. Gran part d'aquestes tècniques es basaven a aconseguir suficients textos xifrats amb una clau particular. A partir d'aquests textos, amb suficient anàlisi estadística, es podien reconèixer patrons en incloure la clau.
En la tècnica de l'anàlisi de freqüències, les lletres i els patrons de les lletres són la pista. Donat que a cada idioma apareixen certes lletres amb molta més freqüència que d'altres, comptar el nombre de vegades que apareix cada lletra en el text de xifratge generalment desvela la informació sobre probables substitucions en els xifratges utilitzats de manera freqüent en la substitució. miniatura|esquerra|Màquina Enigma a bord d'un Sd.KFz 251/3 amb Heinz Guderian. Els analistes cerquen normalment algunes lletres i combinacions freqüents. Per exemple, en anglès, E, T, A, O, I, N i S són generalment fàcils d'identificar per ser molt freqüents. Un cop s'identifiquen alguns o tots aquests elements, el missatge es desxifra parcialment, revelant més informació sobre altres substitucions probables. L'anàlisi de freqüència simple confia que una lletra és substituïda sempre per una altra lletra del text original en el text xifrat; si aquest no és el cas, la substitució és més difícil.
Durant molt de temps, els criptògrafs van ocultar les freqüències utilitzant diverses substitucions diferents per les lletres més comunes, però això no pot ocultar completament els patrons en les substitucions per les lletres del text original. Aquests codis van ser molt utilitzats al voltant de l'any 1500.
Una tècnica per fer més difícil l'anàlisi de freqüència és utilitzar una substitució diferent per cada lletra, no només les comunes. Aquest procés seria normalment molt costós en temps i requeriria que totes dues parts intercanviessin els seus patrons de substitució abans d'enviar missatges xifrats. A mitjan una nova tècnica va ser intentada per Alberti, ara coneguda generalment com a xifratge polialfabètic, que va proporcionar una tècnica simple per crear una multiplicitat de patrons de substitució. Les dues parts intercanviaven una quantitat petita d'informació (referida com la clau) i continuaven amb una tècnica senzilla que produïa molts alfabets de substitució, i moltes substitucions diferents per cada lletra del text original. La idea era senzilla i eficaç, però va resultar ser més difícil de l'esperat. Molts xifratges van ser implantacions parcials del concepte, i eren més fàcils de trencar que els anteriors.
Es van trigar centenars d'anys per aconseguir mètodes fiables per trencar xifratges polialfabètics. Les noves tècniques es van basar en l'estadística per a descobrir informació sobre la clau utilitzada per un missatge. Aquestes tècniques cerquen la repetició dels patrons al text xifrat, que proporcionarà pistes sobre la llargada de la clau. Un cop sabut això, el missatge es converteix en una sèrie de missatges, cadascun amb la seva llargada de la clau, als quals se'ls pot aplicar l'anàlisi de freqüència normal. El treball de Charles Babbage, Friedrich Kasiski i William F. Friedman van ser molt important per desenvolupar aquestes tècniques.