¿Qué es SHA-256?
SHA-256 (Secure Hash Algorithm de 256 bits) es una función hash criptográfica de la familia SHA-2 que toma una entrada de longitud arbitraria y produce un resumen fijo de 256 bits (32 bytes), diseñada para ser una función unidireccional en la que la salida no revela nada sobre la entrada.
También conocido como: SHA-2, Secure Hash Algorithm
Una función hash criptográfica debe cumplir tres propiedades: resistencia a la preimagen (dado un hash, es inviable encontrar la entrada original), resistencia a la segunda preimagen (dada una entrada, es inviable encontrar una entrada diferente con el mismo hash) y resistencia a colisiones (es inviable encontrar dos entradas distintas que produzcan el mismo hash). SHA-256 cumple las tres y permanece sin romperse desde su publicación por el NIST en 2001.
SHA-256 produce una salida de 256 bits independientemente del tamaño de la entrada: hacer el hash de un solo carácter y el de un archivo de un gigabyte producen ambos un resumen de 32 bytes. El efecto avalancha garantiza que cambiar aunque sea un bit de la entrada produzca un hash completamente diferente sin ningún patrón discernible. Esto hace que SHA-256 sea útil para la verificación de integridad: almacena el hash de un archivo y, más tarde, vuelve a calcular el hash del archivo para confirmar que no se ha modificado.
SHA-256 no es un algoritmo de cifrado: el hashing es una operación unidireccional sin descifrado correspondiente. Se utiliza como pieza de construcción en muchas construcciones criptográficas: HMAC-SHA256 para la autenticación de mensajes, PBKDF2-SHA256 para la derivación de claves, las huellas digitales de certificados, la prueba de trabajo de blockchain y los esquemas de firma digital. Su amplia adopción en protocolos y plataformas lo convierte en una de las primitivas más importantes de la criptografía moderna.
Cómo usa Vaulted SHA-256
SHA-256 es la función hash que subyace al proceso de derivación de claves de Vaulted. Cuando se usa una frase de contraseña para proteger un secreto, PBKDF2 aplica HMAC-SHA256 de forma iterativa (100.000 rondas) para derivar una clave de envoltura a partir de la frase de contraseña y un salt aleatorio. SHA-256 es también la función hash utilizada en el cálculo HMAC que genera los tokens de las páginas de estado, garantizando que solo el creador del secreto pueda acceder a la página de estado de su secreto.