User Tools

Site Tools


md5

This is an old revision of the document!


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 (padding) 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 nadovezane 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

MD-5 više nije sigurna hash funkcija. Napretci u tehnologiji od 1990.-ih su učinili prolazak kolizije u sažetku duljine 128 bitova relativno trivijalnim i vremenski nezahtjevnim.

Dodatak: Stvori sam svoju koliziju pomoću alata na https://www.mscs.dal.ca/~selinger/md5collision/

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/

md5.1695634967.txt.gz · Last modified: 2025/06/03 10:22 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki