Pular para o conteúdo
ecdsa.com

ML-KEM (FIPS 203)

O mecanismo de encapsulamento de chave baseado em reticulados de módulo do FIPS 203 (agosto de 2024), derivado do CRYSTALS-Kyber: a troca de chaves pós-quântica padrão, com os conjuntos de parâmetros ML-KEM-512, ML-KEM-768 e ML-KEM-1024.
Também escrito comoML-KEMFIPS 203ML-KEM-768ML-KEM-1024Module-Lattice KEM

Tamanhos em bytes (FIPS 203, tabela 3), chave de encapsulamento / texto cifrado: ML-KEM-512 800 / 768 (categoria 1), ML-KEM-768 1.184 / 1.088 (categoria 3), ML-KEM-1024 1.568 / 1.568 (categoria 5); o segredo compartilhado tem sempre 32 bytes. As chaves de desencapsulamento podem ser armazenadas como a semente de 64 bytes d ‖ z. Em um núcleo do Apple M4 Max, o OpenSSL 3.6.5 executa cerca de 41.000 gerações de chaves ML-KEM-768, 63.000 encapsulamentos e 40.000 desencapsulamentos por segundo.

Uma transformação de Fujisaki–Okamoto com rejeição implícita torna o ML-KEM seguro contra ataques de texto cifrado escolhido: um texto cifrado inválido produz um segredo pseudoaleatório em vez de um erro. O FIPS 203 exige verificações de entrada nas chaves de encapsulamento (§7.2) e nas chaves de desencapsulamento (§7.3); as implementações também devem evitar os vazamentos por temporização que afetaram as primeiras implementações do Kyber (KyberSlash, 2024).

O ML-KEM-768 é o pilar da troca de chaves híbrida: X25519MLKEM768 no TLS, mlkem768x25519-sha256 no SSH, HPKE e X-Wing, o PQ3 do iMessage da Apple e o PQXDH do Signal. O ML-KEM-1024 é a escolha da CNSA 2.0. O ML-KEM não é interoperável com o Kyber da rodada 3.

Padrões e referências

Todos os termos