Sunteți pe pagina 1din 130

The People:

Willian F. Friedman (1891-1969),


Alan M. Turing (1912-1954),
Marian Rejewski (1905-1980),
Hans Rohrbach (1903-1993).

Criptografie Computationala

dr. mat. Emil SIMION


e-mail: esimion@fmi.unibuc.ro

Motto:
Cryptography + Loose of discipline=HAOS.

Agenda
- Sistemul de Securitate al Informatiilor;
- Integrarea necesitatilor de Securitate a Informatiilor;
- Problema de Evaluare Criptografica & Cadrul de Testare;
- Terminologia utilizata. Definitii;
- Principii criptologice;
- Criterii de evaluare ale sistemelor criptografice;
- Operatii in criptanaliza;

Motto:
Cryptography + Loose of discipline=HAOS.

Agenda cont

- Tema 1: Functii hash;


- Tema 2: Generatoare pseudoaleatoare;
- Tema 3: Tipuri de atacuri aplicate asupra AC (algoritmilor criptografici);
- Tema 4: Cifruri bloc.

Motto: ars ipsi secreta magistro.


an art secret even for the master
Jean Robert du Carlet, 1644.

Sistemul de Securitate al Informatiilor


(INFOSEC)
- Securitatea fizica;
- Securitatea personalului (need to know);
- Securitatea administrativa;
- Securitatea IT (ITSEC);
- Securitatea comunicatiilor (COMSEC);
- Securitatea criptografica;
- Securitatea emisiilor electromagnetice (TEMPEST);
- Mai nou a aparut conceptul de INFORMATION ASSURANCE (de exemplu
proceduri de recuperare a informatiei in caz de dezastru, etc.).

Motto: Protection of sensitive information


is a desire reaching back to the beginnings of
human culture.
Otto Horak, 1994.

Integrarea necesitatilor de Securitate a


Informatiilor
- Disponibilitatea;
- Confidentialitatea;
- Integritatea;
- Autentificarea;
- Nerepudierea.

Motto: In cryptography, no rule is


absolute.
Etienne Bazeries, 1901.

Problema de evaluare criptografica


- Proiectarea, analiza i evaluarea algoritmilor i a modulelor criptografice:
- tehnici de cifrare;
- metode de identificare/autentificare;
- managementul cheilor criptografice;
- porturile si interfetele modulului criptografic;
- mediul de operare;
- securitatea fizica;
- autoteste;
- politica de securitate;
- siguranta proiectarii;
- etc.
- Standarde: FIPS 140-2 & Common Criteria (ISO 15408).
6

Motto: In cryptography you Must


Know, dont Trust or Belive.

Cadrul de testare Cripto


Algoritm
Modul criptografic
Produs
Aplicaie / Sistem

- Elaborarea, testarea si verificarea algoritmilor


criptografici este de competenta organismelor cu
atributii in domeniu. Vom prezenta in cadrul
expunerii elemente de analiza a functiilor de
dispersie criptografica precum si a generatoarelor
pseudoaleatoare;
- Testarea si evaluarea modulului criptografic este
realizata de Laboratoarele de Evaluare si Testare
Criptografica;

-Testarea produsului criptografic este de competenta Laboratoarelor de Evaluare si Testare Criptografica


(FIPS 140-2) precum si a Laboratoarelor de Testare Common Criteria (ISO 15408);
-Testarea Aplicatiei/Sistemului este de competenta Laboratoarelor de Evaluare si Testare Criptografica
(FIPS 140-2) precum si a Laboratoarelor de Testare Common Criteria (ISO 15408). In activitatea de
testare se include si Managementul Riscului (identificarea vulnerabilitatilor si evaluarea amenintarilor).

Motto: The quality of a machine


depends largely on its use.
Boris Hagelin.

Terminologia utilizata. Definitii 1.


- Criptologia este stiinta scrierilor secrete, avand drept obiect apararea secretului datelor
si informatiilor confidentiale, cu ajutorul sistemelor criptografice;
- Criptografia este latura defensiva a criptologiei, avand drept obiect de activitate
elaborarea (conceperea) sistemelor criptografice si a regulilor folosite;
- Criptanaliza este latura ofensiva a criptologiei, avand drept obiect de activitate
studierea sistemelor criptografice proprii pentru a le oferi caracteristicile necesare, astfel
incat acestea sa-si indeplineasca functia pentru care au fost concepute.
- Algoritm Criptografic intelegem o multime de transformari uniinversabile prin care
multimea mesajelor (textelor) clare dintr-o limba se transforma in multimea M a
criptogramelor;
- Cheia de Cifrare constituie o conventie particulara, materializata, printr-un cuvant,
fraza, numar, sir numeric etc. si care dirijeaza (reglementeaza) operatia de cifrare;
- Protocol Criptografic este un set de reguli, intre doi sau mai multi parteneri, prin care
are loc o operatie de autentificare si/sau transfer de cheie sau mesaje;
8

NSA Motto: In God we trust all other


we monitorize.

Terminologia utilizata. Definitii 2.


- Sistem Criptografic este compus din trei elemente: algoritm de cifrare, sistem de
generare al cheilor si protocol de distributie al cheilor de cifrare;
- Cifrarea este operatia de transformare a textului clar intr-un text cifrat (neinteligibil) cu
ajutorul unei chei de cifrare si a unui algoritm;
- Codificarea este operatia de minimizare a cantitatii de informatie transmisa (codificare
in absenta perturbatiei), precum si de introducere, in cadrul mesajului, a simbolurilor de
control pentru detectia si corectia erorilor;
- Autentificarea este operatia prin care se asigura fapul ca mesajul transmis este de la
cel care pretinde ca l-a transmis;
- Integritatea este operatia prin care se asigura faptul ca un mesaj nu a fost alterat pe
canalul de comunicatie;
- Descifrarea este operatia inversa cifrarii de reconversie a textului cifrat, in prezenta
cheii corecte si a algoritmului, in text clar;
- Decriptarea este operatia de reconversie a textului criptat, in absenta cheii si a
algoritmului de cifrare, in text clar.

Motto: Deciphering is, in my opinion,


one of the most fascinating of arts,
and I fear I have wasted upon it more
time than it deserves.
Charles Babbage, 1864.

Principii criptologice
- Nu trebuie subestimat adversarul;
- Numai un criptanalist poate evalua securitatea unui sistem criptografic;
- n evaluarea unui sistem criptografic se ia n considerare faptul c adversarul are
cunotine complete despre acesta: tot secretul unui sistem criptografic trebuie s
rezide numai n cheie;
- Complicaiile superficiale pot fi iluzorii iar acestea pot induce criptografului un
sentiment de fals siguran;
- n evaluarea unui sistem criptografic trebuie luate n calcul toate elementele, ca
de exemplu reglementrile referitoare la distribuia cheilor, a materialului
criptografic, etc.

10

Motto: The logic of secrecy was the


mirror-image of the logic information.
Colin Burke, 1994.

Criterii de evaluare ale sistemelor


criptografice
- Ctigul adversarului rezultat din eventuala decriptare a materialului ;
- Lungimea cheii i complexitatea modului de manipulare al acestora;
- Gradul de complexitate al efecturii unui ciclu de cifrare-descifrare ;
- Dimensiunea textului cifrat relativ la dimensiunea textului clar;
- Modul de propagare al erorilor.

11

Motto: Even in cryptology, silence is


golden.
Laurence D. Smith.

Principalele operatii in criptanaliza

- Determinarea limbii folosite n mesajul clar (necunoscut);


- Determinarea tipului de sistem criptografic folosit;
- Reconstrucia unei chei specifice n cazul unui sistem criptografic sau
reconstrucia parial sau complet, a cheii de baz;
- Reconstrucia folosirii unui astfel de sistem si stabilirea textului clar complet.

12

Motto: We can only say that the


decryptment of any cipher even
the simplest will at times include a
number of wonderings.
Helen Fouche Gaines, 1939.

Functii hash
Tema 1: Functii de Dispersie Criptografica (Functii Hash)

13

Motto: Abandoning the methods of


substitution for those of transposition
was like changing one's one-eyed
horse for a blind one.
Etienne Bazeries, 1901.

Generatoare pseudoaleatoare
Tema 2: Generatoare Pseudoaleatoare

14

Motto: Abandoning the methods of


substitution for those of transposition
was like changing one's one-eyed
horse for a blind one.
Etienne Bazeries, 1901.

Tipuri de atacuri aplicate asupra AC


(algoritmilor criptografici)
Tema 3: Tipuri de atacuri aplicate asupra AC (algoritmilor criptografici)

15

Motto: Abandoning the methods of


substitution for those of transposition
was like changing one's one-eyed
horse for a blind one.
Etienne Bazeries, 1901.

Cifruri Bloc
Tema 4: Cifruri bloc

16

ntrebri
i
Rspunsuri

17

Functii de dispersie
Criptografica (Hash)

dr. mat. Emil SIMION


e-mail: esimion@fmi.unibuc.ro

Agenda

Prezentare general a contextului criptologic de utilizare a functiilor hash;


Notiuni preliminare;
Functii hash;
Modalitati de atac & Exemple;
Modalitati de realizare a semnaturilor digitale;
Aplicatii;
Bibliografie;
Intrebari si raspunsuri.
2

Prezentare generala a contextului criptologic


de utilizare a functiilor hash

Autentificare vs. cifrare;


Necesitatea autentificarii;
Semnaturile digitale.

Autentificare vs. Cifrare - 1


Autentificarea este un operator dual operatorului de cifrare: in cadrul operatiei de
autentificare exista un anume grad de redundanta a mesajului, pe cand in cadrul
operatiei de cifrare aceasta redundanta este minima.
Autentificarea se refera la:
- autentificarea mesajelor, cand destinatarul doreste sa se asigure ca
mesajul provine de la expeditor;
- autentificarea utilizatorului, cand problema este de a verifica faptul
ca utilizatorul este persoana ce pretinde a fi.

