Cifrado RSA y física cuántica

En un artículo publicado en Physical Review A, José Luis Rosales y Vicente Martín, del Centro de Simulación Computacional de la Universidad Politécnica de Madrid, han desarrollado un método, basado en la física cuántica, que podría acelerar la factorización de números muy grandes que se sabe que tienen exactamente dos factores primos.

21.06.18

Por José Luis Rosales y Vicente Martín,
Centro de Simulación Computacional, ETS Ingenieros Informáticos

El nuevo método determina la probabilidad de que cualquier número primo sea uno de los dos factores primos de un número dado. Después de determinar estas probabilidades, los candidatos de factores primos más probables se pueden probar primero, lo que permite identificar los factores primos mucho más rápido que antes.  

El objetivo es desarrollar una nueva teoría cuántica del problema de factorización usando un simulador cuántico,  un enfoque  que ha descubierto una propiedad sin analogía clásica en teoría de números: cada par de números primos que pueden solucionar el problema se reorganizan de un modo completamente inexplicable desde la teoría de números clásica  para formar un patrón regular: el espectro de bandas del simulador cuántico. El problema cuántico determina un algoritmo semiclásico de factorización, un nuevo método que no utiliza información proveniente  de ninguna criba clásica conocida hasta ahora.  Se trataría de una criba cuántica que usa las propiedades especiales de un sistema que simula las soluciones: un "simulador cuántico".

Cuando se codifica este sistema con el número a factorizar N=xy,  las energías del simulador exhiben una distribución de probabilidad para los pares de primos, (x,y), que, con mayor probabilidad, pueden ser los factores de N. La teoría muestra, así, no solo dónde están ubicados los números primos, sino también la probabilidad de que un primo sea un factor de un número dado. Estas conclusiones deben tener implicaciones en  criptografía porque el criptosistema RSA, basado en la dificultad  algorítmica de la factorización, ignora esta regularidad.

En la figura se representa el espectro cuántico de claves públicas de RSA de 46 bits (en el eje vertical). Por ejemplo N = 54299069753881= 4562219⋅11901899. Los factores posibles de estas claves se representan (en el eje horizontal) para una función aritmética E de dichos factores. En el ejemplo anterior E= 1.000883510016. Este resultado no tiene ninguna explicación desde la teoría analítica de números.  El cifrado RSA de la firma digital actualmente vigente no tiene en cuenta esta regularidad y, por lo tanto, tendremos que revisar toda la infraestructura de clave pública teniendo en cuenta la distribución cuántica.

Para entender estos resultados, intentemos poner en el contexto de la teoría de números el problema que se ha resuelto cuánticamente.

Para un factor de N dado, digamos x, lo determinante no es dar exactamente con este valor sino, más bien, calcular el orden de dicho factor dentro del conjunto de los primos, una función bien conocida en la teoría analítica de números, denominada π(x); por ejemplo π(2)=1,π(3)=2,… π(101)=26, etc. De hecho, π(x), proporciona la información óptima para resolver el problema de la factorización  ya que  no solo  permite calcular el primo x de forma unívoca a partir de esta función, sino que, también,  caracteriza que x es de hecho  un número primo. Por otra parte, conocido N, también sabemos cuántos candidatos a factorizar N existen, esto es π(√N).  Cualquier máquina, clásica o cuántica, que podamos configurar para resolver el problema debería usar como único parámetro el número π(√N) (puesto que el máximo número de divisiones que hemos de hacer para encontrar los factores de N no supera este valor). Así, por ejemplo, para resolver el problema de factorizar  el número N = 54299069753881= 4562219⋅11901899, necesitaremos como máximo π(√N)=500000  divisiones hasta hallar el factor, que  es aquel cuya división da de resto cero.  

Así pues existen otros números, próximos al N que acabamos de ver, que tienen la misma complejidad algorítmica de factorización. En nuestro ejemplo, estos son los números que cumplen π(√N')=500000.  Llamemos  Conjunto de Factorización de N a aquellos N’ que son producto de dos primos y que cumplen esta condición. Si quisiéramos calcular con una calculadora muy rápida los factores de alguno de estos N’s tendríamos que hacer exactamente, como máximo, el mismo número de divisiones en todos los casos.

Se prueba  que, para un N=xy, debe existir una máquina cuántica que calcula la probabilidad de los pares de números primos, (x,y), dentro  del Conjunto de Factorización de N. Además, las energías  de este  sistema  están directamente relacionadas con los factores dentro del conjunto [2]. Cuando el número de estados cuánticos posibles coincide con el número de elementos  del conjunto estadístico para  los factores  probables de N, la estadística cuántica reproduce la distribución de los números primos. Esta distribución es indistinguible a la mejor aproximación en teoría analítica de números, que fue calculada por Riemann. Por otro lado la universalidad de los primos (uno de los postulados de Euclides)  se obtuvo como corolario de la existencia del simulador cuántico ya que la distribución de los primos obtenida  resulta ser independiente del  N que se desee factorizar.

Los algoritmos cuánticos son mucho más eficientes que los clásicos. En el problema  que nos ocupa el número de medidas de energía  requeridas es proporcional a una potencia del logaritmo de N. Clásicamente se necesita un número operaciones  del orden de √N . Recientemente hemos  calculado  también la probabilidad relativa  de que, dado un primo, este sea un factor de N [1].

Por otro lado, el simulador es una máquina que podemos construir. Se trata de una trampa  electro-magnética (de Penning)  de dos o más iones que comparten un único estado cuántico.  

Los resultados anteriores no están de ninguna manera relacionados con los postulados de Euclides, son propiedades completamente nuevas sin ningún análogo clásico. Después de 2500 años los números primos se revelan no solo como los átomos de la aritmética sino como números cuánticos de un sistema hecho físicamente de  átomos. Si construyésemos el simulador podremos poner a prueba la existencia física de los números primos.

Las conclusiones están, asimismo, ligadas a la solución de uno de los mayores problemas de las matemáticas: La hipótesis de Riemann. La conexión proviene de la teoría analítica de  números que relaciona la función π(x) con los ceros no triviales de la función ζ(s) de Riemann. Según una famosa conjetura debida a Polya y a Hilbert: si la parte imaginaria de los ceros fueran autovalores de un sistema cuántico, la hipótesis quedaría probada. Empero, en este trabajo se ha encontrado que los primos son los números cuánticos del simulador, ello permite especular sobre la existencia de un sistema similar para los la función ζ(s).  Resolver el problema de la factorización por métodos de la física cuántica implicaría entonces, probablemente, verificar la validez  de la hipótesis de Riemann.

La investigación se ha desarrollado dentro del proyecto Quantum Information Technologies Madrid, QUITEMAD+ S2013/ICE2801.

[1] Quantum simulation of the integer factorization problem, Phys. Rev. A  97 032325 (2018) Jose Luis Rosales y Vicente Martín.

[2] Quantum simulation of the factorization problem, Phys. Rev. Lett. 117 200502 (2016) Jose Luis Rosales y Vicente Martín.