A origem da «semente» fornecida pela Agência de Segurança Nacional dos EUA (NSA), usada em curvas elípticas relacionadas com o ECDSA e normalizadas em 2000 pelo Instituto Nacional de Normas e Tecnologia dos EUA (NIST), permaneceu desconhecida durante cerca de 25 anos. Segundo relatos, a IA Claude, da Anthropic, encontrou pistas sobre o método de geração em menos de 30 minutos. Não se trata de ter quebrado a cifra, mas de um caso em que se esclareceu a proveniência de um valor de configuração.
Não quebrou a cifra: desvendou a proveniência
Quando se ouve dizer que a IA desvendou um mistério da criptografia, é fácil imaginar uma cena espetacular, como se tivesse quebrado uma chave. Mas, neste caso, o que se descobriu foi algo diferente. O mistério não dizia respeito à segurança da cifra em si, mas à proveniência: «De onde veio este número?».
É precisamente aí que está o interesse da notícia. Em vez de recorrer à força bruta para ultrapassar um obstáculo com poder de computação, a IA foi restringindo as hipóteses com base em pequenas irregularidades nos dados. Foi assim que uma forma de utilizar a IA respondeu a uma questão que permanecia em aberto há quase 25 anos.
A semente misteriosa que suscitou suspeitas
O ECDSA é uma norma amplamente utilizada para assinaturas digitais baseadas em curvas elípticas. O valor que serve de ponto de partida para gerar os parâmetros das curvas usados nesta norma é conhecido como «semente», e foi fornecido pela NSA. No entanto, nunca foi explicado como esse valor tinha sido gerado.
É como um molho secreto sem receita. Mesmo que o sabor seja inquestionável, se não soubermos o que contém, haverá quem suspeite de que lhe foi acrescentado algo. Valores de configuração cuja origem não é clara alimentam receios de que possam esconder uma backdoor (porta traseira) deliberada. Ao longo dos anos, foram oferecidas recompensas e voluntários realizaram investigações.
Jerry Solinas, antigo funcionário da NSA, já falecido, sugeriu que a semente poderia ser o resultado de aplicar uma função de hash (converter um valor noutro segundo regras fixas) a uma frase humorística, mas essa hipótese estava errada.
Uma irregularidade de 31 bits serviu de pista
Claude chamou a atenção para um padrão presente em algumas sementes: os bits mais significativos eram sistematicamente zero. A geração das sementes recorria ao «lrand48», um gerador de números pseudoaleatórios simples da linguagem C. Segundo se diz, como valor inicial foi utilizado um timestamp Unix — o número de segundos decorridos desde 1 de janeiro de 1970 — de um momento entre maio de 1997 e abril de 1998.
O fator decisivo foi uma característica do «lrand48»: a sua saída limita-se a 31 bits. Se um espaço de 32 bits só receber valores de 31 bits, o bit mais significativo tenderá a ser zero. Foi essa irregularidade que Claude interpretou não como um padrão anómalo, mas como a assinatura de um gerador de números pseudoaleatórios específico.
A rapidez — menos de 30 minutos — também chama a atenção. No entanto, esse número é apenas uma estimativa do tempo de trabalho e não deve ser apresentado sem ter em conta os anos de investigação e debate que o antecederam. Na minha opinião, o ponto forte da IA foi ter reparado, sem ideias preconcebidas, numa pista que os humanos tinham deixado passar durante anos.
Esclarecer a origem não prova a segurança
Segundo relatos, a Anthropic afirmou que esta explicação torna menos provável a hipótese de existir uma backdoor deliberada. Mas «menos provável» não é o mesmo que «provado que não existe». Identificar o método de geração da semente é um avanço importante, mas, por si só, não garante a segurança de toda a curva.
A confiança na criptografia depende não só da robustez, mas também da possibilidade de terceiros verificarem a origem dos valores de configuração. Este caso voltou a mostrar que um «número inexplicável» pode continuar a suscitar suspeitas durante muitos anos.
A recompensa de 36 864 dólares associada a este mistério deverá ser doada pela Anthropic à organização sem fins lucrativos Internet Security Research Group (ISRG).


コメント