Articulo de referencia

ML-KEM

ML-KEM ( Module-Lattice-Based Key-Encapsulation Mechanism ), también conocido por su nombre original Kyber , es un mecanismo de encapsulación de claves (KEM) diseñado para ser r...

ML-KEM ( Module-Lattice-Based Key-Encapsulation Mechanism ), también conocido por su nombre original Kyber , es un mecanismo de encapsulación de claves (KEM) diseñado para ser resistente a ataques criptoanalíticos con futuras computadoras cuánticas potentes que fue estandarizado en 2024. [ 1 ] Se utiliza para establecer un secreto compartido entre dos partes que se comunican sin que un atacante ( IND-CCA2 ) en el sistema de transmisión pueda descifrarlo. Este criptosistema asimétrico utiliza una variante del problema de retículo de aprendizaje con errores como su función de puerta trasera básica . Ganó la competencia del NIST para el primer estándar de criptografía postcuántica (PQC) [ 2 ] y posteriormente fue estandarizado como FIPS 203 .

Propiedades

El sistema se basa en el problema de aprendizaje de módulos con errores (M-LWE), junto con anillos ciclotómicos . [ 3 ] Recientemente, también se ha producido una reducción formal y rigurosa de la seguridad matemática del problema ring-LWE a MLWE. [ 4 ] [ 5 ] En comparación con los métodos PQ de la competencia, presenta las ventajas típicas de los métodos basados ​​en retículos, por ejemplo, en lo que respecta al tiempo de ejecución, así como al tamaño de los textos cifrados y del material de clave. [ 6 ]

Se han definido variantes con diferentes niveles de seguridad: ML-KEM-512 ( nivel de seguridad NIST 1), ML-KEM-768 (nivel de seguridad NIST 3) y ML-KEM-1024 (nivel de seguridad NIST 5). [ 7 ] En el nivel ML-KEM-768, las claves secretas tienen un tamaño de 2400 bytes, las claves públicas de 1184 y los textos cifrados de 1088. [ 8 ] [ 9 ]

Con una implementación optimizada adecuadamente, 4 kilobytes de memoria pueden ser suficientes para las operaciones criptográficas. [ 10 ] Para un escenario de cifrado de chat que utiliza liboqs, se encontró que reemplazar el intercambio de claves ECDH extremadamente eficiente, no seguro cuántico, utilizando Curve25519 aumentaba el tiempo de ejecución en un factor de aproximadamente 2,3 (1,5–7), un aumento estimado de 2,3 veces (1,4–3,1) en el consumo de energía y tenía aproximadamente 70 veces (48–92) más sobrecarga de datos . [ 11 ] Las operaciones de hash internas representan la mayor parte del tiempo de ejecución, que por lo tanto potencialmente se beneficiaría enormemente de la aceleración de hardware correspondiente .

Historia

Antes de su estandarización, ML-KEM se conocía con el nombre de Kyber. Kyber, derivado de un método publicado en 2005 por Oded Regev , fue desarrollado por programadores de Europa y Norteamérica, empleados por diversas universidades gubernamentales o instituciones de investigación, o por empresas privadas, con financiación de la Comisión Europea , Suiza, los Países Bajos y Alemania. [ 12 ] También desarrollaron el esquema de firma relacionado y complementario Dilithium (posteriormente estandarizado como ML-DSA), como otro componente de su "Cryptographic Suite for Algebraic Lattices" (CRYSTALS). Al igual que otros métodos PQC-KEM, Kyber utiliza ampliamente el hashing internamente. En el caso de Kyber, se utilizan variantes de Keccak ( SHA-3 /SHAKE) para generar números pseudoaleatorios , entre otras cosas. [ 10 ]

En 2017, el método se presentó al Instituto Nacional de Estándares y Tecnología de EE. UU. (NIST) para su proceso de selección pública para un primer estándar para primitivas criptográficas seguras cuánticas (NISTPQC). Fue el primer mecanismo de encapsulación de clave que se ha seleccionado para la estandarización (y el único al final de la tercera ronda del proceso de estandarización del NIST). [ 4 ] Según una nota al pie del informe que anuncia la decisión, está condicionada a la ejecución de varios acuerdos relacionados con patentes , siendo NTRU una opción de reserva. En 2025, dentro de una cuarta ronda del proceso de estandarización, el esquema HQC ha sido seleccionado para la estandarización como reserva.

En la segunda fase del proceso de selección, se ajustaron varios parámetros del algoritmo y se eliminó la compresión de las claves públicas. [ 10 ] Más recientemente, el NIST prestó especial atención a los costos en términos de tiempo de ejecución y complejidad para las implementaciones que enmascaran los tiempos de ejecución para prevenir los correspondientes ataques de canal lateral (SCA). [ 4 ]

Evolución

