O Curioso Caso do MD5
O MD5, uma função hash criptográfica antiga há décadas considerada “quebrada” para segurança, ainda é amplamente usada em áreas como perícia digital, direito, genômica e armazenamento em nuvem para identificar arquivos e verificar integridade. Os comentaristas debatem se isso é aceitável, dado que o MD5 é vulnerável a ataques de colisão (em que duas entradas diferentes compartilham um hash), mas ainda se acredita que resista a ataques de segunda pré-imagem, mais exigentes, e observam que muitos fluxos de trabalho do mundo real dependem mais de processo e contexto legais do que de garantias criptográficas. Outros argumentam que continuar usando MD5 é uma dívida técnica desnecessária quando alternativas mais rápidas, mais fortes e aprovadas pelo NIST, como SHA‑2, SHA‑3 ou BLAKE3, estão amplamente disponíveis e são fáceis de adotar.
Papel do MD5 Hoje
- Muitos comentaristas ainda usam MD5 como um checksum de 128 bits rápido e ubíquo para integridade de arquivos, deduplicação e IDs, explicitamente não como um hash criptográfico.
- Outros argumentam que usos como “checksum” podem, silenciosamente, tornar-se relevantes para segurança com o tempo, então é mais seguro adotar por padrão um hash criptográfico moderno.
Colisões, Limites do Paradoxo do Aniversário e Ataques de Pré-imagem
- Repetem-se esclarecimentos de que o MD5 está muito comprometido em resistência a colisões (é fácil criar duas entradas diferentes com o mesmo hash), com várias demonstrações práticas (híbridos PDF/NES, “quines” de imagem, etc.).
- É enfatizada a distinção entre:
- Ataques de colisão: o atacante controla ambas as mensagens.
- Ataques de segunda pré-imagem: o atacante precisa encontrar uma nova mensagem que colida com uma dada; esses continuam muito mais difíceis e atualmente não são práticos para MD5.
- Há alguma confusão sobre o problema do aniversário (se seriam necessários ~2^64 ou 2^128 testes para colisões em um hash de 128 bits); várias respostas explicam o limite padrão de aniversário de 2^64, mas também observam restrições de armazenamento/algoritmo para realmente encontrar colisões na prática.
Desempenho e Hashes Alternativos
- Várias postagens afirmam que o MD5 é mais rápido; outras contrapõem que, em CPUs modernas com instruções SHA, o SHA‑256 pode igualar ou superar o MD5, especialmente em toolchains comuns usando OpenSSL.
- Alternativas propostas por caso de uso:
- SHA‑256 (e SHA‑256 truncado) como substituto quase direto, amplamente suportado e aprovado pelo NIST.
- SHA‑3 e BLAKE2/BLAKE3 para propriedades mais fortes ou paralelismo, embora o SHA‑3 não tenha aceleração por hardware amplamente difundida.
- Checksums não criptográficos (CRC32, Adler32) considerados adequados apenas para detecção de erros de curto alcance, não para identificação de arquivos em larga escala.
Contexto Legal e Forense
- Muitos profissionais de direito/forense tratam o MD5 como um elemento em um processo probatório mais amplo; a cadeia de custódia é imposta principalmente por regras legais, não pela matemática.
- O consenso é que evidências forjadas dependem mais de fatores humanos, acesso ao sistema e plausibilidade narrativa do que apenas da escolha do hash.
- Alguns argumentam que a fraqueza conhecida do MD5 poderia minar o peso probatório percebido e que ataques futuros ou casos que definam precedentes poderiam forçar uma migração apressada; outros acham que o risco no mundo real é mínimo e manejável.
Entrincheiramento, Usabilidade e Pragmatismo
- O MD5 persiste em ecossistemas como genômica, arquivos de pirataria, ferramentas de deduplicação, verificações de integridade do Azure Blob e até armazenamento de senhas em algum software.
- Custos de migração, compatibilidade e a saída hexadecimal mais curta de 32 caracteres do MD5 são citados como razões práticas para sua permanência.
- Vários comentaristas argumentam: como hashes seguros são “baratos o suficiente” e erros de modelagem de ameaça são comuns, a regra mais simples é parar de defender o MD5 e simplesmente usar um hash moderno em todo lugar.