CyberGlossary

Criptografia

Salt

Também conhecido como: Salt criptográfico, Salt de palavra-passe

Definição

Valor aleatório único combinado com uma palavra-passe antes do hashing para anular tabelas arco-íris e tornar único o hash de cada utilizador.

Um salt criptográfico é um valor aleatório não secreto que se mistura com uma palavra-passe antes desta ser entregue a uma função de hash ou KDF como Argon2, scrypt, bcrypt ou PBKDF2. O salt assegura que dois utilizadores com a mesma palavra-passe têm hashes guardados diferentes, derrotando tabelas arco-íris pré-computadas e forçando ataques em larga escala a serem lineares em vez de em lote. Deve ter pelo menos 16 bytes, ser gerado por um RNG criptograficamente seguro, ser único por credencial e ficar guardado junto ao hash; não precisa de ser secreto. Os formatos modernos (PHC string, $argon2id$..., $2b$..., $scrypt$...) embutem o salt diretamente. O HKDF e esquemas randomizados de chave pública também usam salts com o mesmo objetivo de diversificação.

Exemplos

  • Um hash Argon2id do tipo $argon2id$v=19$m=65536,t=3,p=1$<salt-base64>$<hash-base64>.
  • Um salt aleatório de 16 bytes único por utilizador, gerado na criação da conta.

Termos relacionados