luni, 31 martie 2008

Masina de codat Enigma

Conform definitiei din ”Webopedia - Online Computer Dictionary for Compute and Internet Terms and Definitions” masina Enigma este un dispozitiv de cifrat portabil utilizat pentru criptare ¸si decriptare mesaje secrete. Chiar daca din punct de vedere comercial ea a fost disponibila pe piata inca din 1920 important¸a ei a fost data de utilizarea ei de catre diverse guverne, in mod special de catre Germania nazista inainte ¸si ın timpul celui de-al doilea razboi mondial.

Este de fapt o masina electro mecanica portabila care se bazeaza pe rotori montati pe cilindri pentru a cifra si descifra informatia.
Enigma insumeaza o intreaga familie, avand mai multe variante dezvoltate, initial aparand cele comerciale din care au derivat cele militare, mai sigure si imbunatatite.
Dintre toate dispozitivele criptografice create de-a lungul timpului masina Enigma a fost un echipament mai special din 2 puncte de vedere:
• criptografic
• istoric
Importanta din punct de vedere criptografic este data de faptul ca echipe de criptanalisti (matematicieni la origine) de toate nationalitatile, ın efort combinat, au incercat pe de-o parte perfectionarea masinii, pe de alta parte spargerea codurilor.
Printre cei care au participat la spargerea codurilor au facut parte ¸si polonezul
Rajewski ¸si britanicul Turing (inventatorul masinilor Turing).
Masina de codat a fost dezvoltata de Arthur Scherbius incepand cu anul 1919. Prima versiune, Enigma A, a fost comercializata in 1923, chiar de catre compania infiintata de catre creatorul ei. Marina germana a fost prima care a adoptat modelul comercial Enigma D in 1926, fiind preluata in 1929 de armata germana, care i-a adus imbunatatiri. Astfel a aparut varianta militara, denumita de germani Masina M.
A fost comercializata in Europa si in restul lumii la inceputul anilor 1920, fiind adaptata ulterior pentru utilizatorii militari si diplomatici.Aceasta masina a fost ridicata la rangul de vedeta cu putin inainte de cel de-al doilea razboi mondial, traindu-si momentele de glorie chiar in timpul razboiului.
Masina
Masina Enigma era o combinatie de parti mecanice ¸si electrice. Principalele ei componente erau, dupa cum urmeaza:
• Tastatura (Key board): o tastatura obisnuita similara cu cea pentru masinile de scris.
Figura 4: Tastatura
• Placa cu lampi (Lamp board): asemanatoare unei tastaturi cu lampi ın loc de taste. Pe lampi erau tiparite literele alfabetului ce deveneau visibile prin aprinderea lampii corespunzatoare.
• Placa cu comutatoare (Switch board): mufe (prize) cate una pentru fiecare litera, ce se conectau prin fire ın 6 perechi.
Aceasta componenta fusese adaugata de germani pentru a creste securitatea masinii.
• Trei roti (Rotating drums): se mai numeau rotoare (roti deta¸sabile) fiecare dintre ele avand cate un set de 26 de contacte, cate unul pentru fiecare litera a alfabetului.
Figura 5: Set rotor (1)
Figura 6: Set rotor (2)
• Roata reflectoare (Reflecting drum): roata fixa identica cu celelalte 3, avand un set de 26 de contacte grupate ın perechi.
• Cabluri (Wiring): asigurau conexiunile ıntre taste ¸si lampi precum¸si ıntre lampi ¸si primul rotor, ıntre primul rotor ¸si al doilea, al doilea ¸si al treilea, al treilea si roata reflectoare.
• Baterie (Battery): pentru alimentarea circuitelor electrice.

Principiul de functionare Prin apasarea tastei ”A” curentul era trecut prin setul de rotoare pana la reflector de unde se ”intorcea” ınapoi aprinzandu-se becul ”G”. Litera ”A” se cripteaza diferit (”G” si ”C”) doar printr-o simpla rotire a primului rotor care face ca semnalul sa circule pe o ruta complet diferita .
Operarea masinii
In primul rand toti operatorii aveaua masini identice (pentru asigurarea inter-operabilitatii).
Initierea criptarii unui mesaj se facea in 2 pasi:
• Pasul 1: setarea masinii - operatie ce consta in fixarea ordinei si pozitiei fiecarui rotor precum ¸si alegerea celor 6 perechi de conectate prin placa cu comutatoare (switch board).
Toate aceste setari erau inscrise ın manuale de operare (code books), setari ce se schimbau de regula zilnic. Fiecare operator avea cate un exemplar. De fapt, aceste setari constituiau cheia criptosistemului Enigma.
• Pasul 2: scrierea propriu-zisa a mesajului - pentru criptarea mesajului operatorul apasa pe tasta corespunzatoare primei litere din textul necodat (sa zicem ”D”). In acest moment se aprindea o lampa (sa zicem ”U”) corespunzaoare codificarii. Repetand ¸si pentru celelalte litere, rezulta textul codat.
Unu din atributele extrem de important al masinii Enigma era ca cheile de cifrare ¸si cele de decifrare erau acelea¸si. Cu alte cuvinte daca la ”transmitere” ”D” se transforma ın ”U”, la ”destinatie ”U” se transforma ın ”D” (folosind bine-nteles acelea¸si setari ale masinii).
Codarea informatiilor
Codarea informatiilor incepe prin trecerea curentului electric printr-o serie de componente. Curentul este transmis presand o litera pe claviatura. Dupa ce traverseaza o retea complexa de fire, o lampa indica litera cifrata. Prima componenta este o serie de rotite adiacente, numite rotori, care contin fire electrice utilizate in codarea mesajului. Rotorii se invart, variind configuratia complexa a retelei de fiecare data cand o litera este tastata. Masina Enigma poate utiliza si o alta roata, numita reflector si o componenta, numita plugboard, care permit codificarea si mai complexa a mesajului. In timpul celui de-al doilea razboi mondial, germanii au dezvoltat mai multe variante ale masinii, folosite in comunicarile radio si in cele telegrafice. Chiar si buletinele meteo sunt codate cu Enigma.Spaniolii, in timpul Razboiului Civil Spaniol, chiar si italienii, in timpul celui de-al doilea razboi mondial, utilizeaza una dintre versiunile masinii, neschimbata, pentru comunicatiile militare. Aceasta imprudenta este in folosul britanicilor, care vor sparge mai usor acest cod, ceea ce va contribui la infrangerea flotei italiene de catre cea britanica la Matapan.

