Presentation is loading. Please wait.

Presentation is loading. Please wait.

Funcţii Hash 1. Puţină teorie... 

Similar presentations


Presentation on theme: "Funcţii Hash 1. Puţină teorie... "— Presentation transcript:

1 Funcţii Hash 1. Puţină teorie... 
Funcţiile de dispersie mai sunt denumite în literatura de specialitate: funcţii hash (denumirea ce o vom folosi în continuare) sume hash funcţii rezumat Proprietate matematică foarte importantă: Funcţiile hash nu sunt inversabile !!!

2 Funcţii Hash 1. Puţină teorie... 
Proprietăţi (dorite) ale funcţiilor hash să nu fie inversabile pentru valori asemănătoare ale intrărilor să dea ieşiri diferite să fie rapid calculabile să aiba o distributie de valori cât mai uniformă, pentru a minimiza probabilitatea de coliziune (valori egale pentru obiecte diferite)

3 Funcţii Hash 2. Exemplu Exemplu (naiv) de funcţie hash:
Fie Fh( sir_biti ) = numărul biţilor care au valoarea 1, reprezentat pe 3 biţi Exemple de folosire: Fh (145) = Fh( ) = 3 (B10) = 011 (B2) Fh (147) = Fh( ) = 4 (B10) = 100 (B2) Important: Intrări asemănătoare, ieşiri diferite ! Nu se poate deduce valoarea de la intrare funcţie de cea de ieşire

4 Funcţii Hash 2. Exemplu Alte exemple de folosire:
Fh( ) = 5 (B10) = 101 (B2) Fh( ) = 5 (B10) = 101 (B2) Fh( ) = 5 (B10) = 101 (B2) … şamd Important: Intrări diferite, pot genera ieşiri identice !

5 3. Observaţii foarte importante
Funcţii Hash 3. Observaţii foarte importante Funcţiile hash nu sunt folosite la criptare !!! De ce: Deoarece sunt funcţii neinversabile. Unde sunt folosite: Căutări în tabele (de şiruri de caractere sau în industrie în bazele de date de dimensiuni mari) Sume de control (transimiterea datelor p-zise, urmate de suma de control: CRC8, CRC12, CRC16, etc) Coduri corectoare de erori (mai puţin, deoarece sunt ineficiente) Autentificare Semnătură digitală

6 Algoritmul de autentificare MD5 1. Scurt istoric
Algoritmul MD5 (message digest) este ultimul dintr-o serie de algoritmi proiectaţi de Ronald Rivest, profesor la MIT (Massachusetts Institute of Technology) MD5 a fost dezvoltat în 1990 ca un înlocuitor mai sigur al algoritmului MD4 criptanalizat de Hans Dobbertin care a demonstrat slăbiciunile acestuia.

7 Algoritmul de autentificare MD5 2. Descrierea algoritmului MD5
Algoritmul MD5 are drept intrare un text de lungime arbitrară şi produce la ieşire o amprentă digitală cu o lungime de 128 de biţi. Este de dorit ca: două mesaje diferite să nu genereze aceeaşi amprentă în acelaşi timp, să nu se poată genera un anumit mesaj căruia să-i fie asociat o anumită amprentă bine definită. Algoritmul MD5 este folosit în aplicaţiile ce folosesc semnătura digitală, unde un fişier de dimensiune mare trebuie "semnat" într-un mod sigur înainte de a fi criptat cu un algoritm cu cheie publică cum ar fi RSA.

8 Algoritmul de autentificare MD5 2. Descrierea algoritmului MD5
Pentru a calcula amprenta digitală a unui mesaj, MD5 foloseşte funcţii de dispersie (hash functions). Proprietăţile cele mai importante (din punctul de vedere al criptografiei) ale funcţiilor hash sunt: dacă două rezultate sunt diferite atunci în mod sigur şi mesajele aflate la intrare sunt diferite (vezi Fig. 1); pe de altă parte, egalitatea a două rezultate nu implică faptul că la intrare au fost mesaje identice.

9 Algoritmul de autentificare MD5 2. Descrierea algoritmului MD5
Algoritmii ce folosesc funcţii de dispersie sunt în general folosiţi în autentificarea mesajelor şi trebuie să răspundă următoarelor cerinţe: să asigure integritatea mesajului prin căutarea unei metode care să verifice dacă acesta nu a fost modificat sau falsificat; identificarea expeditorului; să asigure că expeditorul nu poate nega faptul că a transmis mesajul; rapiditate: autentificarea să fie mai mult mai rapidă decât un algoritm de criptare clasic dimensiune fixă a rezultatului; să asigure securitatea mesajului în cazul încercării decriptării neautorizate a acestuia.

10 Algoritmul de autentificare MD5
2. Descrierea algoritmului MD5 În esenţă MD5 este o modalitate de a verifica integritatea datelor trimise ce este mult mai sigură decât sumele de control sau alte metode utilizate în mod curent.

11 Algoritmul de autentificare MD5 2. Descrierea algoritmului MD5
Pasul 1 Mesajul iniţial va fi completat cu un bit 1 urmat de o succesiune de biţi 0 până cand lungimea în biţi a mesajului va fi egală cu 448 modulo 512. Motivul acestui tip de expandare că 512*x+448 este multiplu de 64 (8 octeţi).

