¿Cómo puede el contenido de un archivo referirse a su propio MD5?

26

Así que acabo de ver esta foto en Imgur: enlace

Lo interesante de esto es que la imagen se refiere a una vieja canción de Daft Punk llamada "Face 2 Face". El MD5 de la imagen es 6b0cc07a5c4d3d8fface2face79d8205 que, sorprendentemente, contiene la frase face2face en ella.

¿Cómo se hace para generar este tipo de hash? Siempre pensé que uno tiene un hash totalmente diferente cuando se modifica incluso un byte del mensaje.

¿Qué tipo de potencia informática se requiere para realizar este truco? Por supuesto, estoy asumiendo que esto no es una mera coincidencia.

También me encantaría saber si hay otros ejemplos de tales hashes, y ¿cuáles son algunas herramientas disponibles para Linux o Windows?

    
pregunta John Blatz 27.09.2015 - 18:50
fuente

2 respuestas

28

'face2face' solo tiene 9 caracteres, es decir, 36 bits, ya que estamos usando codificación hexadecimal. Basta con generar muchas imágenes con algunas variaciones internas (variaciones sutiles que no afectan a la salida gráfica) y agruparlas todas hasta obtener la cadena de destino. Ya que estamos buscando un patrón de 36 bits y aceptamos ese patrón dondequiera que aparezca en la salida de 32 caracteres (24 posiciones posibles), entonces el número promedio de imágenes que se generarán y el hash será de aproximadamente 2 36 / 24, es decir, unos 2.8 billones. Dado que una PC de escritorio básica puede calcular varios (muchos) millones de hashes MD5 por segundo, esto debe hacerse en menos de una hora con un código optimizado decentemente.

Esto no tiene nada que ver con las debilidades conocidas de MD5 con respecto a las colisiones. Lo mismo podría hacerse con SHA-1 o SHA-256.

Esto ya se ha discutido en esta pregunta .

    
respondido por el Thomas Pornin 27.09.2015 - 20:46
fuente
-2

Todo es muy simple. El nombre fue acuñado para la canción, ya después del hash calculado. Probablemente no pudieron pensar en un nombre para una canción y alguien accidentalmente midió el hash y notó que hay una secuencia inusual, debido a esto, ¡el nombre fue inventado! =)

    
respondido por el Shumoff 23.06.2016 - 21:59
fuente

Lea otras preguntas en las etiquetas