Hash-Criptografico-ciberseguridad-behackerpro

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”

 

imagen1-funcion-hash-criptografica-ciberseguridad-Behackerpro

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

 

imagen2-funcion-hash-criptografica-ciberseguridad-Behackerpro

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

 

imagen3-funcion-hash-criptografica-ciberseguridad-Behackerpro

imagen 3

 

imagen4-funcion-hash-criptografica-ciberseguridad-Behackerpro

imagen 4

 

imagen5-funcion-hash-criptografica-ciberseguridad-Behackerpro

imagen 5

 

imagen6-funcion-hash-criptografica-ciberseguridad-Behackerpro

imagen 6

 

imagen7-funcion-hash-criptografica-ciberseguridad-Behackerpro

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

 

imagen8-funcion-hash-criptografica-ciberseguridad-Behackerpro

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

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *