Saltar al contenido
ecdsa.com

ML-KEM (FIPS 203)

El mecanismo de encapsulación de claves basado en retículos de módulos (Module-Lattice-Based Key-Encapsulation Mechanism) de FIPS 203 (agosto de 2024), derivado de CRYSTALS-Kyber: el intercambio de claves poscuántico estándar, con los conjuntos de parámetros ML-KEM-512, ML-KEM-768 y ML-KEM-1024.
También se escribeML-KEMFIPS 203ML-KEM-768ML-KEM-1024Module-Lattice KEM

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.

Estándares y referencias

Todos los términos