Vés al contingut

Màquina Enigma

De la Viquipèdia, l'enciclopèdia lliure
Màquina Enigma

L'Enigma 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 segle xx. Foren inventades per l'enginyer alemany Arthur Scherbius als darreres mesos de la Primera Guerra Mundial,[1] 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.[2] 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ó

[modifica]
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.
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

[modifica]
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.

Enigma plugboard
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

[modifica]

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ó.

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 segle xv 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.

Es va recomanar als usuaris dels xifratges utilitzar no només una substitució diferent per cada lletra, sinó també una clau molt llarga, de manera que les noves tècniques de xifratge erressin (o que com a mínim fossin més complicades). Això representa una gran dificultat perquè intercanviar missatges amb claus més grans requereix més esforç i més probabilitat d'error. El xifratge ideal d'aquest tipus és aquell que té una clau tan llarga que es pogués generar un patró simple, i produís un xifratge en el qual hi hagués tants alfabets de substitució que el recompte de freqüències i els atacs estadístics fossin impossibles.

L'ús de rotors múltiples a Enigma va donar un mètode simple per a determinar quin alfabet de substitució utilitzar per a un missatge concret (en el procés de xifratge) i per a un text xifrat (en el desxifratge). En aquest aspecte va ser similar al xifratge polialfabètic. No obstant això, a diferència de la majoria de les variants del sistema polialfabètic, Enigma no tenia una longitud de clau òbvia, perquè els rotors generaven una nova substitució alfabètica a cada pulsació i tota la seqüència d'alfabets de substitució podia canviar-se fent girar un o més rotors, canviant l'ordre dels rotors, etc., abans de començar una nova codificació. En el sentit més simple, Enigma va tenir un repertori de 26x26x26 = 17.576 alfabets de substitució per qualsevol combinació i ordre dels rotors emprats. Mentre el missatge original no fos de més de 17.576 pulsacions, no es repetia cap alfabet de substitució. Però les màquines Enigma van afegir altres possibilitats. La seqüència dels alfabets utilitzats era diferent si els rotors eren col·locats en la posició ABC, en comparació amb ACB; hi havia un anell que girava en cada rotor que es podria fixar en una posició diferent, i la posició inicial de cada rotor era també variable. I la majoria de les màquines Enigma d'ús militar van afegir un “stecker” (tauler d'interconnexió). Aquest tauler permetia augmentar el nombre de connexions de parells de lletres possibles.

Per simplificar la comprensió del que acabem de dir, suposem un únic rotor en el qual la lletra “A” correspon a la lletra “B” en el canal de sortida, si connectem un cable d'aquesta “A” cap a la lletra “Z” tenim que el nombre de possibilitats ha augmentat de manera significativa gràcies a augmentar el nombre de connexions de parells de lletres possibles. Aquest tauler electrònic va fer pensesar als alemanys que la màquina enigma era indesxifrable a causa de l'important augment de combinacions possibles que va provocar en la màquina.

El nombre de possibilitats de connectar parells de lletres d'un total de “N” lletres amb “n” cables es calcula mitjançant la següent fórmula:

On N=26, n=nombre de cables (és a dir el nombre de parells de lletres a connectar).

Per veure com funciona aquesta fórmula hem de conèixer algunes coses bàsiques sobre permutacions i combinacions. Si ens donen un grup “a” d'objectes hi ha a! formes d'escollir aquestes en seqüència. Per exemple si tenim sis dígits, 1,2,3,4,5,6 els podem escollir en 6x5x4x3x2x1 formes diferents, és a dir, de 720 maneres diferents (6!).

Permutacions sense repetició: Si tenim un conjunt finit de 'a' objectes diferents i el volem dividir en subconjunts de 'r' elements no repetits, la fórmula seria:


Exemple: Tenim a={ABCD} i volem escollir els elements en grups de dos, r=2. Quantes possibilitats tenim?

Apliquem la fórmula per calcular el nombre de casos possibles:

Comprovem tots els casos possibles:

AB BA CA DA

AC BC CB DB

AD BD CD DC

Hem comprovat que el nombre de permutacions possibles en grups de dos d'un grup de quatre objectes és de 12.

Combinacions sense repetició: Si tenim un grup finit de 'a' objectes diferents hi ha C(a, r) formes diferents de dividir aquest grup en grups de “r” elements.

On

Els objectes no es poden repetir i l'ordre importa.

Exemple: Tenim a={ABCD} i volem escollir els elements en grups de dos, r=2. Quantes possibilitats tenim? Recordem que l'ordre dels elements importa.

Apliquem la fórmula per a calcular el nombre de casos possibles:

Comprovem tots els casos possibles de la mateixa manera com ho havíem fet amb les permutacions però tenint en compte que, com que l'ordre no importa, serà el mateix AB que BA, per la qual cosa haurem de “treure” un dels dos, ja que si el comptéssim l'estaríem repetint. Per tant tenim el següent:

AB AC AD BC BD CD

Hem comprovat que el nombre total de combinacions possibles en grups de dos d'un grup de quatre objectes es de 6, corresponent-se amb el resultat calculat.

Si mirem les dues fórmules per calcular les permutacions i les combinacions, ens adonarem que l'únic que canvia és el r! en el denominador. D'aquí podem treure la conclusió que aquest r! el que fa és reduir el nombre de casos possibles i que aquesta reducció es duu a terme perquè no ens importa l'ordre en què estiguin els elements del grup, és a dir, és el mateix AB que BA, per la qual cosa un dels dos s'ha de treure per no repetir l'element en el comptatge.

Dit això, encara podem no saber com aplicar-ho al tauler de la màquina Enigma. Per arribar a entendre-ho, suposem l'alfabet anglosaxó de 26 lletres i que utilitzem un total de 10 cables. L'alfabet quedarà dividit en un total de 10 parelles de lletres i 6 lletres sense emparellar.

Llavors calcularem, amb l'ajuda de l'expressió , C(26,2); C(24,2); C(22,2); C(20,2); C(18,2); C(16,2); C(14,2); C(12,2); C(10,2) i C(8,2). És a dir les diferents formes de dividir els grups de lletres en grups de dues lletres, tot tenint en compte que tenim deu cables i que per cada càlcul hem de “treure” dues lletres, ja que per a cada càlcul emparellem dues lletres i per tant l'alfabet de 26 lletres es va reduint.

Una vegada hàgim efectuat els càlculs pertinents haurem de multiplicar els deu C(a,r) calculats anteriorment i si els simplifiquem ens quedarà el següent.

Encara que, de moment, el nostre càlcul està incomplet, en podem treure una conclusió: tenim 26 lletres en l'alfabet, per tant tenim 26 formes d'organitzar les lletres, després 25 formes d'organitzar-les, després 24 formes d'organitzar-les i així successivament fins a 1, és a dir 26!

Però nosaltres no volem cada combinació de 26 lletres, únicament volem deu parells, per això hi ha sis lletres que no ens importen, i com que no ens importen, treiem totes les seves combinacions possibles. Això es fa dividint entre 6!

Ara resta determinar que és aquest 2¹⁰. En cada cable dels deu que hi ha, hi ha 2 permutacions possibles, és a dir, si connectem un cable d'A a B tenim que les permutacions possibles són AB i BA, però a nosaltres no ens interessa l'ordre dels elements dins del cable (l'ordre no importa, ja que és una combinació no una permutació), per tant hem de treure les combinacions repetides i això ho fem dividint entre dos per cada cable que hi hagi connectat; així, si hi ha deu cables hem de dividir entre dos deu vegades, és a dir: 2¹⁰.

Abans hem dit que el càlcul no estava complet. L'únic que falta és tenir en compte que, com que no ens interessa l'ordre en què estiguin aquests deu parells, de la mateixa forma com havíem fet amb el 2¹⁰ dividim per 10!

El càlcul ens queda de la següent forma:

I si a partir d'aquest càlcul treiem l'expressió, tenim el que abans havíem posat:

On N=26, n=nombre de cables (és a dir el nombre de parells de lletres a connectar).

Un com hem explicat com es pot calcular el nombre de possibilitats de connectar parells de lletres i tenint en compte les permutacions dels rotors dins de la màquina Enigma, podem dir ja com calcular el nombre total de combinacions possibles per qualsevol màquina Enigma.

On N=26, n és el nombre de cables (és a dir el nombre de parells de lletres a connectar) i x és el nombre de rotors.

El mètode de xifratge

[modifica]

Si la configuració estigués disponible, un criptoanalista podria posar un equip Enigma amb la mateixa configuració i desxifrar el missatge. Es podrien enviar llibres de configuracions per utilitzar, però podrien interceptar-se. En canvi, els alemanys van establir un sistema que va barrejar els dissenys.

Al començament de cada mes es donava als operadors d'Enigma un nou llibre que contenia les configuracions inicials per la màquina. Per exemple, en un dia les configuracions podien ser posar el rotor 1 en la ranura 7, el 2 en la 4 i el 3 en la 6. Llavors, la ranura 1 estaria a la lletra X, la 2 a la J i la 3 a la A. Com tots els rotors podien permutar entre ells a la màquina, amb tres rotors en tres ranures s'obtenien 3x2x1 = 6 combinacions per considerar, per donar un total de 105.456 alfabets possibles.

L'operador seleccionaria algunes altres configuracions pels rotors, només definint les posicions dels rotors. Un operador en particular podria seleccionar ABC i aquests es convertien en la configuració del missatge per aquesta sessió de xifratge. Els alemanys, creient que tindrien més seguretat al procés, teclejaven dos cops, però això va acabar essent una de les escletxes en la seguretat d'Enigma. Els resultats serien codificats perquè la seqüència ABC teclejada dos cops es convertís en XHTLOA. L'operador llavors girava els rotors a la configuració del missatge ABC. Es teclejava la resta del missatge i s'enviava per ràdio.

A l'extrem receptor, el funcionament s'inverteix. L'operador posa la màquina en la configuració inicial i introdueix les primeres sis lletres del missatge. Al fer això veia ABCABC a la màquina. Llavors girava els rotors a ABC i introduïa la resta del missatge xifrat, desxifrant-lo.

Aquest sistema era excel·lent perquè el criptoanalista es basava en algun tipus d'anàlisi de freqüències. Encara que s'enviessin molts missatges en qualsevol dia amb sis lletres a partir de la configuració inicial, s'assumia que aquestes lletres eren a l'atzar. Mentre que un atac en el propi xifratge era possible, a cada missatge s'utilitzava un xifratge diferent, cosa que va fer que l'anàlisi de freqüència fos inútil en la pràctica.

La màquina Enigma va ser molt segura, tant que els alemanys van confiar-hi molt. El tràfic xifrat amb Enigma va incloure de tot, des de missatges d'alt nivell sobre les tàctiques i plans, a trivialitats com informes de climatologia, i fins i tot, felicitacions d'aniversaris.

Exemple de xifratge

[modifica]

Aquest és un missatge real enviat el 7 de juliol del 1941 per la Divisió SS-Totenkopf sobre la campanya contra Rússia, en l'Operació Barbarroja. El missatge (enviat en dues parts) va ser desxifrat per Geof Sullivan i Frode Weierud, dos membres del Crypto Sumilation Group (CSG).

1840 - 2TLE 1TL 179 - WXC KCH
RFUGZ EDPUD NRGYS ZRCXN
UYTPO MRMBO FKTBZ REZKM
LXLVE FGUEY SIOZV EQMIK
UBPMM YLKLT TDEIS MDICA
GYKUA CTCDO MOHWX MUUIA
UBSTS LRNBZ SZWNR FXWFY
SSXJZ VIJHI DISHP RKLKA
YUPAD TXQSP INQMA TLPIF
SVKDA SCTAC DPBOP VHJK
2TL 155 - CRS YPJ
FNJAU SFBWD NJUSE GQOBH
KRTAR EEZMW KPPRB XOHDR
OEQGB BGTQV PGVKB VVGBI
MHUSZ YDAJQ IROAX SSSNR
EHYGG RPISE ZBOVM QIEMM
ZCYSG QDGRE RVBIL EKXYQ
IRGIR QNRDN VRXCY YTNJR
SBDPJ BFFKY QWFUS

El missatge va ser xifrat pel model de 3 rotors amb el reflector B (s'ha d'utilitzar el mateix model o un de compatible per a desxifrar-lo). Per a desxifrar el missatge, primer s'ha de configurar la màquina amb la informació diària especificada als llibres de codis alemanys per a aquell mes. Pel dia 7 de juliol de 1941 era:

Tag Walzenlage Ringstellung ---- Steckerverbindungen ----
7 II IV V 02 21 12 AV BS CG DL FU HZ IN KM OW RX

L'operador de la màquina havia de col·locar aquesta configuració abans d'enviar o rebre el primer missatge del dia. Agafava els rotors (Walzenlage) 2, 4 i 5 (en aquest ordre) i movia l'anell de cada rotor a les posicions 2, 21 i 12 respectivament, com s'indica en Ringstellung (a vegades la configuració es podia veure en les lletres corresponents a la posició de l'anell, en aquest cas serien B U L), i els inseriria a la màquina. També havia de col·locar els cables connectors unint a la part baixa de la màquina les posicions que s'indiquen en Steckerverbindungen, és a dir unint A amb V, B amb S, C amb G, etc. Aquesta configuració es mantindrà en tots els missatges del dia, i amb ella ja es pot començar a desxifrar missatges. El missatge original es va enviar en 2 parts (ja que la mida màxima per cada missatge eren de 250 lletres). Cada missatge tenia una capçalera, que s'enviava sense xifrar (i era l'única part del missatge que podia contenir números), en aquest cas:

1840 - 2TLE 1TL 179 - WXC KCH
2TL 155 - CRS YPJ

A la capçalera s'indicava l'hora en què s'enviava el missatge (en aquest cas 1840 representava les 18:40), quantes parts componien el missatge (seguit de TLE, de “Teile”) i quina part era (seguit de TL, de “Teil”) si hi havia més d'una, la mida del text xifrat i dos grups de lletres (que eren diferents i aleatòries a cada missatge), el primer grup era la configuració inicial, i el segon la clau xifrada del missatge. L'operador movia els 3 rotors a la lletra indicada pel primer grup (W X C) i teclejava l'altre grup, la clau xifrada (K C H), que li donarà a l'operador la clau sense xifrar (en aquest cas B L A). A continuació posarà els 3 rotors en les posicions B L A i teclejarà la resta del missatge xifrat tenint en compte que les 5 primeres lletres corresponen al 'Kenngruppe, que indicarà qui pot llegir el missatge (en aquest cas es pot ignorar).

AUFKL XABTE ILUNG XVONX
KURTI NOWAX KURTI NOWAX
NORDW ESTLX SEBEZ XSEBE
ZXUAF FLIEG ERSTR ASZER
IQTUN GXDUB ROWKI XDUBR
OWKIX OPOTS CHKAX OPOTS
CHKAX UMXEI NSAQT DREIN
ULLXU HRANG ETRET ENXAN
GRIFF XINFX RGTX

Fent el mateix procediment amb l'altra part del missatge el resultat és:

DREIG EHTLA NGSAM ABERS
IQERV ORWAE RTSXE INSSI
EBENN ULLSE QSXUH RXROE
MXEIN SXINF RGTXD REIXA
UFFLI EGERS TRASZ EMITA
NFANG XEINS SEQSX KMXKM
XOSTW XKAME NECXK

Unint els dos missatges i usant les “X” com espais (alguns espais falten al missatge original) i algunes abreviatures (entre claudàtors) queda:

AUFKL[AERUNG] ABTEILUNG VON KURTINOWA KURTINOWA
NORDWESTL[ICH] SEBEZ SEBEZ UAF FLIEGERSTRASZE
RIQTUNG DUBROWKI DUBROWKI OPOTSCHKA OPOTSCHKA UM
EINS AQT DREI NULL UHR ANGETRETEN ANGRIFF INF RGT
DREI GEHT LANGSAM ABER SIQER VORWAERTS EINS SIEBEN NULL
SEQS UHR ROEM[ISCHEN ZIFFER] EINS INF RGT DREI
AUF FLIEGERSTRASZE MIT ANFANG EINS SEQS KM KM
OSTW[EST] KAMENEC K

Els noms propis es posaven dues vegades seguides (per exemple, KURTINOWA) i algunes combinacions de lletres se substituïen, per exemple, CH per Q (en SIQER, que és sicher), i els números s'havien d'escriure amb lletres. El text traduït seria:

Unitat de reconeixement de Kurtinowa, nord-est de Sebez al corredor de vol en direcció a Dubrowki, Opotschka. Ha començar a moure’s a les 18:30. Atac. Regiment d'infanteria 3 avança a poc a poc però segur. Hora 17:06, I (nombre romà) Regiment d'infanteria 3 en el corredor de vol començant a 16 km est-oest de Kamenec. Comandant de Divisió.

Guerra Civil Espanyola

[modifica]

Segons va revelar el diari El País l'octubre del 2008, el bàndol revoltat va disposar d'almenys vint màquines Enigma que van permetre al general Franco mantenir una comunicació secreta i permanent amb els seus generals. Les deu primeres van ser venudes pels nazis als nacionals al novembre de 1936 quan l'avanç franquista es va aturar a les portes de Madrid. Tanmateix, no es tractava del model més avançat (era el D de la gamma comercial), ja que als alemanys els preocupava que alguna pogués caure en mans dels soviètics, que recolzaven als republicans, o dels serveis secrets britànics desplegats a Espanya. L'encarregat de l'ensinistrament dels militars que havien d'utilitzar-les va ser el comandant Antonio Sarment —membre de l'Estat Major i cap de l'Oficina d'Escoltes i Desxifratge de la Caserna General del Generalísimo— qui en un informe redactat a Salamanca al novembre de 1936 afirmava: «Per donar una idea del grau de seguretat que s'aconsegueix amb aquestes màquines n'hi ha prou amb dir que el nombre de combinacions possibles d'acordar s'eleva a la fabulosa xifra de 1.252.962.387.456». A principis de 1937 es van comprar deu màquines més del mateix model.[3]

Segona Guerra Mundial

[modifica]

«Trencant» Enigma

[modifica]
L'Oficina de Xifratge de l'Estat Major de Polònia estava ubicada al Palau Saxó.

Els esforços que van acabar superant el xifratge alemany va començar en 1929 quan els polonesos van interceptar una màquina Enigma enviada de Berlín a Varsòvia i equivocadament no protegida com a equipatge diplomàtic. No era una versió militar, però va donar la pista que els alemanys podrien utilitzar una màquina de tipus Enigma en el futur. Quan l'exèrcit alemany va començar a emprar Enigmes modificades anys després, els polonesos van intentar «trencar el sistema» buscant el cablatge dels rotors usats en la versió de l'exèrcit i trobant una manera de recuperar les configuracions usades per a cada missatge concret.[4]

El polonès Marian Rejewski.

Un jove matemàtic polonès, Marian Rejewski, va fer un dels majors descobriments significatius en la història de la criptoanàlisi usant tècniques fonamentals de matemàtiques i estadística en trobar una manera de combinar-les. Rejewski es va fixar en un patró que va resultar ser vital; donat que el codi del missatge es repetia dues vegades al principi del missatge, podria suposar-se el cablatge d'un rotor no per les lletres, sinó per la manera que aquestes canviaven.

Per exemple, diguem que un operador escull QRS com a configuració per al missatge. Posa la màquina amb la configuració inicial del dia, i llavors escriu QRSQRS. Això es converteix en alguna cosa com JXDRFT; sembla un balboteig, però la pista que Rejewski va aprofitar va ser que el disc s'hi havia mogut tres posicions entre els dos jocs de QRS; nosaltres sabem que J i R són originalment la mateixa lletra i el mateix per XF i DT. No sabem quines lletres són, ni tampoc hem de saber-ho, perquè mentre hi ha un nombre gran de configuracions del rotor, hi ha només un nombre petit de rotors que tindran una lletra que va de J a R, X a F i D a T. Rejewski va nomenar a aquests models cadenes.

Trobar les cadenes apropiades de les 10.545 combinacions era tota una tasca. Els polonesos (particularment els col·legues de Rejewski, Jerzy Różycki i Henryk Zygalski), van desenvolupar un nombre de mètodes d'ajuda. Una tècnica utilitzava unes tires en blanc per a cada rotor mostrant quines lletres podrien encadenar-se, bloquejant les lletres que no podrien encadenar-se. Els usuaris havien de prendre les tires sobreposant-les, buscant les seleccions on estaven completament clares les tres lletres. Els britànics també havien desenvolupat la mateixa tècnica i van tenir èxit a trencar l'Enigma comercial, encara que no van aconseguir trencar les versions militars de l'Enigma.

Per descomptat, encara quedaven uns quants milers de possibilitats per provar. Per ajudar-s'hi, els polonesos van construir màquines que consistien en «enigmes en paral·lel» que van anomenar bomba kryptologiczna (bomba criptològica). És possible que el nom fos escollit a partir d'un tipus de postres gelades locals, o del tic-tac que feien les màquines quan generaven les combinacions; els francesos van canviar el nom a bombe i els angloparlants a bomb (malgrat que res no apuntava a alguna cosa explosiva). Es carregaven jocs de discos possibles en la màquina i podria provar-se un missatge amb les configuracions, una darrere l'altra. Això permetia descartar possibilitats fins a deixar-ne només centenars, un nombre raonable per atacar a mà.

Els polonesos van poder determinar el cablatge dels rotors en ús aleshores per l'exèrcit alemany i desxifrar bona part del tràfic comunicatiu de l'Exèrcit alemany en els anys 1930 fins al principi de la segona guerra mundial. Van rebre alguna ajuda secreta dels francesos, que tenien un agent (Hans Thilo-Schmidt, amb nom codi Asch) a Berlín amb accés a les claus programades per a l'Enigma, manuals, etc. Les troballes del criptoanalista Rejewski no van dependre d'aquesta informació; en tot cas no va ser informat de l'existència de l'agent francès ni va tenir accés a aquest material.

Algunes fonts sostenen (sense gaire suport d'altres participants informats) que el 1938 un mecànic polonès, que treballava en una fàbrica alemanya on es produïen les màquines Enigma, va prendre notes dels components. En ser repatriat i, amb l'ajuda dels serveis secrets britànics i francesos, els polonesos van construir un model en fusta de la màquina. Hi ha també una història sobre una emboscada feta per la resistència polonesa a un vehicle de l'exèrcit alemany que portava una màquina Enigma... Tot això, però, no va fer accessibles les configuracions inicials, i molt menys els ajustos individuals dels missatges triats pels operadors, de manera que el coneixement guanyat amb tant de risc, va resultar de poc valor. Aquestes històries són, doncs, anecdòtiques.

D'altra banda, el 1939 l'exèrcit alemany va augmentar la complexitat dels seus equips Enigma. Mentre que inicialment les màquines comptaven amb tres rotors que es canviaven de ranura, ara van introduir els dos rotors addicionals, usant així tres dels cinc rotors a qualsevol hora. Els operadors també van deixar d'enviar dues vegades les tres lletres corresponents a la configuració individual al principi de cada missatge, la qual cosa va eliminar el mètode original d'atac.

Mansió de Bletchley Park. Aquest era el lloc on els missatges d'Enigma eren desxifrats.

Els polonesos, conscients que la invasió alemanya s'acostava i incapaços d'aprofundir les seves tècniques amb els recursos disponibles, van decidir a mitjans del 1939 compartir el seu treball, i van passar als francesos i britànics algunes de les seves rèpliques Enigma, així com informació sobre el descobriment de Rejewski i altres tècniques que ells havien desenvolupat. Tot això es va enviar a França en valisa diplomàtica; la part britànica va ser a Bletchley Park. Fins llavors, el tràfic militar alemany de l'Enigma havia donat per vençuts tant a britànics com a francesos, que començaven a considerar possible que les comunicacions alemanyes romanguessin en la foscor durant tota la guerra.

Gairebé tot el personal de la secció de la criptografia polonesa va deixar Polònia durant la invasió i la majoria d'ells van acabar a França, treballant amb criptògrafs francesos en transmissions alemanyes. Alguns criptògrafs polonesos van ser capturats pels alemanys abans de sortissin de Polònia o en trànsit, però no van revelar res sobre el seu treball de desxiframent de l'Enigma. La tasca va continuar a França a l'«Estació PC Bruno» fins a la caiguda d'aquest país (i també una mica després). Alguns dels integrants de l'equip franco-polonès van escapar llavors a Anglaterra, però cap d'ells va participar en l'esforç britànic en criptoanàlisi contra les xarxes d'Enigma. Quan el mateix Rejewski es va assabentar (poc abans de la seva mort) del treball dut a terme a Bletchley Park, continuant el que ell havia començat a Polònia el 1932, i de la seva importància en el curs de la guerra i la victòria aliada, va quedar sorprès.

Ultra

[modifica]

Amb l'ajuda polonesa en massa, els britànics van començar a treballar en el tràfic alemany d'Enigma. A principis de 1939, el servei secret britànic va instal·lar la seva Escola Governamental de Codis i Xifratge (GC&CS) a Bletchley Park, a 80 km al nord de Londres, per intentar desxifrar el tràfic de missatges enemics. També van preparar una xarxa d'intercepció per capturar el tràfic xifrat destinat als desxifradors que treballaven a Bletchley. Hi havia una gran organització que controlava la distribució dels resultats secrets d'informació desxifrada i es van establir regles estrictes per restringir el nombre de persones que sabessin sobre l'existència de l'operació. En cas que aconseguissin desxifrar el sistema, calia evitar que qualsevol acció alertés les potències de l'Eix que els Aliats posseïen aquest coneixement. A l'inici de la guerra, el producte de Bletchley Park tenia per nom en clau 'Boniface' per fer l'efecte als no iniciats que la font era un agent secret. Tant va ser el secretisme al voltant dels informes de 'Boniface', que 'els seus' informes es portaven en una caixa tancada amb clau directament a Winston Churchill, que en guardava la clau personalment. La informació així produïda va ser denominada "Ultra".

A Bletchley Park, matemàtics i criptògrafs britànics, entre ells Alan Turing, jugadors d'escacs i bridge i fanàtics dels mots encreuats, es van enfrontar als problemes presentats per les moltes variacions alemanyes de l'Enigma, i van trobar mitjans de fer penetrar en moltes d'elles. Els atacs britànics contra els equips Enigma eren similars en concepte als mètodes polonesos originals, però basats en dissenys diversos. Primer, l'exèrcit alemany havia canviat les seves pràctiques (més rotors, diverses configuracions, etc.), així que les tècniques poloneses sense modificacions van deixar de ser efectives. En segon lloc, la marina alemanya havia tingut pràctiques més segures, i ningú n'havia trencat el tràfic.

Un nou atac va confiar en el fet que el reflector (una qualitat patentada de l'Enigma) garantia que cap lletra pogués ser codificada com ella mateixa, de manera que una A mai podria tornar a ser una A. Una altra tècnica assumia que diverses expressions comunes en alemany, com "Heil Hitler" o "si us plau respon", que es van trobar freqüentment en un o un altre text sense xifrar; les suposicions reeixides sobre el text original eren conegudes a Bletchley com a sedassos. Amb un fragment del text probable original i el coneixement que cap lletra pogués ser codificada com ella mateixa, no era difícil que un fragment del text xifrat corresponent pogués ser identificat. Així s'obtenia una pista sobre la configuració del missatge, de la mateixa manera que els polonesos abans de la Guerra.

Els mateixos operadors alemanys van donar una important ajuda als desxifradors en diverses ocasions. En un cas, van demanar a un operador que enviés un missatge de prova, i ell es va limitar a teclejar la lletra T repetidament. Un analista britànic va rebre un missatge llarg sense una sola T en les estacions d'intercepció, i immediatament va comprendre el que havia passat. En altres casos, operadors de l'Enigma usaven constantment les mateixes configuracions per codificar un missatge, sovint les seves pròpies inicials o les de les seves xicotes. Aleshores es van destinar analistes a trobar aquests missatges en el mar del tràfic interceptat cada dia, cosa que va permetre a Bletchley utilitzar les tècniques poloneses originals per trobar les configuracions inicials durant el mateix dia. Altres operadors alemanys van emprar el mateix formulari per als informes diaris, en la seva majoria per als informes de temps, de manera que el mateix sedàs va poder usar-se tots els dies.

L'estiu de 1940, desxifradors britànics, que van estar desxifrant amb èxit els codis de la Luftwaffe, van ser capaços d'informar Churchill sobre el lliurament secret de mapes d'Anglaterra i Irlanda a les forces d'invasió de l'Operació Lleó Marí.

Des dels seus inicis, la versió de l'Enigma utilitzada per la marina es va servir d'una varietat més àmplia de rotors que les versions de la força aèria o de l'exèrcit, així com diversos mètodes operacionals que la feien més segura que les altres variants de l'Enigma. Virtualment no hi havia indicis de les configuracions inicials de les màquines, i hi havia pocs textos per usar-les amb claredat. Així que es van haver d'utilitzar mètodes diferents i molt més complexos per desxifrar el tràfic entre les Enigma de la Kriegsmarine nazi. A causa de l'amenaça dels submarins (U-boots) que navegaven tranquil·lament per l'Atlàntic després de la caiguda de França, calia aplicar una alternativa més directa de desxifratge.

El 7 de maig de 1941, l'Armada britànica va capturar deliberadament un vaixell meteorològic alemany, juntament amb equips i codis de xifratge, i l'endemà passat el submarí U-110 va ser capturat, també equipat amb una màquina Enigma, un llibre de codis, un manual d'operacions i altres informacions que van permetre que el tràfic submarí de missatges codificats es mantingués trencat fins a finals de juny, mentre l'Armada va seguir utilitzant els mateixos codis.

Després de la guerra; revelació pública

[modifica]

Fins a finals dels anys '60 es va mantenir en secret que el xifratge d'Enigma havia estat trencat durant la guerra. No es van fer públiques les importants contribucions a l'esforç de la guerra de moltes persones meritòries, que no van poder compartir la seva part de glòria, malgrat que la seva tasca va ser probablement una de les raons principals per les quals els Aliats guanyessin la guerra tan ràpidament com ho van fer. Finalment, la història va sortir a la llum.

Després de la fi de la guerra, els britànics i nord-americans van vendre les màquines Enigma sobrants a molts països arreu del món, que ignoraven que el seu xifratge podia ser trencat per aquestes potències. Així, les seves transmissions no eren tan segures com ells pensaven, la qual cosa, per descomptat, va ser la raó que britànics i nord-americans els oferissin les màquines.

El 1967, David Kahn va publicar el seu llibre The Codebreakers, que descriu la captura de la màquina Enigma Naval de l'O-505 el 1945. Va comentar que en aquell moment ja es podien llegir els missatges per mitjà de màquines immenses, que omplien diversos edificis. Cap a 1970 els nous xifratges basats en ordinadors es van començar a fer populars alhora que el món migrava a comunicacions assistides per ordinador, i la utilitat d'Enigma (i de les màquines de xifratge rotatori en general) minvava ràpidament. En aquest moment es va decidir descobrir el pastís i van començar a aparèixer informes oficials sobre les operacions de Bletchley Park el 1974.

El febrer del 2006, i gràcies a un programa de traducció d'aquest tipus de missatges denominat "Projecte-M4", es va aconseguir desxifrar un dels últims missatges que encara quedaven per desxifrar des de la rendició alemanya. Amb ordinadors particulars, es va desxifrar el text enviat per un submergible des de l'Atlàntic, la traducció del qual deia així: "Senyal de ràdio 1132/19. Contingut: Forçats a submergir-nos durant atac, càrregues de profunditat. Última localització enemiga: 8:30h, quadrícula AJ 9863, 220 graus, 8 milles nàutiques. [Estic] seguint [l'enemic]. [El baròmetre] cau 14 mil·libars. NNO 4, visibilitat 10."

Construcció i ús d'una màquina Enigma simple

[modifica]

Construcció

[modifica]
Resultat de la fabricació de la màquina enigma

La nostra màquina enigma consisteix en un Reflector B, tres rotors i una cinta que serveix per veure l'entrada/sortida del circuit. Per fer una màquina enigma no es necessari una gran quantitat de materials, de fet, només necessitem una llauna de Pringles, el document adjuntat imprès, (són les imatges dels rotors), unes tisores i una mica de cola o cinta adhesiva.

Una vegada tenim els materials, hem de retallar els fulls de manera que quedin els rotors (1-3), el reflector i la cinta amb les lletres per descodificar/codificar.

Una vegada fet això, hem de procedir a enganxar els trossos sobre la llauna amb el següent ordre (d'esquerra a dreta): Reflector B,Rotor 1, Rotor 2, Rotor 3, i Input/output.

Ja només ens queda comprovar que els cilindres roten correctament i estem llestos per començar a codificar.

Ús de la màquina

[modifica]

Per codificar o desxifrar, ens calen 3 coses. La paraula a xifrar/desxifrar una clau de xifratge, i la màquina en si mateixa.

Com a exemple, explicarem el procediment per codificar la paraula “Hola” amb la clau “KET”.

El primer que fem, és alinear les parts grises del reflector amb les del input/out (I/O), i posar als rotors la paraula clau.

El següent pas, seria moure el Rotor 3 (el de la dreta) una osca cap a sota, o sigui, cap a nosaltres. Només hem de moure una posició, de forma que si hi havia una “T” alineada amb les marques, ara es vegi una “U”.

Ara agafem la lletra que volem xifrar, la col·loquem en l'I/O i seguim les línies fins a retornar a l'I/O. La sortida hauria de ser "E".

Ara, repetim el procediment una altra vegada, és a dir, movem una vegada cap a nosaltres el rotor 3.

Cerquem la lletra “O” i seguim les línies fins a trobar el resultat, la lletra “H”.

Posteriorment, tindriem "EH" i hauriem de seguir, començant per buscar la lletra "L".

Al final, l'última cosa que s'hauria de fer es buscar la A, que donaria "Q".

Resposta final: "EHZQ".

Cal remarcar que els altres rotors només es mouen una vegada que els de la dreta han fet una volta completa, o sigui quan la lletra de la clau torna a la seva posició inicial. Llavors, es mou també el de l'esquerra (Rotor 2).

Representació al cinema

[modifica]

S'han dut a la pantalla gran algunes pel·lícules relacionades amb la invenció, utilització i desxiframent de la màquina Enigma. Una d'aquestes pel·lícules, -la més recent-, és The Imitation Game (2014),[5] dirigida per Morten Tyldum i protagonitzada per Benedict Cumberbatch. És una pel·lícula basada completament en fets reals, i més concretament en el llibre anomenat Alan Turing: The Enigma, escrit per Andrew Hodges. A la pel·lícula, Enigma constitueix l'eix fonamental de la trama del llargmetratge, i dona pas a explicar la història d'Alan Turing, matemàtic i criptoanalista que va ser una figura clau per a poder desxifrar Enigma. Durant la pel·lícula, Turing, acompanyat dels seus companys d'investigació, intenten tot el possible per trencar el xifrat de la màquina. Alhora, es fa un recorregut per la vida personal de Turing i com Enigma l'afecta psicològicament i personal. El desxiframent dels codis va permetre als aliats tenir grans avantatges sobre els alemanys nazis, la qual cosa va ajudar a la derrota d'Alemanya a la Segona Guerra Mundial. Tot i així, Turing acabà sent processat penalment a causa de la seva condició d'homosexual. La pel·lícula és una remasterització de Descifrando el código, pel·lícula de 1996 dirigida per Herbert Wise.[6]

Una altra pel·lícula on apareix la màquina és Enigma (2001), dirigida per Michael Apted. En aquest cas, l'aparició de la temàtica de la Màquina Enigma és només la raó que posa en context una sèrie de vivències personals i amoroses dels protagonistes.

Altres pel·lícules amb menys renom però on també hi apareix la màquina Enigma són CodeBreaker[7] (2011) i U-571 (2000).

Referències

[modifica]
  1. Singh, Simon. The Code Book: The Science of Secrecy from Ancient Egypt to Quantum Cryptography. Londres: Fourth Estate, p. 127. ISBN 1-85702-879-1. 
  2. Lord, Bob. «1937 Enigma Manual by: Jasper Rosal – English Translation», 1998–2010. Arxivat de l'original el 16 d’octubre 2006. [Consulta: 31 maig 2011].
  3. Rafael Moreno Izquierdo, "El arma secreta de Franco", El País, 12 d'octubre del 2008.
  4. «Tres 'hackers' polacos que salvaron miles de vidas». El Mundo, 14-10-2012 [Consulta: 15 octubre 2012].
  5. «The Imitation Game (Descifrando Enigma)». [Consulta: 8 novembre 2017].
  6. Skankel, Jason. «Which Alan Turing Movie Really Captures The Father Of Computer Science?», 15-12-2014. [Consulta: 28 desembre 2023].
  7. «Code Breaker (TV Movie)».

Bibliografia addicional

[modifica]
  • "Battle of Wits" de Stephen Budiansky. És una ressenya curta de criptografia en la Segona Guerra Mundial. D'abast més ampli que només la història d'Enigma.
  • "Enigma" de Hugh Sebag-Montefiore essencial i ben escrit, a més inclou informació prèviament desconeguda, així com molt bones fotografies; Bletchley Park havia estat la casa de l'avi de l'autor abans de ser comprada per GC&CS.
  • "Breaking the Enigma" de David Kahn tracta essencialment sobre el problema de l'Enigma Naval, també imprescindible.
  • "Enigma", novel·la escrita per Robert Harris, i que va ser portada al cinema, en la pel·lícula homònima del 2001; barreja la trama de desxifratge del codi per criptògrafs anglesos, amb una subtrama amorosa que embolica els protagonistes.
  • "The Code Book" de Simon Singh. És una excel·lent i accessible (a més de breu) descripció d'Enigma, així com d'altres codis/xifratges, es pot trobar en el llibre La història oficial britànica del xifrat en la Segona Guerra Mundial, publicada en quatre volums editats per Sir Harry Hinsley. Ha editat també un volum de memòries de participants.
  • "Cryptonomicon" de Neal Stephenson. Novel·la de ficció centrada en els esforços dels criptoanalistes de Bletchley Park per trencar Enigma. Té el mèrit de posar en el seu context l'esforç bèl·lic necessari per trencar els xifratges i el complex procés per obtenir intel·ligència militar rellevant.

Vegeu també

[modifica]

Enllaços externs

[modifica]