¿Se conocen colisiones de hash MD5 de mensajes de diferente longitud?

3

Todos los ejemplos de colisiones de hash MD5 que he encontrado comprenden dos mensajes (entradas) diferentes de la misma longitud. Los mensajes primero y segundo tienen valores diferentes para varios bits y los MD5 resultantes son iguales.

¿La teoría de encontrar una colisión de hash MD5 (explotando la debilidad en el algoritmo) prescribe que la longitud de los mensajes sea la misma? En otras palabras, ¿sería la teoría inutilizable encontrar una colisión de dos mensajes de diferente longitud? ¿Se ha encontrado tal colisión alguna vez?

    
pregunta mgr326639 26.01.2016 - 22:53
fuente

2 respuestas

4

Según este artículo , el se seleccionó el algoritmo de colisión de prefijo para

  

produce dos archivos ejecutables con el mismo hash MD5, pero con diferentes comportamientos. A diferencia del método anterior, donde los dos archivos solo podían diferir en unos pocos bits cuidadosamente elegidos, el método de prefijo elegido permite que dos archivos completamente arbitrarios tengan el mismo hash MD5, agregando unos pocos miles de bytes al final de cada archivo.

Si bien los archivos de muestra pueden tener la misma longitud, los reclamos de los autores ;

  

Nuestras colisiones con prefijo elegido solo tienen el requisito de que, después de la colisión, los archivos deben ser exactamente iguales. Antes de la colisión, los dos archivos, para los cuales se encuentra una colisión, pueden ser cualquier cosa: nuestro método de búsqueda de colisión con prefijo elegido siempre producirá una colisión que se puede incorporar a los dos archivos, independientemente de qué datos estén presentes antes de la colisión. .

Entonces, sí, hay fallas en MD5 que pueden encontrar colisiones de diferentes longitudes.

    
respondido por el Neil Smithline 27.01.2016 - 00:48
fuente
1

Para demostrar la existencia de dos plaintexts de diferente longitud que chocan con MD5, solo se debe saber que el número de entradas (y el número de diferentes longitudes de entradas) es mucho mayor que el número de salidas posibles.

Dado que MD5 puede recibir entradas de cualquier longitud y solo puede generar un hash de tamaño de 128 bits, eso significa que para todas las cadenas de bytes de cualquier longitud, deben asignarse a los 2 ^ 128 hashes MD5 posibles.

Para cada entrada de texto sin formato de longitud 128, se garantiza para ser una colisión con un texto sin formato de un tamaño inferior a 128, porque si MD5 era un algoritmo de hashing perfecto, tendría a cada uno de esos Plaintexts de 128 bits de longitud (Sugerencia: hay 2 ^ 128 de ellos, el mismo número que las salidas posibles) para su propio hash único, pero ese mismo conjunto de hashes de salida también debe haber sido usado para hashes de tamaño de 127 bits o menos, así que ¡Debe haber una colisión en alguna parte! Dada esta información, podemos demostrar matemáticamente la existencia de dos colores planos de diferentes longitudes que tienen el mismo hash.

    
respondido por el Seth M. Larson 26.01.2016 - 23:59
fuente

Lea otras preguntas en las etiquetas