Um quebra-cabeça de décadas sobre a origem das sementes das curvas elípticas do NIST foi resolvido, e a resposta é muito mais prosaica do que os rumores sugeriam. A Anthropic afirmou que seu modelo de pesquisa interno, o Claude, concluiu que as sementes foram geradas por um gerador padrão de números aleatórios inicializado com um timestamp Unix. O trabalho esclarece uma questão que os criptógrafos vinham fazendo desde a publicação dos padrões.

As curvas em questão pertencem ao ECDSA, que a Anthropic descreve como o padrão de criptografia de curvas elípticas mais amplamente utilizado. O National Institute of Standards and Technology o adotou em 2000 como parte do FIPS 186-2 Digital Signature Standard. Esse padrão lista um conjunto de curvas em diferentes tamanhos e níveis de segurança. Para curvas sobre corpos primos e binários, as especificações incluíam um valor de “semente” cujo hash define um coeficiente da curva. A NSA forneceu essas sementes sem nenhuma explicação ou justificativa. A semente da curva NIST P-256, por exemplo, chegou sem qualquer registro de sua origem.

Essa lacuna alimentou anos de especulação. Os autores Neal Koblitz e Alfred Menezes resumiram a polêmica em um artigo intitulado “A Riddle Wrapped in an Enigma”. Seguiu-se uma investigação amadora, e foi oferecida uma recompensa a quem conseguisse descobrir a origem das sementes. A teoria mais popular sustentava que Jerry Solinas, um funcionário de longa data da NSA, teria gerado as sementes aplicando hash a uma frase-senha bem-humorada. Solinas disse em 2015 que não se lembrava dos detalhes. Ele morreu em 2023, e outros colegas da época não responderam aos pedidos de informação, de modo que a questão permaneceu em aberto.

Vários funcionários da Anthropic tentaram localizar a frase-senha e não conseguiram. Essa pista, descobriu-se depois, estava errada. Em outubro de 2026, um funcionário curioso perguntou ao modelo de pesquisa interno se ele conseguiria descobrir como as sementes foram geradas sem ser orientado sobre a pista. A Anthropic afirmou que o Claude encontrou a origem das sementes P-192, P-224, P-256, P-384 e P-521 em menos de meia hora. Nenhuma delas veio de um hash. Elas eram a saída do gerador de números aleatórios lrand48 da biblioteca C, inicializado com um timestamp Unix.

Como a busca pela frase não deu resultado, o Claude adotou uma abordagem diferente. Ele supôs que o software usava um gerador de números pseudoaleatórios comum nas bibliotecas C dos anos 1990. Esses geradores são fracos a ponto de sua saída poder ser reconhecida. O Claude escreveu um escaneador que testou se trechos de cada semente publicada eram saídas consecutivas de um gerador desse tipo. No caminho, notou que os bits mais significativos de algumas sementes eram todos zero. A Anthropic disse que esse padrão ocorreria por acaso com probabilidade de cerca de 1 em 5.810. O padrão correspondia ao lrand48, que retorna apenas os 31 bits mais significativos de um estado interno de 48 bits. A partir daí, o Claude recuperou os bits ocultos e confirmou que a saída correspondia às sementes.

As sementes das curvas primas exigiram mais trabalho, porque a saída do gerador era truncada. A Anthropic afirmou que o Claude usou um algoritmo de redução de reticulados para recuperar o estado interno a partir desses bits parciais. Cinco sementes das curvas primas do NIST e outras cinco do padrão ANSI X9.62 compartilhavam o mesmo padrão de bits. Cada estado recuperado regenerou todos os 160 bits de sua semente. A Anthropic disse que isso não poderia ocorrer por acaso.

Os próprios timestamps são reveladores. A Anthropic informou que as dez inicializações das curvas primas correspondem a datas entre maio de 1997 e abril de 1998. As quatro inicializações das curvas binárias indicam fevereiro de 1984, mas, quando dobradas, correspondem a 17 de abril de 1998, duas semanas após a execução do P-224. A Anthropic disse que isso sugere que o programa pode ter dividido o valor do relógio pela metade.

A Anthropic foi clara sobre o que a descoberta não demonstra. Não se trata de uma quebra criptográfica, de um novo ataque ou de uma fraqueza nas curvas ECDSA. A empresa afirmou que as descobertas tornam menos plausível que as curvas tenham sido escolhidas para conter portas dos fundos. As sementes foram geradas de uma forma simples que qualquer pessoa pode reproduzir agora.

A equipe também rastreou alguns dos pontos base, os pontos fixos dos quais deriva cada chave pública ECDSA. Seis curvas, entre elas a P-192 e cinco curvas de exemplo do ANSI X9.62, têm pontos base que vêm do gerador de números aleatórios do FreeLIP, um pacote de aritmética de inteiros longos escrito por Arjen Lenstra. Versões iniciais da biblioteca NTL, de Victor Shoup, incluíam o mesmo código. A Anthropic disse que nenhum ponto base do NIST havia sido explicado antes. Os pontos base de P-224, P-256, P-384 e P-521 não se encaixam na mesma receita, e a equipe não conseguiu determinar como foram selecionados.

Várias questões permanecem em aberto. A Anthropic afirmou que algumas curvas viáveis foram descartadas durante a geração e não sabe quais critérios levaram a essa escolha nem se ela foi acidental. A equipe não conseguiu recuperar a semente da quinta curva binária, a B-163. Também não se sabe como foram produzidos os pontos base do NIST ou os pontos base das curvas binárias. A Anthropic disse não acreditar que curvas enfraquecidas tenham sido selecionadas, pois isso implicaria que elas são comuns e fáceis de encontrar.

O trabalho foi conduzido na Anthropic por John Wood, Henry de Valence, Ava Howell, Zack Voase, Lucy Sweet, Amir Omidi, Paul Crowley, Iain McGinniss, Nicholas Carlini e Steve Weis. A empresa publicou o código usado para reproduzir as sementes e os pontos base selecionados. A recompensa de US$ 36.864 será destinada ao Internet Security Research Group.

Questo articolo è stato scritto con l'assistenza dell'IA.
News Factory APP - notizie agentiche per potenziare il tuo SEO e AEO.