Aller au contenu
ecdsa.com

ML-KEM (FIPS 203)

Le mécanisme d’encapsulation de clé fondé sur les réseaux modulaires de FIPS 203 (août 2024), issu de CRYSTALS-Kyber : l’échange de clés post-quantique standard, avec les jeux de paramètres ML-KEM-512, ML-KEM-768 et ML-KEM-1024.
Autres graphiesML-KEMFIPS 203ML-KEM-768ML-KEM-1024Module-Lattice KEM

Tailles en octets (FIPS 203, tableau 3), clé d’encapsulation / texte chiffré : ML-KEM-512 800 / 768 (catégorie 1), ML-KEM-768 1184 / 1088 (catégorie 3), ML-KEM-1024 1568 / 1568 (catégorie 5) ; le secret partagé fait toujours 32 octets. Les clés de décapsulation peuvent être stockées sous la forme de la graine de 64 octets d ‖ z. Sur un cœur Apple M4 Max, OpenSSL 3.6.5 effectue environ 41 000 générations de clés ML-KEM-768, 63 000 encapsulations et 40 000 décapsulations par seconde.

Une transformation de Fujisaki–Okamoto avec rejet implicite le rend sûr face aux attaques à chiffrés choisis : un texte chiffré invalide produit un secret pseudo-aléatoire au lieu d’une erreur. FIPS 203 exige des contrôles des entrées sur les clés d’encapsulation (§7.2) et de décapsulation (§7.3) ; les implémentations doivent aussi éviter les fuites liées au temps d’exécution qui ont affecté les premières implémentations de Kyber (KyberSlash, 2024).

ML-KEM-768 est la cheville ouvrière de l’échange de clés hybride : X25519MLKEM768 en TLS, mlkem768x25519-sha256 en SSH, HPKE et X-Wing, iMessage PQ3 d’Apple et PQXDH de Signal. ML-KEM-1024 est le choix de la CNSA 2.0. ML-KEM n’est pas interopérable avec le Kyber du 3e tour.

Normes et références

Tous les termes