ML-KEM (Module-Lattice-Based Key-Encapsulation Mechanism) est le mécanisme d'encapsulation de clé post-quantique normalisé par le NIST dans le FIPS 203, publié en 2024. Il permet à deux parties d'établir un secret partagé sur un canal non sûr, en remplacement de Diffie-Hellman et de sa variante sur courbes elliptiques, que l'algorithme de Shor met en défaut.
Ce qu'est un KEM
Un mécanisme d'encapsulation de clé fonctionne en trois opérations : le destinataire publie une clé publique ; l'émetteur encapsule un secret aléatoire avec cette clé et transmet le chiffré ; le destinataire le décapsule avec sa clé privée. Les deux parties disposent alors du même secret, utilisé pour dériver des clés symétriques — typiquement AES.
Le KEM ne sert donc ni à signer, ni à authentifier. Cette fonction revient à ML-DSA ou à SLH-DSA. Confondre les deux rôles est une erreur fréquente dans les plans de migration.
Déploiement hybride
En pratique, ML-KEM est déployé en hybridation : le secret final est dérivé à la fois d'un échange classique et d'un échange post-quantique. Il faudrait casser les deux pour compromettre la session. C'est l'approche recommandée par l'ANSSI pendant la transition, et c'est aussi le premier chantier à engager, car la menace « store now, decrypt later » vise d'abord la confidentialité des flux, avant les signatures.
Aller plus loin : les standards PQC du NIST · définition de ML-DSA · « store now, decrypt later » · l'authentification cognitive