2012-01-13 17 views

risposta

27

È necessario eseguire un hash su 2^64 valori per ottenere una collisione singola tra di loro, in media, se non si tenta di creare collisioni deliberatamente. Le collisioni di hash sono molto simili a Birthday problem.

Se si osservano due valori arbitrari, la probabilità di collisione è solo 2 -128.

Il problema con md5 è che è relativamente facile creare due testi diversi con un hash dello stesso valore. Ma ciò richiede un attacco deliberato e non avviene accidentalmente. E anche con un attacco intenzionale non è attualmente possibile ottenere un semplice testo corrispondente a un determinato hash.

In breve md5 è sicuro per scopi non di sicurezza, ma rotto in molte applicazioni di sicurezza.

+0

Come si ottiene questo valore? –

+1

2^(n/2) come previsto dal problema del compleanno. – CodesInChaos

+0

A causa di queste informazioni, è adatto per creare ID di documenti per un sistema che contiene milioni di documenti basati sul loro hash md5 del rispettivo contenuto.? @CodesInChaos – SaidbakR

5

Genera un valore di 128 bit. Il tasso di scontro accidentale dovrebbe quindi essere 2 -64 (a causa del paradosso del compleanno).

+2

La probabilità di collisione perché è significativa intorno a 2^64 valori, ma la velocità di scontro per due valori arbitrari è solo 2^-128. – CodesInChaos