Uma função de hash criptográfica é uma ferramenta que transforma dados arbitrários em uma “impressão digital” de extensão fixa. As funções de hash são projetadas para que seja difícil encontrar duas entradas diferentes que tenham a mesma impressão digital e para que seja difícil encontrar uma mensagem cuja impressão digital corresponda a um valor fixo.
Ao contrário dos esquemas de encriptação, esquemas de assinatura e MACs, as funções de hash não possuem uma chave. Qualquer pessoa pode calcular o hash de uma determinada entrada e a função de hash sempre produzirá o mesmo resultado considerando a mesma entrada.
As funções de hash são um componente essencial em algoritmos e protocolos criptográficos maiores. Isso inclui algoritmos de assinatura digital, algoritmos com MAC dedicados, protocolos de autenticação e armazenamento de senhas.