Strumento per la generazione di collisioni MD4

1

Sono disponibili molti documenti di ricerca online che discutono le vulnerabilità dell'algoritmo MD4, ma non sono riuscito a trovare alcuna implementazione di questi.

In questo momento ho utilizzato strumenti come John the Ripper o MDCrack e ho provato a eseguire il bruteforce dell'hash. Ma la bruteforcing sembra uno spreco di potenza della CPU quando gli attacchi di collisione possono essere eseguiti in modo molto più efficiente. (In pochi secondi ho letto).

Esistono strumenti disponibili per generare collisioni per gli algoritmi di hashing MD4?

    
posta Kshitiz Sharma 05.01.2013 - 11:27
fonte

2 risposte

6

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.

    
risposta data 05.01.2013 - 15:18
fonte
4

Sembra che tu stia mescolando attacchi di collisione e primi attacchi di preimage (come già accennato qui ). Di seguito descriverò entrambi brevemente, una spiegazione più dettagliata può essere trovata qui .

In un attacco collisione stai cercando due (diversi) messaggi che producono lo stesso hash - il contenuto dei messaggi non ha importanza.

Tuttavia, in un primo attacco di preimage hai un hash predefinito (fisso) e stai cercando un messaggio che abbia esattamente lo stesso hash.

Pertanto, se si desidera trovare le password per gli hash delle password specificate, è necessario applicare un primo attacco di pre-immagine e nessuna ricerca di collisione. Per gli attacchi preimage su MD4 che sono più veloci della sola bruteforcing, considera questo documento e lavori correlati.

    
risposta data 05.01.2013 - 15:06
fonte

Leggi altre domande sui tag