Md5 vs Md4 reconocimiento

4

¿Hay alguna manera de averiguar si un hash es MD5 o MD4?

Por ejemplo:

  • 10c7ccc7a4f0aff03c915c485565b9da es un hash MD5
  • be08c2de91787c51e7aee5dd16ca4f76 es un hash MD4

Sé que existe una diferencia de "seguridad en cuanto a seguridad", pero ¿cómo puede alguien determinar qué hash es cuál de "programación inteligente" o simplemente a simple vista? ¿O realmente no hay forma de saberlo con seguridad?

    
pregunta Ryan 19.11.2015 - 05:58
fuente

2 respuestas

10
  

... pero, ¿cómo puede alguien determinar qué hash es cuál "de manera inteligente" o simplemente con los ojos? ¿O realmente no hay forma de saberlo con seguridad?

Ambos algoritmos hash simplemente generan bytes. No hay una estructura inherente visible en estos bytes y no hay bytes mágicos o similares que puedan usarse para detectar el algoritmo. De hecho, no podría distinguir entre MD4, MD5 o solo 128 bits de datos aleatorios solo por mirar la salida del hash.

    
respondido por el Steffen Ullrich 19.11.2015 - 06:40
fuente
0

No hay manera de cómo hacer eso. Por esta razón. Ambas son funciones, donde el espacio de entrada es infinito (está bien, es finito, debido al relleno finito de Damgard Merkle, pero considerémoslo infinito. Prácticamente lo es).

El espacio de resultados de ambas funciones es 2 ^ 128, porque ambos producen resúmenes de 128 bits.

Tenemos un dominio casi ilimitado y un dominio de código limitado. Así que hay (casi) un número ilimitado de colisiones para cada objetivo para ambas funciones.

Por lo tanto, no puede distinguir qué función se usó, porque ni siquiera puede decir cuál fue la fuente de una de estas funciones ...

Puede haber una excepción: si algunas de las funciones hash no generan alguna parte de su codominio (pero esto casi seguramente también significa que la función está terriblemente dañada). Entonces podrá decir con seguridad que no puede ser esa función ...

    
respondido por el malejpavouk 31.01.2017 - 21:13
fuente

Lea otras preguntas en las etiquetas