hash - online - Probabilidad de colisiones SHA1
sha1 desencriptar (3)
Dado un conjunto de 100 cadenas diferentes de igual longitud, ¿cómo se puede cuantificar la probabilidad de que una colisión de resumen SHA1 para las cuerdas sea poco probable ...?
Bueno, la probabilidad de una colisión sería 1 - ((2 ^ 160 - 1) / 2 ^ 160) * ((2 ^ 160 - 2) / 2 ^ 160) * ... * ((2 ^ 160 - 99 ) / 2 ^ 160).
Piense en la probabilidad de una colisión de 2 elementos en un espacio de 10. El primer elemento es único con una probabilidad del 100%. El segundo es único con probabilidad 9/10. Entonces, la probabilidad de que ambos sean únicos es 100% * 90%, y la probabilidad de una colisión es 1 - (100% * 90%), o 1 - ((10 - 0) / 10) * ((10 - 1) / 10), o 1 - ((10 - 1) / 10).
Es bastante poco probable. Tendría que tener muchas más cadenas para que sea una posibilidad remota.
Eche un vistazo a la tabla en esta página en Wikipedia ; simplemente interpola entre las filas para 128 bits y 256 bits.
Eso es un problema de cumpleaños : el artículo proporciona aproximaciones agradables que hacen que sea bastante fácil estimar la probabilidad. La probabilidad real será muy, muy baja; consulte esta pregunta para ver un ejemplo.
¿Los valores de hash de 160 bits generados por SHA-1 son lo suficientemente grandes como para garantizar que la huella digital de cada bloque sea única? Suponiendo valores hash aleatorios con una distribución uniforme, una colección de n bloques de datos diferentes y una función hash que genera b bits, la probabilidad p de que haya una o más colisiones está limitada por el número de pares de bloques multiplicados por la probabilidad de que un par dado colisionará.
(fuente: http://bitcache.org/faq/hash-collision-probabilities )