Hash
![](https://upload.wikimedia.org/wikipedia/commons/thumb/c/cc/OpenSSL-funcion_HASH.jpg/450px-OpenSSL-funcion_HASH.jpg)
Una función HASH o también llamados resúmenes, tiene por objetivo lograr un extracto (siempre de igual tamaño) de cualquier tipo de archivo binario, con el propósito que se puede generar una relación vinculante EN UN SOLO SENTIDO desde el documento hacia el HASH.
Propiedades de una función HASH
Una función HASH “h” aplicada a un archivo “M”, es decir, h(M) será segura si tiene las siguientes características:
- Unidireccionalidad: conocido un resumen h(M), debe ser computacionalmente imposible encontrar M a partir de dicho resumen.
- Compresión: a partir de un mensaje de cualquier longitud, el resumen h(M) debe tener una longitud fija. Lo normal es que la longitud de h(M) sea menor que el mensaje M.
- Facilidad de cálculo: debe ser fácil calcular h(M) a partir de un mensaje M.
- Difusión: el resumen h(M) debe ser una función compleja de todos los bits del mensaje M: si se modifica un solo bit del mensaje M, el hash h(M) debería cambiar la mitad de sus bits aproximadamente.
- Colisión simple: será computacionalmente imposible conocido M, encontrar otro M’ tal que h(M) = h(M’). Esto se conoce como resistencia débil a las colisiones.
- Colisión fuerte: será computacionalmente difícil encontrar un par (M, M’) de forma que h(M) = h(M’). Esto se conoce como resistencia fuerte a las colisiones.
En el capítulo 8 de nuestro libro Seguridad por Niveles, puedes analizar y estudiar todos los conceptos sobre Criptografía:
8. ALGUNOS CONCEPTOS MÁS
8.1. Breves conceptos de criptografía 441 8.1.6. Función HASH (o resúmenes)
Este tema lo hemos desarrollado en el video 3 de nuestro ciclo sobre OpenSSL, puedes verlo en:
"OpenSSL (Parte 3)" - Certificados digitales (Estándar ITU-T X.509)