Colisão de hash
Uma colisão de hash ocorre quando duas entradas diferentes produzem o mesmo resumo hash.
Definição
Uma colisão de hash acontece quando duas entradas distintas produzem o mesmo resumo na mesma função hash. Colisões precisam existir em qualquer hash de tamanho fixo porque há mais entradas possíveis do que saídas, mas um hash seguro as torna impraticáveis de encontrar.
Resistência a colisões importa quando um resumo identifica conteúdo, assina documentos, compara arquivos ou protege integridade contra um atacante.
Resistência a colisões
Para um hash ideal de n bits, uma busca genérica de colisão custa cerca de 2^(n/2) trabalho por causa do limite do aniversário. Isso é diferente da resistência à pré-imagem, em que o objetivo é encontrar uma entrada para um resumo específico e o custo genérico é cerca de 2^n.
MD5 e SHA-1 têm ataques práticos de colisão e não devem ser usados em novos projetos sensíveis à segurança. SHA-256, SHA-512, SHA-3 e BLAKE2 são escolhas modernas quando usados na construção correta.
O que uma colisão não significa
Um ataque de colisão não descriptografa um hash nem revela a mensagem original. Ele mostra que um atacante pode criar duas entradas diferentes com o mesmo resumo, o que pode quebrar assinaturas, certificados ou identificadores de conteúdo que dependem de unicidade.
A segurança de HMAC não depende apenas de resistência a colisões do mesmo modo que assinaturas simples sobre um resumo, mas protocolos ainda devem escolher funções hash atuais e seguir suas especificações.
Não. Colisões são matematicamente inevitáveis, mas um hash bem projetado torna impraticável encontrar colisões úteis.
Não. Reversão tenta encontrar uma entrada para um resumo dado; colisão encontra duas entradas diferentes com o mesmo resumo.
Ambos têm ataques práticos de colisão, então atacantes podem criar entradas diferentes que compartilham um resumo em cenários onde a resistência a colisões importa.