Explicado · Seguranca
O que é ML-DSA, a assinatura digital que o NIST aprovou contra a ameaça quântica
Padrão FIPS 204, efetivo desde 14 de agosto de 2024, converte o CRYSTALS-Dilithium em ML-DSA: esquema de assinatura em reticulados feito para resistir a máquinas quânticas que quebrariam as curvas elípticas.
Uma assinatura digital serve a duas coisas: detectar modificações não autorizadas nos dados e autenticar a identidade de quem assinou. É esse mecanismo que autoriza uma transferência numa carteira, e é ele que o NIST reviu depois de concluir que a segurança de muitos criptossistemas de chave pública estaria em risco se computadores quânticos de larga escala fossem construídos. O aviso do próprio NIST é específico: entre os esquemas vulneráveis estariam os de estabelecimento de chaves e os de assinatura digital baseados em fatoração de inteiros e em logaritmo discreto, tanto sobre corpos finitos quanto sobre curvas elípticas — a família em que se apoiam as assinaturas usadas nas blockchains.
A resposta do órgão saiu em três padrões. Em aviso publicado no Federal Register em 14 de agosto de 2024, o NIST anunciou a aprovação, pelo Secretário de Comércio, do FIPS 203, do FIPS 204 e do FIPS 205, todos efetivos na mesma data. O FIPS 203 especifica o ML-KEM, mecanismo de encapsulamento de chaves derivado do CRYSTALS-Kyber, para o estabelecimento de segredo compartilhado entre duas partes por canal público. O FIPS 204 especifica o ML-DSA, algoritmo de assinatura derivado do CRYSTALS-Dilithium. O FIPS 205 especifica o SLH-DSA, derivado do SPHINCS+.
O que muda no mecanismo é o problema matemático em que a segurança se apoia. Os esquemas aprovados até então pelo NIST — o FIPS 186-5 para assinaturas, os SP 800-56A e 800-56B para estabelecimento de chaves — operam sobre logaritmo discreto e fatoração de inteiros. O ML-DSA nasce do campo dos reticulados modulares: a construção vem do CRYSTALS-Dilithium e sua segurança não depende desses dois problemas, e sim de uma estrutura matemática diferente, escolhida justamente porque os algoritmos quânticos conhecidos não a resolvem com a mesma eficiência.
A seleção foi longa e pública. O NIST abriu a chamada de submissões em dezembro de 2016 e recebeu 82 algoritmos candidatos antes do prazo de novembro de 2017; 69 passaram à primeira rodada, 26 foram à segunda em janeiro de 2019 e quinze, entre finalistas e alternativos, chegaram à terceira em julho de 2020, onde ficaram cerca de 18 meses em análise. Dessa apuração saíram quatro escolhidos: CRYSTALS-Kyber e três esquemas de assinatura, CRYSTALS-Dilithium, FALCON e SPHINCS+. As minutas dos três primeiros padrões foram publicadas em 24 de agosto de 2023 e receberam comentários públicos — 37 conjuntos só sobre o FIPS 204 — antes da versão final.
Já vale o que está nos três FIPS desde 14 de agosto de 2024. Ainda é plano, não padrão, o FIPS que o NIST diz pretender desenvolver no futuro para um algoritmo de assinatura derivado do FALCON, que entraria como alternativa adicional aos que já estão em vigor. Ou seja: a migração de carteiras e blockchains para assinaturas pós-quânticas passa hoje pelos padrões finalizados, e a alternativa baseada no FALCON continua em aberto.