Pular para o conteúdo
ecdsa.com

ML-DSA (FIPS 204)

O algoritmo de assinatura digital baseado em reticulados de módulo do FIPS 204 (agosto de 2024), derivado do CRYSTALS-Dilithium e principal assinatura pós-quântica do NIST, com os conjuntos de parâmetros ML-DSA-44, ML-DSA-65 e ML-DSA-87.
Também escrito comoML-DSAFIPS 204DilithiumCRYSTALS-DilithiumML-DSA-65

Tamanhos em bytes (FIPS 204, tabela 2), chave pública / assinatura: ML-DSA-44 1.312 / 2.420 (categoria de segurança 2), ML-DSA-65 1.952 / 3.309 (categoria 3), ML-DSA-87 2.592 / 4.627 (categoria 5). As chaves privadas têm de 2.560 a 4.896 bytes na forma expandida, mas podem ser armazenadas como a semente de 32 bytes. Em um núcleo do Apple M4 Max, o OpenSSL 3.6.5 faz cerca de 3.900 assinaturas ML-DSA-44 e 20.800 verificações por segundo; a assinatura usa amostragem por rejeição, então o tempo dela varia.

A assinatura é hedged por padrão: 32 bytes de aleatoriedade nova são misturados à chave e à mensagem, e uma variante determinística opcional usa zeros no lugar deles (§3.4). Toda assinatura vincula uma string de contexto de até 255 bytes. O HashML-DSA (§5.4), um algoritmo distinto, assina um digest e vincula a ele o OID do hash. Os identificadores X.509 são id-ml-dsa-44, -65 e -87 (2.16.840.1.101.3.4.3.17 a .19, RFC 9881).

O ML-DSA é a escolha padrão para assinaturas pós-quânticas de uso geral: certificados em PKIs privadas, firmware, documentos. O tamanho dele é o obstáculo para o TLS na PKI pública da web, e é por isso que estão sendo desenvolvidos os certificados compostos com ML-DSA e os certificados em árvore de Merkle (Merkle Tree Certificates). A ferramenta de assinaturas pós-quânticas assina e verifica localmente.

Padrões e referências

Todos os termos