Función hash criptográfica


Una función hash criptográfica ( CHF ) es un algoritmo matemático que asigna datos de un tamaño arbitrario (a menudo denominado "mensaje") a una matriz de bits de un tamaño fijo (el "valor hash", "hash" o "resumen del mensaje" ). Es una función unidireccional , es decir, una función para la cual es prácticamente inviable invertir o invertir el cómputo. [1] Idealmente, la única forma de encontrar un mensaje que produzca un hash dado es intentar una búsqueda de fuerza bruta de posibles entradas para ver si producen una coincidencia, o usar una tabla arcoíris de hash coincidentes. Las funciones hash criptográficas son una herramienta básica de la criptografía moderna.

Una función hash criptográfica debe ser determinista , lo que significa que el mismo mensaje siempre da como resultado el mismo hash. Idealmente, también debería tener las siguientes propiedades:

Las funciones hash criptográficas tienen muchas aplicaciones de seguridad de la información , especialmente en firmas digitales , códigos de autenticación de mensajes (MAC) y otras formas de autenticación . También se pueden utilizar como funciones hash ordinarias , para indexar datos en tablas hash , para la toma de huellas dactilares , para detectar datos duplicados o identificar archivos de forma única, y como sumas de comprobación para detectar daños accidentales en los datos. De hecho, en contextos de seguridad de la información, los valores hash criptográficos a veces se denominan huellas dactilares ( digitales ) , sumas de verificación o simplemente valores hash ., aunque todos estos términos representan funciones más generales con propiedades y propósitos bastante diferentes. [3]

La mayoría de las funciones hash criptográficas están diseñadas para tomar una cadena de cualquier longitud como entrada y producir un valor hash de longitud fija.

Una función hash criptográfica debe ser capaz de soportar todos los tipos conocidos de ataques criptoanalíticos . En criptografía teórica, el nivel de seguridad de una función hash criptográfica se ha definido utilizando las siguientes propiedades:

La resistencia a la colisión implica una segunda resistencia previa a la imagen, pero no implica una resistencia previa a la imagen. [5] La suposición más débil siempre se prefiere en la criptografía teórica, pero en la práctica, una función hash que solo es resistente a una segunda imagen previa se considera insegura y, por lo tanto, no se recomienda para aplicaciones reales.


Una función hash criptográfica (específicamente SHA-1 ) en el trabajo. Un pequeño cambio en la entrada (en la palabra "sobre") cambia drásticamente la salida (resumen). Este es el llamado efecto avalancha .
La construcción hash de Merkle-Damgård