Factorizar este número con un computador actual lleva miles de años...
149802948092842184098210482184208402814092814092814902882314802
840182098201895139476316917369371469130591039583109734876139819
538591385031850135124214213434125103691373140750917604137601347
603176031760317603176136913701364316013860319760193760931707097
017436013760317460316703176031786136498314691376931763176931876
981376938176931876931769137693187613768713867136873187513769316
013463160316039187683714681397689713489671390486791837609138769
013876089317693187690137691374603918768931769137631769137691301
346871306871384761937693814708173468713689317693176814758134761
376134786139671396731467318967348769831476837639176913476931763
196731769317691384768931476831746083174687138671397613476317613
769347476138976831769831746983176731976913876091376891376981376
913476983174691347683476193769134769314769137693147691347691347
691387683147693147683148761364706946013746013681141213083928139
Pero... ¿y si existiesen otro tipo de computadoras que lo factorizasen en horas?
Una introducción a vista de pájaro
La unidad de la computación cuántica es el Q-bit, que puede existi en múltiples estados simultáneamente. 0 y 1 a la vez: superposición
Pueden empaquetar más información:
Intuitivamente: podemos aprovechar la superposición para probar muchas soluciones a la vez con un solo q-bit: trabajo en paralelo
Es poco probable que tengamos una computadora cuántica en nuestros escritorios
En esta clase no hablaremos de criptografía cuántica sinó de la post-cuántica, que definiremos más adelante
La computación cuántica permite ejecutar algoritmos de búsquedas más rápidamente que la computación tradicional
Algoritmos de interés para criptogafía:
Estos algoritmos tienen el potencial de romper la criptografía que estamos utilizando actualmente
Cuando tengamos un computador cuántico... ¡los malos ya sabrán usarlo!
Búsqueda exahustiva en una secuencia no ordenada con mejora cuadrática.
Efecto: "raíz cuadrada de tiempo" de los algoritmos clásicos. AES-128 en
El algoritmo de Grover debilita la criptografía de clave privada y hashes (AES, SHA256...) diviendo su fortaleza entre 2
Permite encontrar factores de un número de una manera eficiente. RSA, ECC y D-H en
El algoritmo de Shor rompe la criptografía de clave pública (D-H, RSA...)
How Quantum Computers Break Encryption | Shor's Algorithm Explained
What Are The Remaining Challenges of Quantum Computing? Matt Swayne. March 24, 2023
Demostrar de forma práctica que un computador cuántico puede resolver un problema más rápidamente que un computador tradicional
Cada poco tiempo alguien anuncia que ha demostrado la supremacía cuántica... con condiciones 1, 2, 3
Pero aún no se ha alcanzado para los algoritmos de Shor o Grover
It’s been 20 years since “15” was factored on quantum hardware, Robert Davis. Enero 2022
Hay interés y dinero en demostrar la supremacía cuántica, toma cualquier noticia con precaución
Records for efforts by quantum computers Wikipedia
Chinese Scientists Report Using Quantum Computer to Hack Military-grade Encryption The Quantum Insider, Octubre 2024
How to Detect Quantum Bullshit Sabine Hossenfelder, Junio 2024
Es probable que se alcance la supremacía cuántica en un futuro cercano
Algoritmo | Tipo | Algoritmo | Defensa |
---|---|---|---|
AES | Simétrico | Grover | Tamaño de claves x2 |
SHA2 | Función de hash | Grover | Tamaño de salida x1.5 |
RSA | Asimétrico, firmas | Shor | Rota, reemplazar |
D-H | Asimétrico, intercambio de claves | Shor | Rota, reemplazar |
Elípticas | ECDH, ECDSA... | Shor | Rota, reemplazar |
Aunque no sepamos cuándo llegará el computador cuántico, ya tenemos que estar preparados y cambiar los algoritmos actuales
Algoritmos criptográficos que tendrán que usar las computadoras actuales/clásicas cuando existan las computadoras cuánticas
Observa:
En realidad, no nos queda tiempo: "Store now, decrypt later" 1, 2
2023 Quantum Threat Timeline Report, Global Risk Institute, diciembre 2023
En 2016, el NIST (instituo de estandarización de EEUU), convocó un concurso para evaluar los mejores algoritmos post-cuánticos que le presentasen:
El NIST ya ha publicado (agosto de 2024) los estándares post-cuánticos:
https://www.linkedin.com/pulse/nist-releases-first-3-finalized-post-quantum-cryptography-fhpbe/
Module-Lattice-Based Key-Encapsulation Mechanism. FIPS 203
CRYSTALS-Kyber. Roberto Avanzi, Joppe Bos, Léo Ducas, Eike Kiltz, Tancrède Lepoint, Vadim Lyubashevsky, John M. Schanck, Peter Schwabe, Gregor Seiler, Damien Stehlé. Agosto 4, 2021
Learning with errors: Encrypting with unsolvable equations Chalk Talk, 2023. Explicación sencilla
CRYSTALS Kyber : The Key to Post-Quantum Encryption, Udara Pathum, 2024. Explicación completa
Cifrar un 0: el emisor escoge varias ecuaciones de la clave pública al azar y las suma (recuerda: mod 89)
Cifrar un 1: el emisor escoge varias ecuaciones de la clave pública al azar, las suma y añade 44 (recuerda: mod 89, 44 es la mitad de 89)
Descifrar un 0: el receptor sustituye los valores de su clave privada y comprueba si el error está "cerca" de 0
Descifrar un 1: el receptor sustituye los valores de su clave privada y comprueba que si el error está "cerca" de 44
El receptor descifra "0" si el error está cerca de 0 y "1" si el error está cerca de la mitad del módulo. Hay una pequeña probabilidad de que el error sera mayor que la mitad del módulo y el descifrado sea incorrecto
Familia | Ventajas | Inconvenientes |
---|---|---|
Retículos | Rápido y claves pequeñas | Son muy nuevas |
Isogenias | Claves pequeñas, texto cifrado pequeño | Muy lentas |
Códigos | Rápidas y texto cifrado pequeño, muy estudiadas | Claves muy grandes |
Basadas en hash | Clve pequeña, muy estudiadas | Firmas muy grandes, lentas |
Multivariante | Rápidas y claves privadas pequeñas | Clave pública muy grande |
Tipo | Nombre | Problema matemático | Notas |
---|---|---|---|
KEM | CRYSTALS-Kyber | Retículo estructurado | Seleccionado por el NIST: FIPS 203 |
KEM | FrodoKEM | Retículo no estructurado | Descartado por el NIST por lento, pero otras entidades aún lo recomiendan |
KEM | BIKE | Códigos cuasi-ciclicos | No presentado en tercera ronda, pero será evaluado |
KEM | HQC | Códigos cuasi-ciclicos | No presentado en tercera ronda, pero será evaluado |
KEM | Classic McEliece | Códigos de Goppa | Clave demasiado grande |
KEM | SIKE | Isogenias | Roto con computación tradicional en 2022 |
Firma | CRYSTALS-Dilithium | Retículo estructurado | Seleccionado por el NIST: FIPS 204 |
Firma | Falcon | Retículo estructurado | Descartado por el NIST |
Firma | SPHINCS+ | Funciones de hash | Seleccionado por el NIST: FIPS 205 |
Firma | XMSS | Funciones de hash | Descartado por el NIST por no ser general, pero recomendado para aplicaciones específicas |
Comparativa con RSA-2048: intercambio de claves
Algoritmo | Tamaño clave | Tamaño cifrado | Tiempo cifrado | Tiempo KeyGen |
---|---|---|---|---|
Kyber512 | x4 | x4 | x1 | x4000 |
Comparativa con Ed25519 (ECDA): firmas
Algoritmo | Tamaño clave | Tamaño cifrado | Tiempo firmado | Tiempo verificar |
---|---|---|---|---|
Dilithium2 | x40 | x40 | x5 | x0.5 |
Falcon512 | x30 | x10 | x8 | x0.5 |
SPHINCS+128 | x1 | x100 | x500 | x7 |
Observa: buscamos las curvas elípticas para conseguir una criptografía asimétrica eficiente, y los nuevos protocolos son aún más ineficientes
Fuente: charla "Criptografía postcuántica: presente y futuro" de Adrián Ranea en Jornadas CCN-CERT 2023
La recomendación es empezar ya con la transición
Recomendaciones para una transición postcuántica segura. CCN-TEC 009. Diciembre 2022
Mientras implementamos la criptografía post-cuántica completa podemos usar esquemas híbridos
https://xiphera.com/hybrid-models-connect-the-post-quantum-with-the-classical-security/
Recomendaciones para una transición postcuántica segura. CCN-TEC 009. Diciembre 2022
Recomendaciones para una transición postcuántica segura. CCN-TEC 009. Diciembre 2022
AWS, Signal y otros ya permiten conectarse a sus servidores usando criptografía post-cuántica
No sabemos cuándo llegará la computación cuántica, pero ya podemos usar criptografía post-cuántica
Criptografía post-cuántica:
Generales sobre computación cuántica:
Una clave pública RSA tiene entre el doble y el cuadruple de esta longitud
Nota: no pretenderé explicar cómo funciona la computación cuántica, sinó cómo afectará a la criptografía del futuro próximo
Recordatorio: "problema complejo" no significa necesariamente problema difícil. Hay una rama de las matemáticas que estudia los problemas complejos, y tienen que ver con cuánto aumementan los recursos necesarios para resolver un problema (tiempo, memoria = dinero) cuando aumenta el tamaño del problema. Por ejemplo, factorizar números primos es un problema complejo. No porque sea difícil (no lo es), sino porque el tiempo necesario para factorizar un número aumenta exponencialmente con su tamaño Si un problema no es complejo, utilizar computación cuántica para solucionarlo en "matar moscas a cañonazos" Por eso es poco probable que veamos computadoras cuánticas en nuestros hogares: en nuestra vida diaria no necesitamos resolver problemas matemáticamente complejos
La criptografía cuántica utiliza los principios cuánticos para crear un canal de comunicaciones seguro. ¡No se necesita una computadora cuántica para usar la criptografía cuántica En el ejemplo, se usa un canal cuántico para distribuir una clave criptográfica tradicional que se puede usar, por ejemplo, para AES. En un canal cuántico, "el acto de medir cambia lo que se mide" (principio de incertidumbre), así que Alice y Bob se darán cuanta si hay alguien escuchando el canal, y no usarán esa clave para cifrar En esta clase no hablaremos de criptografía cuántica
En la imagen, IBM-Q quantum computer en la conferencia Supercomputing 18 de Dallas, Texas Para pensar: ¿realmente necesitamos resolver algoritmos de optimización tan rápido? ¿No nos valen los algoritmos tradicionales?
Observa: ya teníamos algoritmos antes de tener el primer computador cuántico!
Fíjate: da igual que aumentemos el tamaño de la clave, llega un momento en que resolver RSA se vuelve casi constante, independientemente de cuántos bits tenga la clave
El vídeo contiene detalles físicos y matemáticos de cómo funciona en algoritmo de Shor en sistemas cuánticos y es razonablemente sencillo
Sabemos que la computación cuántica es posible. Ahora, ¿es realmente más rápida que la tradicional? El consenso en la comunidad científica es que sí, que acabará teniendo ventaja/supremacía frente a la computación tradicional antes o después. Y tenemos que estar preparados para ello.
Fíjate: - son anuncios, no demostraciones - segutamente estos números estarán obsoletos cuando leas esto
Recuerda: - el cifrado simétrico (AES, ChaCha hash) se puede romper simplemente buscando qué texto original daría un cifrado. Eso es una búsqueda exhaustiva, y la computación cuántica puede hacer más rápidamente que la tradicional - La seguridad de RSA se basa en que no sabemos hacer factorización de números primos rápidamente con computadoras clásicas, pero sí que sabremos resolverlo muy rápidamente con computadoras cuánticas - D-H se basa en el problema del logaritmo discreto y tiene el mismo problema - Los sistemas de curvas elípticas también tendrán el mismo problema Aunque la criptografía simétrica resistirá, necesitamos sustituir la criptografía asimétrica
Fíjate bien: llamamos criptografía post-cuántica a la criptografía que ejecutarán las computadoras clásicas, no las cuánticas
EL intercambio de claves clásico podría hacerse acordando una clave (Diffie-Hellman) o simplemente enviando una clave simétrica cifrada con RSA. Esto último es lo que se llama "encapsulamiento de clave"
A continuación vamos a explicar muy por encima en qué consiste el problema del aprendizaje con errores, dejándo detalles fuera. El primer enlace es la propuesta que se envió al NIST, el segundo enlace es una explicación sencilla en la que hemos basado esta sección, el tercer enlace incluye una versión más completa La intención de esta sección es introducir y entender aproximadamente en qué se basa este sistema, no entender todos los detalles
Imagen: https://blog.cloudflare.com/content/images/2022/10/image3.png
Todos estos algoritmos están bajo un estudio constante y se están descubriendo ataques existosos a algunos de ellos. Cada uno tiene ventajas y desventajas: manejo de estados, tiempos muy largos, claves largas...
Para firmar las actualizaciones de firmaware se recomienda utilizar ya firmados post-cuánticos. El hardware puede estar funcionando durante décadas, muy posiblemente hasta después de que existan las computadoras cuánticas Los sitemas híbridos utilizan tanto criptografía cuánticas como post-cuántica, adaptando primero los algoritmos que puedan ser más sencillos (como D-H)