User Tools

Site Tools


md5

MD5

MD5 (Message Digest) je hash funkcija temeljena na Merkle-Damgård konstrukciji koja sažima poruku u 128 bitova.
Shema Merkle-Damgård konstrukcije

Izvorni tekst dijeli se na blokove duljine 512 bitova. Zadnji blok teksta se nadopunjuje do 512 bitova tako da se iza zadnjeg bita teksta doda 1, nakon čega se redom upisuju 0 dok u bloku ne preostanu prazna 64 bita u koja se upisuje duljina izvorne poruke. Svaki blok dijeli se na 16 podblokova po 32 bita M0, M1,…,M15. Sažetak H od 128 bitova sastoji se od 4 nadovezanih 32-bitovnih varijable koje se inicijaliziraju s heksadekadskim vrijednostima:

A0 = 01234567		B0 = 89ABCDEF 		C0 = FEDCBA98		D0 = 76543210

Postupak se obavlja u 64 koraka podijeljena u 4 kruga sa 16 koraka. U svakom krugu koristi se jedna od 4 funkcije:

 		Fi(x, y, z) = (X ^ Y) v (!X ^ Z)		1  ≤ i ≤ 16
 		Fi(x, y, z) = (X ^ Y) v (X ^ !Z)		17 ≤ i ≤ 32
 		Fi(x, y, z) = X ⊕ Y ⊕ Z			33 ≤ i ≤ 48
 		Fi(x, y, z) = Y ⊕ (X ^ !Z)			49 ≤ i ≤ 64

U svakom koraku koristi se varijabla Ki = 232 x abs(sin(i)) 1 ≤ i ≤ 64

 MD5 shema

MD5 više nije sigurna hash funkcija. Napredak u tehnologiji 1990-ih učinio je prolazak kolizije u sažetku duljine 128 bitova trivijalnim i vremenski nezahtjevnim. Nesigurnost MD5 funkcije sažimanja iskorištena je u napadima Flame malwareom.

Izvori

[1] Christof Paar, Jan Pelzl, Understanding Cryptography, Springer-Verlag Berlin Heidelberg, 2009.
[2] https://platforma.hacknite.hr/challenges
[3] Kriptografija i kriptoanaliza, predavanja, FER
[4] https://www.mscs.dal.ca/~selinger/md5collision/
[5] https://www.exploit-db.com/docs/english/46047-md5-collision-of-these-2-images-is-now()-trivial-and-instant.pdf

md5.txt · Last modified: 2023/11/20 11:41 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki