CyberGlossary

Criptografía

Sal

También conocido como: Sal criptográfica, Sal de contraseña

Definición

Valor aleatorio único que se combina con una contraseña antes del hashing para frustrar tablas arcoíris y diferenciar el hash de cada usuario.

Una sal criptográfica es un valor aleatorio no secreto que se mezcla con una contraseña antes de pasarla a una función hash o KDF como Argon2, scrypt, bcrypt o PBKDF2. La sal hace que dos usuarios con la misma contraseña obtengan hashes almacenados distintos, anulando las tablas arcoíris precomputadas y obligando a que los ataques masivos sean lineales en lugar de en lote. Debe tener al menos 16 bytes, generarse con un RNG criptográficamente seguro, ser única por credencial y almacenarse junto al hash; no es necesario que sea secreta. Los formatos modernos (PHC string, $argon2id$..., $2b$..., $scrypt$...) incluyen la sal directamente. También se usa en HKDF y en esquemas de cifrado asimétrico aleatorizado con el mismo fin de diversificación.

Ejemplos

  • Un hash Argon2id del tipo $argon2id$v=19$m=65536,t=3,p=1$<sal-base64>$<hash-base64>.
  • Una sal aleatoria de 16 bytes única por usuario, generada al crear la cuenta.

Términos relacionados