Sunteți pe pagina 1din 25

Proiect Istoric

5 februarie 2011

Universitatea din Craiova, Facultatea de Matematic si Informatic a a

Titlu Proiect
Cifrul ADFGVX

Titlu Raport Cercetare


Proiect istoric

Coordonator Stiintic
Lector Doctor Nicolae Constantinescu

Membrii Echipei de Cercetare


Mihai Iulian, gr. 223

Cuprins
I
1

Introducere
Generalitai t 1.1 Despre criptograe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.1 1.2 Istoria criptograei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1
3 3 3 4

Tipuri de criptosisteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

II
2

Descriere Model. Studiu de caz


Cifrul ADFGVX 2.1 2.2 Cifrul ADFGVX n istorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cum funcioneaza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . t 2.2.1 2.2.2 2.2.3 2.2.4 2.3 Criptare-Pasul 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Criptare-Pasul 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Decriptare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Alte utilizari ale cifrului . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7
9 9 11 11 11 12 13 14

List algoritmi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a

III
3

Concluzii
Concluzii 3.1 Pareri personale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17
19 19

iv

CUPRINS

Partea I

Introducere

Capitolul 1

Generalitai t
1.1 Despre criptograe
Cuvntul criptograe este compus din cuvintele de origine greac krypts (ascuns) si [2]grfein a (a scrie). Criptograa este strns legat de matematic si se ocup cu securizarea informaiei, dar si cu a a a t autenticarea si restricionarea accesului n sistemele informatice. Pentru realizarea acestora se folosesc t att metode matematice ct si metode de criptare cuantic . n trecut, termenul criptograe se referea a aproape exclusiv la criptare, adic traducerea unui text clar ntr-un text cifrat, neinteligibil. Decriptarea a este exact opusul cript rii, adic transform un text cifrat ntr-un text clar. a a a n utilizarea popular , termenul cod este adesea folosit cu sensul de orice metod de criptare a a sau de ascundere a ntelesului. Totusi, n criptograe, cuvntul cod are un neles mai restrns; acela de t , , nlocuire a unei unit i de text clar (un cuvnt sau o fraz ) cu un cuvnt codat (de exemplu, pl cint cu at a a a mere nlocuie te atac n zori). Codurile nu mai sunt folosite n criptograe, dect uneori pentru anumite s lucruri cum ar desemnarea unit ilor (de exemplu, zborul Bronco sau Operaiunea Overlord) ntruat t ct cifrurile alese corect sunt mai practice, mai sigure si n acela i timp mai bine adaptate calculatoarelor s dect cele mai bune coduri. Un cifru este compus dintr-o pereche de algoritmi care realizeaz att criptarea ct si decriptarea. a Mai exact, un cifru funcioneaz pe baza unui algorim si a unei chei. Aceast cheie este un parametru t a a secret pentru contextul unui anumit schimb de mesaje. n mod ideal, ea este cunoscut doar de cei care a comunic . Cheile sunt importante, iar cifrurile f ra chei variabile sunt simplu de spart, deci mai puin a a t utile.

1.1.1
[4]

Istoria criptograei
Criptarea a ap rut din nevoia de condenialitate. La nceput, ea a fost folosit de lideri mia t a

litari, spioni, diplomai, dar a ap rut si n scrierile religioase. De asemenea Kama Sutra recomand t a a

4 criptograa ca metod de comunicare a ndragostiilor f r a descoperii. a t aa t

1. Generalitai t

Istoria criptograei ncepe acum cteva mii de ani. Pn n secolul al XX-lea, tehnicile criptograa ce erau exclusiv destinate operatorilor umani, care foloseau la calcule doar creionul si hrtia, sau alte dispozitive rudimentare. n urma progreselor tehnologice din secolul al XX-lea, n special n domeniile electronicii si calculatoarelor, schemele de criptare au devenit din ce n ce mai elaborate si mai complexe. Prima dovad a scrierilor cifrate dateaz din antichitate. E vorba de o tablia de argint din secolul a a t XVI .Hr gasit in Irak. Un olar a gravat pe aceasta reteta sa secret prin suprimarea consoanelor si a a modicarea ortograei cuvintelor. ntre secolele X si VII .Hr., grecii utilizau n scopuri militare o tehnic de ncifrare codicare prin a transpunere, intervertire, adic schimbarea poziiei literelor din mesaj. Ei foloseau un scytal (scytale), a t numit si bagheta lui Plutarque, n jurul c reia rulau n spirale alipite o band de piele pe care scriau a a mesajul. O dat desfacut, mesajul era trimis destinatarului care trebuia s posede o baghet identic , a a a a necesar descifr rii. a a Numai persoana ce dispunea de o baghet de diametru identic celei pe care a fost scris mesajul, a putea s -l descifreze. a Principalul defect al acestui sistem const n faptul c o baghet de un diametru aproximativ egal a a a era ndeajuns pentru a descifra textul. Securitatea consta, ns , n p strarea secretului procedeului de a a codare.

