Mercados
S&P 5007.659▼ 1,09%Nasdaq26.140▼ 2,14%Dow Jones52.002▼ 0,34%Ibovespa205.430▲ 0,54%FTSE 10010.882▲ 0,38%DAX25.623▲ 0,95%Nikkei65.324▲ 1,39%DólarR$ 5,07▼ 0,65%EuroR$ 5,69▼ 0,46%BitcoinR$ 413.369▼ 1,29%Powered by WIREDESK OSS&P 5007.659▼ 1,09%Nasdaq26.140▼ 2,14%Dow Jones52.002▼ 0,34%Ibovespa205.430▲ 0,54%FTSE 10010.882▲ 0,38%DAX25.623▲ 0,95%Nikkei65.324▲ 1,39%DólarR$ 5,07▼ 0,65%EuroR$ 5,69▼ 0,46%BitcoinR$ 413.369▼ 1,29%Powered by WIREDESK OS
Powered by WIREDESK OS
Lançamentos de IA

IA Claude desvenda em 30 min mistério das curvas ECDSA NIST

Modelo da Anthropic revela em menos de 30 minutos que seeds das curvas ECDSA do padrão NIST foram geradas com lrand48 e timestamps Unix, afastando suspeitas de backdoor.

IA Claude desvenda em 30 min mistério das curvas ECDSA NIST

Inteligência Artificial

Modelo da Anthropic comprova em minutos a origem das seeds das curvas ECDSA do padrão NIST, eliminando dúvidas sobre backdoors.

Leia também: CEO da Replit diz como GitHub pode virar empresa autônoma com IA

O modelo de IA Claude, da Anthropic, desvendou em menos de 30 minutos um mistério que intrigava criptógrafos há décadas: a origem dos parâmetros das curvas padrão ECDSA do NIST, afastando de vez a suspeita de que a NSA tivesse escondido um backdoor nesses números.

O que Claude revelou sobre as origens da curva ECDSA?

Claude descobriu que os chamados seeds das curvas NIST P-192, P-224, P-256, P-384 e P-521 não saíram de hashes obscuros nem de frases secretas, mas de um gerador de números pseudoaleatórios banal dos anos 1990, o lrand48, inicializado com timestamps Unix. Nas palavras dos pesquisadores, “Claude discovered the origins of the NIST P-192, P-224, P-256, P-384 and P-521 seeds”.

Esses seeds são blocos de 20 bytes publicados no padrão FIPS 186-2, adotado quando o NIST incorporou o ECDSA ao seu padrão de assinaturas digitais. Eles servem de base para definir coeficientes das curvas elípticas usadas no algoritmo. Até agora, porém, ninguém fora dos bastidores da NSA sabia como esses valores haviam sido escolhidos, o que alimentava teorias sobre possíveis fraquezas intencionais.

A Anthropic resolveu atacar o enigma de forma sistemática. Um funcionário pediu a Claude, um modelo de pesquisa interno, que tentasse reconstruir o processo que gerou os seeds. Sem receber pistas, a IA levantou a hipótese de que o software original tivesse usado um gerador incluído em bibliotecas C da época — PRNGs hoje considerados fracos, mas com assinaturas estatísticas bem conhecidas.

Claude então escreveu um scanner virtual que deslizava bit a bit sobre os seeds publicados, testando se trechos adjacentes poderiam ser saídas consecutivas de geradores dos anos 1990. Ao todo, avaliou 34 combinações de gerador e modos de extração de saída.

O ponto de virada veio quando a IA notou um padrão nos bits mais altos de alguns seeds: escritos como cinco palavras de 32 bits, quatro de dez seeds tinham o bit superior zerado em todos os 20 valores. A chance de isso ocorrer ao acaso foi calculada como 1 em 5.810. Esse comportamento é típico do lrand48, que devolve apenas os 31 bits superiores de um estado interno de 48 bits.

