La computación cuántica utiliza principios de la mecánica cuántica para realizar cálculos
Richard Feynman sugirió (~1980) que se podrían aprovechar comportamientos cuánticos para realizar cálculos de manera más eficiente que las computadoras clásicas
Ha sido un estudio solo teórico durante 50 años, pero ahora empezamos a poder construirlas
¿Número más grande factorizado con computación cuántica?
En 2001, el número 15
En 2012, el número 143
En 2016, el número 200.099
En 2019, el número 1.099.551.473.989... pero usando computación tradicional para simplificar el problema a un tamaño manejable por los computadores cuánticos (3 qbits), y un número "con truco"
En 2024, el número 8.219.999... sin apoyarse en computación tradicional
Hay interés y dinero en demostrar la supremacía cuántica, toma cualquier noticia con precaución
Problemas matemáticos en los que se basa la criptografía post-cuántica
Códigos correctores de errores
Retículos
Funciones de hash con y sin estado
Polinomios multivariantes cuadráticos
Isogenias definidas sobre curvas elípticas
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
Concurso del NIST
En 2016, el NIST (instituo de estandarización de EEUU), convocó un concurso para evaluar los mejores algoritmos post-cuánticos que le presentasen. Se centró en:
Mecanismos de encapsulación de claves o KEM (Key Encapsulation
Mechanism), para sustituir a Diffie-Hellman
Firmas digitales, para sustituir a RSA
El NIST ya ha publicado (agosto de 2024) los estándares post-cuánticos:
ML-KEM: Module-Lattice-Based Key-Encapsulation Mechanism. FIPS 203. Estándar de intercambio de clave basado en CRYSTALS-Kyber. Reemplaza ECDH.
ML-DSA: Module-Lattice-Based Digital Signature Algorithm. FIPS 204. Estándar principal para firmas digitales post-cuánticas. Usa el algoritmo CRYSTALS-Dilithium. Reemplaza RSA, ECDSA
SLH-DSA: Stateless Hash-Based Digital Signature Algorithm. FIPS 205. Basado en Sphincs+. Es un "backup" para ML-DSA
Observa que se usa también la aritmética del módulo
Es un sistema lineal y dada la clave pública cualquiera podría sacar la privada
Aprendizaje CON errores
Observa que ahora hemos introducido ligeros errores en la igualdad. Por ejemplo, la primera ecuación resulta en 8 en vez de 11
Ya no es un sistema lineal y obtener la clave privada a partir de la pública no es fácil, ni siquiera para un computador cuántico
Cifrado y descifrado
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
Uso y comparación de D-H
De esta manera, bit a bit, un emisor puede enviar qué clave AES se utiliza el resto de la comunicación: encapsulación de clave
Valores reales: 256 variables, módulo 3329
Comparado con ECDH...
Hay una pequeña probabilidad de descifrar incorrectamente
La computación cuántica permite resolver ciertos problemas más rápidamente de lo que sabemos hacerlo con computación tradicional
Cuando llegue la computación cuántica:
AES, ChaCha, criptografía simétrica: deberá doblar el tamaño de las claves usadas
SHA, funciones de hash: deberán casi doblar los bits de salida
RSA, D-H, curvas elípticas, criptografía asimétrica, intercambio de claves y firmado: obsoleta, hay que buscar alternativas
Criptografía post-cuántica: sistemas criptográficos que usarán las computadoras clásicas para protegerse de las hipotéticas computadoras cuánticas
Agosto de 2024: el NIST ya ha estandarizado los algoritmos post-cuánticos que recomienda, y se espera que el resto de agencias tengan opiniones similares
No sabemos cuándo llegará la computación cuántica, pero ya podemos usar criptografía post-cuántica
El periodo de transición puede ser muy largo y se recomienda empezar ya la migración a criptografía post-cuántica
Referencias
Criptografía post-cuántica:
"Computación Cuántica: Cómo afectará a la Criptografía actual y cómo podemos adaptarnos", TFM de Alicia Marybel Díaz Zea en la VIU, 2022-2023
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"
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...
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
En la figura, esquema híbrido de generación de clave: la clave es una combinación de generación tradicional y post-cuántica
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)