![]() | Foram assinalados vários problemas nesta página ou se(c)ção: |
Em criptografia, sal (salt em inglês) é um dado aleatório que é usado como uma entrada adicional para uma função unidirecional que "quebra" os dados, uma senha ou frase-passe. Os sais são usados para proteger as senhas no armazenamento. Historicamente, uma senha era armazenada em texto simples em um sistema, mas com o tempo, salvaguardas adicionais foram desenvolvidas para proteger a senha de um usuário contra a leitura pelo sistema. O sal é um desses métodos.
Um novo sal é gerado aleatoriamente para cada senha. Em uma configuração típica, o sal e a senha (ou sua versão após o alongamento de chave) são concatenados e processados com uma função hash criptográfica e a saída resultante (mas não a senha original) é armazenada com o sal em um banco de dados. O hash permite a autenticação posterior sem manter, e, portanto, pôr em risco, a senha em texto puro, caso o armazenamento de dados de autenticação seja comprometido.
Sais permitem defender-se contra ataques de dicionário ou contra seu equivalente em hash, um ataque pré-computado de tabela arco-íris.[1] Como os sais não precisam ser memorizados por humanos, eles podem tornar o tamanho da tabela arco-íris necessário para um ataque bem-sucedido, proibitivamente grande sem sobrecarregar os usuários. Como os sais são diferentes em cada caso, eles também protegem as senhas comumente usadas ou os usuários que usam a mesma senha em vários sites, tornando todas as instâncias hash "salgadas" para a mesma senha, diferentes umas das outras.
Sais criptográficos são amplamente usados em muitos sistemas de computadores modernos, desde credenciais do sistema Unix até segurança na Internet.
Os sais estão intimamente relacionados ao conceito de um nonce criptográfico.