Podemos definir la función Hash como una función resumen. Este tipo de funciones dentro del ámbito criptográfico realizan, frente a una entrada de bits (da igual su tama˜no/longitud), un serie de procesos de los cuales se obtiene un resumen cuyo tama˜no es fijo.
Se utiliza este t´ermino “Hash” ya que su significado es origianl del ingl´es y en el mundo de la cocina significa picar y/o mezclar y algo, cosa que ocurre de la misma forma en el hash en la criptografía.
PROPIEDADES de la función Hash:
A continuación, vemos cuales son las propiedades que debe de cumplir una función hash para que sea lo suficientemente robusta:
- Unidireccionalidad: esto quiere decir que es fácil de calcular la función hash, pero MUY difícil realizar el proceso inverso.
- Compresión: se obtiene un resumen mucho más pequeño a nivel de bits.
- Inmutabilidad: un ligero cambio en los datos iniciales hará que cambie más de la mitad del hash.
- Únicos: para determinado tipo de datos el hash será único e irrepetible.
UTILIDADES de la función Hash:
La función hash sirve para una gran cantidad de cosas, entre ellas encontramos:
- Proporcionan integridad para un mensaje o fichero.
- Sirve para el almacenamiento de contraseñas.
- Utilizada para la Frima digital.
- Tecnología sobre cual se basa Blockchain.
- También se utiliza en las Criptomonedas.
También puedes ver este vídeo dónde desarrollamos estos conceptos más a fondo y creamos nuestro propio algoritmo Hash:
ALGORITMOS HASH:
A continuación, veremos los Hash más usados en la actualidad, así como su longitud, vulnerabilidad y un generador online para que `podáis ver ejemplos reales:
- MD5: la longitud del resumen resultante: 128 bits. Este hash es vulnerable. Aquí puedes encontrar un generador online: https://passwordsgenerator.net/md5-hash-generator/
- SHA1: la longitud del resumen resultante: 160 bits. Este hash es vulnerable. Aquí puedes encontrar un generador online: https://passwordsgenerator.net/sha1-hash-generator/
- SHA256: la longitud del resumen resultante: 256 bits. Este hash no es vulnerable. Aquí puedes encontrar un generador online: Aquí puedes encontrar un ghttps://passwordsgenerator.net/sha256-hash-generator/
- SHA512: la longitud del resumen resultante: 512 bits. Este hash no es vulnerable. Aquí puedes encontrar un generador online: https://passwordsgenerator.net/sha512-hash-generator/
¿QUIERES SABER MÁS?
Puedes consultar el vídeo del canal de Youtube dónde vemos más a fondo estos conceptos y el PDF sobre el HASH dónde tendrás todo mucho más detallado y extenso ¡para que lleves tu conocimiento al siguiente nivel!.
Además se incluye el código en python para que hagas tus propias pruebas con los HASH 😁.
Funciones criptográficas HASH (PDF+Python)
No pierdas tiempo en crear tus apuntes y resumenes… ¡Lo tienes todo AQUÍ!