1.2

Tipuri de criptosisteme
[3]O cale de clasicare a criptosistemelor este n funcie de modul n care este folosit cheia de t a

criptare/decriptare, astfel putem distinge dou sisteme criptograce: a 1. Cu cheie simetrica unde se folose te aceeasi cheie pentru ambele proceduri, criptare si decriptare. s Adesea aceste sisteme sunt numite criptosisteme cu cheie privat sau criptosisteme cu o singur cheie a a deoarece cheia folosit trebuie s raman cunoscut exclusiv parilor comunicante. a a a a t 2. Cu cheie publica unde se folosesc dou chei diferite pentru criptare, respectiv decriptare. Aceste a criptosisteme mai sunt numite si criptosisteme asimetrice. Cheile folosite se numesc chei publice si respectiv cheie privat . a Criptosistemele cu eheie simetric se impart n dou categorii n funcie de modul n care se face criptaa a t rea: 1. Criptosisteme de tip stream 2. Criptosisteme de tip block Criptarea de tip stream presupune generarea unei secvene de bii cu o nfai are ct de aleatoare t t ts posibil pe baza unei chei. Secvena de bii este deci obinuta n urma cript rii bit cu bit a textului n clar t t t a (biii textului n clar sunt adunai cu cei ai cheii). Este esenial pentru criptarile de tip stream ca dou t t t a

1. Generalitai t mesaje s nu e criptate cu acela i stream al cheii de criptare, n acest sens se iau m suri speciale. a s a

Exemple de algorilmi de tip stream: SEAL (Software-optimised Encryption Algorithm), RC4, AS, Leviathan, Sober. Algoritmii de tip block presupun mparirea textului n clar n blocuri de bii care sunt criptate, t t aceasta f candu-se n mai multe runde. Majoritatea algoritmilor cu cheie simetric sunt de tip block a a cipher si folosesc diferite metode pentru a opera criptarea textului: modul ECB (ElectronicCode Book) presupune criptarea ec rui bloc separat si independent de a celelalte. modurile CBC (Cipher BlockChaining) si CFB (Cipher Feed Back) presupun dependente ntre blocurile criptate la runda anterioar si cele de la runda curent n funcie de un vector de iniializare. a a t t modul OFB (Output feedback Mode) poate interpretat c folose te o cifrare de tip block pentru a s a genera un stream care este apoi adunat bit cu bit cu textul in clar. Unii dinlre algoritmi, spre exemplu DES (Data Encryption Standard) folose e S-box-uri sau tabele, s denumite si Substitution-box, pentru a obine textul criptat, folosirea numelui de substituie este mai t t degrab nepotrivit din moment ce o astfel de cutie poate avea mai multe intr ri dect ie iri sau mai a a a s multe ie iri dect intr ri. s a

1. Generalitai t

Partea II

Descriere Model. Studiu de caz

Capitolul 2

