Sunteți pe pagina 1din 13

Maşina de criptat ENIGMA

1. Scopul lucrării

Lucrarea tratează utilizarea algoritmilor simetrici de criptare în unul din


cele mai bune aparate electromecanice militare utilizate vreodată. Lucrarea işi
propune scopul familiarizării studenţilor cu noţiuni ca: criptare simetrică, cheie
unică de criptare, mesaj autorizat, autenticarea utilizatorilor etc.

2. Consideraţii generale

In istoria criptografiei Enigma a fost un cifru portabil folosit la


encriptarea si decriptarea mesajelor secrete. 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 englezi au reusit sa decripteze un mare numar de
mesaje protejate de codul masinii inainte sa fie trimise 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.

Figura 4.1. Masina militara Germana Enigma

De jos in sus: tabela de prize, tastatura, lampile si rotile ce ies din interior
si se rotesc manual.
Desi cifrul Enigma are slabiciuni criptografice, practic nu asta a dus la
spargerea codului ci alte intamplari "nefericite" ca de exemplu capturarea de
masini si caiete cu coduri, greseli ale operatorilor sau greseli procedurale.

2.1. Descriere

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

Figura 4.2. Circulaţia curenţilor şi mişcarea rotoarelor

Partile mecanice se comporta in asa fel incat sa se formeze un circuit


electric diferit, adică 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.
Figura 4.3. Diagrama rotaţiei rotoarelor

Diagrama completa a rotirii este aratata in diagrama de mai sus unde


fluxul electric cand se apasa tasta A aprinde lampa D.

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.

2.2. Rotoarele

Figura 4.3. Rotor Enigma

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.

Figura.4.4. Trei rotoare in interiorul Enigmei.

Figura 4.5. Versiune expandata a unui rotor din Enigma

Descrierea:

1. inel crestat
2. punct marcant pentru contactul A
3. inelul cu alfabetul (fabricat din cauciuc)
4. contacte
5. conexiuni
6. pin contacts
7. parghie ajustabila, declansata de un arc
8. butuc
9. roata actionata manual
10. roata zimtata

Figura 4.6. Trei rotoare Enigma si axul pe care sunt fixate

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.
2.4. Miscarea Rotoarelor

Figura 4.7. 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.

2.5. Roata de intrare

Figura 4.8. Ansamblul de rotoare din Enigma

Cele trei rotoare mobile sunt prinse intre doua roti fixe: roata de intrare in
dreapta si reflectorul in stanga.

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: Q A,
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.
2.6. Reflectorul

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.

2.7. Panoul de prize

Figura 4.9. Panoul de prize (Steckerbrett) fara cabluri conectate

Panoul de prize este amplasat in partea frontala a masinii, sub tastatura.


In timpul utilizarii se pot face pana la 13 conexiuni pe panou.

Panoul 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 şi de marina. Panoul de prize contribuie substantial la
marirea puterii de encriptare a masinii, cu mult mai mult decat ar face-o un rotor in
plus. Enigma fara panou — "unsteckered Enigma” — poate fi rezolvata usor
folosind metode manuale, dar cu rotor spargatorii de coduri au avut nevoie de
masini speciale sa descifreze codurile.

Un cablu plasat pe panoul de prize conecteaza literele in perechi (de


exemplu E si T pot fi conectate). Efectul consta in interschimbarea acestor litere
inainte si dupa intrarea in acţiune a unităţii 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.

2.8. Accesorii

Figura 4.9. "Schreibmax" - o unitate de listat care era atasata Enigmei,


salvandu-se literele ce se aprindeau pe tabela cu lampi.

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.

2.9. Descriere matematica

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:
E = PRMLUL - 1M - 1R - 1P - 1

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:

E = P(ρiRρ - i)(ρjMρ - j)(ρkLρ - k)U(ρkL - 1ρ - k)(ρjM - 1ρ - j)(ρiR - 1ρ - i)P - 1

2.10. Proceduri de folosire a Enigmei

Figura 4.10. Caiet de coduri dintr-un submarin capturat(U-505)

