A Google DeepMind afirma que dois agentes de inteligência artificial concluíram, em 3 dias e 22 horas, um cálculo conhecido ligado ao RSA de 1.024 bits. O teste mostra que agentes podem executar tarefas computacionais complexas dentro de limites definidos por investigadores, mas não valida um novo algoritmo teórico nem indica uma ameaça imediata aos sistemas RSA em uso generalizado.
O teste reproduziu um cálculo de assinatura RSA
A experiência centrou-se em assinaturas digitais RSA. Um serviço simulado de assinatura aceitou cerca de 4 mil milhões de consultas preparatórias antes de ser escolhido o objetivo. Depois, deixou de aceitar consultas. Os agentes calcularam então uma raiz matemática necessária para produzir uma nova assinatura, sem voltar a consultar o serviço. O trabalho não permitiu recuperar a chave privada.
O investigador da DeepMind Pushmeet descreveu o trabalho a 6 de novembro. O artigo apresenta a experiência como uma reprodução, num ambiente isolado, de um caso de referência que já tinha sido resolvido. Também afirma que o resultado não ameaça os sistemas criptográficos implementados com chaves RSA de 2.048 bits ou mais.
Menos horas de CPU, mas hardware diferente
O artigo indica um consumo de 391 anos-núcleo de CPU, face a cerca de 1.380 anos-núcleo numa execução anterior, realizada por outra equipa com o mesmo caso e algoritmo. Pelos valores apresentados, trata-se de uma redução de aproximadamente 3,5 vezes. Como as execuções utilizaram hardware diferente, a comparação não é direta; além disso, o número não corresponde ao custo financeiro total.
Os 391 anos-núcleo não incluem o trabalho em GPU nem cerca de 7,5 anos-núcleo dedicados a testes preliminares e ensaios. A experiência reservou também aproximadamente 330 horas de GPU, das quais cerca de 100 foram de utilização ativa. A DeepMind diz que decorreram cerca de 3,2 dias entre o início da primeira tarefa de crivagem à escala total e a verificação do resultado. No pico, foram utilizados cerca de 300 mil núcleos de CPU e 16 GPUs. Os investigadores atribuíram a diferença face a uma execução anterior, que demorou cerca de cinco meses de calendário, sobretudo à capacidade de computação paralela.
Dois agentes dividiram a execução sob supervisão
Os investigadores escolheram o problema e o caso específico, definiram os limites do serviço de assinatura e aprovaram as condições antes de etapas irreversíveis. Segundo o artigo, não escreveram código, iniciaram tarefas de computação nem diagnosticaram falhas.
Um agente de execução escreveu e testou programas, lançou tarefas distribuídas e resolveu problemas operacionais. Um agente supervisor acompanhou o desenho, o orçamento de recursos e as verificações, recorrendo ainda a um subagente especializado para acelerar a etapa de álgebra linear. Em conjunto, os agentes acrescentaram cerca de 33.500 linhas de código, executaram 336 experiências distribuídas e trocaram 218 mensagens.
A primeira raiz matemática calculada estava errada devido ao transbordamento de um desvio de 32 bits. As verificações de correção detetaram o erro, que os agentes identificaram e corrigiram sem repetir as consultas de assinatura preparatórias. O processo, do desenho à verificação, demorou 3 dias e 22 horas. As cerca de 20 mensagens e aprovações humanas mostram, contudo, que a execução não foi totalmente autónoma.
O resultado não demonstra um novo algoritmo
A redução reportada no uso de CPU resultou de melhorias na implementação e na execução de um algoritmo existente. A experiência não demonstrou um novo algoritmo para condições de acesso mais restritivas às assinaturas.
Um artigo separado sobre «Fan Factories» estima que, depois de um pré-cálculo partilhado com um custo semelhante ao de uma fatorização pelo método geral do crivo algébrico de números, o custo de cada alvo adicional de 1.024 bits poderá ser cerca de 30 vezes inferior ao do crivo algébrico de números múltiplos. Trata-se ainda de uma estimativa assintótica: até à data, não foi implementada qualquer Fan Factory.
O artigo de trabalho não identifica os modelos principais, designando-os apenas como A e B, nem disponibiliza uma ligação a um repositório público de implementação. Isso limita a capacidade de investigadores externos compararem os modelos de forma independente. O consumo de CPU reportado, os recursos de GPU e a necessidade de aprovações humanas são fatores relevantes para avaliar o alcance do resultado.