Há mais de duas décadas, criptógrafos se perguntam de onde vieram alguns dos números mais usados em segurança. As curvas elípticas do NIST P-192, P-224, P-256, P-384 e P-521, padronizadas em 2000 e usadas na web inteira para assinaturas digitais, foram definidas cada uma a partir de uma semente publicada cuja origem nunca foi explicada. Como as sementes vieram da NSA sem receita, alguns suspeitavam que escondessem uma fraqueza. O Frontier Red Team da Anthropic diz que um modelo interno do Claude descobriu agora como elas foram feitas, e a resposta é prosaica.
As sementes não eram hashes de uma frase, como dizia o boato. Eram a saída bruta do lrand48, o gerador de números aleatórios das bibliotecas C dos anos 1990, iniciado com um carimbo de tempo Unix. Um funcionário da Anthropic pediu ao modelo que achasse a origem sem mencionar a pista anterior, e ele conseguiu em menos de 30 minutos. Escreveu um scanner para testar se trechos de cada semente pareciam saídas consecutivas de geradores antigos, notou que algumas sementes tinham os bits mais altos zerados com muito mais frequência do que o acaso permite e depois recuperou o estado oculto do gerador para as sementes das curvas primas com uma técnica padrão de reticulados. Fazendo o gerador andar para trás, cada ponto de partida se revelou um carimbo de tempo entre maio de 1997 e abril de 1998. A semente da P-256 foi a candidata 1.842 da sua rodada, e cada estado recuperado regenera os 160 bits da sua semente, o que descarta coincidência.
A descoberta aumenta a confiança, em vez de corroê-la. A Anthropic ressalta que não se trata de quebra nem de novo ataque: uma semente tirada de uma rodada com carimbo de tempo de um gerador fraco deixa pouco espaço para alguém ter procurado de propósito uma curva defeituosa. De quebra, o modelo também explicou os pontos-base da P-192 e de cinco curvas de exemplo ANSI relacionadas, que vieram do gerador aleatório da biblioteca FreeLIP, de Arjen Lenstra; a Anthropic acredita que nenhum ponto-base do NIST tinha sido explicado antes.
Para os leitores, não há nada a fazer. A P-256 e suas irmãs já tinham ampla confiança, e a Anthropic diz com todas as letras que nenhuma ação é necessária. O interesse está no método: um modelo raciocinando sobre como o software dos anos 1990 provavelmente funcionava, em vez de testar palpites na força bruta, resolveu um enigma que tinha derrotado humanos, inclusive tentativas anteriores de funcionários da Anthropic.
Ainda há perguntas. Algumas candidatas viáveis foram puladas; para a P-256, a candidata 876 da mesma rodada também teria gerado uma curva adequada, e a regra de seleção é desconhecida, embora a Anthropic argumente que o número de puladas é pequeno demais para sugerir enfraquecimento deliberado. Uma semente de curva binária, a B-163, não se encaixa em nada do que foi testado, e os pontos-base da P-224, P-256, P-384 e P-521 continuam sem explicação. O código para reproduzir o trabalho é público, então outros podem conferir.