SHA-1

Hash de 160 bits — historicamente importante, hoje inseguro

NSA / NIST · FIPS 180-1 (1995) · resistência a colisão quebrada

Função de Hash · Legado

O que foi e por que caiu

Hash · Legado
O SHA-1 produz um resumo de 160 bits via construção Merkle–Damgård, semelhante ao SHA-256. Foi onipresente por ~20 anos, mas sua resistência a colisão foi quebrada — não deve mais ser usado para fins de segurança.

Da teoria ao ataque real

A resistência a colisão nominal seria 280 (limite do aniversário sobre 160 bits), mas a criptanálise a reduziu progressivamente.

2005 → ataque teórico < 269
2017 → SHAttered: colisão real ≈ 263
2020 → colisão de prefixo escolhido barata

O que "colisão" permite

Forjar dois documentos com o mesmo hash — por exemplo, dois PDFs ou certificados de aparência diferente que recebem a mesma assinatura digital. Isso destrói a garantia de integridade.

SHAttered (2017): Google e CWI publicaram dois PDFs distintos com hash SHA-1 idêntico, provando o ataque na prática.

Situação atual e a lição didática

Onde ainda aparece

  • Proibido em certificados TLS e assinaturas digitais.
  • Git ainda usa SHA-1 para IDs de objeto, mas com proteção anti-colisão e migrando para SHA-256.
  • HMAC-SHA1 permanece tecnicamente seguro (o HMAC não depende de resistência a colisão), porém é desencorajado.

A lição

Segurança criptográfica envelhece: o que era forte ontem pode cair com novos ataques e mais poder computacional. Daí a importância da agilidade criptográfica — poder trocar de algoritmo sem reescrever o sistema.

Regra prática: para qualquer uso novo de hash, escolha SHA-256 ou SHA-3.

Em resumo

O SHA-1 é um marco histórico aposentado para segurança: colisões práticas (SHAttered, 2017) tornaram-no inadequado para assinaturas e certificados. Serve de exemplo de que algoritmos têm prazo de validade. Use SHA-256 ou SHA-3.

SHA-256 MD5 HMAC Todos os algoritmos
Voltar aos Pilares