Seguridad‎ > ‎Criptografía‎ > ‎

MD5

En criptografía, MD5 (abreviatura de Message-Digest Algorithm 5, Algoritmo de Resumen del Mensaje 5) es un algoritmo de reducción criptográfico de 128 bits ampliamente usado.

Fue diseñado por Ronald Rivest del MIT en 1991 para sustituir a MD4 debido a la debilidades descubiertas por Hans Dobbertin. A pesar de su amplia difusión, MD5 tiene algunas debilidades conocidas.

Ejemplos
  • md5("hola") = 4d186321c1a7f0f354b297e8914ab240
  • md5("holb") = 8bca0ef871a204e9b6e27b3deb845001
Como se puede apreciar, la salida de este algoritmo es una cadena hexadecimal de 32 carácteres.
 
Utilidad
Debido a que este algoritmo es un algoritmo de hash, no se puede revertir de manera que teniendo un md5 no podemos obtener de una manera sencilla la cadena inicial.

Gracias a esto, las contraseñas en bases de datos se suelen guardar en forma de md5 de forma que si un atacante obtuviese acceso a la base de datos, no pudierar obtener la contraseña, sino su hash.

Ataque
Debido a  que el algoritmo no es reversible,  un método común de ataque (que generalmente no da muchos resultados) es la fuerza bruta, que consiste en ir probando todas las posibilidades hasta que coinciden los hashes.
Por ejemplo:
Tenemos el hash hash1 :
  1. Clave = '0000'
  2. Si Clave=hash1 ir al paso 4.
  3. Aumentar Clave y volver al paso 2
  4. Estupendo! Tienes la clave!
Existen un conjunto de páginas que guardan en su base datos pares de claves y hashes , entonces introduciendo el hash buscan una correspondencia en su base de datos y te devuelven la clave.

Enlaces
Comments