Saltar al contenido
ecdsa.com

Función hash criptográfica

Una función que transforma una entrada de cualquier longitud en un resumen de longitud fija de modo que encontrar una preimagen, una segunda preimagen o cualquier colisión sea computacionalmente inviable.
También se escribehash functioncryptographic hashhash

Importan tres propiedades: la resistencia a preimágenes (dado un resumen, encontrar cualquier entrada), la resistencia a segundas preimágenes (dada una entrada, encontrar otra con el mismo resumen) y la resistencia a colisiones (encontrar dos entradas cualesquiera que colisionen). Para un resumen de n bits, los costes genéricos son de unos 2ⁿ, 2ⁿ y 2ⁿᐟ², este último por la paradoja del cumpleaños, y por eso SHA-256 ofrece 128 bits de resistencia a colisiones.

Funciones estándar: SHA-2 (de SHA-224 a SHA-512, FIPS 180-4) y SHA-3 con las funciones de salida extensible SHAKE (FIPS 202) están aprobadas; BLAKE2 (RFC 7693) se usa mucho fuera de los contextos del NIST; MD5 y SHA-1 están rotas en cuanto a colisiones y no deben usarse donde un atacante pueda elegir las entradas. Los diseños Merkle–Damgård (MD5, SHA-1, SHA-2) permiten la extensión de longitud; las construcciones de esponja (SHA-3) y los diseños HAIFA (BLAKE2), no.

Un hash no es un MAC, ni un hash de contraseñas, ni cifrado: usa HMAC o KMAC para la integridad con clave, Argon2id, scrypt o PBKDF2 para las contraseñas, y un AEAD para la confidencialidad. Las computadoras cuánticas apenas afectan a los hashes: el algoritmo de Grover como mucho reduce a su raíz cuadrada el coste de encontrar preimágenes, y el plan de transición en borrador del NIST mantiene en servicio SHA-256 y SHA-3.

Estándares y referencias

Todos los términos