Kyber sufrió cambios durante el proceso de estandarización del NIST. En particular, en la presentación para la ronda 2 (denominada Kyber v2 ), se modificaron las siguientes características: [ 13 ]

  • Se eliminó la compresión de clave pública (debido a los comentarios del NIST sobre la prueba de seguridad).
  • El parámetro q se redujo a 3329 (desde 7681).
  • Los parámetros de compresión del texto cifrado cambiaron.
  • La definición de la transformada teórica de números (NTT) cambió siguiendo las líneas de la NTRU para una multiplicación de polinomios más rápida.
  • El parámetro de ruido se redujo a η = 2 para un muestreo de ruido más rápido.
  • La representación de la clave pública se cambió al dominio NTT para guardar las operaciones de NTT.

La presentación para la ronda 3 sufrió ajustes adicionales: [ 14 ]

  • El uso de la transformación de Fujisaki-Okamoto (transformación FO) modificada
  • El nivel de ruido aumentó y la compresión del texto cifrado se redujo para el conjunto de parámetros de nivel 1.
  • Algoritmo de muestreo mejorado

En el borrador público inicial (IPD) de FIPS 203 se implementaron más cambios: [ 15 ]

  • La longitud de la clave secreta compartida está fijada en 256 bits.
  • Una variante diferente de la transformación FO
  • Uso de generación de aleatoriedad aprobada por el NIST y eliminación de operaciones que previamente protegían contra la posibilidad de una generación de aleatoriedad defectuosa.
  • Verificación explícita de la entrada

Los cambios realizados desde el borrador público inicial incluyen: [ 15 ]

  • Se añadió la separación de dominios a la generación de claves.
  • Reversión de una discrepancia de índice creada inadvertidamente en el IPD FIPS 203

Uso

Captura de pantalla de la página de prueba del Acuerdo de Clave Post-Quantum de Cloudflare que muestra Firefox 135.0 usando X25519MLKEM768

Los desarrolladores han publicado una implementación de referencia en el dominio público (o bajo CC0 ), que está escrita en C. [ 16 ] La biblioteca de programas liboqs del proyecto Open Quantum Safe (OQS) contiene una implementación basada [ 17 ] en ella. [ 11 ] OQS también mantiene un módulo Provider seguro cuántico para OpenSSL 3.x, [ 18 ] y ha integrado su código en BoringSSL . La biblioteca wolfSSL mantiene además su propia implementación de ML-KEM. [ 19 ] Hay un puñado de implementaciones que utilizan varios otros lenguajes de programación de desarrolladores de terceros, incluidos JavaScript y Java . [ 20 ] [ 21 ] [ 22 ] Existen varias implementaciones de hardware optimizadas (gratuitas), incluida una que es resistente a ataques de canal lateral. [ 23 ] [ 24 ] La Oficina Federal Alemana de Seguridad de la Información tiene como objetivo la implementación en Thunderbird , y en este contexto también una implementación en la biblioteca de programas Botan y los ajustes correspondientes al estándar OpenPGP . [ 25 ] Amazon Web Services (AWS) integró Kyber en su Servicio de Gestión de Claves (KMS) en 2020 como una opción híbrida de intercambio de claves post-cuánticas para conexiones TLS . [ 26 ] En 2023, el servicio de mensajería cifrada Signal implementó PQXDH , un algoritmo de cifrado post-cuántico basado en Kyber, en su Protocolo Signal . [ 27 ] [ 28 ]

Implementaciones

