Pregunta

disculpas si esta es una pregunta duplicada;La mayoría de los que he encontrado están sobre mi cabeza, por lo que puedo haber perdido la respuesta.

Para un hash dado, digamos MD5 (128 bits), ¿cuál es la posibilidad de una colisión hash con 10 ^ 12 de ellos?

My Maths no es genial, he ideado esta ecuación (creo que es correcta) pero no tiene idea de cómo resolverlo:

COLISION_CHANCE= 1 - (1 - (1/2 ^ 128)) ^ (10 ^ 12)

Supongo que está en algún lugar alrededor de 10 ^ -26, ¿suena esto bien?

gracias

Editar: Creo que mi estimación está muy mal.Consulte paradoja de cumpleaños

¿Fue útil?

Solución

¿Qué dice su fórmula por tener 2 ^ 128 + 1 valores?Creo que no dice que la probabilidad de colisión sea 1, por lo que no puede ser correcto.En realidad, sé que no lo es, la fórmula correcta es bastante grande y difícil de manejar, pero hay buenas aproximaciones utilizando la exponencial de una fracción.Así que no tipica las fórmulas, por lo que no intentaré escribir las fórmulas aquí.

La mejor palabra clave para buscar es probablemente " Ataque de cumpleaños ".

Otros consejos

¿Por qué una colisión hash sería un problema?Los hashes nunca están diseñados para generar viajes únicos, solo para facilitar una primera comparación rápida.

Si tiene problemas con las colisiones hash, lo está usando mal.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top