L'MD4 è una funzionecrittografica di hashing scritta daRonald Rivest delMIT nel1990. L'MD4 è utilizzato per la generazione di unmessage digest (o "impronta delmessaggio", una stringa di lunghezza fissa) di 128bit da un messaggio di lunghezza variabile. L'algoritmo ha influenzato successivi codici quali l'MD5, l'SHA ed ilRIPEMD.
L'algoritmo non è sicuro ed il suo uso è pertanto sconsigliato in applicazioni in cui si richiede un elevato grado di sicurezza.
Gli hash a128 bit (16byte) dell'MD4 sono normalmente rappresentati come numeriesadecimali a 32 cifre. Ecco un esempio di un hash dell'MD4:
MD4("The quick brown fox jumps over the lazy dog") = 1bee69a46ba811185c194762abaeae90
Come per ognifunzione di hash, anche nel caso dell'MD4 la modifica anche minima del messaggio di input comporta lo stravolgimento dell'hash. Nel caso seguente è stata cambiata la letterad con la letterac:
MD4("The quick brown fox jumps over the lazycog") = b86e130ce7028da59e672d56ad0113df
Questo è invece l'hash di una stringa di lunghezza zero:
MD4("") = 31d6cfe0d16ae931b73c59d7e0c089c0
L'algoritmo è utilizzato comesomma di controllo per verificare l'integrità dei dati e, sui sistemiWindows NT, per calcolare i digest dellepassword. Una versione modificata dell'MD4 è usata dal popolare programmaEDonkey2000 come identificativo univoco dei file presenti nelnetwork.
L'MD4 è anche utilizzato nel protocollo di sincronizzazione di file e cartelleRsync.
Nel1991 Den Boer e Bosselaers dimostrarono che l'MD4 soffriva di debolezze progettuali. A causa di ciò, Rivest rilasciò nello stesso anno una versione migliorata dell'algoritmo denominataMD5. Tali debolezze furono poi sfruttate daHans Dobbertin nel1996 per attaccare l'algoritmo e trovare la primacollisione, vale a dire la generazione di un identico hash partendo da due messaggi differenti. Nel2004Wang Xiaoyun, insieme ad altricrittoanalisti, ha trovato un attacco di collisione molto efficiente all'MD4 e ad altri algoritmi di hash (MD5,HAVAL-128 e RIPEMD)[1], grazie al quale è possibile violare l'MD4 in pochi istanti.
Funzioni crittografiche di Hash eCodici di autenticazione dei messaggi (MAC) | |
---|---|
Funzioni di hash principali | MD5 ·SHA-1 ·SHA-2 ·SHA-3 |
Altre funzioni | BLAKE ·GOST ·HAS-160 ·HAVAL ·LM hash ·MDC-2 ·MD2 ·MD4 ·N-Hash ·RIPEMD ·RadioGatún ·Snefru ·Tiger ·Whirlpool |
Algoritmi diMAC | DAA ·CBC-MAC ·HMAC ·OMAC/CMAC ·PMAC ·UMAC ·Poly1305-AES |
Attacchi | Collisione hash ·Attacco del compleanno ·Attacco preimmagine ·Tabella arcobaleno ·Attacco del canale laterale ·Attacco a forza bruta |
Varie | Effetto valanga ·Costruzione di Merkle-Damgård ·NESSIE ·NIST hash function competition |
Portale Crittografia ·Progetto Crittografia ·Hash crittografici ·MAC |