Alcuni google mi hanno indirizzato a questo file di codice sorgente che, una volta compilato, dovrebbe generare collisioni MD4 usando il metodo di Wang (pubblicato nel 2005). Questo non è l'attacco di collisione più veloce per MD4, ma è sufficiente per produrne migliaia.
Tuttavia, strumenti come John the Ripper sono per trovare le password dal loro hash; le collisioni non aiutano affatto a tale compito. Trovare una collisione consiste nel calcolare due stringhe distinte m e m ' che, quando entrambe sono sottoposte a hash, producono lo stesso valore. Per le collisioni, non ci interessa il valore hash quale che effettivamente otteniamo, a patto che si ottenga lo stesso per entrambi i messaggi. Per craccare la password, si lavora su un valore di hash fisso che non si può scegliere (l'hai trovato in un database o una fonte simile), e si prova a trovare una stringa p che ha hash su quel valore specifico ( e nessun altro): questo è un attacco preimage .
MD4 è anche rotto accademicamente per quanto riguarda le pre-immagini; un attacco è stato trovato da Leurent nel 2008 . Ricorda però il termine "accademicamente": l'attacco ha un costo di 2 102 valutazioni della funzione di hash. Questo è milioni di volte più veloce della robustezza attesa da una funzione hash con un output a 128 bit (che dovrebbe resistere fino al costo 2 128 ); tuttavia, questo attacco è ancora ben oltre ciò che è tecnologicamente fattibile in questo momento (una grande organizzazione con molti computer e denaro, come Google, potrebbe dedicare la sua vasta ricchezza al problema ed eseguire circa un miliardesimo del lavoro entro pochi anni, ma non di più).
Per le password di cracking che sono state sottoposte a hash con MD4, il metodo più noto è ancora un "attacco dizionario", noto anche come "forza bruta": prova le potenziali password finché non viene trovata una corrispondenza. Se il processo di hashing non includeva un elemento random per password (un "salt"), lo sforzo brute force può essere condiviso attraverso l'uso di tabelle precalcolate (es. Tabelle arcobaleno) ma le tabelle devono ancora essere costruite almeno una volta.