Autentificare vs. Cifrare -2

Ordinea operatiilor: mai intai se semneaza si apoi se cifreaza mesajul.


Se pot lua masuri de verificare a:
- corectei descifrari;
- semnaturii (autenticitatea mesajului);
- integritatii (protectia la erori pe canalul de comunicatie).
Exemplu de utilizare corecta:
Ek[M,MACk[M]], CRC [Ek [M,MACk[M]].
Exemplu de utilizare incorecta: daca se cifreaza un mesaj si apoi se semneaza
rezultatul cu ajutorul algoritmului RSA atunci aceasta schema este vulnerabila;
5

Necesitatea autentificarii
Asigurarea autentificarii a fost impusa, in special de :
- existenta interceptarii active, cand atacatorul poate interveni asupra
continutului mesajelor interceptate;
- aparitia postei electronice, in care putine mesaje necesita a fi
secretizate dar pentru foarte multe mesaje este necesara
autentificarea.

In afara faptului ca destinatarul trebuie sa fie sigur ca mesajul receptionat este cel
trimis de expeditor, un sistem de autentificare trebuie sa asigure si solutionarea
eventualelor dispute intre cei doi corespondenti.
In cazul postei electronice autentificarea si eventualele dispute sunt solutionate
prin semnarea documentului de catre expeditor.
6

Semnatura Digitala
Semnatura digitala trebuie sa indeplineasca urmatoarele functii (ideale) :
- semnatura este nefalsificabila: semnatura este o dovada
semnatarul a semnat in mod deliberat documentul;

ca

- semnatura este autentica: semnatura convinge destinatarul ca


semnatarul a semnat in mod deliberat documentul;
- semnatura este nereutilizabila: semnatura face parte din document
si nu poate fi mutata pe alt document;
- documentul semnat este inalterabil: dupa semnare documentul nu
poate fi modificat fara a se pune in evidenta acest lucru;
- semnatura este nerepudiabila: semnatarul nu poate pretinde mai
tarziu ca nu a semnat documentul respectiv.

Semnatura digitala se aplica unui rezumat (digest) al documentului.


7

Notiuni preliminare

Functii unidirectionale;
Exemple.

Functii unidirectionale
(One-Way Functions)

O functie f se numeste functie unidirectionala daca:


1) fiind dat x, este usor de calculat f(x);
2) fiind dat f(x), este greu de calculat x.
O functie f se numeste functie unidirectionala cu trapa (trap door) daca:
1) fiind dat x, este usor de calculat f(x);
2) fiind dat f(x), este greu de calculat x;
3) pe baza unei informatii secrete y, este usor de calculat x din f(x).

Exemple de functii unidirectionale

logaritmul discret:
fiind date numerele p (prim), g si y sa se gaseasca x astfel incat gx
=y mod p;
factorizarea: daca N este produsul a doua numere prime atunci:
1) Sa se factorizeze N;
2) Fiind date e si C, sa se gaseasca M astfel incat Me = C mod N;
3) Fiind date M si C sa se gaseasca d astfel incat Cd = M mod N;
4) Fiind dat x, sa se decida daca exista y astfel incat x = y2 mod N.

problema rucsacului: fiind data o multime de numere intregi sa se gaseasca o


submultime cu suma S.
10

Functii hash

Definitii;
Algoritmi de hashing;
Functii hash bazate pe cifruri bloc;
Functii hash nebazate pe cifruri bloc.

11

Definitii

Functia hash este o functie care se aplica unui sir de lungime oarecare obtinandu-se un sir
de lungime fixata (de obicei, mai mica decat lungimea sirului de intrare);

O functie hash H se numeste functie hash unidirectionala daca:


1) H este functie hash;
2) H este functie unidirectionala.

Pentru a fi folosite pentru semnaturi digitale, functiile hash unidirectionale trebuie sa mai
indeplineasca, printre altele una din urmatoarele doua conditii:
1) oricare ar fi M dat, este greu de gasit M astfel incat H(M)=H(M);
2) este greu de gasit o pereche oarecare M, M astfel incat H(M)=H(M).
12

Algoritmi de hashing

Exista foarte multe moduri de proiectare a functiilor hash unidirectionale;

Majoritatea functiilor hash unidirectionale utilizeaza functii unidirectionale care


produc o valoare de hash de lungime n pe baza a doua intrari de
lungime n.
In general, intrarea este constituita dintr-un bloc de text si valoarea hash a
blocului de text precedent, adica hi=f(Mi,hi-1).

13

Schema generala de hashing


2D -1 mesaje
M

Mesaj

D = 2 64

text.....
H

M*

H(M) = H(M*)

.... text ....

H
H

2128 imagini
{0, 1} 128

end

m(1)

m(2)

m(3)

m(i)

............

padding

m(n)

Functiile hash sunt:


- one-way si collision-free;
- robuste si complexe;
- provocarea consta in gasirea
unei coliziuni.

IV

H(i-1)

H(i)

H(n)

Functia de compresie f

14

Lucrari de impact
Unul dintre cele mai importante articole din domeniul criptanalizei functiilor hash a
fost cel al cercetatorilor chinezi Wang & Yu:
[1] X. Wang, D. Feng, X. Lai, H. Yu, "Collisions for Hash Functions MD4, MD5,
HAVAL-128 and RIPEMD", rump session, CRYPTO 2004, Cryptology ePrint Archive,
Report 2004/199, http://eprint.iacr.org/2004/199.
[2] X. Wang, X. Lai, H. Yu, How to Break MD5 and Other Hash Functions.
[3] X. Wang, X. Lai, H. Yu, Collision Search Attacks on SHA1.
precum si al criptologului ceh Vlastimil Klima:
[4] Finding MD5 Collisions on a Notebook PC Using Multi-message Modifications.

Acestia au prezentat coliziuni asupra functiei MD5 & SHA precum si metode de
generare a acestora [2], [3] si [4].

15

Coliziunile asupra functiei MD5 generate


de Wang & Yu

Prezentate in articolul X. Wang, D. Feng, X. Lai, H. Yu, "Collisions for Hash


Functions MD4, MD5, HAVAL-128 and RIPEMD", rump session, CRYPTO 2004,
Cryptology ePrint Archive, Report 2004/199, http://eprint.iacr.org/2004/199.
Au prezentat coliziuni asupra functiei MD5 dar nu au dat detalii despre generarea
acestora la vremea respectiva.

16

Date tehnice asupra coliziunilor MD5


generate de Wang & Yu
M

M = x[015], M* = x*[015] x*[i] = x[i], cu exceptia x*[4] = x[4]


+231, x*[11] = x[11] +215 , x*[14] = x[14] +231

N = y[015], N* =y*[015], y*[i] = y[i], cu exceptia y*[4] = y[4] 231, y*[11] = y[11] -215, y*[14] = y[14] 231

H1

f
H2

IV

H1* - H1 = (0, +231+225, +231+225, +231+225) , coliziune generata


intr-o ora pe un IBM P690

H1*

H2* - H2 = (0,0,0,0), coliziune generata intre 15s-5min.

M*

N*
17

Valorile de intrare ce genereaza coliziuni


utilizand algoritmul lui Wang & Yu
Mesajul de 1024 biti compus din cele doua blocuri M si N de 512 biti fiecare:
313838DD FC2932C7 C030B717 BAFC1BAE 6673A8D7 9DDCF416 85D70859 99403DB0
0634ADD1 C0736004 9558BD1F 21E10982 CA94C90B 6AAE6E69 CBF61BF1 06B0E615
2E82D48B 16BDF161 CE10BD62 C3C6809D B6745639 FC0E06C7 6573A914 BEF0D753
537B8755 497B92E8 46F559C2 7D7A347A 0511D8B1 98EBEB68 C9CA4559 EB10E037

Mesajul de 1024 biti compus din cele doua blocuri M* si N* de 512 biti fiecare:
313838DD FC2932C7 C030B717 BAFC1BAE E673A8D7 9DDCF416 85D70859 99403DB0
0634ADD1 C0736004 9558BD1F 21E18982 CA94C90B 6AAE6E69 4BF61BF1 06B0E615
2E82D48B 16BDF161 CE10BD62 C3C6809D 36745639 FC0E06C7 6573A914 BEF0D753
537B8755 497B92E8 46F559C2 7D79B47A 0511D8B1 98EBEB68 49CA4559 EB10E037

Valoarea comuna a hashului este: 91F0F9DB8D73D703C99C9881BDEED0E9


18

Coliziunile asupra functiei MD5 generate


de V. Klima

Prezentate in articolul lui Vlastimil Klima Finding MD5 Collisions on a Notebook PC


Using Multi-message Modifications;
A prezentat modul de generare al coliziunilor asupra functiei MD5 intr-un mod diferit
de tehnica lui Wang & Yu.
Metoda lui V. Klima este de 3-6 ori mai rapida decat tehnica lui Wang & Yu.

19

Valorile de intrare ce genereaza coliziuni


utilizand algoritmul lui V. Klima
Mesajul de 1024 biti compus din cele doua blocuri M si N de 512 biti fiecare:
3349F5AC A9741EDE E5B448C0 DB33CDD6 16E9A926 5C958038 DE975790 BF8D3F87
55AD3405 066EB4A0 FBFB907C 53FB0154 1FADB99D 25D9FA81 A35F5AEC 4AEAC35A
25083C72 DFDD16EA AFEE301A 7003F1E2 D6937735 0CF70D3D 1ADD33E7 4F9BDDDC
45D0FBF8 EF9F1BA7 D69BC765 79CC569D BC8877BB 7A134473 6F1D71F4 4DE89889