12 Algoritmul de autentificare MD5 2. Descrierea algoritmului MD5
Pasul 2 Mesajului completat la pasul anterior îi este adăugată lungimea în biţi a mesajului original. În cazul în care lungimea mesajului este mai mare decât 2^64, vor fi păstraţi doar ultimii 64 de biţi ai numărului ce reprezintă lungimea acestuia. În acest moment lungimea mesajului (în biţi) va fi multiplu de 512 (sau 16 words (32 bit)).

13 Algoritmul de autentificare MD5 2. Descrierea algoritmului MD5
Pasul 3 – Iniţializarea buffer-ului MD Un buffer de 4 words (A,B,C,D) este folosit pentru a calcula amprenta. De observat că lungimea buffer-ului este exact 128 de biţi ce va fi lungimea finală a amprentei MD5. Cele patru registre vor fi iniţializate după cum urmează: Word A: Word B: 89ABCDEF Word C: FEDCBA98 Word D:

14 Algoritmul de autentificare MD5 2. Descrierea algoritmului MD5
Pasul 4 Se va folosi o funcţie de evaluare I(X,Y,Y) şi va schimba G(X,Y,Z) după cum urmează: F(X,Y,Z) = XY v not(X) Z (X and Y or not(X)and Z) G(X,Y,Z) = XZ v Y not(Z) H(X,Y,Z) = X xor Y xor Z I(X,Y,Z) = Y xor (X v not(Z)) Acest pas va utiliza şi o tabelă T construită folosindu-se funcţia sinus, unde T[i] va desemna elementul de pe poziţia i ce are valoarea întreagă egală cu a expresiei sin(i)*2^32. Obs: 2^32 =

15 Algoritmul de autentificare MD5
2. Descrierea algoritmului MD5 Diagrama algoritmului MD5

16 Algoritmul de autentificare MD5
2. Descrierea algoritmului MD5 Diagrama algoritmului MD5

17 Algoritmul de autentificare MD5
2. Exemplu din lumea reală: Yahoo Mail

18 Algoritmul de autentificare MD5
2. Exemplu din lumea reală: Yahoo Mail

19 Algoritmul de autentificare MD5
2. Exemplu din lumea reală: Yahoo Mail

20 Algoritmul de autehtificare SHA-1 (Secure Hash Standard)
1. Scurt istoric Specificaţiile iniţiale ale algoritmului au fost publicate în 1993 în Federal Information Processing Standards Publication, de organizaţia guvernamentală americană NIST (National Institute of Standards and Technology). Această primă versiune este denumită generic SHA-0. La doi ani după publicare algoritmul a retras ca şi standard de către NSA (National Security Agency) şi a fost republicat şi aprobat în 1995 sub denumirea SHA-1.

21 Algoritmul de autehtificare SHA-1 1. Scurt istoric
Conform NSA, prima versiune nu oferea destulă securitate dar o explicaţie oficială asupra lacunelor de securitate identificate nu a fost dată niciodată. Slăbiciuni au fost găsite atât în versiunea SHA-0 cât şi în SHA-1, dar varianta finală a rezistat mai bine atacurilor de-a lungul timpului ceea ce confirmă decizia NSA.

22 Algoritmul de autehtificare SHA-1 2. Descrierea algoritmului
Atât SHA-0 cât şi SHA-1 produc o amprentă digitală de 164 de biţi (cu o dimensiune maximă de 256 de biţi) iar principiul de funcţionare este asemănător cu al algoritmului MD5 descris anterior. Organizaţia guvernamentală americană NIST a mai publicat specificaţiile a încă patru variante ale algoritmului, cunoscute sub denumirea generică de SHA-2: SHA-224; SHA-256; SHA-384; SHA-512.

23 Algoritmul de autehtificare SHA-1 2. Descrierea algoritmului
Algoritmii SHA-256 şi SHA-512 folosesc funcţii hash pe 32 respectiv 64 de biţi. Ambii algoritmi folosesc rotiri şi adunări cu constante diferite dar, în mare, structura logică este aceeaşi, numărul de runde fiind însă diferit. SHA-224 şi SHA-384 sunt doar versiunile truncate pentru SHA-256 respectiv SHA-512 calculate însă cu valori iniţiale diferite.

24 Algoritmul de autehtificare SHA-1
3. Aplicabilitatea algoritmului SHA-1 Algoritmul de autentificare SHA-1 este folosit de DSA (Digital Signature Standard) în care este de altfel şi încorporat. De asemeni funcţiile SHA au fost utilizate pentru algoritmii de criptare pe blocuri de biţi SHACAL. Compania Microsoft a încorporat algoritmul SHA-1 în sistemul de prevenire a copiilor pentru consola XBox.

25 Algoritmul de autehtificare SHA-1
4. Diagramă SHA-1

26 Algoritmul de autehtificare SHA-1
4. Diagramă SHA-2


Download ppt "Funcţii Hash 1. Puţină teorie... "

Similar presentations


Ads by Google