Cifrul ADFGVX
2.1 Cifrul ADFGVX n istorie
[5] Cifrul ADFGVX a fost folosit de armata german n timpul Primului Razboi Mondial. De fapt, a cifrul ADFGVX nu a fost dect o extensie a vechiului cifru ADFGX. Inventat de colonelul Fritz Nebel(18911967) si pus n uz pe 5 martie 1918, acest cifru era un cifru de transpunere fracionara care a combinat un p trat Polybius modicat cu transpunerea ntr-o singur t a a coloan . Numele vine de la cele 6 litere folosite n textul cifrat: A, D, F, G, V, X. a Aceste litere au fost alese n mod deliberat pentru c sunau foarte diferit una de cealalt cnd erau a a transmise prin codul Morse, n acest fel minimiznd posibilele erori de operator. De exemplu, litera D e reprezentat n codul Morse de o linie si dou puncte, iar litera A e reprezentat de dou linii si un a a a a punct. Cifrul ADFGX a fost folosit prima dat de armata german pe 5 martie 1918, atunci cnd colonelul a Fritz Nebel l-a utilizat ntr-o transmisie f r r pe frontul de vest. aa [1] Responsabilitatea spargerii sistemului ADFGVX (considerat de exper(t)tii germani n cripto logie ca cel mai bun) i-a revenit lui Georges Painvin, cel mai bun criptograf al Bureau du Chiffre al Frantei, care a primit primele mesaje n varianta cu 5 caractere a codului. El a pornit de la ideea c textul a nu putea abordarea unui tablou polialfabetic, deoarece ar fost o abordare stangace, ramnnd doar varianta unui tabel de substituie supus unei transpoziii. t t Painvin nu avea o cantitate sucient de text criptat pentru a realiza o analiz a frecvenei pentru a a t a determina dac se folosea o cheie diferit n ecare zi. a a Odat cu mi c rile trupelor germane de pe front s-a constatat o intensicare a semnalelor radio. a s a Primele ncerc ri de decriptare au fost descurajatoare pentru c analiza frecvenei indica folosirea unei a a t chei diferite a tabelului n ecare zi. Dup 1 aprilie, francezii au interceptat un num r de 18 mesaje ADFGX totalizand 512 grupuri de a a

10

2. Cifrul ADFGVX

cate 5 litere. Dou dintre mesaje fus ser transmise n cte trei pari. Primele dou pari ale mesajelor a a a t a t aveau mici poriuni de text identice, acest lucru ind observat de Painvin la 4 aprilie. Acesta credea c a t a fost folosit aceea i cheie pentru tabelul de transpoziie si micile bucai de text erau literele de pe liniile a s t t de sus ale tabelului. Painvin a mparit criptogramele n segmente care deveneau astfel coloanele tabelului de transpot ziie. Observnd c unele coloane erau mai lungi, Painvin a presupus ca ele fus ser a ezate n stanga t a a a s tabelului si numerele indicate de coloanele respective trebuie sa fost primele din cheia de transpozi ie. Se puteau face acum primele aproximari asupra cheii. Al turand coloanele si numrnd perechile t a de litere, Painvin nu a putut distinge caracteristici importante n majoritatea cazurilor cercetate, dar n unele cazuri rezultatele obinute indicau o substitue monoalfabetic , aceasta datorit c unele coloane t t a a a fusaser al turate. Dup 48 de ore, Painvin a reu it s decripteze primele mesaje. Din punctul de vedere a a a s a al germanilor, criptarea era foarte usor de realizat si de i textul criptat era dublul celui n clar, prin faptul s ca se utilizau doar 5 caractere, viteza de transmisie a mesajelor decre tea. s Succesul repurtat de Painvin avea s e ntrerupt de o schimbare adus de germani sistemului. a a ncepand cu 1 iunie, ei au ad ugat o a 6-a liter , extinznd tabloul de criptare la dimensiunea 6x6. Paina a vin a nceput s lucreze la noul cifru n aceea i zi de la ora 17:00, ocupndu-se de trei mesaje aparinand a s t aceluia i interval orar si care fus ser transmise de acela i expeditor. Observnd c dou dintre mesaje s a a s a a difer doar prin 2 caractere, unul avnd 106 caractere, celalalt 108, Painvin a presupus c textele n clar a a puteau identice, difereniindu-se doar printr-o modicare asupra adresei interne a celui din urm . n t a continuare era nevoie de un aranjament al coloanelor astfel ncat din coloanele tabelului de criptare s a rezulte identitatea criptogramelor. Painvin a terminat decriptarea mesajelor la ora 19:00, n data de 2 iunie, dar mesajul cel mare nu fus se nc descifrat, el urma s apar pe 3 iunie. Dup descifrarea lui, a a a a a francezii au aat situatia delicat n care se aa armata german , ind nevoie s a tepte sosirea muniia a a s t ilor care ntarziau s apar . Echipele de recunoa tere trimise pe teren au conrmat faptul c o cantitate a a s a nsemnat de muniii urma s ajung n primele linii ale frontului, germanii riscnd s le transporte n a t a a a plin zi pentru a ajunge ct mai curnd la destinaie. Acesta a fost un succes nsemnat pentru Painvin, a t el m rturisind c bucuria pe care a simit-o descifrnd mesajul german si, recunoscnd c nimic nu se a a t a compar cu momentul decriptarii unui mesaj de o asemenea importana. Desigur, un asemenea efort a t l-a l sat pe Painvin extenuat, el sl bind aproximativ 15kg n timpul decript rilor, singurul efort depus a a a ind s stea la birou si sa . . . gndeasc . a a