A partir desse indício, Claude reconstruiu o estado interno do gerador. Para cada seed suspeito, tomou a primeira palavra de 32 bits, completou os 17 bits “escondidos” restantes de todas as formas possíveis e checou se as quatro palavras seguintes batiam com o que o lrand48 produziria. O procedimento funcionou para os quatro seeds analisados, confirmando o uso do gerador.

Como esse tipo de gerador linear congruencial pode ser executado tanto para frente quanto para trás, a IA então “andou” com o estado ao contrário até encontrar a forma em que o PRNG teria sido inicializado pela função padrão srand48, que fixa os 16 bits inferiores em 0x330E. Todos os estados encontrados correspondiam a valores de tempo de sistema: timestamps Unix na faixa de datas entre meados da década de 1990, indicando que alguém executou um programa que lia o relógio, chamava srand48(time(NULL)) e em seguida colhia blocos de 20 bytes como candidatos a seed.

Em um dos casos mais emblemáticos, a curva P-256 precisou de 1.842 iterações do gerador até chegar ao seed hoje padronizado. Cada iteração extraia 20 bytes; o primeiro bloco era o candidato 1, o segundo, o candidato 2, e assim por diante, até que uma curva com as propriedades desejadas fosse encontrada.

Ao final da investigação, os autores resumem a resposta de forma direta: “It’s just timestamps” — são só carimbos de tempo rodando em cima de um PRNG comum.

Entenda o contexto

O ECDSA é hoje um dos padrões mais usados de criptografia de curvas elípticas, base da segurança de protocolos como TLS, carteiras de criptomoedas e sistemas de autenticação em larga escala. Ele entrou nos documentos oficiais do NIST quando o órgão publicou uma atualização do padrão de assinaturas digitais, listando curvas elípticas de tamanhos e níveis de segurança variados.

Para essas curvas, o NIST distribuiu junto um valor de 20 bytes chamado seed, cuja hash era usada para definir um dos coeficientes da curva. Esses valores vieram prontos da NSA, sem explicação ou documentação do processo que os produziu. A falta de transparência acendeu um alerta em parte da comunidade: nada impedia, em tese, que seeds cuidadosamente escolhidos permitissem à agência construir curvas com fraquezas sutis, exploráveis apenas por quem conhecesse o truque.

Criptógrafos como Neal Koblitz e Alfred Menezes documentaram essa preocupação em textos que resumiam a controvérsia, e uma série de caçadas amadoras tentou reconstituir a “receita” original dos seeds. A hipótese mais popular atribuía a criação a Jerry Solinas, ex-funcionário de longa data da NSA, que teria usado hashes de frases bem-humoradas como segredo. Solinas morreu em 2023 sem confirmar a história, e colegas da época também não ofereceram esclarecimentos.

Na Anthropic, funcionários chegaram a perseguir a pista das frases, sem sucesso. Faltava um método que olhasse para os seeds como saídas de software, não como resultados de algum ritual enigmático.

A investigação conduzida agora envolve um grupo de pesquisadores da empresa, que atribuem a resolução a uma combinação de reconhecimento de padrões estatísticos e capacidade da IA de gerar e testar código e hipóteses rapidamente. Segundo eles, leitores e equipes técnicas devem enxergar o episódio como um capítulo final divertido de uma novela longa, não como um alerta de emergência.

Há impacto na segurança? “This is not a cryptographic break”

Os próprios autores do estudo fazem questão de refrear interpretações alarmistas. Em um dos trechos mais enfáticos do relatório, eles escrevem: “This is not a cryptographic break, new attack, or weakness in the ECDSA curves”.

Ao contrário de revelar um atalho para quebrar chaves ou comprometer sistemas, a descoberta reforça a ideia de que as curvas foram escolhidas sem intenção de fraude. Se os seeds são saídas de um gerador simples como o lrand48, inicializado com o relógio da máquina, qualquer pesquisador pode agora reproduzir o processo, testando timestamps plausíveis e reobtendo os mesmos valores publicados pelo NIST.

