Modelos e plataformas de IA
Anthropic afirma que Claude rastreou as sementes das curvas ECDSA da NIST até um gerador de números aleatórios da década de 1990

A Frontier Red Team da Anthropic informou, em uma publicação de pesquisa de 16 de outubro de 2026, que um modelo interno de pesquisa Claude havia rastreado a origem das sementes das curvas ECDSA da NIST até o gerador de números aleatórios lrand48 da biblioteca C, inicializado com timestamps Unix. Com isso, respondeu a uma questão de procedência que permanecia em aberto desde que a NSA forneceu os valores sem explicação.
As sementes inexplicadas da NSA
ECDSA é o padrão de criptografia de curvas elípticas mais utilizado. A NIST o adotou em 2000 como parte do FIPS 186-2 Digital Signature Standard, que lista curvas elípticas padronizadas de diferentes tamanhos e níveis de segurança. Para curvas sobre campos primos e binários, a especificação publicou um parâmetro de semente cujo valor de hash define o coeficiente b da curva. A NSA forneceu essas sementes sem explicação nem justificativa, e a publicação reproduz a semente P-256 — C49D3608 86E70493 6A6678E1 139D26B7 819F7E90 — como exemplo de um valor publicado sem qualquer informação sobre sua origem.
Neal Koblitz e Alfred Menezes resumiram a controvérsia no artigo “A Riddle Wrapped in an Enigma”, e a questão posteriormente motivou uma investigação amadora sobre a origem das sementes e uma recompensa para quem conseguisse descobri-la. A versão mais aceita sustentava que Jerry Solinas, funcionário da NSA havia muitos anos, havia gerado as sementes como o hash de uma frase secreta humorística. Em uma declaração de 2015 reproduzida na publicação, Solinas recordou: “A mensagem era algo como ‘Deem um aumento a Bob e Jerry’ ou ‘Bob e Jerry mandam’ ou algo parecido.” Ele disse que Bob Reiter escreveu o código e que não foi possível encontrar arquivos daquele período. Solinas morreu em 2023, e outros colegas não responderam, deixando em aberto a questão de como as sementes foram geradas.
Como Claude recuperou as sementes
Vários funcionários da Anthropic haviam tentado, sem sucesso, encontrar as sementes seguindo a pista da frase secreta humorística, que, segundo a publicação, se revelou incorreta. Em outubro de 2026, um funcionário da Anthropic perguntou a um modelo interno de pesquisa se ele conseguiria descobrir como as sementes haviam sido geradas, sem mencionar a suposta pista. A Anthropic relata que, em menos de meia hora, Claude identificou a origem das sementes NIST P-192, P-224, P-256, P-384 e P-521: eram saídas do gerador de números aleatórios lrand48 da biblioteca C, inicializado com um timestamp Unix, sem envolvimento de nenhum algoritmo de hash. O programa gerador extraía 20 bytes a cada iteração como semente candidata, e a semente P-256 publicada era a candidata 1842 da execução.
Depois de esgotar as buscas baseadas em frases, Claude abordou o problema pelo lado do gerador, formulando a hipótese de que se tratava de um software baseado em um gerador de números pseudoaleatórios incluído nas bibliotecas C da década de 1990, com saídas suficientemente fracas para serem reconhecidas. Seu programa de análise avançou bit a bit por cada semente publicada, testando blocos adjacentes como possíveis saídas consecutivas de um gerador da década de 1990, em 34 combinações de gerador e segmentos de saída. Entre as sementes, um padrão se destacou: quando representadas por cinco palavras de 32 bits, quatro das dez têm o bit mais significativo zerado em todas as 20 palavras, uma configuração que ocorre ao acaso com probabilidade de 1/5810. Isso apontou para lrand48, um gerador congruencial linear que retorna apenas os 31 bits mais significativos de um estado de 48 bits. Para essas quatro sementes, Claude recuperou o estado do gerador testando cada um dos 2^17 valores possíveis para os 17 bits ocultos da primeira palavra e verificando se as quatro palavras seguintes correspondiam; o método funcionou para as quatro sementes.
As sementes das curvas sobre campos primos haviam sido produzidas pelo mesmo gerador lrand48, embora cada saída preservasse menos bits. Reconstruir o estado interno de um gerador congruencial linear truncado é um problema clássico de reticulados, que Claude resolveu com a redução de base de Lenstra–Lenstra–Lovász (LLL), aplicando o algoritmo a todas as janelas possíveis. Todas as cinco sementes das curvas sobre campos primos da NIST, além de outras cinco do padrão ANSI X9.62, correspondiam ao mesmo padrão, lrand48() >> 23, e cada estado recuperado de 48 bits reproduz todos os 160 bits da respectiva semente.
A publicação também reproduz o raciocínio interno registrado por Claude durante a sessão, no qual o modelo verificou se poderia estar operando em um ambiente de teste simulado antes de concluir: “A verificação foi feita por cálculo direto do meu lado: correspondência de 160 bits a partir de uma semente de 32 bits + um índice pequeno: coincidências impossíveis ao acaso (10 × 160 bits). É real.”
Timestamps e pontos-base
Como o gerador funciona tão facilmente em sentido inverso quanto em sentido direto, Claude retrocedeu o estado de cada semente até chegar a um estado de inicialização srand48, reconhecível pelos 16 bits menos significativos iguais a 0x330E, uma configuração que ocorre a cada 65.536 passos. Para todas as dez sementes das curvas sobre campos primos, as inicializações correspondiam a timestamps Unix entre maio de 1997 e abril de 1998. Já as inicializações das quatro curvas binárias correspondiam a fevereiro de 1984; ao duplicar esses timestamps, eles passam a corresponder a 17 de abril de 1998, duas semanas depois da execução de P-224, o que levou a equipe a sugerir que o programa talvez tivesse dividido o valor do relógio pela metade.
Claude também identificou a origem de alguns pontos base das curvas. Cada curva especifica um ponto base G, do qual toda chave pública ECDSA é um múltiplo, e a semente recuperada não o determina. Para as seis curvas geradas em maio de 1997 — P-192 e as curvas de exemplo ANSI X9.62 prime192v2, prime192v3 e prime239v1 a prime239v3 —, os pontos base remontam ao gerador de números aleatórios do FreeLIP, pacote de aritmética com inteiros longos de Arjen Lenstra, cujo código também foi incluído nas primeiras versões da biblioteca NTL de Victor Shoup. Segundo esse método, o gerador recebe como semente um número inteiro pequeno, sete resultados são descartados, e as coordenadas x candidatas são obtidas de resultados de 26 bits reduzidos módulo p; o sorteio se repete até que x pertença à curva. As sementes do gerador identificadas por Claude são 20000 para P-192; 20420, 20507 e 20509 para prime239v1 a prime239v3; e 20512 e 20517 para prime192v2 e prime192v3. A Anthropic afirma que, até onde sabe, nenhum ponto base da NIST havia sido explicado antes, e que os pontos base de P-224, P-256, P-384 e P-521 não se encaixam nesse método.
Avaliação de segurança e questões em aberto
A Anthropic afirma que as descobertas não representam uma quebra criptográfica, um novo ataque ou qualquer vulnerabilidade nas curvas ECDSA. A equipe disse que as sementes haviam sido geradas por um gerador de números pseudoaleatórios comum, inicializado com base no relógio — um método que qualquer pessoa pode reproduzir agora —, o que, em sua avaliação, deixa muito menos margem para adulteração e aumenta a confiança na segurança dos parâmetros. A publicação apresenta o resultado como um capítulo final e o fim de anos de especulação, dizendo aos leitores que não há nada a fazer, pois a maioria dos pesquisadores já confiava nas curvas.
Algumas questões permanecem em aberto. Nem toda semente candidata de 20 bytes poderia gerar uma curva viável, e a equipe observou que algumas candidatas potencialmente viáveis foram ignoradas. A semente publicada de P-256 é a candidata 1842, mas a candidata 876 da mesma execução também produz uma curva de ordem prima do tamanho adequado, com parâmetros escolhidos da mesma forma que os da curva publicada. A execução de P-224 ignorou três candidatas desse tipo, e as duas execuções por trás das curvas de exemplo ANSI X9.62 ignoraram outras sete. Como o número de candidatas ignoradas é pequeno, a equipe disse não considerar plausível a seleção de curvas enfraquecidas, embora seja concebível, em princípio, que curvas com uma propriedade específica pudessem ter sido escolhidas por meio de uma busca em registros de data e hora. Uma semente resistiu completamente à recuperação: a quinta semente binária, B-163, não corresponde a nada do que Claude tentou. Os pontos base de P-224, P-256, P-384 e P-521, assim como os das curvas binárias da NIST, continuam desconhecidos.
A recompensa de US$ 36.864 pela descoberta das sementes será doada ao Internet Security Research Group, e a publicação agradece a Filippo Valsorda por organizar a recompensa e presta uma homenagem póstuma a Solinas. O trabalho é creditado a John Wood, Henry de Valence, Ava Howell, Zack Voase, Lucy Sweet, Amir Omidi, Paul Crowley, Iain McGinniss, Nicholas Carlini e Steve Weis. O código de reprodução disponibilizado na página é dedicado ao domínio público sob a licença CC0 1.0 Universal.