Descifrarea codului

Polonezii incep sa lucreze cu Enigma din 1928. In 1929, ei intercepteaza o masina Enigma trimisa de la Varsovia catre Berlin, care trebuia transportata cu o valiza diplomatica , dar o eroare de expeditie permite serviciilior poloneze sa examineze continutul. Chiar daca este vorba despre o versiune comerciala destul de primitiva, ea le confirma polonezilor ca germanii folosesc masiv masinile Enigma pentru a-si cifra mesajele. Codul a fost intr-adevar spart in 1933 de catre matematicienii polonezi Marian Rejewski, Jerzy Rozycki si Henryk Zygalski, cu ajutorul unor mijloace electromecanice, supranumite bombe. Marian Rejewski, un matematician polonez de numai 27 de ani, gaseste printr-o modalitate matematica cei doi parametri esentiali, o descoperire esentiala atat la nivel tehnic cat si strategic. Matematicianul descopera o redundanta in cifrarea mesajelor de catre operatorii militari. Se pare ca acestia foloseau un cuvant scurt pe care il dublau, noua secventa cifrata fiind plasata la inceputul mesajului. Descoperirea legaturii dintre cuvantul dublat si cheia mesajului, a revelat si legatura dintre corespondente, cum ar fi cea dintre miscarea rotorilor si cablajul intern al masinariei. Chiar daca cele trei litere originale sunt necunoscute, se stie ca numarul cablajelelor care pot transforma acele trei litere intr-o secventa particulara sunt limitate. Rejewski le numste lanturi. Spionii polonezi au reusit la un moment dat sa obtina un manual vechi de utilizare al masinii Enigma. Acesta oferea un exemplu de cifrare in clar, cheia si rezultatul odata cifrat. Dupa o studiere atenta, rezultatul era de 105 456 variante de lanturi posibile. Datorita echipei lui Marian Rejewski, s-au descoperit mai multe tehnici pentru a accelera calculele. Britanicii au dezvoltat acelasi gen de tehnica, bazata pe o grila, tehnica care avusese rezultate pozitive folosita pe Enigma comerciala, insa fara a inregistra vreun succes in ceea ce o priveste pe cea militara. Chiar si cu aceste descoperiri, matematicienii polonezi nu facusera avansuri importante in spargerea acestor coduri, ceea ce a dus la realizarea "bombei criptografice", un adevarat calculator electromecanic, realizat in 1933. Desi ocupa un spatiu enorm, castigurile erau enorme: masinaria reusea sa obtina o cheie in doua ore. In timpul razboiului, germanii reusesc cumva sa isi dea seama de schimbarile ce trebuiau operate, pentru a zadarnici eforturile aliatilor de a le sparge codurile, prin urmare au imbunatatit Enigma, introducand doi rotori suplimentari si intrerupand procedura de repetitie a codurilor de la inceputul mesajelor. Din acest moment, polonezii isi impartasesc rezultatele britanicilor si francezilor, deveniti aliati, efortul de spargere a codurilor devenind unul comun. Inainte de cel de-al doilea razboi mondial a fost considerata ca find sigura, insa criptologii britanici (continuand munca omologilor lor polonezi) au fost capabili sa descifreze mesajele protejate ale acestor masinarii. Informatiile obtinute datorita acestei surse le-au oferit un real avantaj strategic asupra inamicilor. S-a estimat ca razboiul din Europa s-a terminat cu cel putin un an mai devreme datorita descifrarii mesajelor nemtesti.
Criptografia reprezintă o ramură a matematicii care se ocupă cu securizarea informaţiei precum şi cu autentificarea şi restricţionarea accesului într-un sistem informatic. În realizarea acestora se utilizează atât metode matematice (profitând, de exemplu, de dificultatea factorizării numerelor foarte mari), cât şi metode de criptare cuantica. Termenul criptografie este compus din cuvintele de origine greacă κρυπτός kryptós (ascuns) şi γράφειν gráfein (a scrie).
Criptologia este considerată ca fiind cu adevărat o ştiinţă de foarte puţin timp. Aceasta cuprinde atât criptografia - scrierea secretizată - cât şi criptanaliza. De asemenea, criptologia reprezintă nu numai o artă veche, ci şi o ştiinţa nouă: veche pentru că Iulius Cezar a utilizat-o deja, dar nouă pentru că a devenit o temă de cercetare academico-ştiinţfică abia începând cu anii '70. Această disciplină este legată de multe altele, de exemplu de teoria numerelor, algebră, teoria complexitatii, informatica.
Bibliografie
http://www.stereciu.ro
http://ro.wikipedia.org
http://www.math.duke.edu/_wlp/65s.html.

Niciun comentariu: