Masina de criptat ENIGMA
In istoria criptografiei Enigma a fost un cifru portabil folosit la encriptarea si decriptarea mesajelor secrete. Mai precis, Enigma a fost o familie de masini electro-mecanice cu rotoare - a fost o varietate de modele diferite. Enigma a fost initial folosita in scop comercial iar mai apoi a fost preluata si de mai multe servicii militare si guvernamentale ale unor tari - cea mai cunoscuta fiind Germania nazista inainte si in timpul celui de-al doilea Razboi Mondial. Modelul militar german, Wehrmacht Enigma, este cel mai cunoscut. Masina a castigat notorietate din cauza ca decriptorii polonezi si mai apoi engrezi au reusit sa decripteze un mare numar de mesaje protejate de codul masinii inainte sa fie trimiese prin radio (vezi Criptanaliza Enigmei). Astfel Aliatii au avut foarte mult de castigat in "economia razboiului". Unii istorici au sugerat ca sfarsitul razboiului european a fost pecetluit prin descifrarea mesajelor germane.
Desi cifrul Enigma are slabiciuni criptografice, practic nu asta a dus la spargerea codului ci alte intamplari "nefericite" ci capturarea de masini si caiete cu coduri, greseli ale operatorilor sau greseli procedurale.
Continut |
1.1 Rotoarele
1.2 Miscarea rotoarelor 1.3 Roata de intrare 1.4 Reflectorul 1.5 Tabela de prize 1.6 Accesoriile 1.7 Descriere matematica |
Ca si alte masini cu rotoare, Enigma este o combinatie de sisteme mecanice si electrice. Mecanismul mecanic consta intr-o tastatura, un set de discuri rotative numite rotoare si un mecanism de deplasare care ajuta la miscarea unuia sau a mai multe discuri atunci cand o tasta este apasata. Exista mai multe tipuri de mecanisme, dar cel mai comun este cel pentru care rotorul de mana dreapta se misca pentru fiecare apasare de tasta si ocazional miscarea rotoarelor vecine este provocata. Miscarea continua a rotoarelor duce la o transformare criptografica diferita la fiecare apasare de tasta.
Partile mecanice se comporta in asa fel incat sa se formeze un circuit electric diferit- encriptarea propriu-zisa a unui caracter este facuta electronic. Cand o tasta este apasata, circuitul de completeaza; curent electric circula prin componente si in final lumineaza una din lampi, indicand litera de iesire. De exemplu, cand se incepe criptarea unui mesaj operatorul va putea apasa intai tasta A si lampa Z s-ar putea aprinde, devenind prima litera din mesajul criptat. Criptarea va continua in acelasi fel.
Curentul electric porneste de la o sursa printr-un intrerupator
bidirectional controlat de tasta eliberata. Tabela de prize faciliteaza conexiunea
intre tastatura si "roata de intrare" fixata putand fi usor refacuta de catre un alt operator.
Din tabela de intreruperi curentul electric trece in "roata de intreare" fixata. De aici in ansamblul
de rotoare, unde structura complexa a fiecarui rotor duce la circularea foarte schimbatoare a curentului electric de la un
rotor la urmatorul. Dupa strabaterea tuturor rotoarelor, circuitul continua prin "reflector", care respinge semnalul
din nou prin rotoare si "roata de intrare"- pe alta cale de aceasta data- si trece prin prize si prin
intrerupatorul bidirectional a literei tinta si aprinde lampa potrivita.
Rotoarele formeaza inima masinii de criptat. Au aproximativ 10 cm in diametru, sunt fabricate dintr-un cauciuc tare cu o serie de ace actionate de arcuri, aranjate in cerc pe o parte, iar pe cealalta parte un numar de contacte electrice circulare corespunzatoare. Acele si contactele reprezinta alfabetul- de obicei de 26 de litere A-Z. Cand sunt alaturate doua rotoare acul unuia atinge un contact al rotorului vecin obtinandu-se astfel o conexiune electrica. In corpul rotorului, un set de 26 de fire conecteaza fiecare ac de pe o parte la un contact de pe cealalta formand astfel un patern foarte complex. Felul cum sunt fixate firele difera de la un rotor la altul.
Un singur rotor face numai o criptare foarte simpla (criptare prin substitutie). De exemplu acul coresunzator literei E poate fi legat cu contactul corespunzator literei T pe fata cealalta. Complexitatea vine din folosirea a mai multor rotoare in serie -de obicei trei sau patru- si miscarea regulata a rotoarelor, aceasta ducand la o criptare mult mai complexa.
|
Cand este plasat in interiorul Enigmei un rotor poate fi setat pe una din cele 26 pozitii.
Se poate roti cu mana folosind o roata care patrunde prin capacul masinii cand este inchisa.
Operatorul va stii tot timpul pozitia fiecarui rotor vazandu-se printr-o fereastra de sticla.
La primele modele de Enigma inelul cu alfabetul este fix, dar la cele ulterioare el se poate ajusta
in functie de cablarea nucleului. Pozitia inelului este cunoscuta ca Ringstellung (configuratia inelului).
Fiecare inel are una sau mai multe crestaturi, folosite la controlul deplasarea rotoarelor. La versiunea militara, crestaturile se gasesc pe inelul alfabetic.
Masinile Enigma ale armatei sau aviatiei au avut mai multe rotoare, cand au fost analizate pentru prima oara aveau trei rotoare. Pe 15 decembrie 1938 s-au descoperit cinci rotoare din care trei erau folosite la introducerea in masina. Erau marcate cu cifre romane pentru a putea fi distinse, fiecare cu cate o crestatura. De fiecare data Enigma folosita de Marina a fost inregistrata cu mai multe rotoare decat cele folosite de alte servicii: la inceput cinci, apoi sapte si in fine opt. Rotoarele suplimentare au fost numerotate cu VI, VII si VIII, fiecare cu legaturi diferite si cu cate doua crestaturi, rezultand o rotatie mai frecventa.
Enigma Marinei cu patru rotoare (M4) a fost o adaptare a unei masini cu trei rotoare fara a creste dimensiunile masinii. Acest lucru a fost posibil datorita inlocuirii reflectorului cu unul mai subtire in locul rezultat plasandu-se un al patrulea rotor. Al patrulea rotor poate fi de doua tipuri:Beta sau Gamma. Acest rotor nu se misca niciodata dar se poate plasa manual in oricare din cele 26 de pozitii.
Miscarea din pas cu pas a Enigmei. Toate cele trei "ace" (verde) apasa in unison. La primul rotor (1) discul zimtat (rosu) este tot timpul activat, si se roteste cu fiecare apasare de tasta. Aici, al doilea rotor (2) este activat deoarece crestatura de la primul rotor este aliniat cu "acul"; se va roti la urmatoarea apasare de tasta. Al treilea rotor (3) nu este activat deoarece crestatura de la cel de-al doilea rotor nu nu este aliniata; acul va aluneca singur peste inelul curbat.
Pentru a evita encriptarile simple unele rotoare se rotesc cu fiecare tasta apasata, acest lucru asigurand o transformare criptografica diferita in fiecare pozitie obtinandu-se astfel un formidabil cifru polialfabetic.
Cel mai comun aranjament foloseste un mecanism disc zimtat-"ac". Fiecare rotor este dotat cu un disc zimtat cu 26 de dinti; un grup de "ace" activeaza dintii discurilor. Acele sunt apasate in unison cu fiecare apasare de tasta a masinii. Daca un ac activeaza dintii unui disc, acel rotor avanseaza cu o pozitie.
Fiecare rotor este dotat cu un inel crestat. Cele cinci rotoare de baza au o crestatura in timp ce la masinile Marinei rotoarele suplimentare (VI, VII si VIII) au doua crestaturi. La un anumit punct, crestatura unui rotor se va alinia cu un "ac", permitandu-se astfel activarea discului crestat a urmatorului rotor cu urmatoarea apasare de tasta. Cand un ac nu este aliniat cu o crestatura, va aluneca singur peste dintele discului fara a activa rotorul. Intr-un sistem cu o singura crestatura, al doilea rotor este avansat cu o pozitie la fiecare 26 de avansari a primului rotor; la fel al treilea rotor se roteste o pozitie dupa 26 de deplasari a celui de-al doilea rotor. Al doilea rotor in acelasi timp avanseaza odata cu cel de-al treilea, insemnand ca al doilea rotor poate avansa de doua ori la apasari consecutive de taste- "double stepping"- rezultand o perioada redusa.
Aceasta avansare dubla face ca rotorul sa devieze de la contorul normal. O deplasare dubla are loc astfel: primul rotor avanseaza si astfel il deplaseaza si pe al doilea. Daca al doilea rotor s-a miscat prin acest pas in pozitia sa de deplasare, al treilea rotor poate avansa si el. In continuare acul apasa discul crestat al rotorului III si il avanseaza un pas, dar va intra de asemenea in crestatura celui de-al doilea rotor avansandu-l inca o data in aceasi etapa.
Cu trei roti si numai cu cate o crestatura in prima si a doua roata, masina are o perioada de 26 x 25 x 26=16,9000. S-au gasit numai mesaje din cateva sute de caractere, si astfel nu exista riscul de a se repeta vreo pozitie.
Pentru a face uz de al patrulea rotor al marinei "Beta" sau "Gamma", introdus in 1942, s-a schimbat doar reflectorul cu un model mai subtire si un al patrulea rotor mai subtire a fost introdus. Nu s-au facut schimbari la mecanism. Din moment ce existau doar 3 ace al patrulea rotor nu se va misca automat dar se poate fixa manual intr-una din cele 26 pozitii.
Cand se apasa o tasta, rotoarele se avanseaza inainte ca circuitul electric sa se conecteze.
Roata de intrare (Eintrittwalze in germana), conecteaza tabela de
prize, daca este prezenta, sau altfel tastatura si tabela cu lampi la ansamblul
rotoarelor. Cat timp legaturile folosite au fost de mica importanta pentru
siguranta, s-ai dovedit a fi un mare obstacol pentru criptanalistul polonez
Marian Rejewski in timpul deductiilor sale asupra legaturilor firelor din
rotoare. Enigma folosita in scopuri comerciale conecteaza tastele in ordinea
aparitiei lor pe tastatura: QA,
W
B,
E
C
si asa mai departe. Oricum, Enigma militara le conecteaza in ordine alfabetica:
A
A,
B
B,
C
C
etc. I-a trebuit mult lui Rejewski pana a "ghicit" modificarea, si a fost
apoi capabil sa rezolve ecuatiile.
Cu exceptia modelelor timpurii A si B, ultimul rotor este urmat de un reflector (in german Umkehrwalze), o caracteristica patentata distinctiva a familiei Enigma printre variatele masini cu rotor construite in acea perioada. Reflectorul conecteaza iesirile din ultimul rotor in perechi redirectand curentul inapoi in rotoare prin o cale diferita. Reflectorul asigura faptul ca Enigma este reciproca: conventional criptarea se face la fel cu decriptarea. Oricum reflectorul da Enigmei proprietatea ca nici o litera nu se cripteaza in ea insasi, proprietate exploatata de spargatori de coduri.
La modelul comercial modelul C, reflectorul poate fii pus in una din doua pozitii. La modelul D reflectorul poate fi pus in 26 de pozitii posibile, desi el nu se misca in timpul codificarii. La modelul Abwehr a masinii Enigma, reflectorul se deplaseaza in timpul criptarii la fel ca celelalte roti.
La modelul Wehrmacht al Enigmei, reflectorul este fix si nu se roteste, si
a aparut in patru versiuni. Varianta originala a fost marcata cu A, si
a fost inlocuita de Umkehrwalze B la 1 Noiembrie 1937. A treia versiune Umkehrwalze C
a aparut in 1941. A patra versiune denumita Umkehrwalze D, prima oara remarcata la 2 ianuarie 1944 are un reflector ce se poate
recabla dand pozibilitatea operatorului sa modifice conexiunile ca parte din configuratia tastelor.
Tabela de prize (Steckerbrett in germana, prescurtat la Stecker) este un "cablaj variabil" care poate fi reconfigurat de operator cu ajutorul unor "patch cords" (cabluri mufate la ambele capete). S-a folosit la varianta armatei germane in 1930 si apoi adoptata de si de marina. Tabela de prize contribuie substantial la marirea puterii de encriptare a masinii, cu mult mai mult de cat ar face-o un rotor in plus. Enigma fara tabela — "unsteckered" Enigma — poate di rezolvata usor folosind metode manuale dar cu rotor spargatorii de coduri au avut nevoie de masini speciale sa descifreze codurile.
Un cablu plasat pe tabela de prize conecteaza literele in perechi (de exemplu E si T pot fi conectate). Efectul consta in interschimbarea acestor litere inainte si dupa intra in actiune unitatea de rotoare. De exemplu cand un operator apasa E semnalul este deviat la Q inainte de rotoare. Se pot folosi pana la 13 astfel de perechi.
Curentul "curge" de la tastatura in tabela de prize si apoi la rotorul de
intrare sau Eintrittwalze. Fiecare litera pe tabela are doua mufe.
Cu ajutorul "patch cord-urilor" se face interschimbarea conexiunilor a cate
doua litere.
Un accesoriu util folosit la Enigma M4 era "Schreibmax", o mica imprimanta care putea scoate 26 de litere pe o fasie de hartie. Acest lucru excludea faptul ca un al doilea operator sa citeasca si sa scrie lampile ce se aprind. Aceasta era plasata deasupra masinii si era conectata la tabela de lampi; iar ca sa poata fii instalata toate lampile trebuiau scoase.
Mai exista la unele versiuni o tabela speciala cu lampi care ii permitea
operatorului sa urmareasca ce scrie decriptat.
Transormarea Enigmei pentru fiecare litera este matematic rezultatul matematic a permutarilor. La un aparat cu trei rotoare, fie P care denota transformarea pe tabela de prize, U denota reflectorul, si L,M,R denota actiunea rotorului stang, din mijloc respectiv dreapta. Atunci encriptia Epoate fi asteptata ca:
Dupa fiecare apasare de tasta rotoarele se rotesc, schimband transformarea. De exemplu daca rotorul de mana dreapta R e rtit i pozitii transformarea devine:ρiRρ - i, unde ρ este permutarea ciclica. Similar, rotorul din mijloc si cel din stanga pot fi reprezentate ca j si k rotatii a M si L. Functia de criptare poate fi descrisa astfel:
In armata germana, comunicatiile au fost impartite in mai multe retele, fiecare folosind setari deiferite pentru Enigmele lor. Aceste retele aveau nume de cod precum Red, Chaffinch sau Shark. Fiecare masina care functiona intr-o retea avea o lista cu setari pentru o anumita perioada de timp. Pentru ca un mesaj sa fie criptat si decriptat corect, atat expeditorul cat si receptorul trebuie sa aiba Enigmele setate in acelasi mod; selectia si ordinea rotoarelor, pozitia de start si conexiunile pe tabela de prize trebuie sa fie identice. aceste setari trebuiau acceptate inainte si trimise in caiete cu coduri.
In stadiu initial o masina Enigma are urmatoarele aspecte:
Enigma a fost construita ca sa fie sigura si daca cablarea rotoarelor era cunoscuta de spargatori de coduri, dar in practica configurarea rotoarelor era tinuta secreta. Acest lucru face ca numarul de configuratii posibie sa fie aprox. 10114(aprox 380 biti); cu setarile rotoarelor cunoscute si alte indicii se poate reduce la 1023 (76 biti). Utilizatorii Enigmei erau asigurati de securitatea masinii datorita numarului de posibiitati nefiind fezabil pentru un adversar nici macar sa inceapa sa incerce eventuale configuratii.
Setarile literelor au fost mentinute constante pentru mai mult timp, dar pozitiile initiale pt rotoare au fost diferite pentru fiecare mesaj, deoarece daca un numar de mesaje este trimis cu setari identice sau apropriate, un criptanalist are cateva indicii, si ar putea "ataca" mesajul folosind o analiza a frecventei. Pentru a contracasa acest lucru s-a folosit o pozitie de start diferita pentru fiecare mesaj. Pozitia de start era trimisa odata cu textul cifrat. Metoda exacta este denumita "procedura indicator"- aceste proceduri realizate gresit au permis primele spargeri ale codurilor.
Una din procedurile indicator initiale a fost exploatata de polonezi la primele spargeri ale Enigmei. Procedura era ca operatorul sa-si regleze masina dupa lista cu setari, care includea pozitia globala initiala a rotoarelor (Grundstellung —"ground setting"), AOH,sa zicem. Operatorul intoarce rotile pana cand va vedea AOH prin fereastra rotoarelor. Acum operatorul poate alege pozitia de start arbitrara pentru acel mesaj. El poate alege EIN, si acestea deveneau setarile masinii pentru acea sesiune. Se va tipari de doua ori EIN ca sa se poata detecta eventualele erori de transmisie. Rezultatele vor fii un indicator encriptat EIN scris de doua ori devine XHTLOA, ce va vi trimis odata cu mesajul. In final operatorul is va seta rotoarele la setarile mesajului, aici EIN si textul necriptat se va tipari.
La primire operatinuea era inversata. Operatorul is seteaza masina la primele 6 litere primite (XHTLOA). In acest exemplu EINEIN se va produce. Prin deplasarea rotoarelor la EIN, primitorul va tipari textul cifrat obtinand mesajul original.
Stabiciunea a venit din doi factori: folosirea locatiei geografice la scrierea indicatorului, A doua problema a fost repetitia indicatorului, fapt schimbat in mai 1940.
In 1918 inginerul Arthur Scherbius a aplicat pentru o masina de criptat ce folosea rotoare si impreuna cu E. Richard Ritter, au fondat firma Scherbius & Ritter. Si-au acordat drepturile de patent la Gewerkschaft Securitas, care a fondat Chiffriermaschinen Aktien-Gesellschaft (Cipher Machines Stock Corporation) pe 9 iulie 1923; Scherbius si Ritter erau in consiliul director
Chiffriermaschinen AG au inceput sa faca publicitate masinii — Enigma model A — care a fost prezentata la Congresul Postal international in 1923 si 1924. Masina era grea si voluminoasa, incorporand o masina de scris. Masura 65×45×35 cm si cantarea 50 kg. Un model B a fost introdus si avea o constructie similara. Aceste doua prime modele erau diferite de modelele ulterioare( diferite la dimensiuni dar si criptografic- nu aveau reflector).
Reflectorul- o idee sugerata de colegul lui Scherbius Willi Korn- a fost introdus in modelul Enigma C (1926). Reflectorul este o caracteristica cheie a masinii Enigma.
Modelul C era mai mic si mai portabil decat predecesorii. Nu avea masina de scris bazandu-se pe faptul ca operatorul citea lampile; de aici denumirea de "Enigma cu lampi". Modelul C s-a extins foarte repede. Aceasta versiune a fost folosita cu copii mergand spre: Suedia, Olanda, Anglia, Japonia, Italia, Spania, SUA si Polonia.
Cateva exemplare din Enigma "comerciala" au fost cumparate de marina germana, ducand la adoptarea masinii de catre marina in 1926, denumita Funkschl?C (cifrul radio C); masina a fost revizuita usor in 1933.
In 15 iulie 1928 armata germana (Reichswehr) a introdus modelul lor de Enigma (Enigma G-revizuita la Enigma I (iunie 1930). A fost de asemenea o versiune cu masina de scris, Enigma II. Cea mai importanta schimbare a fost adaugarea tabelei de prize. Aceasta versiune a fost cunoscuta ca Wehrmacht, sau Enigma serviciilor, si a fost folosita de armata germana si alte organizatii guvernamentale, dar foarte intens a fost folosita in timpul celui de-al doilea Razboi mondial. Dimensiunile masinii erau 28×34×15 cm( cantarind in jur de 12 kg).
La 1930 armata a sugerat ca si marina sa adopte masina lor, argumentand prin introducerea tabelei de prize care o facea mai sigura. In august 1934 Marina a eliberat versiunea lor de masina Enigma-Funkschl?M sau M3. Cat timp versiunea armatei avea numai 3 rotoarem, Marina a specificat o versiune cu 3 rotoare din 5 posibile. In 1939 Armata a adoptat versiunea sugerata de Marina lasandu-i in urma pe decriptorii polonezi. Acesta a fost unul din motivele pentru care a fost pasat echipament si spre englezi si francezi. Mai tarziu Marina a adoptat modelul cu trei rotoare din 8 posibile. In august 1935 aviatia a inceput sa utilizeze Enigma Wehrmacht. Pe 1 februarie 1942 s-a inceput folosrea unei masini cu 4 rotoare pentru submarine, numita M4 (reteaua era cunoscuta de catre aliati ca Triton, or Shark). S-a reusit plasarea unui rotot in plus prin folosirea unui reflector mai subtire.
"Abwehr" a folosit o varianta notabila a Enigmei cunoscuta ca Abwehr Enigma, counter machine sau Zahlwerk Enigma, cu mai multe crestaturi pe rotoare.
Alte tari au mai folosit Enigma. Marina italiana a adopta Enigma comerciala; spaniolii au folosit Enigma in timpul razboiului civil. Spargatorii de coduri englezi au reusit sa sparga aceste masini care nu aveau tabela de prize. Suedezii au folosit un model denumit model K sau Swiss K, in scopuri militare si diplomatice(era similara cu Enigma D). Masina a fost sparta de mai multe parti (germani, francezi, englezi, si americani). O Enigma T (denumire de cod Tirpitz) a fost fabricata pentru japonezi.
S-a estimat ca 100,000 de masini au fost construite, si dupa al doilea razboi mondial, aliatii au vandut masini care inca se considerau sigure mai multor tari in dezvoltare. Au existat mai multe masini cu rotoare similare Enigmei. De exemplu masina Typex (Anglia) si masina NEMA(Suedia).
Eforturile de a sparge codul Enigma nu a fost dezvaluit de guvernele aliatilor decat la 1974. De atunci, interesul pentru masinile Enigma a crescul si mai multe masini au fost expuse in muzee in SUA si Europa. Muzeul german din Munchen are mai multe versiuni de Enigma (cu trei sau patru rotoare si modele comerciale). Se gasesc de asemenea exemplare in Muzeul National al criptografiei la Fort Meade USA, la Bletchley Park UK, si in mai multe tari din Europa. Multe modele sunt si in posesia unor persoane.
Ocazional, masinile Enigma sunt scoase la licitatii si ajung pana la 20,000 $.
Replici a masinilor Enigma sunt disponibile in mai multe forme: de la copii autentice-reconstructii integrale pana la replici constand in programe PC.
Imagini
Simulatoare si replici