Mesajul de 1024 biti compus din cele doua blocuri M* si N* de 512 biti fiecare:
3349F5AC A9741EDE E5B448C0 DB33CDD6 16E9A9A6 5C958038 DE975790 BF8D3F87
55AD3405 066EB4A0 FBFB907C 537B0254 1FADB99D 25D9FA81 A35F5A6C 4AEAC35A
25083C72 DFDD16EA AFEE301A 7003F1E2 D69377B5 0CF70D3D 1ADD33E7 4F9BDDDC
45D0FBF8 EF9F1BA7 D69BC765 794C569D BC8877BB 7A134473 6F1D7174 4DE89889

Valoarea comuna a hashului este: 95C46E4C B928A99A 3A4515AC 33A95B5C


20

Functii hash bazate pe cifruri bloc

21

Functii hash nebazate pe cifruri bloc

22

Exemple de Functii Hash


1) SNERFU: functie hash proiectata de Ralph Merkle, proceseaza blocuri de 512
biti, valoarea de hash fiind pe 128 sau 256 biti;
2) N-HASH: algoritm de hash proiectat de Nippon Telephone and Telegraph,
proceseaza blocuri de 128 biti, valoarea de hash fiind pe 128 biti;
3) MD2, MD4 si MD5: algoritmi de hash proiectati de Ron Rivest, proceseaza
blocuri pe 512 biti, valoarea de hash fiind pe 128 biti. Se utilizeaza in protocoalele
PEM;
4) SHA: algoritm de hash proiectat de NSA spre a fi utilizat impreuna cu standardul
Digital Signature Standard, proceseaza blocuri pe 512 biti, valoarea de hash fiind
pe 160 biti;
5) RIPE-MD: algoritm de hash proiectat pentru Comunitatea Europeana in cadrul
proiectului RIPE, algoritmul este o variatie a lui MD4;
6) HAVAL: este o modificare a lui MD5, proceseaza blocuri de 1024 biti, valoarea
de hash fiind pe 128, 160, 192, 224 sau 256 biti.
23

Program de calcul a hashului

Pentru verificarea rezultatelor se pot


utiliza programe deja realizate cum ar
fi: OpenSSL sau produse sub
Windows ca de exemplu HashCalc
(SlavaSoft) .

24

Atacuri asupra functiilor hash

1) asupra unei preimagini : fiind dat y sa se gaseasca x astfel incat h(x)=y;


2) asupra a doua preimagini: fiind dat x sa se gaseasca x diferit de x astfel incat h(x)=h(x);
3) generarea de coliziuni: sa se gaseasca x si x diferite astfel incat h(x)=h(x);
4) generarea de pseudocoliziuni: sa se gaseasca x si x astfel incat h1 (x)=h2 (x) cu valori IV diferite
pentru cele doua functii hash h1 si h2;
5) birthday attack : algoritm de atac independent de functia hash, presupune generarea de valori
de intrare uniform distribuite;
6) meet in the middle: tehnica utilizata in cazul utilizarii iterative a functiilor hash;
7) cu ajutorul punctelor fixe: un punct fix al unei functii de compresie este o pereche (Hi-1,xi) astfel
incat f(Hi-1,xi)=Hi.

25

Exemplu: atacul Yuval (Criptologia, 1979)


Face parte din clasa birthday attack, bazat pe paradoxul zilei de nastere:
-poate fi aplicat tuturor functiilor hash cu intrarea pe m-biti;
-are un timp de procesare de O(2m/2), fezabil in cazul procesarii paralele;
-utilizat in cazul utilizarii functiilor hash in procesul de semnatura digitala;
-solicita un spatiu de stocare, dar prin utilizarea algoritmului lui Floyd de cautare a ciclurilor, se
poate modifica pentru a elimina acest inconvenient;
INTRARE: mesajul original x1; mesajul fals x2; functia hash h cu intrarea pe m-biti;
IESIRE: x1 si x2 rezultate prin modificari minore ale lui x1 respectiv x2 astfel incat h(x1)=h(x2);
PASUL 1: generam t=2m/2 valori de tipul x1 ;
PASUL 2: aplicam functia hash asupra celor t valori generate si stocam sortat dupa valoare iesirea
functiei hash h(x1 ) si x1. Timpul de procesare este O(t);
PASUL 3: generam variatii de tipul x2 ale valorii x2 aplicam functia hash asupra acesteia si
verificam daca este printre cele t valori generate anterior.

26

Algoritmul lui Floyd de cautare a ciclurilor

Algoritmul lui Floyd de cautare a ciclurilor este:


-algoritm iterativ;
-utilizat pentru a elimina necesitatea spatiului de stocare;
-algoritmul este descris in volumul 2 din D. Knuth, Algoritmi seminumerici.
INTRARE: perechea de numere intregi intre zero si p-1 (x1 ,x2 ), h functie de iteratie ce ia valori
numere intregi intre zero si p-1;
IESIRE: valoarea m pentru care xm=x2m;
PAS 1: se calculeaza iterativ, prin intermediul functiei h perechea (xi,x2i) din perechea precedenta
(xi-1,x2i-2 ) pana cand xm=x2m;
Observatii: a) daca coada sirului are lungimea l si ciclul are lungimea t atunci prima oara cand
xm=x2m se realizeaza pentru t(1+[l/t]);
b) retinem faptul ca l<m<l+t deci timpul de rulare al acestui algoritm este O(n1/2).

27

Modalitati de realizare a semnaturilor digitale

1) Aplicarea criptosistemelor simetrice;


2) Aplicarea criptosistemelor asimetrice;
3) Apelarea la functii unidirectionale: data integrity code (DIC), manipulation
detection code (MDC), message authentification code (MAC),
data
authentification code (DAC);
4) Semnaturi digitale conventionale (normale):
- ElGamal;
- Schnorr;
- DSA (Digital Signature Algorithm) creeat de NSA;
5) Alte tipuri de semnaturi digitale:
- semnatura invizibila (este disponibila numai destinatarului);
- semnatura fail-stop (emitentul poate aduce dovezi asupra faptului ca
semnatura acestuia a fost falsificata).
6) Legislatia in domeniu.
28

Aplicatii

1) Functiile hash MD4, MD5, SHA-0 si SHA-1, RIPEMD;


- caracteristici, criterii de evaluare ale functiilor hash;
- atacul asupra preimaginii;
- atacul zilei de nastere (birthday attack);
- atacul prin coliziuni/pseudocoliziuni;
- atacul de tip meet in the middle.
2) Domenii de utilizare:
- protocoale criptografice de identificare/autentificare, schimb de chei
criptografice, etc.;

29

Exemplu generic de Protocol Criptografic de


identificare/autentificare & schimb de chei mesaj

Prover A

Setare : Stabilierea unei chei secrete Ki


si a unei functii unidirectionale F

Ki

Ki

Rt
Cine esti? :
RES=F(Rt, Ki, Rv)

Verificator
Rv

Genereaza
Demonstreaza utilizand Rv ca cunosti Ki
o valoare aleatoare Rv
Cerere de autentificare
(Challenge)

Sunt A, si aceasta este dovada: RES, Rt


(Raspuns)

Daca RES = F(Ki, Rt, Rv)


Atunci accept

30

Bibliografie

1. Menenzes A.J., et. al., Handbook of Applied Cryptography, CRC Press, 1997.
2. Schneier B., Applied Cryptography, Adison-Wesley, 1998.
3. Simion E., Preda V., Popescu A., Criptanaliza. Rezultate si Tehnici Matematice, Ed.
Universitatii Bucuresti, 2004.
4. Simion E., Functii de Dispersie Criptografica (Functii Hash), Note de Curs, 2008.
5. Stallings W., Cryptography and Network Security: Principles and Practice, Prentice
Hall, Second Edition, 1999.
6. Tilborg, Henk C.A. van, Fundamentals of Cryptology, Kluwer Academic Publisher,
Second Edition, 2001.

31

ntrebri
i
Rspunsuri
Criptografie Computationala

32

Generatoare aleatoare si
pseudoaleatoare
(RG si PRG)
dr. mat. Emil SIMION
e-mail: esimion@fmi.unibuc.ro

Agenda
- Prezentare general a contextului criptologic de utilizare a PRG si RG;
- Notiuni preliminare;
- Criterii de validare (teste statistice si criterii algoritmice);
- Modalitati de implementare a PRG si a RG;
- Aplicatii;
- Bibliografie;
- Intrebari si raspunsuri.

Prezentare generala a contextului criptologic


de utilizare a PRG si RG

- Diferenta dintre PRG si RG.


- Generarea de chei simetrice (secrete) si asimetrice (publica si privata);
- Generarea de chei de mesaj, de sesiune, CSP-uri;
- Cifrare flux (stream ciphering).

Diferente intre PRG si RG

- Generatoarele aleatoare sunt dispozitive hardware ce produc secvente binare


pornind de la procese fizice nedeterministe (de exemplu zgomotul termic dintr-un
tranzistor);
- Generatoarele pseudoaleatoare sunt algoritmi software/firmware ce produc
secvente binare utilizand un algoritm si pornind de la o initializare (seed) a
acestuia.

Generarea de chei simetrice si


asimetrice
- Atat PRG cat si RG sunt supuse testelor de aleatorism statistico-informational;
- Generarea de chei simetrice sau asimetrice (publice si private) face apel la
generatoare aleatoare sau pseudoaleatoare;
- De exemplu pentru generarea de chei RSA asimetrice (publice si private) se
procedeaza in maniera urmatoare:
1. se genereaza aleatoriu/pseudoaleatoriu numarul impar mare p (privat);
2. se testeaza primalitatea lui p; daca p nu este prim atunci se trece la pasul 1.
3. Se genereaza similar numarul prim q (privat);
4. N=pq este modulul de cifrare (public);
5. Se calculeaza Phi(N)=(p-1)(q-1);
6. Exponentul de cifrare este e relativ prim cu Phi(N);
7. Exponentul de descifrare este d inversul multiplicativ al lui e modulo Phi(N).
5

Generarea de chei simetrice si