Isso reduz bastante o espaço para manipulação oculta: quanto mais próximo o procedimento é de “peguei um PRNG público fraco e deixei ele rodar até aparecer uma curva boa”, menor a margem para incorporar propriedades secretas. Os pesquisadores observam que, ao longo das execuções, algumas curvas potencialmente adequadas foram descartadas sem explicação, mas o número de candidatos pulados é pequeno o bastante para tornar improvável que alguém estivesse peneirando por curvas deliberadamente enfraquecidas.

Parte do mistério persiste em áreas periféricas. Nem todas as escolhas associadas às curvas foram explicadas: um dos seeds de curvas binárias, identificado como B-163, ainda não se encaixa em nenhum gerador testado por Claude. E a origem dos pontos-base (os pontos G fixos a partir dos quais se calculam as chaves públicas ECDSA) de curvas como P-224, P-256, P-384 e P-521 segue em aberto.

Mesmo assim, a peça que mais preocupava a comunidade — a procedência dos seeds das curvas mais usadas — ganha agora uma narrativa consistente, tecnicamente verificável e bem menos conspiratória.

Por que a origem da curva ECDSA é importante para a segurança digital?

A importância está no fato de que ECDSA é uma das bases da criptografia de chave pública usada em praticamente toda a infraestrutura digital atual. Sempre que um navegador verifica o certificado de um site, que uma transação em blockchain é assinada ou que um software é autenticado antes de ser instalado, há grande chance de uma curva do pacote NIST estar no caminho.

Nesse modelo, a segurança não depende apenas da robustez matemática da curva, mas também da confiança coletiva de que ninguém conhece um atalho secreto para explorar alguma peculiaridade introduzida durante a geração dos parâmetros. A ausência de uma explicação pública para os seeds, somada ao envolvimento histórico da NSA, alimentou por anos a dúvida de se as curvas podiam ter sido “afinadas” para beneficiarem apenas quem estivesse por trás da escolha.

Ao atribuir os seeds a um processo banal, “It’s just timestamps”, a investigação da Anthropic retira peso dessa desconfiança. A comunidade pode agora discutir e auditar com mais clareza cada passo que levou aos números hoje padronizados, em vez de trabalhar sobre uma caixa-preta legada dos anos 1990.

Do ponto de vista prático, isso não muda o código que protege transações e comunicações, mas altera a percepção de risco associada ao padrão. Quem já vinha estudando migrações para outras curvas — como as de projetos mais recentes e com processos de geração mais documentados — ganha uma peça extra de informação ao ponderar custos e benefícios.

Outros achados e próximos passos

Além dos seeds das curvas principais, Claude também rastreou a origem de alguns pontos-base de curvas ligadas ao ecossistema do ECDSA. A IA identificou que o ponto-base de P-192 e de cinco curvas de exemplo da norma ANSI X9.62 foram gerados com o RNG do FreeLIP, pacote de aritmética de inteiros grandes de Arjen Lenstra, reutilizado em versões antigas da biblioteca NTL, de Victor Shoup. Os seeds usados nesse gerador foram números simples, como 20000, 20420, 20507, 20509, 20512 e 20517.

Os pesquisadores destacam ainda que a recompensa financeira oferecida em uma espécie de “caça ao tesouro” pelos seeds — no valor de 36.864 dólares — será doada ao Internet Security Research Group, organização sem fins lucrativos que mantém projetos como o Let’s Encrypt.

O trabalho na Anthropic reúne nomes como John Wood, Henry de Valence, Ava Howell, Zack Voase, Lucy Sweet, Amir Omidi, Paul Crowley, Iain McGinniss, Nicholas Carlini e Steve Weis. Eles também fazem um reconhecimento póstumo a Jerry Solinas, lembrado como alguém que encarou com bom humor a fama de vilão simbólico dessa controvérsia.

A equipe publicou o código usado na análise sob licença pública aberta, renunciando, na medida do possível, a direitos autorais para facilitar a reprodução dos resultados. Já a novela sobre os poucos parâmetros ainda sem explicação continua: quem quiser pode agora usar o mesmo arsenal de técnicas — e talvez a próxima geração de modelos de IA — para tentar encontrar as peças que faltam.

Fonte: matéria original