Estoy haciendo una presentación sobre las colisiones MD5 y me gustaría dar a las personas una idea de la probabilidad de una colisión.Crea tus propias colisiones MD5
Sería bueno tener dos bloques de texto que coincidan con la misma cosa, y explicar cuántas combinaciones de [a-zA-Z] se necesitaban antes de golpear una colisión.
La respuesta obvia es hash todas las combinaciones posibles hasta alcanzar dos hashes iguales. Entonces, ¿cómo vas a codificar esto? Como experimento rápido intenté hacer hash cada combinación de 5 columnas de [A-Z], almacenar esto en una tabla hash .net y capturar la excepción de colisión. Dos problemas con esto: la tabla de aciertos finalmente termina, y estoy seguro de que necesitaré MUCHOS más caracteres.
Obviamente, esta estructura de datos es demasiado grande para manejar en la memoria, por lo que ahora tendré que obtener una base de datos involucrada. También suena como un buen proyecto para probar azul, un poco como these guys.
¿Alguien me puede indicar en una dirección eficiente manera de hacer esto?
Vea aquí: http://cryptography.hyperlink.cz/MD5_collisions.html Tiene enlaces a algunos programas, p. esto: http://cryptography.hyperlink.cz/2006/program_v1_pd.zip – ShreevatsaR
Por favor marque una de las respuestas como la respuesta a su pregunta? :) – Alex
Consulte [este artículo] (http://cryptography.hyperlink.cz/MD5_collisions.html) acerca de la función de túnel de hash. – arul