Skip to content
La investigación sobre ordenadores cuánticos avanza imparable. Aunque la construcción de estas máquinas a gran escala todavía es incierta, cada vez más científicos la consideran plausible en un plazo inferior a 20 años.
Si se lograse, los sistemas criptográficos empleados hoy en día para garantizar el comercio electrónico en la red dejarían de ser seguros. Es por ello que el Instituto Nacional de Estándares y Tecnología de EE.UU. (NIST, por sus siglas en inglés), considera prioritaria la creación de nuevos algoritmos seguros tanto en ordenadores clásicos como cuánticos (llamados sistemas postcuánticos).
Con ese objetivo el NIST lanzó en 2016 un concurso público para identificar, elegir y estandarizar sistemas de este tipo. De entre las 83 propuestas de 17 países aceptadas en 2017, una de las 53 seleccionadas es la de Ignacio Luengo, catedrático de la Universidad Complutense de Madrid y miembro del Instituto de Ciencias Matemáticas (ICMAT) (España). “Nuestro método de cifrado promete ser seguro contra ataques de un futuro ordenador cuántico, y además es eficaz y veloz en los procesos de cifrado, descifrado y firma digital”, asegura el investigador.
Los pasados 11 y 13 de abril presentó su propuesta dentro de un congreso en Fort Lauderdale (Florida, EE.UU.). Aparte de la presentación y discusión de las propuestas que siguen en liza, los representantes del NIST han explicado el procedimiento que van a seguir y debatido con los asistentes. Entre ellos se encontraba Adi Shamir, uno de los creadores del popular algoritmo RSA y ganador del Premio BBVA Fronteras del Conocimiento en 2017, quien aprovechó para presentar una serie de consejos al NIST sobre el concurso. La primera fase de evaluación concluirá a finales de 2018 y la segunda durará unos cinco años. Se prevé que el proceso de estandarización se complete a partir de 2025 y que haya varios “ganadores”; al menos, uno por cada tecnología en concurso.
La urgencia en iniciar el proceso cuanto antes se basa en la necesidad de garantizar la seguridad de los datos futuros, pero también presentes. Las entidades que dispongan de un ordenador cuántico dentro de 20 años podrían descifrar todo el tráfico de internet del periodo previo a la implantación de la criptografía postcuántica. Algunos de estos datos carecerán de valor, pero otros, como registros médicos, secretos de estado e industriales, requieren mantener la confidencialidad durante más tiempo. El proceso de transición será complejo, y se tendrá que jerarquizar el cifrado de los datos, protegiendo los más sensibles cuanto antes.
El algoritmo de Luengo es de los llamados de clave pública. Estos sistemas funcionan con una clave pública, para cifrar, y una clave secreta, para descifrar. Se basan en operaciones matemáticas que tienen dos formas de invertirse para obtener el mensaje original, una sencilla (usando la clave privada) y una complicada (sin ella). Por ejemplo, la seguridad del algoritmo de RSA, uno de los dos estándares de clave pública actuales, se basa en la factorización de números muy grandes. Si no se conocen los factores primos que dividen al número, obtener la factorización en un ordenador clásico es un proceso muy lento, lo que garantiza la seguridad de las comunicaciones. Sin embargo, el algoritmo de Shor mostró que es posible factorizar rápidamente números grandes si se dispusiera de un ordenador cuántico, con lo que este tipo de algoritmos quedarían obsoletos.
Frente a esta situación, los sistemas postcuánticos se basan en otras matemáticas resistentes a la computación cuántica como retículos, códigos correctores de errores, funciones hash y sistemas de polinomios en muchas variables. El sistema de Luengo se engloba dentro de estos últimos, cuya dificultad radica en la complejidad de resolver sistemas de ecuaciones polinomiales en muchas variables.
Este tipo de métodos emplean una idea similar a la del algoritmo RSA, pero con polinomios: para poder descifrar el mensaje hay que conocer, o calcular, la descomposición de un polinomio h en los factores f y g. El polinomio h, la clave pública, se ha obtenido aplicando sucesivamente los dos polinomios f y g, que son las claves privadas. Para cifrar un mensaje M se evalúa el valor de h en M, es decir, se sustituyen las variables de h por el valor M y se realizan las operaciones para obtener un valor numérico h(M), que es el mensaje cifrado. Solo quien disponga de la clave privada, f y g, puede descifrarlo. En concreto, su método utiliza polinomios de grado alto, lo que lo hace más rápido y seguro que los algoritmos existentes que usan polinomios cuadráticos (de grado 2).