Ataque de colisão
Encontrar duas entradas diferentes que geram o mesmo hash, o que é mais fácil do que achar uma entrada para um valor de hash dado.
Uma função de hash é resistente a colisões se ninguém consegue, na prática, achar duas mensagens diferentes com a mesma saída. O paradoxo do aniversário faz uma colisão custar mais ou menos a raiz quadrada do espaço de saída. Um hash de 128 bits pode, portanto, colidir após cerca de 2^64 avaliações em teoria, e é por isso que saídas de 256 bits são a recomendação usual para segurança de longo prazo.
Os ataques práticos vieram em seguida. O MD5 foi quebrado em etapas entre 1996 e 2004, quando Xiaoyun Wang e coautores produziram colisões construídas. O SHA-1 caiu em 2017, quando o CWI e o Google publicaram dois arquivos PDF com o mesmo hash. A lição é simples: não dá para confiar num hash para provar que dois documentos são iguais quando a outra parte escolhe o conteúdo.