¿Qué es una función hash Criptográfica?
Funciones Hash Criptográficas – Valores Hash
¿Cuál es el enfoque de las funciones hash criptográficas de las que habla el post?
En esta oportunidad les voy hablar de la aplicabilidad de estas funciones en la verificación de integridad.
¿Qué es una función hash criptográfica?
Cuando se habla de una función hash criptográfica, se hace referencia a un algoritmo matemático que transforma un bloque arbitrario de datos que recibe como entrada, en una serie de caracteres de longitud fija que arroja como salida, a esta salida se le conoce como digest o hash.
En la imagen 1 puede observar el hash (digest) de la cadena de texto “hola”
imagen 1
En la imagen 2 puede observar el hash (digest) de la cadena de texto “Hola”, puede ver que es diferente al de la cadena de texto “hola”
imagen 2
¿Cuáles son las propiedades de una función hash criptográfica?
Las propiedades que debe tener una buena función hash pueden catalogarse en dos grupos propiedades criptográficas y no criptográficas, en las siguiente dos tablas podrá encontrar la información relativa a estas propiedades:
Propiedades criptográficas | |
Función “one way” – Pre-image resistant | El valor hash no puede ser utilizado para regenerar o reconstruir los datos de entrada |
Resistente a colisiones débiles – Second preimage resistant (weak collision resistant) | Es computacionalmente inviable encontrar una segunda entrada que tenga el mismo valor hash de otra entrada especificada. |
Resistente a colisiones (strong collision resistant) | Es computacionalmente inviable encontrar dos entradas diferentes a las cuales se les aplique la función hash y tengan el mismo valor hash. |
Propiedades no criptográficas | |
Producir una salida de longitud fija | La función hash utilizada debe producir una salida de longitud fija, independiente de la longitud de los datos de entrada |
toma una entrada de cualquier tamaño | La función hash debe estar en la capacidad de tomar una entrada de datos de cualquier longitud |
Simple y rápida a nivel computacional | La función hash debe ser lo más simple y rápida posible a la hora de calcular valores hash |
Es importante que tenga en mente, que cualquier bit que sea modificado en el archivo, dará como resultado un nuevo valor hash del archivo, esta alteración dará como resultado un valor hash diferente al del archivo original, es por eso que algunas funciones hash criptográficas son utilizadas para validar la integridad de evidencia digital
¿Qué es entonces una colisión?
Es una situación en la cual dos entradas diferentes que pasan a través de una función hash criptográfica producen una misma salida, es decir, un mismo valor hash.
¿Qué funciones hash existen?
A continuación se listan algunas de las funciones hash criptográficas con su respectiva longitud en bits y se expone si han sido halladas colisiones para cada una de ellas:
Nombre | Longitud en bits | Colisión |
GOST | 256 | Si |
HAVAL | 128 a 256 | Si |
MD2 | 128 | Si |
MD4 | 128 | Si |
MD5 | 128 | Si |
SHA-1 | 160 | Si |
SHA-224 | 224 | Ninguna hasta el momento |
SHA-256 | 256 | Ninguna hasta el momento |
SHA-512 | 512 | Ninguna hasta el momento |
Whirlpool | 512 | Ninguna hasta el momento |
La utilización funciones hash criptográficas que hayan tenido colisiones no deben ser utilizadas para validar la integridad; es decir, no sería recomendable utilizar por ejemplo, MD5 o SHA-1 ya que se consideran inseguras
¿Cuándo debo calcular el valor hash?
Se debe calcular el valor hash a la evidencia digital aquirida, por tal razón, es recomendable calcular valores hash, cada vez que usted adquiera evidencia digital.
¿Cómo calcular el hash en Linux?
Para calcular el hash de un archivo en Linux se podrían utilizar herramientas como:
sha1sum (ver imagen 3), sha224sum, sha256sum (ver imagen 4), sha384sum, sha512sum (ver imagen 5), md5 sum
hashdeep, ver imagen 6
GtkHash, ver imagen 7
imagen 3
imagen 4
imagen 5
imagen 6
imagen 7
¿Cómo calcular el hash en windows?
Para calcular valores hash en windows podemos utilizar las siguiente utilidades:
Utilidad Get-FileHash que puede utilizar mediante PowerShell
Puede descargar la utilidad Hash Tool
La utilidad HashCalc también le permite obtener valores hash, ver imagen 8
imagen 8
Recursos
https://latam.kaspersky.com/blog/que-es-un-hash-y-como-funciona/2806/
https://csrc.nist.gov/glossary/term/cryptographic_hash_function
www.ics.uci.edu
https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-107r1.pdf
¿Te gustó este post? por favor déjanos tus comentarios! Sé un buen HackerPro y comparte con tu comunidad! Suscríbete a Behackerpr
Otras Entradas
Introducción a la Seguridad en AI – Parte 2
Después de entender los principales ataques, técnicas, tácticas y procedimientos...
Leer másIntroducción a la Seguridad en AI
Cuando hablamos de Seguridad en AI (Artificial Intelligence o Inteligencia...
Leer más5 pilares para Hackers o Profesionales en Ciberseguridad desde una perspectiva técnica
Después de la master class que realizamos en Be Hacker...
Leer más