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.