In timp ce era folosita Enigma avea nevoie de o lista de setari zilnice a


tastelor si de un numar de documente auxiliare. Procedurile marinei germane au
fost cele mai elaborate. Caietele de coduri ale marinei erau scrise cu rosu, cu
cerneala solubila, erau deci usor de distrus daca erau capturate.

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:

 Ordinea rotilor (Walzenlage) — alegerea rotoarelor si ordinea in care


ele sunt folosite.
 Pozitionarea initiala a rotoarelor:- un operator a ales pozitiile initiale a
rotoarelor, diferite pt fiecare mesaj.
 Setarile inelelor (Ringstellung) — pozitionarea inelului alfabetic in
relatie cu cablarea rotoarelor.
 Configuratia prizelor (Steckerverbindungen) — conexiunile de pe
tabela de prize.

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.

2.11. Indicatori

Figura 4.11. Partea frontala a aparatului Enigma vizibilă operatorului

Cu capacul lasat, Enigma este gata de utilizare. Rotile ce patrund prin


capac permit operatorului sa regleze manual rotoarele. Pozitia curenta-aici-RDKP
— este vizibila operatorului printr-un set de capace transparente.

Setarile literelor au fost mentinute constante pentru mai mult timp, dar
pozitiile initiale pentru 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 operatiunea era inversata. Operatorul işi seteaza masina la


primele 6 litere primite (XHTLOA). In acest exemplu se generează EINEIN. Prin
deplasarea rotoarelor la EIN, destinatarul va tipari textul cifrat obtinand mesajul
original.

Slabiciunea a venit din doi factori: folosirea locatiei geografice la scrierea


indicatorului, A doua problema a fost repetitia indicatorului, fapt schimbat in mai
1940.

3. Desfăşurarea lucrării

3.1. Se va folosi o aplicaţie software care simulează perfect funcţionarea


aparatului Enigma. Operaţiile ce trebuie realizate sunt următoarele:

a) Se setează la valoarea AAA cele trei rotoare şi se face “Clear”


(Stergere) atât în Plaintext (Textul în clar), cât şi în Cyphertext (Textul cifrat). Se
introduce din tastatură un text aleator şi se notează pe hârtie textul criptat obţinut în
Cyphertext.

b) Se setează la valoarea AAA cele trei rotoare şi se face “Clear” , atât în


Plaintext, cât şi în Cyphertext. Se introduce din tastatura textul criptat obţinut la
punctul a). În Cyphertext trebuie să se obţină textul aleator introdus la punctul a).

c) Se vor repeta operaţiunile de la punctele a) şi b) utilizând posibilităţile


de incărcare şi salvare automată oferite de simulator.

3.2. Sa se realizeze un referat având ca temă descrierea unui algoritm de


criptare simetric (Triple DES, IDEA, AES, RC¤, RC5 etc), dar altul decât
algoritmul DES prezentat la curs.

Bibliografie

[1] Joan Daemen, Vincent Rijmen - The Rijndael Block Cipher Proposal,
http://csrc.nist.gov/CryptoToolkit/aes/
[2] Ross Anderson ¸s.a. - Serpent: A proposal for the Advanced Encryption
Standard, http://www.ftp.cl.cam.ac.uk/ftp/users/rja14/serpent.pdf
[3] Don Coppersmith ¸s.a. - MARS - a candidate cypher for AES,
http://www.research.ibm.com/security/mars.pdf
[4] Ronald Rivest ¸s.a - The RC6TM Block Cipher,
ftp://ftp.rsasecurity.com/pub/rsalabs/rc6/rc6v11.pdf
[5] Bruce Schneier - Applied Cryptography, Second Edition, John Wiley & Sons,
1996
[6] Bruce Schneier ¸s.a. - Twofish, http://www.counterpane.com/twofish.html
[7] Serpent homepage, http://www.cl.cam.ac.uk/ rja14/serpent.html
[8] Douglas Stinton - Cryptography, Theory and Practice, Ed. II (2002)

S-ar putea să vă placă și