Tamaños en bytes (FIPS 203, tabla 3), clave de encapsulación / texto cifrado: ML-KEM-512 800 / 768 (categoría 1), ML-KEM-768 1184 / 1088 (categoría 3), ML-KEM-1024 1568 / 1568 (categoría 5); el secreto compartido siempre ocupa 32 bytes. Las claves de desencapsulación pueden guardarse como la semilla de 64 bytes d ‖ z. En un núcleo de Apple M4 Max, OpenSSL 3.6.5 ejecuta unas 41.000 generaciones de claves ML-KEM-768, 63.000 encapsulaciones y 40.000 desencapsulaciones por segundo.
Una transformación de Fujisaki–Okamoto con rechazo implícito lo hace seguro frente a ataques de texto cifrado elegido: un texto cifrado no válido produce un secreto pseudoaleatorio en lugar de un error. FIPS 203 exige comprobar las entradas en las claves de encapsulación (§7.2) y en las de desencapsulación (§7.3); las implementaciones también deben evitar las fugas por tiempos de ejecución que afectaron a las primeras versiones del código de Kyber (KyberSlash, 2024).
ML-KEM-768 es el caballo de batalla del intercambio de claves híbrido: X25519MLKEM768 en TLS, mlkem768x25519-sha256 en SSH, HPKE y X-Wing, PQ3 de iMessage de Apple y PQXDH de Signal. ML-KEM-1024 es la opción de CNSA 2.0. No es interoperable con el Kyber de la ronda 3.