asimetrice: Exemplu
- Protocolul criptografic OpenSSL (Secure Socket Layer):
- OpenSSL este un pachet criptografic multiplatforma de tip opensource, bazat
pe o structura mixta C/C++ si Perl, care implementeaza protocoalele de retea
SSL si respectiv TLS(Transport Layer Security);
- SSL este un protocol conceput de catre NETSCAPE si care permite
transmiterea securizata a documentelor pe internet. Comunicarea se face pe
baza de sesiuni, fiecare sesiune avand o cheie simetrica unica transmisa prin
intermediul protocoalelor criptografice.
- implementeaza generatoare pseudoaleatoare ca de exemplu: BBS, etc;
- poate utiliza generatoare aleatoare (dispozitive hardware) conectate pe un port
al PC-ului;
- genereaza chei asimetrice, ca de exemplu chei RSA, utilizand metode de
generare si testare a primalitatii (testul Miller-Rabin).
6

Generarea de chei de mesaj, de


sesiune si CSP-uri
- Generarea CSP-urilor (Critical Security Parameters):
- software prin intermediul PRG;
- hardware prin intermediul RG (trebuie sa dispunem de un
echipament harware dedicat).

- Generarea cheilor de mesaj: pseudoaleatoriu pe baza PRG sau aleatoriu prin


intermediul RG;
- Cheia de sesiune se obtine din cheia secreta, cheia de mesaj si CSP-uri prin
intermediul unui algoritm.
7

Cifrarea flux (Stream Ciphers)


- Cifrarea flux presupune:
- sumarea modulo 2 a mesajului cu iesirea unui PRG sau RG;

