Uma função de hash transforma dados numa impressão digital de tamanho determinado. Alterar os dados, mesmo ligeiramente, produz normalmente uma impressão diferente. Esta propriedade torna os hashes úteis para integridade e comparação, mas um hash não é cifragem.
Hash e cifragem têm objetivos diferentes
A cifragem foi concebida para tornar dados ilegíveis sem a chave necessária para os decifrar. Um hash é uma transformação de sentido único utilizada para produzir uma impressão. Não se “decifra” um hash para recuperar o ficheiro original.
Comparar duas impressões
Se dois ficheiros produzirem a mesma impressão com o mesmo algoritmo, isso oferece uma forma prática de verificar que correspondem. A confiança depende, porém, da origem da impressão de referência: comparar um ficheiro comprometido com um hash obtido pelo mesmo canal comprometido não cria uma fonte de confiança independente.
Os algoritmos não têm todos a mesma utilização
SHA-256 continua amplamente utilizado para verificar integridade de ficheiros e em vários protocolos. SHA-3 pertence a outra família moderna. MD5 e SHA-1 ainda aparecem em sistemas antigos ou controlos não adversariais, mas as suas fragilidades de colisão tornam-nos inadequados para muitos usos de segurança.
Quando uma fonte publica várias impressões, prefira o algoritmo moderno recomendado em vez do mais curto ou mais familiar.
Colisões e propriedades criptográficas
Como o espaço de entradas é maior do que o espaço de saídas, colisões são matematicamente possíveis. A segurança de uma boa função moderna depende de ser impraticável construir deliberadamente uma colisão útil no contexto considerado.
O comprimento de uma impressão não deve, por isso, ser interpretado como garantia absoluta sem considerar o algoritmo e o modelo de ameaça.
Verificar um download
Um caso comum consiste em calcular o hash do ficheiro descarregado e compará-lo com um valor publicado por uma fonte de confiança. Se os valores forem diferentes, o conteúdo não corresponde. Se forem iguais, sabe que o ficheiro corresponde à referência comparada.
Isto não prova, por si só, a origem do ficheiro. Para uma garantia mais forte de autenticidade pode ser necessária uma assinatura digital.