2. Cifrul ADFGVX

11

2.2

Cum funcioneaza t

[6]Cele 26 de litere ale alfabetului englez si cele 10 cifre sunt introduse intr-un sistem ale carui coordonate sunt literele A, D, F, G, V, X dupa cum urmeaza. A A D F G V X 8 L 7 J X 9 D P T K U S E F 3 4 B 6 V Y G D O C W I 0 V 1 A 5 G R F X N H Z M 2 Q

2.2.1

Criptare-Pasul 1

Fiec rei litere sau cifre i este atribuit un grup de 2 coordonate. a De exemplu, s luam urm torul text: a a

Vreau nota mare

Textul criptat va ar ta astfel: VFVVXDDVGDAXDGDDDVGXDVVVXD a

2.2.2

Criptare-Pasul 2

Pasul al doilea al criptarii e asem n tor cu Spartan Scytale, doar ca aici exist un cuvant cheie care a a a amestec ordinea mai departe. S presupunem ca acel cuvnt cheie este MUZICA. Cuvntul criptat a a va asezat intr-un tabel care are attea coloane cate litere are cuvntul cheie.

M 4 V D D G X

U 5 F V G X D

Z 6 V G D D

I 3 V D D V

C 2 X A D V

A 1 D X V V

12

2. Cifrul ADFGVX Coloanele vor apoi rearanjate n ordinea alfabetic a literelor cuvntului cheie, urmnd ca a

mesajul nal criptat s e citit n ordinea coloanelor. n nal, sunt ad ugate spaii pentru a ad uga a a t a lizibilitate pentru persoana care cite te sau transmite mesajul. s

A 1 D X V V

C 2 X A D V

I 3 V D D V

M 4 V D D G X

U 5 F V G X D

Z 6 V G D D

2.2.3

Decriptare
[7]Cifrul a fost spart la data de 5 aprilie 1918 de c tre locotenentul armatei franceze, Georges a

Painvin cu ajutorul criptanalizei. nainte de a lansa ultimul ei atac, armata german a modicat cifrul, a dar in cteva zile Painvin l-a spart din nou. Mesajul era urm torul: Rush munitions. Even by day if not a seen. , indicnd locul unde ofensiva german avea sa aib loc. Datorit lui, aliaii au reu it s nfrang a a a t s a a atacul german. n ncercarea de a sparge cifrul, Painvin a slabit 15 kg. Cele doua soluii gasite de el se t bazeaz pe dou cazuri particulare. n timpul Primului Razboi Mondial, aliaii nu au g sit o solu(i)e a a t a general . n anul 1933, William Friedman a gasit o soluie general a cifrului ADFGVX. De asemenea, a t a generalul francez Givierge a publicat o soluie general . t a [9]Metoda folosit de Painvin pentru decriptare se baza pe g sirea mesajelor ale c ror nceputuri a a a se repet si care s-ar fractionat la fel, apoi formarea unor modele similare n pozitiile n care textul cifrat a, , , are corespondent n rubricile coloanelor tabelului de transpozitie. Asta nsemna c aceast metod era a a a , util doar n cazul n care frecventa mesajelor criptate era mare. Din fericire pentru criptanalisti, n a , , perioada cu trac intens s-au trimis cele mai importante mesaje. Oricum, asta nu a fost singurul truc folosit de Painvin. Datorit modului n care mesajele erau a criptate, el a stiut c ecare coloan consta n ntregime din litere, ori coordonate luate din partea de sus a a , a p tratului Polybius ori de la stanga acestuia, dar nu un amestec al celor dou . a a De asemenea, el stia c dup substitutie, dar nainte de transpozitie, coloanele erau formate, ala a , , , ternativ, din litere de sus si din lateral. O caracteristic a analizei frecventei literelor este c n timp a a , , ce distributia literelor poate varia mult de la norm , legea de medii care dicteaz grupurile de litere vaa a , riaza mai putin. n cifrul ADFGX, ecare litere de sus sau litera laterala" e asociata cu cinci litere text , simplu. Deoarece aceste dou grupe de cinci litere au distributii de frecvente cumulative diferite, atunci a , , o analiza a literei D in coloana, compusa din "literele laterale va avea un rezultat complet diferit de cele ale literei D compus din literele de sus. Acest truc i-a permis lui Painvin s identice tentativ a a

2. Cifrul ADFGVX

13