- Cheia de cifrare:
- iesirea RG (in acest caz avem un sistem cu cheie de unica folosinta (OTP one time
pad);
- iesirea PRG (in acest caz cheia de cifrare este incarcarea initiala a PRG);

- Avantaje & Dezavantaje ale utilizarii cifrurilor pe baza de PRG si RG:


-lungimea cheii;
-perioada de schimbare a cheilor;
-siguranta criptografica: sistemul OTP este cel mai sigur;
-etc.
8

Notiuni preliminare

Criterii de validare (teste statistice si criterii


algoritmice)

- Teste statistice de aleatorism (aplicabile PRG

(cifrurilor flux) , RG si

cifrurilor bloc);
- Criterii algoritmice (aplicabile numai PRG (cifrurilor flux) si cifrurilor bloc).

10

Teste Statistice: Concepte


- conceptul de test statistic:
-regula de decizie bazata pe o functie matematica intre doua sau mai
multe ipoteze statistice;
-doua tipuri de erori:
-alpha = probabilitatea de a respinge o ipoteza adevarata;
-beta = probabilitatea de a accepta o ipoteza falsa;
- tipuri de teste statistice:
- Neyman-Pearson care defineste cel mai puternic test pentru un alpha
fixat, minimizand beta;
- bazate pe intervale de incredere: alpha fixat, se construieste un interval
de incredere pe baza unei functii de test si apoi trebuie estimata valoarea riscului
beta;
- secventiale: exista trei situatii posibile de respingere, de acceptare sau
de continuare a experientei statistice prin realizarea unei noi masuratori;
11

Teste Statistice: Interpretare

12

Teste Statistice: Regula de decizie


- exemplu de regula de decizie:

13

Teste Statistice: Exemple


- exemple de teste statistice:
- testul frecventei;
- testul serial;
- testul iteratiilor;
- testul autocorelatiilor;
- testul poker;
- testul entropiei (Shannon, Renyi, etc.);
- testul Berlekamp-Massey: determina un algoritm echivalent liniar;
- testul compresiei: Maurer, Lempel-Ziv;
- etc.;

- standarde de testare statistica:


- SP 800-22 NIST Statistical Test Suite;
-Diehart Test Suite.
14

Criterii algoritmice - 1
- aplicabile numai PRG;
- presupun constructia unei functii n-multivariate de m variabile.

- exemple de criterii testate:


- balans (echilibrare): orice n-iesire este produsa de acelasi numar de mintrari;
- imunitate la corelatie: intrari corelate produc iesiri necorelate;
- avalansa stricta: schimbarea unui bit la intrare produce schimbari in
proportie de 50% la iesire;
- neliniaritate: functia utilizata este neliniara;
- nedegenerare: functia atasata depinde efectiv de toate variabilele;
- perioada minima garantata P;
- complexitatea liniar echivalenta LC.
15

Criterii algoritmice - 2
- testarea criteriilor algoritmice se realizeaza in principal cu ajutorul transformatei
WALSH-HADAMARD.
- transformata WALSH-HADAMARD, ca orice alta transformare este o aplicatie
liniara, bijectiva:

16

Modalitati de implementare a PRG si RG


- implementarea PRG:
-prin utilizarea combinatiilor de LFSR (linear feedback shift register);
-evaluarea perioadei minime garantate P;
-evaluarea complexitatii liniar echivalente LC;
LC
-testarea statistica;
-testarea criteriilor informationale.

- implementarea RG:
-zgomotul termic dintr-un tranzistor;
-decorelarea iesirii, de exemplu procedeul von Newmann;
-combinatii de RG prin intermediul unei functii algebrice;
17

Aplicatii Seminar/Laborator & Teme proiect

1. Pachetul de testare statistica NIST 800-22;


2. Testul frecventei:
-constructia functiei de test;
-implementare;
-interpretarea rezultatelor.
3. Transformata Walsh-Hadamard. Definitii & Aplicatii;
4. Evaluarea generatoarelor pseudoaleatoare:
-generatoare congruentiale liniare (registre de deplasare);
-Geffe;
-Beth&Piper.
5. Cifruri flux (evaluare):
-A5 standard GSM.
-caracteristici statistico-algoritmice;
6. Cifruri bloc (evaluare):
-AES (Advanced Encryption Standard);
-teste statistice aplicate cifrurilor bloc;
-criterii de evaluare a cifrurilor bloc.
18

Pachetul de testare Statistica SP 800-22

Pachet de testare elaborat de NIST (National Institute for Standards and Technologies);
Cuprinde un numar de 16 teste statistice bazate pe intervale de incredere;
Manualul cuprinde pseudocodul si descrierea fiecaruia dintre cele 16 teste statistice,
precum si strategii de testare si interpretare a rezultatelor;
Testele au o acoperire a unui spectru larg de neregularitati;
Sunt disponibile atat sursele cat si un program ce dispune de un GUI;
Rata de respingere a testelor statistice este setata la 1%.

19

Pachetul de testare Statistica SP 800-22


Interfata Grafica

20

Testul frecventei: Descriere & Scop

Descrierea testului: Acest test este un test fundamental si se bazeaza pe distributia


numarului de 1 din sirul testat. Statistica testului este de tip gaussian. Testul se poate executa la
diverse rate de respingere si pentru diverse valori ale parametrului p0, probabilitate care indica
valoarea ideala a probabilitatii de aparitie a simbolului 1.
Scopul testului: Testul pune in evidenta o abatere semnificativa a probabilitatii (reale)
de simboluri de 1 fata de probabilitatea teoretica (ideala).
Statistica testului: este de tip normal (distributiile continue utilizate frecvent in testarea
aleatorismului statistic sunt, de regula, distributia normala sau chi-patrat);
Matematic statistica testului este discreta de tip binomial, dar la limita aceasta se apropie de
distributia normala;
Pseudocodul este prezentat in continuare (se specifica intrarile si iesirile algoritmului).

21

Testul frecventei: Algoritm

22

Testul frecventei: Exemplu numeric

Date de intrare: p0=0,5, rata de respingere a testului alpha=0,05, secventa binara de lungime
N=4096, s=s0,,s4095.
Date de iesire: decizia referitoare la aleatorismul secventei s;
Limitele regiunii critice (regiunea de respingere): Se calculeaza, pe baza cuantilei repartitiei
normale u0,025=2,57, limita inferioara a numarului de 1 linf=1965 respectiv limita superioara a
numarului de 1 lsup= 2130;
Statistica testului: Se calculeaza numarul de biti de 1 din secventa s ca fiind 2100;
Decizia privind aleatorismul: daca linf <s <lsup accept ipoteza aleatorismului in caz contrar resping
ipoteza aleatorismului; In acest exemplu se accepta ipoteza aleatorismului, secventa testata
prezentand un numar mai mare, dar in cantitati rezonabile, de biti de unu decat bitii de zero;

23

Exemplu: Generatorul Geffe

Caracteristici:
- se implementeaza cu ajutorul a trei registre de deplasare liniare LSFR prin tehnica de
multiplexare;
- functia analitica: b(t) = a1 (t)a3(t) + a1 (t)a2 (t) = a2 (t) + a1 (t)(a2 (t) + a3(t)), unde + este
operatorul sumare modulor 2 iar este operatorul complement (negatie);
- complexitatea linear echivalenta: LC=
LC n3n1 + (n1 + 1)n2, unde ni sunt gradele celor trei
polinoame de feedback primitive;
- perioada minima garantata: P=(2n1-1)(2n2 - 1)(2n3 - 1), daca ni sunt relativ prime intre
ele.

24

Generatorul Geffe- slabiciuni

Slabiciunea acestui generator provine din faptul ca probabilitatea de coincidenta este


destul de mare:
p = Pr(b(t) = a2(t)) = Pr(a1(t) = 0)+Pr(a1(t) = 1)Pr(a3(t) = a2(t)) = 0, 75.
Probabilitatea de coincidenta intre b(t) si a3 (t) poate fi estimata analog;
In consecinta, daca trinoamele primitive de feedback ale LFSR-urilor sunt cunoscute,
avand fiecare gradul mai mic sau egal cu n, sistemul poate fi usor spart de un atac care
foloseste metoda sindromului liniar;
Starile curente ale celor trei LFSR-uri pot fi depistate dintr-un segment de lungime N =
37n al secventei de iesire;
Costul de calcul este de doar 896 operatii pe n biti.

25

Exemplu: Generatorul Beth & Piper

Caracteristici:
- se implementeaza cu ajutorul a trei registre de deplasare liniare LSFR prin utilizarea
unor porti SI si SAU;
- functia analitica: b(t) = a3(t) + a2 (t) cu tactul lui a2 (t) controlat de a1 (t-1), unde + este
operatorul sumare modulo 2;
- complexitatea linear echivalenta: LC =(2n1 -1)n2 + n3, unde ni sunt gradele celor trei
polinoame de feedback primitive;
- perioada minima garantata: P=(2n1-1)(2n2 - 1)(2n3 - 1), daca numerele ni sunt relativ
prime intre ele.
26

Generatorul Beth & Piper - slabiciuni


In generatoarele intermitente informatia de pe fiecare nivel nu se mai deplaseaza la
fiecare moment t cu o pozitie;
De aceasta data, fiecare generator din sistem are un ceas care decide daca informatia
se deplaseaza sau ramane pe aceleasi pozitii;
Generatorul Beth- Piper contine trei LFSR-uri,
cu secventele de iesire a1, a2 , respectiv
LFSR
a3, in care LFSR1 si LFSR3 folosesc acelasi ceas, in timp ce ceasul LFSR2 este
controlat de LFSR1, astfel incat LFSR2 se deplaseaza la momentul t doar daca a1 (t-1)
=1;
Desi secventa de iesire are o complexitate liniara foarte mare, siguranta acestui
generator este foarte slaba;
Sa presupunem ca a2(t) reprezinta semnalul de iesire la momentul t al generatorului
LFSR2 in cazul in care el functioneaza fara intermitente.
Atunci, avem probabilitatea de coincidenta:
p = Pr(b(t) + b(t + 1) = a3(t)+ a3(t + 1)) = Pr(a1(t) = 0)+Pr(a1 (t) = 1)Pr(a2(t) = a2(t + 1))
=0,75, unde + este operatorul suma modulo 2.
27

Bibliografie

1. Menenzes A.J., et. al., Handbook of Applied Cryptography, CRC Press, 1997.
2. Schneier B., Applied Cryptography, Adison-Wesley, 1998.
3. Simion E., Preda V., Popescu A., Criptanaliza. Rezultate si Tehnici Matematice,
Ed. Universitatii Bucuresti, 2004.
4. Simion E., Cifruri Flux, Note de Curs, 2008.
5. Simion E., Analiza Statistico-Informationala, Note de Curs, 2008.
6. Stallings W., Cryptography and Network Security: Principles and Practice, Prentice
Hall, Second Edition, 1999.
7. Tilborg, Henk C.A. van, Fundamentals of Cryptology, Kluwer Academic Publisher,
Second Edition, 2001.

28

ntrebri
i
Rspunsuri
Criptografie Computationala

29

Cifrurile Bloc
-Modele si Tehnici Criptografice-

dr. mat. Emil SIMION


e-mail: esimion@fmi.unibuc.ro

Agenda
- Conceptul de cifru bloc;
- Criterii de proiectare ale cifrurilor bloc;
- Moduri de lucru ale cifrurilor bloc;
- Metode de evaluare, testare & spargere ale cifrurilor bloc;
- Criptanaliza liniara;
- Criptanaliza diferentiala, diferentiale trunchiate, diferentiale imposibile;
- Exemplu: atacuri bumerang;
- Exemplu: AES (Advanced Encryption Standard);
- Bibliografie;
- Intrebari si raspunsuri.
2

Conceptul de cifru bloc

- Primitiva criptografica ce asigura confidentialitatea informatiei;


- Caracteristicile unui cifru bloc sunt: lungimea blocului de date ce se proceseaza
si lungimea cheii;
- Diferenta dintre cifrurile bloc si cele flux este faptul ca cele din urma dispun, pe
langa cheia de cifrare si de o stare interna si o functie de tranzitie;
- Cifrurile bloc sunt ideale pentru cifrarea off-line, adica pentru protejarea
informatiei care se stocheaza spre deosebire de cifrurile flux care se utilizeaza de
regula pentru cifrarea comunicatiei;
- Exista metode prin care un cifru bloc se transforma in cifru flux si reciproc.

Cifruri bloc vs. Cifruri flux

Cifruri Bloc

Cifruri flux

nu au stare interna
Mesajul
Cheia

dispun de o stare interna

n
Functie
logica
n

Mesaj cifrat
n

Cifru flux aditiv


(Generator (pseudo)aleatoriu de
cheie (P)RKG)

Cifru flux general

Mesaj cifrat
Mesaj clar

+
(P)RKG

Mesaj clar

evolutia starii interne

(P)RKG

Criterii de proiectare a cifrurilor bloc -1

- Nivelul de securitate estimat vs. securitate neconditionata;


- Dimensiunea cheii efective K (128, 192 sau 256 biti);
- Iesirea este dependenta de complexitatea functiei criptografice;
- Realizarea confuziei (de exemplu prin substitutie) & difuziei (de exemplu prin
transpozitie);
- Tipul de structura utilizata (de exemplu structura Feistel), tipurile de operatii;
- Numarul de iteratii (rounds);
- Alegerea judicioasa a tabelelor de substitutie (S-box) si de permutare (P-box);
- Algoritmul de generare al subcheilor de runda;

Criterii de proiectare a cifrurilor bloc-2

- Functia de cifrare vs. Functia de descifrare;


- Complexitate functiei criptografice: hardware & software;
- Dimensiunea blocului de iesire (de regula 64, 128 sau 256 biti);
- Raportul dintre dimensiunea textului clar si al textului cifrat;
- Propagarea erorilor.

Moduri de lucru ale cifrurilor bloc

- ECB (Electronic Code Book);


- CBC (Cipher Block Chaining);
- CFB (Cipher Feedback Block);
- OFB (Output Feedback Block);
- etc.

Moduri de lucru ECB


- ECB (Electronic Code Book):

-Principalele proprietati ale modului ECB:


- blocuri identice cifrate cu aceeiasi cheie sunt identice;
- blocurile sunt cifrate independent unul de altul;
- propagarea eroriilor: o eroare de un bit afecteaza numai blocul din care acesta face
parte, restul blocurilor fiind descifrate corect;
- sunt cifruri de substitutie, nu realizeaza ascunderea patternurilor din textul clar;
- nu este recomandat pentru cifrarea a mai mult de un bloc de date sau daca cheile sunt
utilizate la mai mult de un bloc de date. Securitatea acestuia poate creste prin introducerea de
valori (pseudo)aleatorii in fiecare bloc de date.
8

Modul de lucru CBC


- CBC (Cipher Block Chaining):

-Principalele proprietati ale modului CBC:


- texte identice sunt cifrate la fel daca este utilizeaza aceeiasi cheie si aceeiasi valoare initiala
IV;
- blocul cifrat la momentul j depinde de blocul de intrare precum si de toate blocurile clare
anterioare;
-propagarea erorilor: un bit eronat pe canalul de comunicatie afecteaza blocul clar
corespunzator Pj precum si blocul clar urmator Pj+1 iar pozitia erorii din acesta determina
biunivoc eroarea din Cj. De aici rezulta asigurarea integritatii valorii IV;
-este autosincronizabil (dupa procesarea a doua blocuri) in cazul aparitiei unei erori (inclusiv
pierderea de biti).
9

Modul de lucru CFB


- CFB (Cipher Feedback Block):

-Principalele proprietati ale modului CFB:


- texte identice sunt cifrate la fel daca este utilizeaza aceeiasi cheie si aceeiasi valoare IV;
- blocul cifrat la momentul j depinde de blocul de intrare precum si de toate blocurile clare
anterioare;
-propagarea erorilor: un bit eronat pe canalul de comunicatie afecteaza blocul clar
corespunzator Pj precum si urmatoarele [n/r] blocuri clare. Bitul eronat din Cj determina
biunivoc bitul descifrat incorect din Pj;
-este autosincronizabil ([n/r] blocuri) in cazul aparitiei unei erori (inclusiv pierderea de biti);
-deorece functia E este utilizatata atat la cifrare cat si la descifrare, in cazul in care aceasta
este un algoritm cu cheie publica, se recomanda utilizarea modului de lucru CBC in loc de
CFB.
10

Modul de lucru OFB


- OFB (Output Feedback Block):

-Principalele proprietati ale modului OFB:


- texte identice sunt cifrate la fel daca este utilizeaza aceeiasi cheie si aceeiasi valoare IV;
- blocul cifrat la momentul j depinde de blocul de intrare la acel moment;
- propagarea erorilor: biti eronati pe canalul de comunicatie afecteaza blocul clar
corespunzator Pj Bitii eronati din Cj determina biunivoc bitii descifrati incorect din Pj;
- nu este autosincronizabil in cazul pierderii bitilor;
- deorece functia E este utilizatata atat la cifrare cat si la descifrare, in cazul in care aceasta
este un algoritm cu cheie publica, se recomanda utilizarea modului de lucru CBC in loc de
CFB;
- caz particular: modul contor (counter mode) in care Ij+1=Ij+1, fara a se utiliza feedback-ul.
11

Metode de evaluare, testare & spargere a


cifrurilor bloc
- Metode statistice: cele prevazute NIST IR 6380, NIST IR 6483 conform testelor
statistice din SP 800-22, DIEHARD etc;
- Atacurile clasice & atacurile cu ajutorul mediului de operare;
- Atacuri asupra cheii criptografice;
- Meet in the middle & compromisul spatiu-timp (time-memory tradeoff) in cazul utilizarii
cifrarii multiple;
- Criptanaliza liniara;
- Criptanaliza diferentiala, diferentialelor trunchiate, diferentialelor imposibile, atacuri de
tip bumerang etc.

12

Criptanaliza liniara
Tehnica introdusa de Matsui si Yamagishi in 1991: A new Method for known plain text
attack of FEAL cipher , Advances in Cryptology EUROCRYPT '92 Proceedings,
Springer-Verlag, 1993, pp. 81-91;
In esenta prin aceasta tehnica se gaseste o relatie liniara (in probabilitate) intre o parte
din biti din textul clar P, textul cifrat C si cheia K care se exploateaza optimal ulterior
gasindu-se mai intai bitii din cheie care satisfac relatia liniara si ulterior, prin cautare
exhaustiva, restul cheii;
Aplicata de:
M. Matsui, Linear Cryptanalysis Method for DES Cipher, Advances in
Cryptology, EUROCRYPT '93 Proceedings, Springer-Verlag, 1994, pp. 386-397;
The First Experimental Cryptanalysis of the Data Encryption Standard,
Advances in Cryptology, CRYPTO '94 Proceedings, Springer-Verlag, 1994, pp. 1-11.
K. Ohta si K. Aoki, Linear Cryptanalysis of the Fast Data Encipherment
Algorithm, Advances in Cryptology, CRYPTO '94 Proceedings, Springer-Verlag, 1994,
pp. 12-16.

13

Criptanaliza liniara -cont

Alte lucrari de referinta:


C. Harpes, G. C. Kramer and J. L. Massey, A Generalization of Linear
Cryptanalysis and the Applicability of Matsui's Piling-Up Lemma, in Advances in
Cryptology-EUROCRYPT'95. (Eds. L. C. Guillou and J.-J. Quisquater), Lecture
Notes in Computer Science, No. 921. Heidelberg and New York: Springer, 1995,
pp. 24-38.
C. Harpes, Cryptanalysis of Iterated Block Ciphers, ETH Series in Information
Processing, Vol. 7 (Ed. J. L. Massey). Konstanz, Germany: Hartung-Gorre
Verlag, 1996.
Z. Kukorelly, On the Validity of Certain Hypotheses Used in Linear
Cryptanalysis, ETH Series in Information Processing, Vol. 13 (Ed. J. L. Massey).
Konstanz, Germany: Hartung-Gorre Verlag, 1999.

14

Criptanaliza liniara - practic


Cifrul bloc in r runde, e(*,*) functia de cifrare de runda, X
textul clar (generat aleatoriu), X(i) intrarea in runda i, Y(i)
iesirea din runda i, Z(i) cheia in runda i:

PASUL 1. Se calculeaza, pe runda r-1, sumele I/O S1(r-1)


= f1 (X(1))+ gr-1 (Y(r-1)) care au un grad mare de
neechilibrare;
PASUL 2. Pentru fiecare valoare z* a subcheii din runda r
[mai precis a acelor biti din aceasta cheie care afecteaza
valoarea lui gr-1 (y* )]:
pentru fiecare text clar cunoscut x, descifreaza textul
corespunzator y numai pe o singura runda pentru a obtine
valoarea y*;
calculaza valoarea S* = f1(x) + gr-1(y* ), care este
valoarea lui S1(r-1) presupunanad ca avem cheia corecta;
calculeaza gradul de neechilibrare al acestor valori;
PASUL 3. Decizia asupra cheii corecte z* se ia pe baza
celei mai mari valori de neechilibrare.

In fiecare runda i se calculeaza suma Si dintre


intrare si iesire precum si suma Ti.. Functiile fi(.),
gi(i) sunt n-are si echilibrate iar hi(.) sunt arbitrare:

15

Criptanaliza diferentiala
Tehnica a fost introdusa de Biham & Schamir in ,,Diferential Cryptanalysis of the Data
Encryption Standard, Springer-Verlag, 1993;
Face parte din categoria atacurilor cu text clar ales, in general dandu-se perechea
(D,D), numita caracteristica, tehnica consta in generarea de texte clare (P1,P2) cu D=P1
P2 astfel incat D=C1-C2 si aflarea unei parti a cheii, restul fiind cautata exhaustiv;
Operatia ,,- este operatia de grup care, spre exemplu in cazul cifrurilor bloc, consta in
adunarea cheii de runda;
Tehnica criptanalizei diferentiale aplicata de
S. Murphy, ,,The Cryptanalysis of FEAL-4 with 20 Chosen Plaintexts (Journal
of Cryptology, V. 2, N. 3, 1990, pp. 145-154;
L. Brown, J. Pieprzyk si J. Seberry, ,,LOKI: A Cryptographic Primitive for
Authentication and Secrecy Applications, Advances in Cryptology - AUSCRYPT '90
Proceedings, Springer-Verlag, 1990, pp. 229-236;
X. Lai si J. Massey, ,,A Proposal for a New Block Encryption Standard,
Advances in Cryptology - EUROCRYPT '90 Proceedings, Springer-Verlag, 1991, pp.
389-404;
E. Biham si A. Shamir, ,,Diferential Cryptanalysis of Snefru, Khafre, REDOC II,
LOKI, and Lucifer, Advances in Cryptology - CRYPTO '91 Proceedings, SpringerVerlag, 1992, pp. 156 -171.
16

Modele de criptanaliza diferentiala


Criptanaliza diferentiala clasica;
Criptanaliza diferentialelor trunchiate;
Criptanaliza diferentialelor imposibile;
Criptanaliza diferentialelor de ordin superior;
Criptanaliza diferentiala bilinara;
Criptanaliza diferential-liniara;

17

Criptanaliza diferentiala clasica


Criptanaliza diferentiala clasica: permite pe baza perechilor de text clar/text cifrat si a
diferentialelor acestora, aflarea ultimei chei de runda;

Pentru diferentiala (, ) in runda (r -1):


PASUL 1. Selecteaza aleatoriu textul clar X(1) si calculeaza X*(1) astfel incat X(1) = X(1) + X*(1) = . Se
cifreaza X(1) si X*(1).
PASUL 2. Presupunand ca Y(r-1) = , cautam toate valorile ale subcheii z(r) consistente cu Y(r-1) si textele
cifrate Y(r) si Y*(r). Se incrementeaza frecventa de aparitie a acestor subchei.
PASUL 3. Se repeta (1) si (2) pana cand o anumita cheie are o frecventa semnificativ mai mare decat a
celorlalte.Aceasta subcheie z(r) este cheia ultimei runde.
18

Criptanaliza diferentiala trunchiata


In cazul unui cifru bloc (cu r-runde) caracteristica este vectorul (D0, D1,,Dr-1) cu D=D0
si Dr-1=D;
Caracteristici trunchiate studiul unei parti din vectorul caracteristicilor (D0, D1,,Dr-1);
Diferenta intre caracteristica si diferentiala: X. Lai, J. L. Massey, and S. Murphy,
,,Markov ciphers and differential cryptanalysis, Proceedings of Eurocrypt91 (D. W.
Davies, ed.), no. 547 in Lecture Notes in Computer Science, pp. 1738, Springer-Verlag,
1991. In esenta diferentiala are asignata si o probabilitate.
Criptanaliza diferentialelor trunchiate a fost aplicata de L.R. Knudsen in
,,Truncated and Higher Order Diferentials, Fast Software Encryption, 2nd
International Workshop Proceedings, Springer-Verlag, 1995, pp. 196- 211;
,,Truncated Diferentials of SAFER Fast Software Encryption, 3rd International
Workshop Proceedings, Springer-Verlag, 1996, pp. 15-26.

19

Criptanaliza diferentialelor imposibile

Diferentiale imposibile studiul acelor caracteristici (D0, D1,,Dr-1) ce apar cu


probabilitatea 0. Tehnica se regaseste in:
Knudsen, ,,DEAL - a 128-bit block cipher, Technical report 151, Dept. of
Informatics, University of Bergen, Norway, 1998;
E. Biham, A. Biryukov si A. Shamir, ,,Cryptanalysis of Skipjack reduced to 31
rounds using impossible differentials, Proceedings of Eurocrypt99.

20

Criptanaliza diferentiala de ordin superior


Diferentiale de ordin superior: aplicarea recursiva a diferentialei. De exempu atacul de
tip bumerang (Wagner) este o aplicatie a criptanalizei diferentialelor de ordin 2 in care
diferentiala de ordinul 1 se aplica la prima parte a cifrului iar diferentiala de ordinul 2 la
cea de a doua parte a cifrului. Tehnica este prezentata in:
X. Lai, ,,Higher Order Derivatives and Diferential Cryptanalysis,
Communications and Cryptograpy, Kluwer Academic Publishers, 1994,pp. 227-233;
L.R. Knudsen, ,,Truncated and Higher Order Diferentials, Fast Software
Encryption, 2nd International Workshop Proceedings, Springer-Verlag, 1995, pp. 196211.
Atacul de tip bumerang: acoperirea textelor (P,P) cu diferentiala caracteristica (,*) pentru E0
precum si a perechilor de text clar (P,Q) si (P,Q) cu diferentiala caracteristica (,*) pentru E1-1.
Perechea (Q, Q) poate fi utilizata
pentru definirea caracteristicii
* pentri E0-1:
E0(Q)E0(Q)= E0(P)E0(P)
E0(P) E0(Q)E0(P)E0(Q)=
E0(P) E0(P) E1 -1(C)E1-1(D)
E1-1(C)E1-1(D)=* * *
= * ;
Avem aceeiasi caracteristica intre
Q si Q ca si intre P si P;

Setarea cvartetului:
se genereaza (atac cu text clar ales)
P=P obtinandu-se C si C;
se genereaza (atac cu text cifrat ales
adaptiv) D=C si D=C;
se decripteaza D si D pentru a obtine
Q si Q.

21

Criptanaliza diferential - liniara


Criptanaliza diferential-liniara este o metoda hibrida ce utilizeaza criptanaliza diferentiala
si cea liniara;

22

Exemplu: Algoritmul AES


(Advanced Encryption Standard)

- A fost obtinut ca urmare a unei competitii publice organizate de NIST;


- RIJNDAEL (elaborat de Joan Daemen si Vincent Rijmen) cifru bloc cu dimensiune
variabila a cheii si a blocului de date ce se cifreaza;
- AES este RIJNDAEL cu 128 biti de date si 128, 192 sau 256 biti de cheie;
- AES este standardizat in FIPS 197;
- Acreditat de catre National Security Agency pentru a procesa documente de nivelul
SECRET (128 biti de cheie) respectiv TOP SECRET (192 sau 256 biti de cheie).

23

Bibliografie

1. Menenzes A.J., et. al., Handbook of Applied Cryptography, CRC Press, 1997.
2. Schneier B., Applied Cryptography, Adison-Wesley, 1998.
3. Simion E., Preda V., Popescu A., Criptanaliza. Rezultate si Tehnici Matematice,
Ed. Universitatii Bucuresti, 2004.
4. Simion E., Cifruri Flux, Note de Curs, 2008.
5. Simion E., Cifruri Bloc, Note de Curs, 2007.
6. Simion E., Analiza Statistico-Informationala, Note de Curs, 2008.
7. Stallings W., Cryptography and Network Security: Principles and Practice, Prentice
Hall, Second Edition, 1999.
8. Tilborg, Henk C.A. van, Fundamentals of Cryptology, Kluwer Academic Publisher,
Second Edition, 2001.

24

ntrebri
i
Rspunsuri
Criptografie Computationala

25

The People:
Willian F. Friedman (1891-1969),
Alan M. Turing (1912-1954),
Marian Rejewski (1905-1980),
Hans Rohrbach (1903-1993).

Tipuri de atacuri (generale) aplicate


asupra AC (algoritmilor criptografici)
implementati in module criptografice

dr. mat. Emil SIMION


e-mail: esimion@fmi.unibuc.ro

Motto: ars ipsi secreta magistro.


an art secret even for the master
Jean Robert du Carlet, 1644.

Agenda
Cerinte de securitate pentru modulele criptografice;
Modele de securitate;
Evaluarea complexitatii atacurilor criptografice;
Clasificarea atacurilor criptanalitice;
Clasificarea atacurilor criptanalitice clasice;
Clasificarea atacurilor criptanalitice in mediul de operare (side channel attacks);
Atacuri asupra algoritmilor, cheilor, protocoalelor criptografice;
Atacurile TA, PA (SPA &DFA), FA, DFA, EMA (SEMA & DEMA) ;
Contramasuri;
Intrebari si raspunsuri.
2

locus regit actum.


Un act juridic respecta regula locului.

Cerintele de securitate pentru module criptografice


(FIPS 140-2)

Motto: In cryptography, no rule is


absolute.
Etienne Bazeries, 1901.

Modele de securitate
1. Securitate neconditionata (Shannon): cheia cel putin la fel de mare ca lungimea textului
(de ex. One Time Padd);
2. Securitate impotriva unui atacator cu resurse de calcul polinomial;
3. Securitate demonstrabila:
-comparatie cu probleme ,,greu rezolvabile computational (log discret sau
factorizarea);
-rezistenta la anumite (sub)clase de atacuri criptanalitice;
4. Securitate practica (utilizata in evaluarea primitivelor criptografice in cadrul proiectului
NESSIE);
5. Securitate istorica: un algoritm se considera bun daca acesta a fost in atentia comunitatii
internationale pe o perioada suficient de mare si aceasta nu a gasit nici o vulnerabilitate in
ceea ce priveste securitatea acestuia.

Motto: The quality of a machine


depends largely on its use.
Boris Hagelin.

Evaluarea complexitatii atacurilor criptografice

1. Complexitatea timp: numarul de operatii necesare procedurii de atac;


2. Complexitatea memorie: spatiul de stocare necesar procedurii de atac;
3. Complexitatea datelor: dimensiunea intrarii (texte clar, texte cifrate etc).
4. Compromisul spatiu-timp;

Motto: In cryptography you Must


Know, dont Trust or Belive.

Clasificarea atacurilor criptanalitice


O primitiva criptografica poate fi considerata din doua puncte de vedere:
- obiect matematic abstract;
- implementarea intr-un program, ce ruleaza pe un anume procesor, intr-un
anume mediu de operare deci vor fi prezente anumite caracteristici.
Doua tipuri de criptanaliza:
- criptanaliza clasica;
- criptanaliza in mediul de rulare (side-channel attacks).

NSA Motto: In God we trust all other


we monitorize.

Clasificarea atacurilor criptanalitice clasice


- atacuri asupra algoritmilor de cifrare AC (unde AC poate fi GPA, cifru flux etc.);
- atacuri asupra cheilor;
- atacuri asupra protocoalelor de identificare/autentificare;
- atacuri asupra sistemului criptografic.

Motto: The logic of secrecy was the


mirror-image of the logic information.
Colin Burke, 1994.

Clasificarea atacurilor criptanalitice in mediul de


operare (side channel attacks)
- atacuri hardware asupra modulelor criptografice;
- atacuri prin masurarea timpului de executie a functiilor criptografice;
- atacuri prin msurarea puterii consumate in timpul executarii functiilor criptografice;
- analiza diferenial a defeciunilor;
- multe alte tipuri de atacuri NESTANDARD.
- atacurile pot fi:
- invazive (care presupun despachetarea cipului pentru a avea acces la
componentele acestuia) sau noninvazive (exploateaza numai informatia externa ca de
exemplu emisia electromagnetica);
- active (penetrarea functiilor procesorului: inducerea de erori) sau pasive.

Motto: Even in cryptology, silence is golden.


Laurence D. Smith.

Atacuri asupra algoritmilor de cifrare -1


1. atac cu text cifrat: criptanalistul detine numai texte cifrate si urmareste ca pe baza
acestora sa reconstituie textul de intrare si/sau algoritmul de cifrare si/sau cheia de
cifrare utilizata;
2. atac cu text clar cunoscut: criptanalistul deine un text cifrat i corespondentul su n
clar. Prin acest tip de atac se urmrete de ctre criptanalist separarea informaiei text
de cheia de cifrare, acesta avnd posibilitatea s obin prin metode specifice
algoritmul de cifrare, o parte a acestuia i/sau cheia;
3. atac cu text clar ales: criptanalistul poate indica textul clar ce urmeaz a fi cifrat. Prin
acest tip de atac se urmrete de ctre critpanalist separarea informaiei text de cheia
de cifrare acesta avnd posibilitatea s obin prin metode specifice algoritmul de
cifrare i/sau cheia;
4. atac cu text cifrat-cifrat: criptanalistul deine un text clar i corespondentul su cifrat cu
dou sau mai multe chei diferite (vezi si tipuri de atacuri asupra cheilor).
Criptanalistul, prin metode specifice, poate reconstrui algoritmul de cifrare sau o parte
a acestuia;

Motto: It is easy to lie with Statistics


but it is impossible to say the true
without it.

Atacuri asupra algoritmilor de cifrare -2


5. atac cu text clar adaptiv: criptanalistul deine un text cifrat i corespondentul su n clar,
in functie de anumite calcule realizate acesta poate alege un nou text clar si obtine
corespondentul sau cifrat etc;
6. atac cu text cifrat (adaptiv) ales: criptanalistul poate alege (adaptiv) texte cifrate si sa
aiba acces la textele clare corespunzatoare;
7. atac cu texte clar ales (adaptiv) si text cifrat ales (adaptiv): combinatie a metodei text
clar (adaptiv) ales si text cifrat (adaptiv) ales (exemplu atacul de tip bumerang);

10

ad augusta per angusta.


Lucrurile de valoare se obtin greu.

Atacuri asupra algoritmilor de cifrare -3


8. atac de tip divide et impera: criptanalistul poate realiza o serie de corelaii ntre
diversele intrri n algoritm i ieirea acestuia ncercnd s separe diversele intrri n
algoritm, ceea ce l face pe acesta s sparg problema n dou sau mai multe probleme
mai uor de rezolvat;
9. atac de tip sindrom liniar: metoda de criptanaliz ce const n elaborarea unui sistem de
ecuaii liniare ale AC i verificarea acestora de ctre textul cifrat obinndu-se astfel
textul clar cu o probabilitate destul de mare;
10. atacul consistenei liniare: metoda de criptanaliz ce const n elaborarea unui sistem
de ecuaii liniare ale AC pornind de la o cheie echivalent de cifrare i verificarea
sistemului de ctre algoritmul criptografic cu o probabilitate care tinde la 1,
obinndu-se astfel textul clar cu o probabilitate destul de mare;

11

decendo decimius.
Invatand pe altii invatam si noi.

Atacuri asupra algoritmilor de cifrare -4


11. atac stochastic asupra ieirii algoritmului criptografic (AC) numit i atac prin
previziune este posibil dac ieirea AC este autocorelat, criptanalistul reuind s dein ca
date de intrare ieirea AC i textul cifrat, obinnd astfel textul clar corespunztor. Pentru
evitarea acestui tip de atac generatorul trebuie s satisfac condiiile de:
- balans: toate intrrile posibile trebuie s produc toate ieirile posibile de
acelai numr de ori;
- nedegenerare: ieirea trebuie s provin din fiecare element al intrrii;
- imunitate la corelaie: intrri corelate produc ieiri necorelate;
- avalan strict: schimbarea unui bit s produc schimbri n proporie de 50%.
Aparatul matematic de verificare a criteriilor de mai sus este compus din
metodele probabiliste coroborate cu transformata Walsh-Hadamard;

12

Qui tacet considere videtur.


Cine tace este de acord.

Atacuri asupra algoritmilor de cifrare -5


12. atac informaional liniar asupra AC numit i atac de complexitate liniar este posibil
dac se poate echivala AC cu un algoritm tip Fibonacci (registru de deplasare liniar) i este
posibil dac complexitatea liniar echivalent a generatorului este mic. Cu ajutorul acestei
tehnici se poate construi un algoritm echivalent i o cheie echivalent de cifrare. Aparatul
matematic de verificare a criteriilor de mai sus este compus din tehnica BerlekampMassey;
13. atac cu ajutorul perioadei AC este realizabil dac perioada AC este mic i se poate
reconstrui textul clar corespunztor;
14. atac cu ajutorul viruilor informatici este posibil dac algoritmul de cifrare este
implementat i ruleaz pe un PC vulnerabil sau neprotejat. Virusul poate substitui sau
inhiba algoritmul de cifrare utilizat;

13

It is easy to lie with Statistics but it is


impossible to say the true without it.

Atacuri asupra cheilor -1


1. atacul cu ajutorul cheilor similare const n alegerea de catre criptanalist a unor chei
bine precizate cu ajutorul carora se initiaza atacurile asupra algoritmului de cifrare;
2. atacul prin interpolare se realizeaz prin constructia unei relatii polinomiale intre
anumite perechi de texte clare si texte cifrate (obtinute cu ajutorul anumitor chei);
3. atacul brut const n verificarea exhaustiv a cheilor sau parolelor i este posibil dac:
-lungimea cheii de cifrare efective (sau a parolei) este mic;
-spaiul cheii de cifrare (sau a parolei) este mic.
4. atacul brut inteligent se realizeaz dac gradul de aleatorism al cheii de cifrare (sau
parolei) este mic (entropia este mic) i permite aflarea parolelor care se aseamn cu
cuvinte din limba utilizat;
5. atacul de tip backtracking const n implementarea metodei de cutare de tip
backtracking care presupune existena unor condiii de continuare a cutrii n direcia
de cutare considerat;
14

Atacuri asupra cheilor -2


6. atacul de tip greedy furnizeaz cheia optim local care poate s nu coincid cu cheia
optim global;
7. atacul de tip dicionar (cutarea parolelor sau a cheilor se face dup un dicionar) este
posibil dac parola sau cheia sunt cuvinte cu sens (nume, date etc.);
8. atac de tip dicionar hibrid este posibil prin modificarea cuvintelor din dicionar,
iniializndu-se atacul brut cu ajutorul cuvintelor din dicionar;
9. atac cu ajutorul viruilor informatici este posibil dac cheile se stocheaz pe un PC
neprotejat;
10. atac asupra hashului parolei sau cheii de cifrare. Este posibil dac hashul parolei este
scurt sau necorespunztor elaborat;
15

Atacuri asupra cheilor -3


11. stocarea cheii de cifrare n mod necorespunztor (mpreun cu datele cifrate,) n clar
fr msuri de protecie fizice sau criptografice (soft sau hard) poate duce la atac asupra
mesajului cifrat;
12. stocarea necorespunztoare a cheilor vechi sau scoase din uz duce la compromiterea
documentelor cifrate vechi;
13. compromiterea cheii. Dac se compromite cheia simetric se compromit numai acele
documente cifrate cu aceasta. Dac se compromite cheia public, care se poate afla pe
diverse servere, atacatorul se poate substitui utilizatorului legal provocnd daune n toat
reeaua de comunicaii;

16

Atacuri asupra cheilor -4


12. existena cheilor master sau a cheilor de salvare constituie trape n sistemul
criptografic.
13. timpul de via al cheii este o component esenial care exclude posibilitatea unui atac
reuit, dar nedetectat.
14. existena unui sistem de generare, gestiune i management al cheilor de cifrare este
cheia ntregului succes.

17

Atacuri asupra protocoalelor criptografice


Protocol de identificare/autentificare & schimb de chei
Setare : Stabilirea unei chei secrete Ki
si a unei functii unidirectionale F

Prover A
Ki

Verificator
Ki

Rt
Cine esti? :
RES=F(Rt, Ki, Rv)

Rv

Genereaza
Demonstreaza utilizand Rv ca, cunosti Ki
o valoare aleatoare Rv
Cerere de autentificare
(Challenge)

Sunt A, si aceasta este dovada: RES, Rt


(Raspuns)

Daca RES = F(Ki, Rt, Rv)


Atunci accept

18

Exemple de atacuri asupra protocoalelor


criptografice
Se fac de regula asupra functiei hash F:
1) asupra unei preimagini: fiind dat y sa se gaseasca x astfel incat F(x)=y;
2) asupra a doua preimagini: fiind dat x sa se gaseasca x diferit de x astfel incat F(x)=F(x);
3) generarea de coliziuni: sa se gaseasca x si x diferite astfel incat F(x)=F(x);
4) generarea de pseudocoliziuni: sa se gaseasca x si x astfel incat F1 (x)=F2 (x) cu valori IV diferite pentru
cele doua functii hash h1 si h2;
5) birthday attack: algoritm de atac independent de functia hash, presupune generarea de valori de intrare
uniform distribuite;
6) meet in the middle: tehnica utilizata in cazul utilizarii iterative a functiilor hash;
7) cu ajutorul punctelor fixe: un punct fix al unei functii de compresie este o pereche (Hi-1,xi) astfel incat
F(Hi-1,xi)=Hi.