Referencias

  1. Tecnología, Instituto Nacional de Estándares y Tecnología (13 de agosto de 2024). "Estándar de mecanismo de encapsulación de clave basado en celosía de módulos [ FIPS 203 ] " . Departamento de Comercio de los Estados Unidos.
  2. Moody, Dustin (2022), Informe de estado de la tercera ronda del proceso de estandarización de criptografía post-cuántica del NIST (PDF) , Gaithersburg, MD, págs. NIST IR 8413, doi : 10.6028/NIST.IR.8413-upd1 , S2CID 247903639  {{citation}}: CS1 mantenimiento: falta el editor de ubicación ( enlace )
  3. ↑ ¿ En qué estaba pensando el NIST? (Archivo PDF)
  4. 1 2 3 Informe de estado de la tercera ronda del proceso de estandarización PQC del NIST (PDF-Datei)
  5. Chris Peikert, Zachary Pepin (2019), "LWE con estructura algebraica, una revisión" (PDF) , Teoría de la criptografía , Lecture Notes in Computer Science (en alemán), vol. 11891, Cham: Springer International Publishing, pp. 1–23 , doi : 10.1007/978-3-030-36030-6_1 , ISBN   978-3-030-36029-0, S2CID 199455447 {{citation}}: CS1 mantenimiento: parámetro de trabajo con ISBN ( enlace )
  6. Criptografía basada en retículos y SABER – Andrea Basso (PDF; 2,0 MB)
  7. Resumen de los candidatos a criptografía postcuántica de la ronda 3 del NIST (PDF; 157 kB)
  8. ^ Joppe Bos, Léo Ducas, Eike Kiltz, Tancrède Lepoint, Vadim Lyubashevsky, John M. Schanck, Peter Schwabe, Gregor Seiler y Damien Stehlé (2018), "CRYSTALS – Kyber: A CCA-Secure Module-Lattice-Based KEM" , Simposio europeo IEEE sobre seguridad y privacidad de 2018, EuroS&P 2018. , IEEE, págs. 353–367 , doi : 10.1109/EuroSP.2018.00032 , hdl : 2066/195423 , ISBN  978-1-5386-4228-3, S2CID 20449721 {{citation}}: CS1 maint: nombres múltiples: lista de autores ( enlace ) CS1 maint: parámetro de trabajo con ISBN ( enlace )
  9. "Especificaciones del algoritmo CRYSTALS-Kyber y documentación de apoyo" (PDF) . 4 de agosto de 2021.
  10. 1 2 3 Leon Botros, Matthias J. Kannwischer, Peter Schwabe (2019), "Implementación de alta velocidad y eficiente en memoria de Kyber en Cortex-M4" (PDF) , Progress in Cryptology – AFRICACRYPT 2019 , Lecture Notes in Computer Science (en alemán), vol. 11627, Cham: Springer International Publishing, pp. 209–228 , doi : 10.1007/978-3-030-23696-0_11 , ISBN   978-3-030-23696-0, S2CID 174775508 {{citation}}: CS1 maint: nombres múltiples: lista de autores ( enlace ) CS1 maint: parámetro de trabajo con ISBN ( enlace )
  11. 1 2 Ines Duits (2019-02-05), Universidad de Twente (ed.), El protocolo de señal post-cuántico: chat seguro en un mundo cuántico (PDF)
  12. Schwabe, Peter. "CRISTALES" . pq-crystals.org .
  13. Roberto Avanzi, Joppe Bos, Léo Ducas, Eike Kiltz, Tancrède Lepoint, Vadim Lyubashevsky, John M. Schanck, Peter Schwabe, Gregor Seiler, Damien Stehlé. CRYSTALS–Kyber (presentación de la Ronda 2) 23 de agosto de 2019.
  14. Roberto Avanzi, Joppe Bos, Léo Ducas, Eike Kiltz, Tancrède Lepoint, Vadim Lyubashevsky, John M. Schanck, Peter Schwabe, Gregor Seiler, Damien Stehlé. CRYSTALS–Kyber (presentación de la Ronda 3) 9 de junio de 2021.
  15. 1 2 Instituto Nacional de Estándares y Tecnología (EE. UU.) (13 de agosto de 2024). Estándar del mecanismo de encapsulación de clave basado en celosía de módulos (PDF) (Informe). Washington, DC: Instituto Nacional de Estándares y Tecnología (EE. UU.). doi : 10.6028/NIST.FIPS.203 .
  16. "kyber/LICENSE en main · pq-crystals/kyber" . GitHub .
  17. "Kyber – Open Quantum Safe" . Archivado del original el 20 de abril de 2021. Consultado el 13 de enero de 2022 .
  18. "Proveedor OQS para OpenSSL 3.x" . Oqs-provider .
  19. "Soporte de wolfSSL para Post-Quantum" .
  20. «CRISTALES KYBER Java» . GitHub . 25 de octubre de 2021.
  21. "CRYSTALS-KYBER JavaScript" . GitHub . 11 de diciembre de 2021.
  22. "Bostezo/Kyber" . Archivado del original el 28 de julio de 2021. Consultado el 13 de enero de 2022 .
  23. B. Dang, Kamyar Mohajerani, K. Gaj (2021), Arquitecturas de hardware de alta velocidad y evaluación comparativa justa de FPGA (PDF) (en alemán){{citation}}: CS1 maint: varios nombres: lista de autores ( enlace )
  24. Arpan Jati, Naina Gupta, A. Chattopadhyay, S. Sanadhya (2021), "Implementación de hardware configurable Crystals-Kyber con protección contra ataques de canal lateral" (PDF) , Archivo de preimpresiones de criptología de la IACR (en alemán){{citation}}: CS1 maint: varios nombres: lista de autores ( enlace )
  25. «E-Vergabe, die Vergabeplattform des Bundes» .
  26. "Ahora se admite TLS post-cuántico de segunda ronda en AWS KMS | Blog de seguridad de AWS" . aws.amazon.com . 16 de noviembre de 2020. Consultado el 17 de febrero de 2025 .
  27. "Añadir Kyber KEM e implementar el protocolo PQXDH" . GitHub .
  28. "Signal Messenger presenta el cifrado PQXDH resistente a la computación cuántica" . The Hacker News . Consultado el 22 de septiembre de 2023 .
  • Sitio web oficial
  • Kyber en GitHub
  • Método original de Oded Regev (2005), "Sobre retículos, aprendizaje con errores, códigos lineales aleatorios y criptografía" , Actas del Trigésimo Séptimo Simposio Anual de la ACM sobre Teoría de la Computación (STOC '05) (en alemán), Baltimore, MD, EE. UU.: ACM Press, pág. 84, arXiv : 2401.03703 , doi : 10.1145/1060590.1060603 , ISBN  978-1-58113-960-0, S2CID 53223958 {{citation}}: CS1 mantenimiento: parámetro de trabajo con ISBN ( enlace )
  • FIPS 203 "Estándar de mecanismo de encapsulación de clave basado en celosía de módulos"