Sunteți pe pagina 1din 22

Criptarea rapid a directoarelor i fiierelor pentru transmiterea lor prin pot electronic, folosind metoda de criptare IDEA

1. Introducere Metodele de criptare cu cheie secret, ca de exemplu DES, AES sau IDEA, pot fi utilizate pentru transmiterea sigur a unor fiiere prin pota electronic. n astfel de fiier poate fi criptat i transmis ca i document ataat, cu a!utorul oricrui program de pot electronic. Scopul acestei lucrri este familiarizarea cu un program de criptare rapid a fiierelor care poate fi utilizat pentru transmisii prin pot electronic. Acest program se numete DA"A# A$D i se %azeaz pe folosirea algoritmului IDEA. 2. Algoritmul IDEA A fost conceput &n El'e(ia de ctre )ue!ia *ai i +ames Masse, &n anul 1--.. /atentul su se gsete la firma Ascom. /rincipala sa aplica(ie este programul de criptare pentru pota electronic, /#/, Prety Good Privacy. Este unul dintre sistemele de criptare cele mai rapide i mai sigure disponi%ile la ora actual. 0olosete o cheie de 1.1 de %i(i. /e %aza acesteia se construiesc 2. de su%3chei cu lungimea de 14 %i(i fiecare. 56te dou dintre acestea se utilizeaz la fiecare dintre cele 1 itera(ii ale algoritmului, i c6te 7 se utilizeaz &naintea fiecrei itera(ii i dup ultima itera(ie. 8u folosete nici un ta%el de alocare de %i(i i nici o cutie de tip S. 5ifrarea i descifrarea se fac pe %locuri de c6te 47 de %i(i. Se %azeaz pe utilizarea unor opera(ii alge%rice utile &n opera(iile de criptare cum ar fi suma modulo ., suma 14 14 modulo . , produsul modulo . 91. :n continuare se dau c6te'a explica(ii referitoare la aceste &nmul(iri. ;pera(ia de &nmul(ire cu zero are ca rezultat zero i nu este o opera(ie in'ersa%il. Dar &nmul(irea folosit &n acest algoritm tre%uie s fie o opera(ie in'ersa%il. 14 8umrul . 91 are 'aloarea 422<= i este prim. /e %aza ta%elului de &nmul(ire specific 14 mul(imii claselor de resturi modulo . 91 se constat c aceast opera(ie este in'ersa%il dac se e'it &nmul(irea cu zero >se elimin din ta%el prima linie i prima coloan?. "oate aceste opera(ii se efectueaz asupra unor su%3%locuri de 14 %i(i. S3a do'edit c IDEA este mai sigur dec6t DES la atacuri de criptanaliz diferen(ial. 2.1. Descrierea algoritmului IDEA 0ie cele patru sferturi ale textului clar care tre%uie criptat notate cu A, @, 5 i D, i cele 2. de su%3chei notate cu A>1? B A>2.?. :nainte sau &n cursul primei itera(ii se efectueaz urmtoarele opera(iiC 14 Se &nmul(ete A cu A>1?. $ezultatul 'a reprezenta noua 'aloare a lui A. Se adun modulo . 14 A>.? la @. $ezultatul 'a reprezenta noua 'aloare a lui @. Se adun modulo . A><? la 5. $ezultatul 'a reprezenta noua 'aloare a lui 5. Se &nmul(ete D cu A>7?. $ezultatul 'a reprezenta noua 'aloare a lui D. /rima itera(ie propriuzis const din executarea urmtoarelor opera(iiC Se calculeaz suma modulo . dintre A i 5 >rezultatul se noteaz cu E?. Se calculeaz suma modulo . dintre @ i D >i se noteaz cu 0?. Se &nmul(ete E cu A>2?. $ezultatul reprezint 14 noua 'aloare a lui E. Se adun modulo . noua 'aloare a lui E la 0. $ezultatul 'a reprezenta noua 'aloare a lui 0. Se &nmul(ete noua 'aloare a lui 0 cu A>4?. Se adun rezultatul, care reprezint noua 'aloare a lui 0, la E. Se modific 'alorile lui A i 5 &nsum6nd modulo . aceste 'alori cu 'aloarea curent a lui E. 8oile 'alori pentru A i 5 se su%stituie una celeilalte

o%(in6ndu3se astfel dou dintre cele 7 %locuri ini(iale ale celei de a doua itera(ii i anume A i 5. Se modific 'alorile lui @ i D, &nsum6nd modulo . aceste 'alori cu 'aloarea curent a lui 0. 8oile 'alori pentru @ i D se su%stituie una celeilalte o%(in6ndu3se astfel celelalte dou dintre cele 7 %locuri ini(iale ale celei de a doua itera(ii i anume @ i D. /rima itera(ie este prezentat &n figura 1. 5elelalte = itera(ii sunt identice, doar c se folosesc celelalte su%3cheiC de la A>=? la A>1.? pentru cea de a doua itera(ie i de la A>7<? la A>71? pentru cea de a 13a itera(ie. *a ultima itera(ie nu se mai face su%stitu(ia final dintre A i 5 respecti' @ i D. 14 ltimele opera(ii suntC Se &nmul(ete A cu A>7-?. Se adun modulo . A>2D? la @. Se 14 adun modulo . A>21? la 5. Se &nmul(ete D cu A>2.?. 5ele 1 itera(ii ale algoritmului IDEA sunt prezentate &n figura ..

0igura 1. /rima itera(ie. 2.2. Decriptarea

0igura .. Structura algoritmului IDEA.

5um se poate in'ersa o itera(ie a algoritmului IDEA, c6nd toate cele 7 %locuri se modific &n acelai timp E $spunsul se %azeaz pe o proprietate a sumei modulo .. Suma modulo . a dou 'aria%ile A i 5 nu se modific atunci c6nd cele dou 'aria%ile sunt &nsumate modulo . cu o aceeai 'aria%il, ). DC An = Av + X F C n = C v + X F An + C n = Av + C v + X + = Av + C v X Se o%ser' c 'aria%ila ) a disprut. Aceeai proprietate este 'ala%il i pentru 'aria%ilele @ i D. :ntruc6t 'aria%ilele folosite &n itera(iile algoritmului IDEA sunt func(ii de A + C i 14 B + D rezult c cele 7 'aria%ile pot fi recuperate. In'ersarea opera(iei de adunare modulo . se face prin calculul complementului fa( de .. /entru prima itera(ie a algoritmului de decriptare se utilizeaz urmtoarele cheiC KD(1) KD(2) KD(3) KD(4) = 1/K(49) = -K(50) = -K(51) = 1/K(52)
.

/entru cheile din urmtoarele itera(ii procedura urmtoare se repet de 1 ori, adun6nd 4 la fiecare indice al unei chei de decriptare i scz6nd 4 din fiecare indice al unei chei de criptareC KD(5) = K(47) KD(6) = K(48) KD(7) KD(8) KD(9) KD(10) = 1/K(43) = -K(45) = -K(44) = 1/K(46)

2.3. Generarea sub c!eilor /rimele 1 su%3chei se o%(in prin segmentarea cheii originale a algoritmului IDEA &n segmente de 14 %i(i. Apoi se efectueaz o deplasare circular la st6nga a cheii originale cu .2 de pozi(ii i o nou segmentare o%(in6ndu3se urmtoarele 1 chei. Aceast procedur de deplasare la st6nga i segmentare este repetat p6n c6nd se o%(in toate cele 2. de chei de criptare necesare. 3. "rogramul DA#AG$A%D $ealizeaz o criptare >decriptare? rapid a fiierelor i directoarelor. Datele criptate astfel pot fi transmise prin programe comune de pot electronic &n re(ele pu%lice >inclusi' I8"E$8E"?, asigur6ndu3li3se securitatea. tilizarea unor algoritmi eficien(i i optimiza(i, reduce pierderile de performan( ale sistemului de transmisiuni datorate proceselor de criptare i de decriptare, fr a scdea securitatea comunica(iei. 3.1. &anagementul parolelor ; calitate remarca%il a acestui program este autorizarea accesului utilizatorilor prin parole. /ot fi realizate mai multe clase de utilizatori, fiecare const6nd dintr3un numr oric6t de mare de mem%ri. :n scopul decriptrii unui anumit fiier to(i mem%rii unui anumit grup tre%uie s3i foloseasc parolele indi'iduale. 0iecare mem%ru poate apar(ine la diferite grupuri &n acelai timp >folosind aceai parol?. Exist de asemenea posi%ilitatea ca oricare doi mem%ri ai unui grup, format de exemplu din opt mem%ri, s decripteze &mpreun un fiier >/rincipiul celor patru ochi?. /arolele pot fi introduse de la tastatur sau de pe purttoare de date >de exemplu dischete?. 8u este necesar ca parola de pe dischet s fie recunoscut ca atare, orice fiier de pe dischet poate fi folosit drept parol >ca de exemplu un fiier de imagine, sau un fiier de sunet sau un fiier de text?. 3.2. Algoritmi folosi'i Algoritmul IDEA a do%6ndit certificatul IS;, IS;GIE5 --=- i lucreaz cu o cheie fix de 1.1 de %i(i, iar datele mesa!ului sunt grupate &n %locuri de c6te 47 de %i(i. Algoritmul SEA*>"M? cripteaz fiecare %it separat, fiind un sistem de criptare de sec'en(. Acest algoritm a fost conceput la I@M de ctre /. $ogaHa, i D. 5oppersmith. *ucreaz cu o cheie de 14D de %i(i. Acest algoritm a fost optimizat pentru procesoare de <. de %i(i i se crede c este cel mai rapid i mai sigur sistem de criptare soft existent pe pia( asigur6nd performan(e ridicate pe durata criptrii i a decriptrii, do'edind c ipoteza c sistemele de criptare hard sunt mai rapide dec6t sistemele de criptare soft este fals. Deza'anta!ul acestui algoritm, &n compara(ie cu algoritmii de criptare pe %locuri, ca de

exemplu IDEA, este c necesit o faz de ini(ializare &nainte de a &ncepe procedura de criptare sau decriptare a unui fiier. De aceea acest algoritm este mai lent dec6t algoritmul IDEA &n cazul fiierelor de criptat scurte. Acesta este moti'ul pentru care &n programul DA"A# A$D exist un comutator pentru selectarea celui mai potri'it algoritm pentru un anumit mesa! de criptat. *a decriptare programul DA"A# A$D recunoate automat algoritmul folosit pentru codare. Ii al(i algoritmi de criptare pot fi inclui &n programul DA"A# A$D la cererea clien(ilor. 3.3. (arianta Demo folosit )n aceast lucrare /rogramul folosit &n aceast lucrare este o 'ariant, Demo, a programului DA"A# A$D. Jarianta comercial a acestui program are un domeniu larg de utilizare. nele func(ii nu sunt disponi%ile &n aceast 'ariant Demo. 3 "ehnologia de criptare folosit &n aceast 'ariant nu asigur acelai ni'el de confiden(ialitate ca &n cazul 'ariantei comerciale. Se utilizeaz chei de 1. %i(i i nu de 1.1 sau 14D de %i(i. 3 /ot fi crea(i doar utilizatori diferi(i, nu i grupuri de utilizatori diferite. 3 /rogramul de KLelpK nu este complet. Aten'ie. Dac uita(i parola cu care a(i criptat anumite fiiere acestea 'or rm6ne criptate >pe durata criptrii fiierul original este ascuns? i nu le 'e(i mai putea folosi. Algoritmii din aceast 'ariant lucreaz cu chei de lungime mai scurt. 8u folosi(i parole simple. De securitatea acestora depinde securitatea criptrii fiierelor. 8u folosi(i drept parole nume, numere de telefon sau date de natere. 3.3.1. "anoul frontal al programului DA#AG$A%D Acest panou frontal ' permite s defini(i controale sau s crea(i clase, utilizatori sau grupuri. /ute(i, de asemenea, s cripta(i sau s decripta(i, direct, folosind acest panou frontal. /ute(i specifica dac dori(i ca programul DA"A# A$D s se lanseze automat la pornirea sistemului. :n acest scop tre%uie marcat c6mpul Auto *oad de pe panoul frontal. Dac prezen(a pe ecran a acestui panou frontal ' deran!eaz, apsa(i %utonul K5loseK i panoul frontal 'a disprea. Je(i continua s 'ede(i o iconi( DA"A# A$D pe task bar. 3.3.1.1. Configurarea programului DA#AG$A%D 1. Defini(i cel pu(in o clas. .. Dup ce a(i fcut asta, pute(i defini utilizatorul >utilizatorii? care au acces la clas >clase?. Asta este tot. Acum pute(i experimenta programul DA"A# A$D. Apsa(i %utonul Encrypt din col(ul dreapta !os al panoului frontalB 3.3.1.1.1. Key management /ot fi create, editate sau terse clase. /entru a efectua aceste ac(iuni este suficient s se apese unul din %utoanele din partea dreapt. 8umele claselor sunt afiate pe coloana din st6nga. /e coloana din dreapta pot fi 'zu(i utilizatorii sau grupurile din aceast clas.

3.3.1.1.2. Password settings /ot fi specificate parole pentru fiecare clas. Dup ce a(i fcut asta, le pute(i secretiza cu a!utorul unei parole. Schim%rile pe care le face(i se 'or aplica doar la utilizatori noi. 3.3.1.1.3. Encryption settings /oate fi specificat algoritmul de criptare pentru fiecare clas i pute(i defini cum s manipuleze programul DA"A# A$D fiierele criptate. 7. Desfurarea lucrrii Se instaleaz 'arianta Demo a programului DA"A# A$D, fc6nd click pe D#<.SE" /.E)E. Se configureaz acest program, constituindu3se o clas, format din . utilizatori, unul fiind operatorul calculatorului respecti' iar cellalt operatorul unui calculator 'ecin. Aceai clas 'a fi creat i pe calculatorul 'ecin >cei doi utilizatori &i 'or alege pentru cele dou calculatoare, aceeai parol?. 7.1. 5ele dou calculatoare &i 'or acti'a legtura prin I8"$A8E", &ntre parti(iile care con(ine directorul sersGS"II. :n acest scop din programul MindoHs 5ommander de pe fiecare calculator se 'a alege op(iunea 5ommands i apoi Share 5urrent Director,, apoi Sharing. Se 'a crea un fiier cu numele original.txt. Acesta 'a fi sal'at &n directorul sersGS"II al calculatorului respecti'. Apoi 'a fi criptat folosind algoritmul IDEA i parola utilizatorului calculatorului respecti'. Din directorul sersGS"II 'a disprea fiierul original.txt i 'a aprea un fiier cu numele original.txt.5tx. Acesta 'a putea fi decriptat folosind aceeai parol, de ctre acelai utilizator. Se 'a 'erifica faptul c procesul de criptare3decriptare nu introduce erori. 7... Se 'a repeta experimentul descris mai sus pentru fiiere de tip .doc, .%mp i .pdf. 7.<. Se 'a crea un fiier cu numele original.txt. Acesta 'a fi sal'at &n directorul sersGS"II al calculatorului respecti'. Apoi 'a fi criptat folosind algoritmul IDEA i parola utilizatorului respecti'. Din directorul sersGS"II 'a disprea fiierul original.txt i 'a aprea un fiier cu numele original.txt.5tx. Acest fiier se 'a transmite calculatorului omolog prin I8"$A8E" &n directorul sersGS"II. Aici 'a fi decriptat folosind parola utilizatorului acelui calculator. :n directorul sersGS"II al celui de al doilea calculator 'a aprea fiierul original.txt . Se 'a 'erifica identitatea dintre fiierele original.txt, creat ini(ial i fiierul o%(inut dup decriptare. 7.7. Se 'a repeta experimentul descris mai sus pentru fiiere de tip .doc, .%mp i .pdf. 7.2. Se 'or repeta experimentele descrise mai sus folosindu3se, de aceast dat, algoritmul de criptare SEA*. 7.4. Dezinstala(i programul DA"A# A$D.

*ucrarea +. &etoda de criptare AE, 1. Introducere


$ecent a fost omologat un nou standard de criptare simetric a datelor, The Advanced Encryption Standard, care urmeaz s &nlocuiasc 'echiul standard, DES. Acest standard este %azat pe algoritmul $i!ndael.

2. Algoritmul %i-ndael
Algoritmul care a c6tigat competi(ia pentru standardul AES este numit $i!ndeal. Acesta realizeaz doar opera(ii pe octe(i &ntregi. El este foarte flexi%il deoarece dimensiunea %locurilor cu care se lucreaz poate fi aleas de 'aloare 1.1, 1-. sau .24 de %i(i. Descrierea original a algoritmului $i!ndael se gsete la adresaC httpCGGHHH.esat.Nuleu'en.ac.%eGOri!menGri!ndaelG . :n continuare se prezint 'arianta care lucreaz cu %locuri de 1.1 de %i(i. $i!ndael are un numr 'aria%il de itera(ii. Acesta poate fi >fr a calcula ultima itera(ie care nu este complet?C P - dac at6t %locurile c6t i cheia ini(ial au o lungime de 1.1 de %i(iF P 11 dac fie %locurile fie cheia ini(ial au lungimea de 1-. de %i(i i nici una dintre ele nu are o lungime superioar acestei 'aloriF P 1< dac at6t %locurile c6t i cheia au o lungime de .24 de %i(i. /entru a cripta un %loc de date cu algoritmul $i!ndael, primul pas presupune calculul unui sau3exclusi' &ntre %locul de text clar i o su%3cheie. /aii urmtori sunt itera(iile care se 'or prezenta &n continuare. ltimul pas este constituit de ultima itera(ie care este incomplet, necon(in6nd opera(ia de amestecare a coloanelor, the Mix Col !n step.

2.1. Itera'iile algoritmului


0iecare itera(ie o%inuit se efectueaz &n 7 pai. /rimul pas este cel de su%stituire al octe(ilor, the Byte S b step. :n acest pas fiecare octet al textului clar este su%stituit cu un octet extras dintr3o cutie de tip S. 5utia de tip S este descris de matriceaC -- 1.7 11- 1.< .7. 1D= 111 1-= 71 1 1D< 7< .27 .12 1=1 111 .D. 1<D .D1 1.2 .2D 1- =1 .7D 1=< .1. 14. 1=2 124 147 117 1-. 11< .2< 17= <1 27 4< .7= .D7 2. 142 ..- .71 11< .14 7- .1 7 1-- <2 1-2 .7 12D 2 127 = 11 1.1 ..4 .<2 <- 1=1 11= - 1<1 77 .4 .= 11D -D 14D 1. 2- .17 1=- 71 ..= 7= 1<. 1< .D- D .<= <. .2. 1== -1 1D4 .D< 1-D 2= =7 =4 11 .D= .D1 .<- 1=D .21 4= == 21 1<< 4- .7- . 1.= 1D 4D 12- 141 11 14< 47 17< 174 12= 24 .72 111 11. .11 << 14 .22 .7< .1D .D2 1. 1- .<4 -2 121 41 .<

1-4 -4 =D ..7 1-7 .<1 1D1 114 .<. 11. -= ..2 122 17D 42

14= 1.4 41 1DD -< .2 112 1.- =- ..D <7 7. 177 1<4 .<1 117 .D ... -7 11 .12D 21 1D =< 4 <4 -. .11 1=. -1 172 17- ..1 1.1 .DD 22 1D- 171 .1< =1 1414 .77 .<7 1D1 1.. 1=7 1 1.D <= 74 .1 144 11D 1-1 ..1 114 <1 =2 11- 1<- 1<1 4. 111 1D. =. < .74 17 2< 1= 112 1<7 1-< .- 121 .71 12. 1= 1D2 .1= 17. 171 <D 1<2 .<< .D4 12 7D ..< 141 1<= 1< 1-1 .<D 44 1D7 12< 72 12 1=4 17 11= .. 5el de al doilea pas al unei itera(ii uzuale se numete deplasarea liniilor, the Shi"t #o$ step. 5onsider6nd c %locul care tre%uie construit este alctuit cu octe(ii numerota(i de la 1 la 14, aceti octe(i se aran!eaz &ntr3un dreptunghi i se deplaseaz dup cum urmeazC De la la 1 2 - 1< 1 2 - 1< . 4 1D 17 4 1D 17 . < = 11 12 11 12 < = 7 1 1. 14 14 7 1 1. 5el de al treilea pas al algoritmului de criptare $i!ndael este numit amestecarea coloanelor, the Mix Col !n step. Acest pas se realizeaz prin &nmul(ire matricialC fiecare coloan, &n aran!amentul pe care l3am o%ser'at, este &nmul(it cu matriceaC .<11 1.<1 11.< <11. Aceast &nmul(ire matricial corepunde unei &nmu(iri specific c6mpului #alois al lui . , definit de polinomul modul x 1 9 x 7 9 x < 9 x 9 1 . Aceast &nmul(ire >folosind acelai polinom modul? a fost prezentat i exemplificat &n paragraful destinat %azelor matematice ale criptrii. ;cte(ii care tre%uie &nmul(i(i sunt pri'i(i ca i polinoame i nu ca i numere. De exemplu prin &nmul(irea unui octet cu < se o%(ine rezultatul opera(iei sau3exclusi' dintre acel octet i i 'arianta sa o%(inut prin rotirea acelui octet cu o pozi(ie la st6nga. Dac rezultatul acestei &nmul(iri are mai mult de 1 %i(i, %i(ii suplimentari nu sunt pur i simplu ignora(i. /entru eliminarea lor se calculeaz sau3exclusi' &ntre rezultatul o%(inut >&n urma K&nmul(iriiK de!a efectuate? >deplasat la st6nga dac este necesar? i irul %inar cu lungimea de - %i(iF 1DDD11D11 >care corespunde polinomului modul?. 5el de al patrulea pas al algoritmului $i!ndael este cel de adugare a su%3cheii, the Add #o nd %ey step.
1

Acesta presupune doar calculul unui sau3exclusi' cu su%3cheia specific itera(iei curente. ; itera(ie uzual a acestui algoritm are aspectul din figura urmtoare.

0igura 1. ; itera(ie a algoritmului $i!ndael.

Din ultima itera(ie este omis pasul de amestecare a coloanelor.

2.2. Decriptarea
/entru a decripta mesa!ul fa%ricat de algoritmul $i!ndael este necesar ca opera(iile descrise s fie &nlocuite cu opera(iile lor in'erse i ca acestea s fie aplicate &n ordine in'ers >prima opera(ie din algoritmul de decriptare tre%uie s fie in'ersa ultimei opera(ii din algoritmul de criptare?. Succesiunea pailor &n algoritmul $i!ndael esteC A$A @S S$ M5 A$A @S S$ M5 A$A ... @S S$ M5 A$A @S S$ A$A

Dei aceast sec'en( nu este simetric, ordinea unor opera(ii poate fi modificat fr ca procesul de criptare s fie afectat. De exemplu pasul de su%stituire a octe(ilor @S >notat cu @ &n continuare?, poate fi la fel de %ine fcut i dup pasul de deplasare a liniilor S$ >notat cu S &n continuare?. Aceast o%ser'a(ie este util pentru procesul de decriptare. 0c6nd aceast in'ersare sec'en(a algoritmului, de formaC A @SMA @SMA ... @SMA @SA se transform &ntr3o sec'en( de formaC A S@MA S@MA ... S@MA S@A >1$?

/entru fiecare pas s3a folosit nota(ia %azat pe prima liter a denumirii engleze a pasului. Dac se in'erseaz sec'en(a care descrie algoritmul se o%(ineC AS@ AMS@ ... AMS@ AMS@ A >.$?

5ompar6nd sec'en(ele >1$? i >.$? se constat c pe l6ng diferita pozi(ionare a spa(iilor >acestea marcheaz &nceputul unei noi itera(ii a algoritmului de criptare? singura diferen( care mai apare este c grupurile KMAK din >1$? sunt &nlocuite cu grupuri KAMK &n >.$?. E clar c nu este suficient in'ersarea ordinii pailor folosi(i la criptare pentru a se face decriptarea ci tre%uie in'ersate i opera(iile care compun aceti pai. /entru in'ersarea pasului A$A tre%uie in'ersat func(ia sau3exclusi'. Dar aceast in'ersare se realizeaz tot cu func(ia sau3exclusi'. De aceea pasul A$A nu tre%uie in'ersat la decriptare. 8u acelai lucru se poate spune despre ceilal(i pai. Este de exemplu cazul pasului de amestecare a coloanelor, M5, >notat cu M &n rela(iile >1$? i >.$?? pentru in'ersarea cruia, &n procesul de decriptare este necesar in'ersarea matricii cu care se &nmul(ete fiecare 'ector. *a fel tre%uie procedat i cu matricea cutiei de tip S din pasul de su%stitu(ie a octe(ilor, @S >notat cu @ &n rela(iile >1$? i >.$??. $e'enind la rela(iile >1$? i >.$? este legitim &ntre%areaC "re%uie in'ersat ordinea sec'en(ei pailor KMAK i KAMK pentru decriptare E $spunsul este 8u, deoarece opera(ia de &nmul(ire a matricilor este distri%uti' &n raport cu 1 opera(ia de adunare pe c6mpul #alois al lui . . ;pera(ia de sau3exclusi' din cadrul pasului 1 M5 >M? este de fapt identic cu opera(ia de adunare definit pe c6mpul #alois al lui . . De aceea cheile de itera(ie, implicate &n procesul de in'ersare al pasului de amestecare a coloanelor, tre%uiesc &nmul(ite cu in'ersa matricii de amestecare a coloanelor i apoi se pot calcula func(iile sau3exclusi', la fel ca la criptare >%ine&n(eles cheile de itera(ie tre%uiesc luate &n ordine in'ers &n raport cu ordinea folosit la criptare?. Matricea pentru in'ersarea pasului de amestec al coloanelor esteC 17 11 1< - 17 11 1< 1< - 17 11 11 1< - 17 iar forma sa %inar, folosit &n algoritmul de decodare esteC 111D 1D11 11D1 1DD1 1DD1 111D 1D11 11D1 11D1 1DD1 111D 1D11 1D11 11D1 1DD1 111D D1 DD DD DD DD D1 DD DD DD DD D1 DD DD DD DD D1

111 1D1 11D 1DD D1 D1 DD DD 11D 1DD 111 1D1 DD DD D1 D1 11DD 1DDD 111D 1D1D DD DD 1D 1D 1D11 11D1 1DDD 111D D1 D1 1D 1D D D 1 D D1 D1 1D 11

2.3. Generarea c!eilor


/entru cazul &n care se folosete o cheie ini(ial cu lungimea de 1.1 %i(i sau de 1-. de %i(i, toate su%cheile necesare pentru toate itera(iile, se o%(in din cheia ini(ial >prima su%cheie fiind chiar cheia ini(ial? sau din 'ariante ale cheii ini(iale i au aceeai lungime cu aceasta.

Su%cheile sunt alctuite din cu'inte de 7 octe(i. 0iecare cu'6nt se o%(ine calcul6nd sau3 exclusi' &ntre cu'6ntul anterior de 7 octe(i i cu'6ntul corespunztor dintr3o 'ariant anterioar sau rezultatul aplicrii unei func(ii acestui cu'6nt >din 'arianta precedent?. /entru sta%ilirea primului cu'6nt dintr3o anumit 'ariant, cu'6ntul ini(ial >cel curent pentru itera(ia respecti'? este pentru &nceput rotit cu opt pozi(ii spre st6nga, apoi octe(ii si sunt modifica(i folosind cutia de tip S din pasul de su%stitu(ie a %i(ilor @S >@? corespunztor, iar apoi se calculeaz sau3exclusi' &ntre primul octet al rezultatului o%(inut anterior i o constant dependent de itera(ie. 5onstantele dependente de itera(ie suntC 1 . 7 1 14 <. 47 1.1 .= 27 1D1 .14 1=1 == 127 7= -7 111 -- 1-1 121 2< 1D4 .1. 1=- 1.2 .2D .<- 1-= 172 2= 117 ..1 .11 11- -=... sau &n %inarC DDDDDDD1 DDDDDD1D DDDDD1DD DDDD1DDD DDD1DDDD DD1DDDDD D1DDDDDD 1DDDDDDD DDD11D11 DD11D11D D11D11DD 11D11DDD 1D1D1D11 D1DD11D1 1DD11D1D DD1D1111 D1D1111D 1D1111DD D11DDD11 11DDD11D 1DD1D111 DD11D1D1 D11D1D1D 11D1D1DD 1D11DD11 D11111D1 11111D1D 111D1111 11DDD1D1 1DD1DDD1 DD111DD1 D111DD1D 111DD1DD 11D1DD11 1D1111D1 D11DDDD1... puterile lui . succesi'e &n reprezentarea din c6mpul #alois al lui . folosit.
1

3. "rogramul AE,
*ucrarea de fa( se %azeaz pe utilizarea programului aes.exe. 56nd se face click pe aes.exe, pe ecranul monitorului apare fereastra din figura urmtoare.

0igura .. 0ereastra principal a programului AES.

0c6nd click pe "eorie, se o%(ine fereastra reprezentat &n figura urmtoare.

0igura <. 0ereastra "eorie a programului AES.

Dup cum se poate 'edea din figura anterioar, poate fi consultat o prezentare &n lim%a rom6n a algoritmului $i!ndael, Standardul AES >$;? i o prezentare a aceluiai standard &n lim%a englez, Atandardul AES >E8?. De asemenea poate fi utilizat un program de &n'(are a algoritmului, tutorial.exe. 0c6nd click pe Exemplu, se o%(ine fereastra din figura urmtoare

.
0igura 7. 0ereastra Exemplu a programului AES.

0c6nd click pe 5riptare, se o%(ine fereastra din figura urmtoare.

0igura 2. 0ereastra de criptare.

Se completeaz, &n fereastra din st6nga sus, textul de criptat i apoi cheia de criptare. :n fereastra din dreapta

sus apare textul de criptat, codat &n hexazecimal. Apoi se apas pe %utonul K5ripteazK, o%(in6ndu3se fereastra din figura urmtoare.

0igura 4. $ezultatul criptrii.

"extul criptat este prezentat &n fereastra din st6nga !os. :n fereastra din dreapta !os este prezentat textul criptat codat &n hexazecimal. /ot fi codate i fiiere. :n acest scop, se apas pentru &nceput pe %utonul K5iteste I8K. 5u a!utorul ferestrei care se deschide, &n urma acestei ac(iuni, se selecteaz fiierul care se dorete a fi criptat. Acesta poate fi de tip .txt, .doc, .html, etc. Dup specificarea cheii de criptare, se apas %utonul K5ripteazK. 0iierul criptat poate fi sal'at. :n acest scop tre%uie apsat %utonul KSal'eaza ; "K. /entru a decripta un fiier, se alege, &n fereastra din figura 7, op(iunea Decriptare. Apoi se poate selecta, cu a!utorul op(iunii K5iteste I8K, fiierul care se dorete a fi decriptat. Dup aceast selec(ie, se specific cheia de decriptare >care tre%uie s fie identic cu cea care a fost folosit pentru criptare?. :n fereastra din st6nga !os apare textul criptat, iar &n fereastra din dreapta !os, textul criptat, codat &n hexagesimal. Apoi se apas %utonul KDecripteazaK. :n fereastra din st6nga sus apare textul decriptat, iar &n fereastra din dreapta sus, 'arianta codat &n hexagesimal a acestuia. @ine&n(eles c i acest text poate fi sal'at dac se apas %utonul KSa'e ; "K.

.. Desfurarea lucrrii
7.1.Se 'erific toate func(iile programului e'iden(iate &n paragraful anterior. :n acest mod se &n'a( s se lucreze cu programul. 7...Se parcurge programul tutorial.exe .

7.<. Se efectueaz 'erificarea func(ionrii programului efectu6nd o criptare i o decripate. Dup efectuarea criptrii se noteaz textul &n clar >&n cele dou forme ale saleC ir de caractere i hexazecimal? i se sal'eaz irul de date o%(inut &n urma criptrii, &ntr3un fiier text. Acesta se folosete la decriptare, urm6nd ca dup aceasta s se regseasc textul &n clar folosit la criptare. Mesa!ul &n clar i criptat 'or fi sal'ate &ntr3un fiier Mord, denumit cu numele utilizatorului i indicele lucrrii de la%orator, pentru a putea fi identificat ulterior, &n directorul sers. 7.7. /entru acelai mesa! se 'a simula folosirea a dou sisteme de criptare AES, prin alegerea, a dou chei ini(iale diferite. /entru fiecare dintre aceste experimente se 'or nota formele &n clar i criptat ale mesa!ului. Se 'or compara cele dou mesa!e criptate o%(inute astfel numr6ndu3se caracterele comune >care se gsesc &n acelai loc i au aceai 'aloare?. /e %aza acestui criteriu se 'a sta%ili care dintre cele dou alegeri de parametri a fost mai inspirat. Ii comentariile inspirate de acest experiment 'or fi consemnate &n fiierul Mord cu rezultatele lucrrii, amintit mai sus.

*ucrarea /. #e!nici de bali0are utili01nd transformarea 23a4elet5 1. ,copul lucrrii


@alizarea este o tehnic de autentificare a imaginilor. /rin inserarea unei %alize in'izi%ile &ntr3o imagine, &nainte ca aceasta s fie difuzat i prin extragerea %alizei dup recep(ia acesteia la utilizator, poate fi autentificat dreptul de proprietate auspra imaginii respecti'e al celui care a difuzat3o. :n acest mod pot fi identifica(i i utilizatorii ilegali ai unei anumite imagini. /entru realizarea %alizrii este necesar s se genereze o %aliz in'izi%il, s se insereze aceast %aliz &n imaginea care tre%uie difuzat i s se poat extrage din imaginea recep(ionat de utilizator. :n cazul &n care un utilizator ilegal utilizeaz imaginea respecti', pentru ca aceasta s nu poat fi autentificat, ar fi necesar ca %aliza con(inut &n aceasta s fie &ndeprtat. ; %alizare de calitate tre%uie deci s fie rezistent la atacurile unor utilizatori ilegali. :n lucrarea de fa( se studiaz o metod de %alizare adapti' >%aliza generat este dependent de imaginea de difuzat?.

2. 6 metod de bali0are
; modalitate de a insera o %aliz &ntr3o imagine are la %az utilizarea transformrii imaginii. 5ea mai des folosit transformare este D5" >transformarea cosinus discret?. 8ecesitatea de a face in'izi%il %aliza face dificil procesul de %alizare, rezult6nd proceduri complicate de prelucrare a imaginii. Din acest moti', inserarea %alizei &n domeniul transformatei D5" tre%uie s respecte unele condi(ii perceptule, impuse de regul sistemului ce realizeaz cuantizarea &n domeniul D5". tilizarea transformrii QHa'eletR discret >DM"? &n procesul de %alizare a imaginilor aduce unele a'anta!e fa( de transformarea D5". Astfel, transformarea DM" a unei imagini este tot o imagine cu aceleai dimensiuni cu cele ale imaginii originale, dar care const din dou zone importanteC zona de aproximare numit i rezumat, de dimensiuni mai reduse &n raport cu imaginea originalF zona cu detalii care const &ntr3un set de imagini de dimensiuni reduse ce con(in detaliile imaginii originale. $ezult deci c transformarea DM" ofer acces direct asupra detaliilor unei imagini. Acest lucru permite utilizarea unei proceduri simple i rapide de inserare a %alizei &n imagine prin modificarea detaliilor imaginii, pstr6nd &n acelai timp transparen(a perceptual a %alizrii. Din tehnicile de %alizare ce utilizeaz transformarea DM" sunt superioare celor ce utilizeaz transformarea D5". Aa cum s3a artat anterior, o tehnic simpl de %alizare const &n modificarea detaliilor unei imagini, echi'alent cu o modulare &n amplitudine a coeficien(ilor transformrii DM" corespunztori. :n cele ce urmeaz se 'a prezenta un mod de implementare &n Matla% a acestei metode de %alizare, %eneficiind de suportul oferit de pachetul Ma'ela% &n domeniul transformrii DM".

3.1. Algoritmul de inserare a bali0ei in imagine


@alizarea imaginii se realizeaz conform schemei %loc din figura 1.

A ".I Separare D.I. detalii 8.D.I Asam%lor 8.".I.

D.M.". ;.I.

A.I. Separare rezumat

I.D.M.".

M.I

M.a 0igura 1. Schema de %alizare.

i const din urmtoarele etapeC calculul transformatei DM" a imaginii originale ;.I., ". I.F separarea detaliilor i a rezumatului din cadrul ".I. >D.I. i respecti' A.I.?F multiplicarea detaliilor cu constanta A >8.D.I.?F asam%larea imaginii %alizate &n domeniul transformatei DM", din rezumat i din detaliile multiplicate cu A >8.".I.?F calculul transformrii DM" in'erse &n 'ederea o%(inerii imaginii %alizate >M.I?F o%(inerea %alizei prin calculul diferen(ei dintre imaginea original i imaginea %alizat >M.a?. :n continuare se prezint succint modul &n care are loc separarea rezumatului de detalii pentru o imagine dat, precum i reasam%larea lor dup inserarea %alizei. Aa cum s3a artat anterior transformarea DM" a unei imagini este compus din dou zone principale, ca &n figura ..
A

D1

D7

D. D<

D2

D4

0igura .. "ransformarea DM" a unei imagini.

Sona delimitat de %locurile A, D1, D. i D< reprezint rezumatul imaginii rezultate &n urma transformrii DM", &n timp ce zona delimitat de %locurile D7, D2 i D4 reprezint detaliile. 8umrul de %locuri ce re'ine fiecrei zone &n parte depinde de numrul de itera(ii

din calculul transformrii DM". Mrimea %locurilor poate fi aleas dup dorin(, singura cerin( fiind ca ele s nu apar(in simultan celor dou zone definite anterior. Dup multiplicarea cu constanta A >aleas &n aa fel &nc6t s se asigure transparen(a perceptual? a coeficien(ilor DM" din %locurile D7, D2 i D4, se o%(in %locurile D7T, D2T i D4T ce con(in de!a %aliza. Asam%larea %locurilor noi o%(inute se face ca &n figura <, pentru a putea o%(ine &n urma transformrii DM" in'erse imaginea %alizat.

D1 D 7U

D. D<

D2 U

D 4U

0igura <. Asam%larea %locurilor de imagine dup inserarea %alizei.

Dup cum s3a putut o%ser'a, aceast metod de %alizare este adapti', deoarece depinde de con(inutul imaginii originale >surs?. :n ce pri'ete 'aloarea constantei A, este relati' uor de determinat 'aloarea ei &n aa fel &nc6t %alizarea s fie impercepti%il. /rin urmare nu este necesar utilizarea de tehnici suplimentare pentru a asigura transparen(a perceptual.

3.2. Algoritmul de e7tragere a bali0ei


Extragerea %alizei dintr3o imagine %alizat utiliz6nd algoritmul prezentat &n paragraful <.1. se face cu schema din figura 7.
1 A ;DI r H ar
Asam%lor Separare rezumat IDM"

MI r

DM"

"MI r Separare DMI r


detalii

AMI r

"I r

;I r

0igura 7. Schema de extragere a %alizei

/aii parcuri pentru extragerea %alizei sunt similari cu cei de la %alizareC calculul transformatei DM" a imaginii %alizateF separarea zonelor cu rezumat i respecti' cu detalii ale imaginiiF &nmul(irea detaliilor cu constanta 1GAF

reasam%larea zonelor cu rezumat i a celor cu detalii rezultate dup multiplicarea cu AF calculul transformatei DM" in'erse pentru o%(inerea imaginii originale.

calculul %alizei ca diferen( dintre imaginea %alizat recep(ionat i cea original o%(inut
&n urma extragerii %alizei. :n cazul &n care imaginea %alizat utilizat de algoritmul de extrac(ie este identic cu cea o%(inut la %alizare, %alizele o%(inute &n procesul de inserare i extrac(ie sunt identice. Dac apar erori de transmisie a imaginii %alizate, sau prelucrriGatacuri asupra imaginii %alizate, %aliza extras nu 'a mai fi identic cu %aliza o%(inut &n cadrul procesului de inserare a %alizei. Dac algoritmul de %alizare este ro%ust, diferen(a dintre cele dou %alize tre%uie s fie mic. /entru a caracteriza gradul de asemnare a celor dou %alize &n 'ederea identificrii, se definete factorul de asemnare ca fiind factorul de corela(ie, cu rela(iaC

fc =
m n

H a [m, n ] H ar [m, n]
. ar m n

m n

Ha [m, n ]

[m, n ]

Jaloarea factorului de corela(ie este unitar atunci c6nd %alizele de la inserare i extrac(ie sunt identice, i scade spre zero atunci c6nd apar diferen(e. Ea ser'ete ca msur a ro%uste(ii algoritmului de %alizare la prelucrri i atacuri asupra imaginii %alizate. "otodat, 'aloarea sa poate fi folosit ca i criteriu de decizie pentru a sta%ili dac &n imaginea analizat se afl %aliza cutat. /entru aceasta este ne'oie s se sta%ileasc o 'aloare de prag >de ex. D.=? peste care se decide c %aliza extras este cea cutat, &n caz contrar neput6ndu3se face identificarea cert.

7. Desfurarea lucrrii 1.
Din MindoHs 5ommander se selecteaz directorul compHater.m. Se citete cu 07. Se selecteaz textul >Edit, Select All? i se copiaz >Edit, 5op,?. Se deschide MA"*A@3ul. Se copiaz textul selectat anterior &n fereastra de lucru a MA"*A@3ului >Edit, /aste?. Se ruleaz acest program >Enter?. Se sal'eaz &n directorul SE$S >personal? rezultatele o%(inute >cele 7 imaginiC imaginea original, imaginea transmis, %aliza generat la emisie i %aliza generat la recep(ie?.

..
Se studiaz programul Matla% utilizat, citind >cu 07? fiierul compHater.m i identific6nd principalele etape ale algoritmilor de inserare, respecti' extragere a %alizei. Se 'or comenta rezultatele o%(inute.

<.
Se repet punctele anterioare pentru o alt 'aloare a lui N, de exemplu .. :n acest scop se modific linia 1< a programului compHater.m.

7.
Se repet punctele anterioare pentru o alt imagine, de exempluC *enna. :n acest scop se modific linia a doua a programului compHater.m, aceasta de'enindC ingridVreadimage>U*ennaU?.

*ucrarea 8. "rotec'ia potei electronice folosind pac!etul de programe "G", Pretty Good Privacy 1. ,copul lucrrii
Se studiaz modul &n care pot fi criptate mesa!ele electronice folosind programul /#/.

2. "ac!etul de programe "G", Pretty Good Privacy


Acest pachet a fost conceput de /hil Simmermann. Deoarece acesta a fost suspectat c ar fi &nclcat interdic(ia impus de gu'ernul american asupra exportului de produse criptografice, el a fost urmrit &n !usti(ie timp de mai mul(i ani. :n prezent este patronul unei companii de so"t$are care comercializeaz acest pachet de programe.

9unc'ionarea "G"
/#/ com%in c6(i'a dintre cei mai %uni parametri ai criptografiei simetrice i asimetrice. El este un sistem de criptare hi%rid. 56nd un utilizator cripteaz un text &n clar cu /#/, acesta comprim prima dat textul &n clar. 5ompresia crete rezisten(a la atacuri de criptanaliz. Apoi /#/ creaz o cheie de sesiune care este folosit o singur dat. Aceast cheie este un numr aleator. Ea lucreaz &n acord cu un algoritm de criptare foarte sigur i rapid pentru a cripta 'arianta comprimat a textului &n clar. $ezultatul este textul criptat. De &ndat ce datele au fost criptate, este criptat i cheia sesiunii, folosindu3se cheia pu%lic a destinatarului. Jarianta criptat a cheii sesiunii este transmis &mpreun cu textul criptat. /entru decriptare se aplic opera(iile dscrise &n ordine in'ers. Destinatarul recep(ioneaz mesa!ul /#/, &i folosete cheia secret pentru a reconstrui cheia sesiunii, pe care apoi programele /#/ o folosesc pentru a decripta textul criptat.

C!ei
/#/ memorez cheile &n dou fiiere de pe hard disk3ul calculatorului gazd. nul dintre ele este folosit pentru cheile secrete iar cellalt pentru cheile pu%lice. Acestea se numesc inele de chei keyrin&s. Dac un utilizator &i pierde cheia secret, el nu 'a mai putea s decripteze nici un mesa! /#/ pe care &l primete.

,emnturi digitale
Se folosesc pentru autentificarea sursei mesa!ului i pentru 'erificarea integrit(ii acestuia. Ele asigur i nerepudierea mesa!ului. :n figura urmtoare este exemplificat modul de generare a unei semnturi digitale. :n loc s se cripteze informa(ia cu cheia pu%lic a cui'a se folosete cheia secret a utilizatorului. Dac acea informa(ie poate fi decriptat cu cheia pu%lic a utilizatorului atunci &nseamn c a fost generat de ctre acesta. /#/ folosete func(ia hash MD32 pentru a o%(ine un rezumat >!essa&e di&est? al textului &n clar pe care tre%uie s3l semneze utilizatorul. 5u a!utorul acestui rezumat i al cheii secrete a utilizatorului, acesta creaz semntura. /#/ transmite &mpreun semntura i mesa!ul &n clar. Dup recep(ie destinatarul folosete /#/ pentru a recompune rezumatul, 'erific6nd &n acest fel semntura. Mesa!ul &n clar poate fi criptat sau nu. Semnarea unui text &n clar este util dac unii dintre destinatari nu sunt interesa(i sau nu sunt capa%ili s 'erifice semntura.

7<

'i& ra (. Generarea nei se!n)t ri di&itale.

At6t timp c6t se utilizeaz o func(ie hash sigur, nu exist nici o posi%ilitate s se copieze semntura cui'a dintr3un mesa! i s se ataeze &ntr3un altul sau se altereze un mesa! semnat. 5ea mai mic modificare a unui document semnat 'a cauza insuccesul procesului de 'erificare a semnturii. Semnturile digitale !oac un rol important &n autentificarea i 'alidarea cheilor unor noi utilizatori /#/. :n figura urmtoare se prezint procesul de generare i inserare a unei semnturi digitale.

'i& ra *. Proces l de inserare a se!n)t rii di&itale.

Ce este o parol de tip fra0 :


; parol de tip fraz este o 'ariant mai lung de parol care este folosit de ctre un utilizator &n scop de identificare. Aceasta este mai sigur &mpotri'a atacurilor %azate pe for(a %rut. /#/ folosete o parol de tip fraz pentru criptarea cheii unui utilizator pe propriul calculator. 8u este permis ca utilizatorul s3i uite parola de tip fraz.

;mprtirea c!eilor
Se spune c un secret nu mai este secret dac este cunoscut de dou persoane. *a fel este i &n cazul unei chei secrete. Dei nu este recomanda%il uneori este necesar s se utilizeze &n comun chei secrete. :n aceste situa(ii este recomanda%il ca por(iuni ale cheii secrete s fie fcute cunoscute c6te unei persoane, astfel &nc6t acea cheie s poat fi folosit doar cu participarea tuturor acelor persoane.

3. Desfurarea lucrrii
1. Se instaleaz programul de pot electronic, Eudora, fc6nd click pe Setup.exe, din directorul DisN1us. Se configureaz programul instalat. Se instaleaz programul /#/, fc6nd click pe /#/DesNtop=1DE'al<D.exe1. Se configureaz programul /#/. :n acest scop se citete fiierul $eadMe din directorul cCW /rogram 0iles W 8etHorN Associates W /#/ for MindoHs XX W . Apoi se deschide programul Eudora i se face click pe /#/. Se citesc Lelp "opics i apoi se configureaza >respecti' se 'erifica configurarea?, dupa ce s3a apasat pe %utonul ;ptions. ; parte a unui exemplu de configurare este prezentat &n figurile urmtoareC

'i& ra +. Con"i& rarea pro&ra! l i de po,t) electronic).

'i& ra -. Con"i& rare &eneral).

'i& ra .. Con"i& rarea "i,ierelor.

'i& ra /. Con"i& rarea "ire$all0 l i.

.. Dup configurare se deschide Eudora se selecteaz Messa&e i apoi 1e$ Messa&e. Se selecteaz PGP keys i se apas pe Server i apoi pe Send to2 aleg6ndu3se pgpNe,s.mit.edu. <. Se transmite un mesa! criptat unui utilizator care nu are instalat programul /#/. :n acest scop se deschide Eudora se selecteaz Messa&e i apoi 1e$ Messa&e. Se scrie mesa!ul se selecteaz PGP Encrypt E!ail Messa&e >celelealte op(iuni se 'or deselecta? i apoi Send. Se constat c forma criptat a mesa!ului nu poate fi &n(eleas de ctre acesta. 7. Se transmite acelai mesa! unui utilizator care are instalat programul /#/. Se 'erific faptul c acesta poate &n(elege mesa!ul. 2. Se repet cele dou opera(ii, descrise anterior pentru o nou alegere a parolei de tip fraz. 4. Se dezinstaleaz programele Eudora i /#/.