19

Atacuri prin masurarea timpului de executie TA


(timings attacks)
- prin msurarea timpului necesar efectuarii unor operaii asupra cheii private, atacatorul
poate determina exponentii utilizati n protocolul Diffie-Hellman, factorul RSA (n special
asupra algoritmului RSA ce foloseste pentru semnatura lema chinezesca a resturilor CRT),
precum si o serie de alte sisteme criptografice cum ar fi algoritmul de semnatura digitala
DSS.

20

Atacuri prin masurarea puterii consumate PA


(SPA & DPA)
SPA:
- atacul cu ajutorul analizei simple a puterii (SPA) const n msurarea puterii consumate
de dispozitiv n timpul operaiei criptografice;
- acest tip de atac se aplic, de regul, dispozitivelor cu surs de tensiune exterioar (ca de
exemplu smart-cardurile);
DPA:
- consumul de putere depinde de instruciunea executat. Astfel, monitoriznd consumul de
putere, se poate deduce secvena de instruciuni (codul surs). Dac secvena de instruciuni
depinde de lungimea cheii, atunci consumul de putere poate da informaii despre cheie;
- in majoritatea procesoarelor, patternul puterii consumate de o instruciune depinde i de
valoarea operanzilor (de exemplu: setarea unui bit ntr-un registru consum mai mult
energie dect tergerea acestuia);
- msurtori efectuate asupra mai multor intrri pot deduce valoarea operandului;
- tehnica se numete n analiza diferenial a puterii DPA.
21

