stringtranslate.com

Kyber

Kyber es un mecanismo de encapsulación de claves (KEM) diseñado para ser resistente a ataques criptoanalíticos con futuras computadoras cuánticas poderosas . 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 aprendizaje con errores en red como su función básica de trampilla . Ganó la competencia NIST para el primer estándar de criptografía post-cuántica (PQ). [1] NIST llama a su estándar Mecanismo de encapsulación de claves basado en red de módulos ( ML-KEM ). [2]

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 ha habido una reducción estricta de la seguridad matemática formal del problema de anillo-LWE a MLWE. [4] [5] En comparación con los métodos PQ de la competencia, tiene ventajas típicas de los métodos basados ​​en red, por ejemplo, en lo que respecta al tiempo de ejecución, así como al tamaño de los textos cifrados y el material clave. [6]

Se han definido variantes con diferentes niveles de seguridad: Kyber512 ( nivel de seguridad NIST 1, ≈ AES 128), Kyber768 (nivel de seguridad NIST 3, ≈ AES 192) y Kyber1024 (nivel de seguridad NIST 5, ≈ AES 256). [7] En el nivel Kyber768, 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 en consecuencia, 4 kilobytes de memoria pueden ser suficientes para las operaciones criptográficas. [10] Para un escenario de cifrado de chat utilizando liboqs, se encontró que reemplazar el intercambio de claves ECDH extremadamente eficiente y no cuánticamente seguro 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 en gran medida de la aceleración de hardware correspondiente .

Desarrollo

Kyber se deriva de un método publicado en 2005 por Oded Regev , desarrollado por desarrolladores de Europa y América del Norte, que son empleados por varias 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 , como otro componente de su "Suite criptográfica para redes algebraicas" (CRYSTALS). Al igual que otros métodos PQC-KEM, Kyber hace un uso extensivo del hash internamente. En el caso de Kyber, aquí 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 para la cuántica (NISTPQC). Se trata del único mecanismo de encapsulación de claves que ha sido seleccionado para su estandarización 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 respaldo. Actualmente, está en marcha una cuarta ronda del proceso de estandarización, con el objetivo de estandarizar un KEM adicional. 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 evitar 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 cambiaron las siguientes características: [13]

La presentación a la ronda 3 sufrió más ajustes: [14]

Uso

Los desarrolladores han publicado una implementación de referencia en el dominio público (o bajo CC0 ) , que está escrita en C. [15] La biblioteca de programas liboqs del proyecto Open Quantum Safe (OQS) contiene una implementación basada [16] en eso. [11] OQS también mantiene un módulo de proveedor de seguridad cuántica para OpenSSL 3.x, [17] y ha integrado su código en BoringSSL y wolfSSL . [18] Hay un puñado de implementaciones que utilizan varios otros lenguajes de programación de desarrolladores externos, incluidos JavaScript y Java. [19] [20] [21] Existen varias implementaciones de hardware optimizadas (gratuitas), incluida una que es resistente a ataques de canal lateral. [22] [23] La Oficina Federal Alemana para la Seguridad de la Información apunta a 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 . [24] En 2023, el servicio de mensajería cifrada Signal implementó PQXDH , un algoritmo de cifrado postcuántico basado en Kyber, en su protocolo Signal que utilizan WhatsApp y otros. [25] [26]

Implementaciones

Referencias

  1. ^ Moody, Dustin (2022), Informe de situación sobre la tercera ronda del proceso de estandarización de la criptografía postcuántica del NIST (PDF) , Gaithersburg, MD, págs. NIST IR 8413, doi : 10.6028/nist.ir.8413, S2CID  247903639{{citation}}: Mantenimiento de CS1: falta la ubicación del editor ( enlace )
  2. ^ Tecnología, Instituto Nacional de Normas y Tecnología (13 de agosto de 2024). "Estándar de mecanismo de encapsulación de claves basado en red modular [FIPS 203]". Departamento de Comercio de Estados Unidos.
  3. ^¿ En qué estaba pensando el NIST? (archivo PDF)
  4. ^ abc Informe de situación sobre la segunda ronda del proceso de estandarización del NIST PQC (PDF-Datei)
  5. ^ Chris Peikert, Zachary Pepin (2019), "Algebraically Structured LWE, Revisited" (PDF) , Teoría de la criptografía , Apuntes de clase en informática (en alemán), vol. 11891, Cham: Springer International Publishing, págs. 1–23, doi :10.1007/978-3-030-36030-6_1, ISBN 978-3-030-36029-0, Identificador único  de 199455447
  6. ^ Criptografía basada en redes y SABER – Andrea Basso (PDF; 2,0 MB)
  7. ^ Descripción general de los candidatos a criptografía post-cuántica de la tercera ronda 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), "CRISTALES - Kyber: un KEM basado en celosía de módulo seguro CCA" , 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, Número de identificación del sujeto  20449721{{citation}}: CS1 maint: varios nombres: lista de autores ( enlace )
  9. ^ https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf [ URL básica PDF ]
  10. ^ abc Leon Botros, Matthias J. Kannwischer, Peter Schwabe (2019), "Implementación de alta velocidad y con eficiencia de memoria de Kyber en Cortex-M4" (PDF) , Progreso en criptología – AFRICACRYPT 2019 , Apuntes de clase en informática (en alemán), vol. 11627, Cham: Springer International Publishing, págs. 209–228, doi :10.1007/978-3-030-23696-0_11, ISBN 978-3-030-23696-0, Número de identificación del sujeto  174775508{{citation}}: CS1 maint: varios nombres: lista de autores ( enlace )
  11. ^ por Ines Duits (5 de febrero de 2019), Universidad de Twente (ed.), El protocolo de señal postcuántica: chat seguro en un mundo cuántico (PDF) (en alemán)
  12. ^ [1] [ URL simple ]
  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. ^ Kyber/LICENCIA en master · pq-crystals/kyber · GitHub
  16. ^ "Kyber – Caja fuerte cuántica abierta". Archivado desde el original el 20 de abril de 2021. Consultado el 13 de enero de 2022 .
  17. ^ "Proveedor OQS para OpenSSL 3.x". oqs-provider .
  18. ^ "Integración de wolfSSL y libOQS". Sitio web de WolfSSL . 2021-09-01.
  19. ^ "CRISTALES KYBER Java". GitHub . 25 de octubre de 2021.
  20. ^ "CRYSTALS-KYBER JavaScript". GitHub . 11 de diciembre de 2021.
  21. ^ "Bostezo/Kyber". Archivado desde el original el 28 de julio de 2021. Consultado el 13 de enero de 2022 .
  22. ^ 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 )
  23. ^ Arpan Jati, Naina Gupta, A. Chattopadhyay, S. Sanadhya (2021), "Una implementación de hardware de cristales configurables-Kyber con protección de canal lateral" (PDF) , IACR Cryptol. ePrint Arch. (en alemán){{citation}}: CS1 maint: varios nombres: lista de autores ( enlace )
  24. ^ "E-Vergabe, die Vergabeplattform des Bundes".
  25. ^ "Agregar Kyber KEM e implementar el protocolo PQXDH". GitHub .
  26. ^ "Signal Messenger presenta el cifrado resistente a la energía cuántica PQXDH". The Hacker News . Consultado el 22 de septiembre de 2023 .

Enlaces externos