El mes de noviembre pasado describimos el pánico generado por un anuncio sobre las capacidades de un nuevo ordenador cuántico. En éste explicamos las razones.

En criptografía digital se suelen cumplir dos principios: los algoritmos son públicos y están descritos por sus autores (lo que no se conoce son las claves de cifrado) y los cálculos para cifrar y descifrar son idénticos, si es con la misma clave se llama cifrado simétrico, y si son dos claves diferentes pero relacionadas entre sí se llama cifrado asimétrico.

Uno de los algoritmos asimétricos más populares es el RSA (creado por Rivest, Shamir y Adleman en 1979 – http://www.dma.fi.upm.es/recursos/aplicaciones/matematica_discreta/web/aritmetica_modular/rsa.html), que se utiliza en España para la firma electrónica. Se fundamenta en la selección arbitraria de dos números primos (p y q) que se multiplican entre sí para obtener n, dato que se da a conocer. Deducir p y q a partir de n significa romper el algoritmo (esto se llama factorización de números enteros), porque la clave privada se obtendría de forma inmediata de la pública. Bien, parece fácil: se prueban todos los números primos inferiores a la raiz cuadrada de n hasta obtener un divisor entero. Por ejemplo, si n=15, p y q son obviamente 3 y 5. Con la velocidad actual de los ordenadores y la posibilidad de poner muchos trabajando en paralelo pudiera parecer bastante factible. Sin embargo, nada más lejos de la realidad.

Se recomienda actualmente que p y q tengan del orden de 300 dígitos decimales, es decir 10300. Los múltiplos de una cantidad se llaman kilo, mega… El más alto manejado usualmente es el Yotta (1024). Consideremos un valor colosal: la velocidad de cálculo para la división entera en un superordenador es un Yotta de Yotta (1048) operaciones por segundo. El proceso “solo” duraría 10250 segundos. La edad del universo desde que se creó el tiempo es del orden de 1018 segundos, de modo que el proceso es computacionalmente inviable. Este algoritmo parece pueril, pero si p y q están bien elegidos, no hay alternativas mucho mejores. El problema es que el crecimiento de la dificultad computacional es exponencial con el tamaño de n, como el cuento de los granos de arroz en el tablero de ajedrez.

La computación cuántica se fundamenta en que un bit cuántico (qubit) puede valer a la vez uno, cero y cualquiera de los estados intermedios. Esto es muy difícil de entender porque la mente humana es determinista pero facilita que la capacidad de proceso de un procesador cuántico crezca también de forma exponencial con el número de qubits. Se han desarrollado algunos algoritmos cuánticos. En 1994, Peter Shor de los laboratorios Bell, propuso uno (https://es.wikipedia.org/wiki/Algoritmo_de_Shor) para la factorización de números enteros en el que la dificultad computacional no era la clásica de 2x siendo x el número de dígitos binarios del entero n a factorizar, sino x3, lo cual es manejable computacionalmente. Esta es la razón del pánico descrito en el anterior artículo.

Si alguien está pensando en ir en unos meses a la tienda de la esquina para cambiar el procesador de su portátil por uno cuántico mejor que se quite la idea de la cabeza. Las dificultades técnicas de implementación son aún mayores que las matemáticas y, sobre todo, no tendría utilidad para el trabajo que hacemos habitualmente. Sin embargo, para determinados procesos como el Machine Learning supermasivo, simulaciones biomédicas, Inteligencia Artificial o desarrollo de modelos de evaluación de riesgos financieros globales, se abre un mundo de posibilidades que no ha ofrecido hasta ahora la computación clásica.

CIBERNOS ha creado un Centro de Innovación en Andalucía, denominado Smart Project Excellence Center (SPEC), que pretende impulsar la innovación desde una perspectiva de creación y uso de tecnologías disruptivas con aplicación práctica a distintos sectores económicos.

Carlos López MuñozCarlos López web

Director Técnico

Smart Project Excellence Center de Cibernos

 

Artículo incluido en la revista de diciembre de Agenda de la Empresa