Un hash es un algoritmo matemático el cual obtiene de un archivo, un texto, un número, un lo que sea, una secuencia de caracteres con una longitud fija, es decir mediante un valor de entrada de longitud indefinida, obtenemos como salida una secuencia con una longitud fija de caracteres. Por ejemplo la palabra “Arithmos” le corresponde un hash con el algoritmo md5 de “fc79f1497d77cefc60ddde4345ea7437″ y a estas dos palabras “Joaquín Martínez” le corresponde el hash md5 “80e3ac98136b907181702294c9a7b0a4″.Lo importante de un algoritmo hash es que es muy fácil transformar los datos de entrada en los de salida, pero muy difícil, por no decir imposible, hacerlo al contrario, es decir con el hash obtener el valor de entrada, de modo que estamos representando unívocamente un conjunto de datos.

función hash(mensaje)= hash

hash-flow.png

Su uso varía desde la aseguración de la integridad de mensajería, se genera un hash antes de su envío y se compara con otro hash generado cuando se ha recibido, si ambos hash son iguales, el mensaje no ha variado, validación de documentos comprobando que su hash inicial coincide a posteriori validando que el documento no se ha modificado, firma, autenticación y validación de contraseñas, un servidor guarda el hash de la contraseña y cuando el usuario introduce la contraseña, se genera su hash y se compara con el almacenado en el servidor de modo que no se guardan contraseñas en los servidores evitando su robo, si todavía existe alguno que no lo hace … 😦

Con todo esto ya nos podemos hacer una idea de cuáles pueden ser sus características.

  • Imposibilidad de obtener el elemento de entrada a partir del hash
  • Imposibilidad de encontrar un conjunto de datos diferentes con el mismo hash (matemáticamente es improbable pero puede ocurrir)
  • Transformación de un elemento de tamaño indefinido en otro de tamaño fijo
  • Facilidad de cálculo

Los algoritmos de generación hash más conocidos son el MD5, SHA-1 y SHA-2 aunque hay unos pocos más ;-).

MD5. Es un algoritmo de 128 bits el cual no es seguro actualmente y no se usa a no ser para usos donde no sea necesaria mucha seguridad. El código hash se genera en 64 pasos y al final obtendremos un texto de 32 caracteres.

Existen páginas con millones de hash y su asociación hash y en cuestión de segundos, estaría al descubierto la palabra. He realizado una prueba en md5online.es y el hash F81AA6CEBB7F4B382F153383DD15695D de la palabra “palíndromo” ha sido descifrado en un par de segundos.

Arithmos -> FC79F1497D77CEFC60DDDE4345EA7437

SHA-1. Parecido al MD5 pero con 160 bits y necesita 80 pasos para obtener un hash de 40 caracteres. Como el algoritmo MD5, se han encontrado colisiones y no es seguro utilizarlo.

Arithmos -> SHA-1 -> 40 caracteres -> A58A0B92E639465AE50F4D14B4578CA5355087A5

SHA-2. Basado en SHA-1 pero su diseño es diferente y el rango de salida es mayor. De este, existen variedades como el SHA-224, SHA-256, SAH-384 o el SHA-512. Este último con 80 rondas y una palabra de 160 bits y 128 caracteres de longitud

Arithmos -> SHA-256 -> 64 caracteres -> 9F0C067C868304FF6BEA9F087DFCE52E4A4ADB433AA72AA0536388BFF52B4BC4

Arithmos -> SHA-512 -> 128 caracteres ->

C27460343460AF645D0731498BF69F85A63635F80A260A667A6DB72596F8E602CF8A9894889B0F9F9FAC4B3441CAD73D9F69D2A05924CEC2E46C8BCAD2C75893

Desde la WEB passwordsgenerator.net podréis genera cuantos hash queráis.

En hashtoolkit.com he realizado la obtención de la entrada mediante el hash con la palabra “palíndromo” mediante bases de datos de palabra y hash para md5, SHA-1, SHA-256, SHA-384 y SHA-512 con resultado positivo, es decir tienen un conocimiento previo de la palabra y su hash de ahí que se pueda comparar y encontrarla.

Pd: Existen bases de datos de hash de contenidos maliciosos para su consulta, lo guardamos todo!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s