Bem-vindo ao shattered.io
O shattered.io é um sítio educativo independente sobre criptografia, segurança, privacidade e a tecnologia que torna possíveis os sistemas comprovadamente justos. Este domínio é a casa histórica da investigação SHAttered de 2017, o trabalho que demonstrou a primeira colisão prática da função de dispersão SHA-1, conduzido por equipas do CWI Amesterdão e da Google.
Aqui escrevemos explicações claras para quem quer perceber como funcionam as funções de dispersão, as assinaturas digitais, os certificados e os mecanismos que provam que um resultado não foi manipulado. Não vendemos produtos nem operamos serviços. O objetivo é simples: ajudar leitores curiosos, estudantes e profissionais a compreender ideias técnicas sem jargão desnecessário.
O nome do sítio é também um trocadilho. SHAttered junta o nome da função SHA-1 à palavra inglesa para algo que foi quebrado, e descreve com exatidão o que a investigação conseguiu fazer a uma função que, durante anos, foi considerada de confiança. A partir desse marco, alargámos o âmbito para cobrir os temas vizinhos que ajudam a explicar porque é que a integridade dos dados importa.
A história da colisão SHA-1
A 23 de fevereiro de 2017, investigadores do CWI Amesterdão e da Google anunciaram que tinham produzido a primeira colisão prática para a função de dispersão SHA-1. O projeto chamava-se SHAttered. Uma função de dispersão recebe um ficheiro de qualquer tamanho e devolve um valor de comprimento fixo, uma espécie de impressão digital. Em teoria, dois ficheiros diferentes deveriam ter impressões diferentes. Quando dois ficheiros distintos partilham a mesma impressão, dizemos que ocorreu uma colisão, e isso quebra a garantia central em que muitos sistemas confiam.
A equipa construiu dois ficheiros PDF diferentes que partilham exatamente a mesma impressão SHA-1, o valor 38762cf7f55934b34d179ae6a4c80cadccbb7f0a. Os dois documentos têm conteúdo visível distinto, mas o SHA-1 não consegue distingui-los. Para mostrar que continuam a ser ficheiros realmente diferentes, basta calcular sobre eles uma função mais forte como o SHA-256: aí os valores divergem de imediato. A demonstração não foi um acidente de sorte. Exigiu uma quantidade enorme de cálculo e técnicas matemáticas refinadas para encontrar o par certo.
Porque é que uma colisão importa
Muitas tecnologias do dia a dia assentam na ideia de que a impressão de um ficheiro é única. Quando assina digitalmente um documento, o que é assinado na prática é a impressão desse documento. Se um atacante conseguir criar dois ficheiros com a mesma impressão, pode obter uma assinatura sobre um deles (por exemplo, um contrato inofensivo) e depois reaproveitar essa assinatura para o outro (um contrato adulterado). O mesmo raciocínio aplica-se a certificados de sítios seguros, a atualizações de software e a qualquer sistema que verifique integridade através de uma impressão.
Foi por isso que a colisão SHAttered teve tanto peso. Não foi apenas um exercício académico. Mostrou de forma concreta que o SHA-1 já não devia ser usado onde a segurança depende da resistência a colisões, e acelerou a migração para funções mais sólidas como a família SHA-2 e o SHA-3. Os principais navegadores e fornecedores de certificados já tinham começado a abandonar o SHA-1, e esta prova prática reforçou essa decisão.
Vale a pena distinguir dois tipos de ataque. Encontrar uma mensagem que produza uma impressão escolhida de antemão (a chamada resistência à pré-imagem) continua a ser muito difícil para o SHA-1. O que a investigação quebrou foi a resistência a colisões: a garantia de que ninguém consegue construir, de raiz, dois ficheiros diferentes com a mesma impressão. Para muitos usos, sobretudo assinaturas, é precisamente essa segunda garantia que conta, e por isso o resultado foi tão relevante na prática.
Descarregar os materiais originais
Os dois ficheiros PDF que colidem e o artigo de investigação que descreve o método continuam disponíveis para consulta. Pode descarregá-los aqui:
- Primeiro PDF que colide: https://shattered.io/static/shattered-1.pdf
- Segundo PDF que colide: https://shattered.io/static/shattered-2.pdf
- Artigo de investigação completo: https://shattered.io/static/shattered.pdf
Se calcular o SHA-1 dos dois primeiros ficheiros, obtém o mesmo valor. Se calcular o SHA-256, os valores são diferentes. É a forma mais direta de ver a colisão com os seus próprios olhos.
Explore os temas do sítio
A partir deste ponto de partida, convidamo-lo a percorrer os restantes temas do shattered.io. Encontrará explicações sobre funções de dispersão e o que significa resistência a colisões, sobre assinaturas digitais e certificados, sobre privacidade e proteção de dados, e sobre a tecnologia por detrás dos sistemas comprovadamente justos usados em sorteios e jogos verificáveis. Cada artigo procura responder a uma pergunta concreta com linguagem acessível e exemplos práticos. Comece por onde tiver mais curiosidade e siga as ligações entre os tópicos relacionados.