coloanele care contin literele laterale si care coloane contineau literele de sus. El a putut sa le faca , , , pereche si sa efectueze o analiz de frecventa pe perechi pentru a vedea dac acestea erau de zgomot sau a a , chiar erau perechi reale de litere care corespundeau literelor textului simplu. Odat ce avea perechile potrivite, el a putut sa foloseasc analiza frecventei pentru a descoperii a a , literele textului simplu. Rezultatul a fost nca transpus, dar n acel moment tot ce a trebuit s fac a fost a a o simpl transpunere n ordine. Odat ce a determinat sistemul de transpunere pentru un mesaj, el a a a putut apoi sa descifreze orice alt mesaj criptat cu aceeasi cheie. , n ziua de azi, cifrurile ADFGX si ADFGVX sunt considerate nesigure. ,

2.2.4

Alte utilizari ale cifrului


Desi e rudimentar tehnologic si criptograc, daca cifrul este luat ca un predecesor pentru o ma, ,

sina de criptat mecanic sau e implementat n program el nc r mne folositor. Un tabel de tipul a a a ADFGVX poate avea miliarde de variatii dac e folosit o m rime de 7x7. Diagramele rezultate pot a a a , introduse ntr-un software ENIGMA (care nu suport numere cifrate) analog cu cresterea puterii ei de a , criptare. Prin alegerea tabelelor diferite, e posibil s permit tracului Enigmei s e transmis, dar mult a a a mai greu de spart.

14

2. Cifrul ADFGVX

2.3

List algoritmi a

2. Cifrul ADFGVX Algorithm 1 Criptare folosind cheia void ADF GV X :: encode() { /Local Variables to help encoding. string coordinates = ""; /Create polybius square coordinates for each letter in the phrase. for( unsigned int i = 0; i < plaintext.length(); i++ ) char c = plaintext.at( i ); for( int y = 0;y < 6; y++ )

15

for( int x = 0; x < 6; x++ )

if( polybius.at(y).at(x) == c )

coordinates.append( 1, squaremap.at( x ) ); coordinates.append( 1, squaremap.at( y ) );

//Create Sorted key character, and index pairs. //Maps are auto sorted, so we need the index as the second half of the //pair to make a successful mapping. map< char, int > m; for( unsigned int i = 0; i < key.length(); i++ )

pair<char, int> p( key.at( i ), i ); m.insert( p );

//Preparing the table to be lled with "coordinates". vector< string > v; for( unsigned int i = 0; i < key.length(); i++ ) v.pushb ack( "" ); //Fill it with coordinates for( unsigned int i = 0; i < coordinates.length(); i++ ) v.at( i //Generate The Cipher Text ciphertext = ""; //Clear it out rst, in case theres one already there. map< char, int >::iterator k; //Iterator through the key map. //Loop through the map, using the vector to get the proper values to append //to the cipher text. for( k = m.begin();k! = m.end(); k++ )

16

2. Cifrul ADFGVX

Partea III

Concluzii

Capitolul 3

Concluzii
3.1 Pareri personale
Spargerea sistemului ADFGVX a fost o realizare decisiv n hot rarea soartei r zboiului, Georges a a a Painvin intrnd astfel n istorie. Determinarea cu care el a lucrat la spargerea cifrului e de-a dreptul impresionanta. n ziua de azi, Georges Painvin e privit ca un erou ce a mpiedicat asediul Parisului, si pe bun dreptate. De i se baza pe primul sistem de criptare monoalfabetic (careul Polybius), sistemul ADFGVX s nu era deloc unul simplu. Ideea de baz a aparinut istoricului grec Polybius, sistemul ind folosit la a t nceput n mediul maritim la semnalizarea cu tore. Ulterior i s-a dat o semnicatie criptograca. t t n ziua de azi, astfel de sisteme sunt cu mult dep ite. s

20

3. Concluzii

Bibliograe
[1] Nicolae Constantinescu, Criptograe, Editura Academiei Romane, 2009 [2] http://ro.wikipedia.org/wiki/Criptografie [3] http://www.scribd.com/doc/2584292/Criptografie [4] http://wapedia.mobi/ro/Criptografie [5] http://en.wikipedia.org/wiki/ADFGVX_cipher [6] http://library.thinkquest.org/C0126342/adfgvx.htm [7] http://practicalcryptography.com/ciphers/adfgvx-cipher [8] http://copiatac.3x.ro/ProiecteAC/Neamtu_Carmen.htm [9] http://www.answers.com/topic/adfgvx-cipher