Atacuri cu ajutorul defectiunilor (erorilor)


hardware FA
- echipamentele hardware pot genera erori (tranziente, latente sau induse) n timpul
efecturii unor operaii aritmetice;
- prin exploatarea raional a acestor erori se pot recupera: cheia privat pentru algoritmii
de semntur RSA i Rabin;
- o serie de protocoale criptografice cum ar fi Fiat-Schamir i Schnorr se pot sparge prin
folosirea judicioas a rezultatelor acestor erori.

22

Analiza diferentiala a defectiunilor (DFA)

- analiza diferenial a defeciunilor (DFA) este o schem ce se utilizeaz pentru


recuperarea cheilor secrete ale unui sistem criptografic dintr-un dispozitiv HSM (Hardware
Security Module) securizat fizic;
- modelul de defect este acela al defectelor tranziente (aleatoare) i al defectelor induse;
- metoda folosete la identificarea cheilor n cazul utilizrii:
- cifrurilor cunoscute (de exemplu DES);
- cifrurilor cu algoritm necunoscut (de exemplu Skipjack);
- reconstrucia algoritmului (cu o structur cunoscut);
- erorile se pot induce cu ajutorul tensiunii, frecventei, temperaturii, radiatilor (de regula
microunde), iluminarea, curentii indusi de campul electromagnetic.

