Il sarebbe chiamato secondo preimage . Per una funzione hash h con un output di n bit, ci sono tre tipi di attacchi che consideriamo; per ognuno esiste un algoritmo generico con un costo elevato e la funzione è considerata sicura se non è possibile trovare alcun metodo più veloce dell'algoritmo generico. Gli attacchi sono:
-
Preimage: dato x (una stringa n -bit), trova m tale che h (m) = x . L'attacco generico ha un costo medio 2 n (espresso in valutazioni della funzione h su piccoli input): l'attacco generico funziona provando messaggi casuali < em> m fino a colpire x (l'attacco "fortuna e prega").
-
Seconda preimage: data m (una determinata stringa), trova m distinto da m e tale che h (m) = h (m ') . Questo è il tuo caso qui. L'attacco generico è di nuovo di costo 2 n ed è simile all'attacco preimage.
-
Collisioni: trova m e m ', distinti tra loro, tali che h (m) = h (m') . L'attacco generico è costato 2 n / 2 (noto come attacco di compleanno ).
MD5 ha un'uscita a 128 bit. Le valutazioni di 2 128 sono molto alte e dovrebbero fornire una sicurezza adeguata (è un miliardo di miliardi di volte superiore a quella tecnicamente possibile in questo momento, anche con un budget simile a Google / Facebook ). D'altra parte, 2 64 , sebbene ancora molto costoso (mesi di calcolo con migliaia di computer), è già stato dimostrato una volta (vedi distributed.net ).
Inoltre, un certo numero di punti deboli sono stati trovati in MD5, consentendo un algoritmo molto efficiente per la generazione di collisioni (con il mio PC posso generare una collisione MD5 in media in 14 secondi usando un singolo core). Per questo motivo, MD5 è non considerato più sicuro. Ma non è attualmente nota alcuna scorciatoia per le seconde pre-immagini. L'esistenza di punti deboli che portano a collisioni facili dimostra che la struttura interna di MD5 non è "abbastanza confusa", quindi abbiamo motivo di preoccuparci degli attacchi di preimage che potrebbero essere trovati nel prossimo futuro. Ma, proprio ora (luglio 2011), nessun attacco del genere è pubblicamente conosciuto.
Quindi la risposta alla tua domanda è che sarebbe estremamente difficile inviarti una ISO alterata che finirebbe con lo stesso hash MD5 di quello originale. Ma i distributori di Ubuntu sarebbero ben ispirati a iniziare a pubblicare anche gli hash SHA-256. Per ogni evenienza.