23

Atacuri cu ajutorul campului electromagnetic


EMA (SEMA & DEMA)
- orice modificare a caracteristicilor electrice este insotita de prezenta unui camp
electromagnetic;
- curentii care trec prin procesor caracterizeaza acest camp (semnatura spectrului); -SEMA
& DEMA expoateaza proprietatile acestui camp prin plasarea de bobine in vecinatatea
cipului care contine partea criptografica si studierea campului electromagnetic;
- TA, PA si EA utilizate simultan pot creste eficienta unui atac de tip side channel:
- TA furnizeaza un singur scalar si anume timpul de rulare;
- PA va furniza un vector care precizeaza la fiecare unitate de timp puterea
consumata de chip;
- prin pozitionarea in jurul chipului a uneia sau a mai multor bobine EA permite
constructia 3- dimensionala a campului electromagnetic, deci va furniza cea de a 4-a
dimensiune informativa. Aceasta va permite separarea contributiilor diferitelor componente
ale chipului si deci studierea acestora separat (divide et impera).

24

Contramasuri

- contramasurile pot fi software si/sau hardware.

25

Bibliografie
1. Menenzes A.J., et. al., Handbook of Applied Cryptography, CRC Press, 1997.
2. Schneier B., Applied Cryptography, Adison-Wesley, 1998.
3. Dent A., Mitchel C., Users Guide to Cryptography and Standards, Artech House Inc, 2005.
4. Joan Daemen, Vincent Rijmen, The design of Rijndael, Springer-Verlag, 2002.
5. NIST SP 800-21-1 (Ghid de implementare a criptografiei in guvernul federal).
6. NESSIE, Security Report, Version 2.0, February 19, 2003.
7. NESSIE, Performance Report, Version 2.0, February 19, 2003.
5. www.nist.gov -National Institute of Standards and Technologies.
6. www.nsa.gov -National Security Agency.
7. http://www.cryptonessie.org/ -NESSIE.
8. http://www.ipa.go.jp/security/enc/CRYPTREC/index-e.html -CRYPTREC.

26

ntrebri
i
Rspunsuri
Criptografie Computationala

27