Articulo de referencia

El algoritmo de Shor

El algoritmo de Shor es un algoritmo cuántico para encontrar los factores primos de un número entero. Fue desarrollado en 1994 por el matemático estadounidense Peter Shor . [ 1 ...

El algoritmo de Shor es un algoritmo cuántico para encontrar los factores primos de un número entero. Fue desarrollado en 1994 por el matemático estadounidense Peter Shor . [ 1 ] [ 2 ] Es uno de los pocos algoritmos cuánticos conocidos con aplicaciones potenciales convincentes y una fuerte evidencia de aceleración superpolinómica en comparación con los mejores algoritmos clásicos (no cuánticos) conocidos. [ 3 ] Sin embargo, superar a las computadoras clásicas podría requerir computadoras cuánticas con millones de cúbits debido a la sobrecarga causada por la corrección de errores cuánticos . [ 4 ]

Shor propuso varios algoritmos similares para resolver el problema de factorización , el problema del logaritmo discreto y el problema de la búsqueda de periodos. El "algoritmo de Shor" suele referirse al algoritmo de factorización, pero puede referirse a cualquiera de los tres algoritmos. El algoritmo del logaritmo discreto y el algoritmo de factorización son ejemplos del algoritmo de búsqueda de periodos, y los tres son ejemplos del problema del subgrupo oculto .

En una computadora cuántica, para factorizar un número enteronorte{\displaystyle N}El algoritmo de Shor se ejecuta en tiempo polinomial , lo que significa que el tiempo empleado es polinomial.registronorte{\displaystyle \log N}. [ 5 ] Se necesitan puertas cuánticas de ordenO((registronorte)2(registroregistronorte)(registroregistroregistronorte)){\displaystyle O\!\left((\log N)^{2}(\log \log N)(\log \log \log N)\right)}utilizando multiplicación rápida, [ 6 ] o inclusoO((registronorte)2(registroregistronorte)){\displaystyle O\!\left((\log N)^{2}(\log \log N)\right)}utilizando el algoritmo de multiplicación asintóticamente más rápido conocido actualmente debido a Harvey y van der Hoeven , [ 7 ] demostrando así que el problema de factorización de enteros está en la clase de complejidad BQP . El algoritmo de Shor es asintóticamente más rápido que el algoritmo de factorización clásico más escalable, la criba de cuerpos numéricos general , que funciona en tiempo subexponencial :O(mi1.9(registronorte)1/3(registroregistronorte)2/3){\displaystyle O\!\left(e^{1.9(\log N)^{1/3}(\log \log N)^{2/3}}\right)}. [ 8 ]

Viabilidad e implicaciones

Diagrama que muestra el cifrado y el descifrado de un documento mediante criptografía asimétrica. Algunas formas de cifrado (incluida la criptografía asimétrica) corren el riesgo de ser vulneradas por futuras computadoras cuánticas.

Suponiendo que una computadora cuántica con un número suficiente de cúbits pudiera operar sin sucumbir al ruido cuántico y otros fenómenos de decoherencia cuántica , entonces el algoritmo de Shor podría usarse para romper esquemas de criptografía de clave pública , como

RSA puede romperse si la factorización de números enteros grandes es computacionalmente factible. Hasta donde se sabe, esto no es posible con computadoras clásicas (no cuánticas); no se conoce ningún algoritmo clásico que pueda factorizar números enteros en tiempo polinomial. Sin embargo, el algoritmo de Shor demuestra que la factorización de números enteros puede realizarse con un circuito de complejidad polinomial en una computadora cuántica ideal. Por lo tanto, podría ser factible vencer a RSA construyendo una computadora cuántica lo suficientemente potente. Esto fue un poderoso incentivo para el diseño y la construcción de computadoras cuánticas, y para el estudio de nuevos algoritmos para computadoras cuánticas. También ha facilitado la investigación de nuevos criptosistemas seguros frente a las computadoras cuánticas, denominados colectivamente criptografía postcuántica (PQC).

Implementación física

A partir de 2026, debido a las altas tasas de error de las computadoras cuánticas y al número limitado de cúbits físicos disponibles para la corrección de errores cuánticos , las demostraciones de laboratorio del algoritmo de Shor obtienen resultados correctos en solo una fracción de los intentos, y solo han tenido éxito con semiprimos pequeños .

En 2001, el algoritmo de Shor fue demostrado por un grupo en IBM , que factorizó15{\displaystyle 15}en3×5{\displaystyle 3\times 5}, utilizando una implementación de RMN de una computadora cuántica con siete cúbits. [ 10 ] Después de la implementación de IBM, dos grupos independientes implementaron el algoritmo de Shor utilizando cúbits fotónicos . [ 11 ] [ 12 ] En 2012, la factorización de15{\displaystyle 15}se realizó con cúbits de estado sólido. [ 13 ] Posteriormente, en 2012, la factorización de21{\displaystyle 21}se logró. [ 14 ] En 2016, la factorización de15{\displaystyle 15}Se realizó nuevamente utilizando cúbits de iones atrapados. [ 15 ] Sin embargo, ninguna de estas demostraciones cumple con los requisitos del algoritmo de Shor: compilan el circuito utilizando conocimiento previo de la solución, y algunas incluso han simplificado demasiado el algoritmo de tal manera que lo hacen equivalente a lanzar una moneda. [ 16 ]

Algoritmo

El problema que estamos tratando de resolver es: dado un número compuesto imparnorte{\displaystyle N}, encuentra sus factores enteros .

Para lograr esto, el algoritmo de Shor consta de dos partes:

  1. Una reducción clásica del problema de factorización al problema de búsqueda de orden . Esta reducción es similar a la utilizada para otros algoritmos de factorización , como la criba cuadrática .
  2. Un algoritmo cuántico para resolver el problema de la búsqueda de órdenes.

Reducción clásica

Un algoritmo de factorización completo es posible si podemos factorizar eficientemente cualquier número arbitrario.norte{\displaystyle N}en solo dos números enterospag{\displaystyle p}yq{\displaystyle q}mayor que 1, ya que si alguno de los dospag{\displaystyle p}oq{\displaystyle q}Si no son primos, entonces el algoritmo de factorización se puede ejecutar sobre ellos hasta que solo queden primos.

Una observación básica es que, utilizando el algoritmo de Euclides , siempre podemos calcular el MCD entre dos enteros de manera eficiente. En particular, esto significa que podemos comprobar de manera eficiente sinorte{\displaystyle N}es par, en cuyo caso 2 es trivialmente un factor. Supongamos entonces quenorte{\displaystyle N}es extraño para el resto de esta discusión. Después, podemos usar algoritmos clásicos eficientes para comprobar sinorte{\displaystyle N}es una potencia prima . [ 17 ] Para potencias primas, existen algoritmos de factorización clásicos eficientes, [ 18 ] por lo tanto, el resto del algoritmo cuántico puede asumir quenorte{\displaystyle N}no es una potencia principal.

Si esos casos sencillos no producen un factor no trivial denorte{\displaystyle N}El algoritmo procede a manejar el caso restante. Elegimos un número entero aleatorio.2a<norte.{\displaystyle 2\leq a<N{.}}Un posible divisor no trivial denorte{\displaystyle N}se puede encontrar mediante computaciónmcd(a,norte){\displaystyle \gcd(a,N)}, lo cual se puede hacer de forma clásica y eficiente utilizando el algoritmo euclidiano . Si esto produce un factor no trivial (que significamcd(a,norte)1{\displaystyle \gcd(a,N)\neq 1}), el algoritmo está terminado y el otro factor no trivial esnorte/mcd(a,norte){\displaystyle N/\gcd(a,N)}. Si no se identificó un factor no trivial, entonces esto significa quenorte{\displaystyle N}y la elección dea{\displaystyle a}son coprimos , por lo tantoa{\displaystyle a}está contenido en el grupo multiplicativo de enteros módulonorte{\displaystyle N}, teniendo un inverso multiplicativo módulonorte{\displaystyle N}. De este modo,a{\displaystyle a}tiene un orden multiplicativor{\displaystyle r}módulonorte{\displaystyle N}, significado

ar1modnorte,{\displaystyle a^{r}\equiv 1{\bmod {N}},}

yr{\displaystyle r}es el entero positivo más pequeño que satisface esta congruencia.

La subrutina cuántica encuentrar{\displaystyle r}. Se puede observar por la congruencia quenorte{\displaystyle N}dividear1{\displaystyle a^{r}-1}, escritonortear1{\displaystyle N\mid a^{r}-1}Esto se puede factorizar utilizando la diferencia de cuadrados :norte(ar/21)(ar/2+1).{\displaystyle N\mid (a^{r/2}-1)(a^{r/2}+1).}Dado que hemos factorizado la expresión de esta manera, el algoritmo no funciona para números impares.r{\displaystyle r}(porquear/2{\displaystyle a^{r/2}}debe ser un número entero), lo que significa que el algoritmo tendría que reiniciarse con un nuevoa{\displaystyle a}Por lo tanto, en adelante podemos asumir quer{\displaystyle r}es par. No puede ser el caso quenortear/21{\displaystyle N\mid a^{r/2}-1}, ya que esto implicaríaar/21modnorte{\displaystyle a^{r/2}\equiv 1{\bmod {N}}}, lo cual implicaría contradictoriamente quer/2{\displaystyle r/2}sería el orden dea{\displaystyle a}, que ya estabar{\displaystyle r}. En este punto, puede que sea o no el caso quenortear/2+1{\displaystyle N\mid a^{r/2}+1}. Sinorte{\displaystyle N}no dividear/2+1{\displaystyle a^{r/2}+1}, entonces esto significa que podemos encontrar un factor no trivial denorte{\displaystyle N}Calculamos .d=mcd(norte,ar/21).{\displaystyle d=\gcd(N,a^{r/2}-1).}Sid=1{\displaystyle d=1}, entoncesnortear/2+1{\displaystyle N\mid a^{r/2}+1}era cierto, y un factor no trivial denorte{\displaystyle N}no se puede lograr desdea{\displaystyle a}y el algoritmo debe reiniciarse con un nuevoa{\displaystyle a}. De lo contrario, hemos encontrado un factor no trivial denorte{\displaystyle N}, siendo el otronorte/d{\displaystyle N/d}y el algoritmo ha terminado. Para este paso, también es equivalente a calcularmcd(norte,ar/2+1){\displaystyle \gcd(N,a^{r/2}+1)}; producirá un factor no trivial simcd(norte,ar/21){\displaystyle \gcd(N,a^{r/2}-1)}no es trivial, y no lo será si es trivial (dondenortear/2+1{\displaystyle N\mid a^{r/2}+1}).

El algoritmo reformulado brevemente es el siguiente:norte{\displaystyle N}ser impar, y no una potencia prima. Queremos generar dos factores no triviales denorte{\displaystyle N}.

  1. Elige un número al azar1<a<norte{\displaystyle 1<a<N}.
  2. CalcularK=mcd(a,norte){\displaystyle K=\gcd(a,N)}, el máximo común divisor dea{\displaystyle a}ynorte{\displaystyle N}.
  3. SiK1{\displaystyle K\neq 1}, entoncesK{\displaystyle K}es un factor no trivial denorte{\displaystyle N}, siendo el otro factor elnorte/K{\displaystyle N/K}y hemos terminado.
  4. De lo contrario, utilice la subrutina cuántica para encontrar el orden.r{\displaystyle r}dea{\displaystyle a}.
  5. Sir{\displaystyle r}Si es extraño, vuelva al paso 1.
  6. Calculargramo=mcd(norte,ar/2+1){\displaystyle g=\gcd(N,a^{r/2}+1)}. Sigramo{\displaystyle g}no es trivial, el otro factor esnorte/gramo{\displaystyle N/g}Y listo. De lo contrario, vuelva al paso 1.

Se ha demostrado que es probable que esto tenga éxito después de algunas ejecuciones. [ 2 ] En la práctica, una sola llamada a la subrutina de búsqueda de orden cuántico es suficiente para factorizar completamente.norte{\displaystyle N}con una probabilidad de éxito muy alta si se utiliza una reducción más avanzada. [ 19 ]

Subrutina de búsqueda de orden cuántico

El objetivo de la subrutina cuántica del algoritmo de Shor es, dados los enteros coprimosnorte{\displaystyle N}y1<a<norte{\displaystyle 1<a<N}para encontrar el ordenr{\displaystyle r}dea{\displaystyle a}módulonorte{\displaystyle N}, el entero positivo más pequeñor{\displaystyle r}de tal manera quear1(modnorte){\displaystyle a^{r}\equiv 1{\pmod {N}}}Para lograr esto, el algoritmo de Shor utiliza un circuito cuántico que involucra dos registros. El segundo registro utilizanorte{\displaystyle n}cúbits, dondenorte{\displaystyle n}es el entero más pequeño tal quenorte2norte{\displaystyle N\leq 2^{n}}, es decir,norte=registro2norte{\displaystyle n=\left\lceil {\log _{2}N}\right\rceil }El tamaño del primer registro determina la precisión de la aproximación que produce el circuito. Se puede demostrar que utilizando2norte{\displaystyle 2n}Los cúbits proporcionan la precisión suficiente para encontrarr{\displaystyle r}El circuito cuántico exacto depende de los parámetros.a{\displaystyle a}ynorte{\displaystyle N}, que definen el problema. La siguiente descripción del algoritmo utiliza la notación bra-ket para denotar estados cuánticos y{\displaystyle \otimes }para denotar el producto tensorial .

El algoritmo consta de dos pasos principales:

  1. Utilice la estimación de fase cuántica con matriz unitaria.U{\displaystyle U}representando la operación de multiplicar pora{\displaystyle a}(módulonorte{\displaystyle N}), y estado de entrada|02norte|1{\displaystyle |0\rangle ^{\otimes 2n}\otimes |1\rangle }(donde el segundo registro es|1{\displaystyle |1\rangle }hecho denorte{\displaystyle n}cúbits). Los valores propios de esteU{\displaystyle U}codificar información sobre el período y|1{\displaystyle |1\rangle }se puede ver que es escribible como una suma de sus autovectores. Gracias a estas propiedades, la etapa de estimación de fase cuántica da como resultado un entero aleatorio de la formajr22norte{\displaystyle {\frac {j}{r}}2^{2n}}para aleatorioj=0,1,...,r1{\displaystyle j=0,1,...,r-1}.
  2. Utilice el algoritmo de fracciones continuas para extraer el período.r{\displaystyle r}a partir de los resultados de medición obtenidos en la etapa anterior. Este es un procedimiento para posprocesar (con una computadora clásica) los datos de medición obtenidos al medir los estados cuánticos de salida y recuperar el período.

La conexión con la estimación de fase cuántica no se discutió en la formulación original del algoritmo de Shor, [ 2 ] pero fue propuesta posteriormente por Alexei Kitaev . [ 20 ]

Estimación de fase cuántica

Subrutina cuántica en el algoritmo de Shor

En general, el algoritmo de estimación de fase cuántica , para cualquier unitarioU{\displaystyle U}y autoestado|ψ{\displaystyle |\psi \rangle }de tal manera queU|ψ=mi2πiθ|ψ{\displaystyle U|\psi \rangle =e^{2\pi i\theta }|\psi \rangle }, envía estados de entrada|0|ψ{\displaystyle |0\rangle |\psi \rangle }para generar estados cercanos a|ϕ|ψ{\displaystyle |\phi \rangle |\psi \rangle }, dóndeϕ{\displaystyle \phi }es una superposición de números enteros cercanos a22norteθ{\displaystyle 2^{2n}\theta }En otras palabras, envía cada autoestado|ψj{\displaystyle |\psi _{j}\rangle }deU{\displaystyle U}a un estado que contiene información cercana al valor propio asociado. Para los fines de la búsqueda de orden cuántico, empleamos esta estrategia utilizando la unitaria definida por la acciónU|k={|ak(modnorte)0k<norte,|knortek<2norte.{\displaystyle U|k\rangle ={\begin{cases}|ak{\pmod {N}}\rangle &0\leq k<N,\\|k\rangle &N\leq k<2^{n}.\end{cases}}}La acción deU{\displaystyle U}en los estados|k{\displaystyle |k\rangle }connortek<2norte{\displaystyle N\leq k<2^{n}}no es crucial para el funcionamiento del algoritmo, pero debe incluirse para asegurar que la transformación general sea una puerta cuántica bien definida. Implementación del circuito para la estimación de fase cuántica conU{\displaystyle U}requiere poder implementar las puertas de manera eficienteU2j{\displaystyle U^{2^{j}}}Esto se puede lograr mediante la exponenciación modular , que es la parte más lenta del algoritmo.

La puerta así definida satisfaceUr=I{\displaystyle U^{r}=I}, lo que implica inmediatamente que sus autovalores son losr{\displaystyle r}raíces de la unidadωrk=mi2πik/r{\displaystyle \omega _{r}^{k}=e^{2\pi ik/r}}. Además, cada valor propioωrj{\displaystyle \omega _{r}^{j}}tiene un vector propio de la forma|ψj=r1/2k=0r1ωrkj|ak{\textstyle |\psi _{j}\rangle =r^{-1/2}\sum _{k=0}^{r-1}\omega _{r}^{-kj}|a^{k}\rangle }y estos autovectores son tales que1rj=0r1|ψj=1rj=0r1k=0r1ωrjk|ak=|1+1rk=1r1(j=0r1ωrjk)|ak=|1,{\displaystyle {\begin{aligned}{\frac {1}{\sqrt {r}}}\sum _{j=0}^{r-1}|\psi _{j}\rangle &={\frac {1}{r}}\sum _{j=0}^{r-1}\sum _{k=0}^{r-1}\omega _{r}^{jk}|a^{k}\rangle \\&=|1\rangle +{\frac {1}{r}}\sum _{k=1}^{r-1}\left(\sum _{j=0}^{r-1}\omega _{r}^{jk}\right)|a^{k}\rangle =|1\rangle ,\end{aligned}}} donde la última identidad se deduce de la fórmula de la serie geométrica , lo que implicaj=0r1ωrjk=0{\textstyle \sum _{j=0}^{r-1}\omega _{r}^{jk}=0}.

Utilizando la estimación de fase cuántica en un estado de entrada|02norte|ψj{\displaystyle |0\rangle ^{\otimes 2n}|\psi _{j}\rangle }entonces devolvería el número entero22nortej/r{\displaystyle 2^{2n}j/r}con alta probabilidad. Más precisamente, el circuito de estimación de fase cuántica envía|02norte|ψj{\displaystyle |0\rangle ^{\otimes 2n}|\psi _{j}\rangle }a|ϕj|ψj{\displaystyle |\phi _{j}\rangle |\psi _{j}\rangle }de tal manera que la distribución de probabilidad resultantepagk|k|ϕj|2{\displaystyle p_{k}\equiv |\langle k|\phi _{j}\rangle |^{2}}alcanza su punto máximo alrededor dek=22nortej/r{\displaystyle k=2^{2n}j/r}, conpag22nortej/r4/π20,4053{\displaystyle p_{2^{2n}j/r}\geq 4/\pi ^{2}\approx 0.4053}Esta probabilidad se puede hacer arbitrariamente cercana a 1 utilizando cúbits adicionales.

Aplicando el razonamiento anterior a la entrada|02norte|1{\displaystyle |0\rangle ^{\otimes 2n}|1\rangle }, la estimación de fase cuántica da como resultado la evolución|02norte|1=1rj=0r1|02norte|ψj1rj=0r1|ϕj|ψj.{\displaystyle |0\rangle ^{\otimes 2n}|1\rangle ={\frac {1}{\sqrt {r}}}\sum _{j=0}^{r-1}|0\rangle ^{\otimes 2n}|\psi _{j}\rangle \to {\frac {1}{\sqrt {r}}}\sum _{j=0}^{r-1}|\phi _{j}\rangle |\psi _{j}\rangle .}Al medir el primer registro, ahora tenemos una probabilidad equilibrada.1/r{\displaystyle 1/r}para encontrar cada|ϕj{\displaystyle |\phi _{j}\rangle }, cada uno de ellos dando una aproximación entera a22nortej/r{\displaystyle 2^{2n}j/r}, que se puede dividir por22norte{\displaystyle 2^{2n}}para obtener una aproximación decimal paraj/r{\displaystyle j/r}.

Algoritmo de fracción continua para recuperar el período

Luego, aplicamos el algoritmo de fracciones continuas para encontrar números enteros.b{\displaystyle b}ydo{\displaystyle c}, dóndeb/do{\displaystyle b/c}proporciona la mejor aproximación fraccionaria para la aproximación medida desde el circuito, parab,do<norte{\displaystyle b,c<N}y coprimob{\displaystyle b}ydo{\displaystyle c}. El número de cúbits en el primer registro,2norte{\displaystyle 2n}, que determina la exactitud de la aproximación, garantiza quebdo=jr,{\displaystyle {\frac {b}{c}}={\frac {j}{r}},} dada la mejor aproximación de la superposición de|ϕj{\displaystyle |\phi _{j}\rangle }se midió [ 2 ] (que puede hacerse arbitrariamente probable usando bits adicionales y truncando la salida). Sin embargo, mientrasb{\displaystyle b}ydo{\displaystyle c}son coprimas, puede ser el caso quej{\displaystyle j}yr{\displaystyle r}no son coprimos. Por eso,b{\displaystyle b}ydo{\displaystyle c}puede haber perdido algunos factores que estaban enj{\displaystyle j}yr{\displaystyle r}Esto se puede remediar volviendo a ejecutar la subrutina de búsqueda de orden cuántico un número arbitrario de veces, para producir una lista de aproximaciones fraccionarias.b1do1,b2do2,,bsdos,{\displaystyle {\frac {b_{1}}{c_{1}}},{\frac {b_{2}}{c_{2}}},\ldots ,{\frac {b_{s}}{c_{s}}},}dóndes{\displaystyle s}es el número de veces que se ejecutó la subrutina. Cadadok{\displaystyle c_{k}}Se le quitarán diferentes factores porque el circuito (probablemente) habrá medido múltiples valores posibles diferentes dej{\displaystyle j}Para recuperar el realr{\displaystyle r}valor, podemos tomar el mínimo común múltiplo de cadadok{\displaystyle c_{k}}:lcm(do1,do2,,dos).{\displaystyle \operatorname {lcm} (c_{1},c_{2},\ldots ,c_{s}).}El mínimo común múltiplo será el ordenr{\displaystyle r}del entero originala{\displaystyle a}con alta probabilidad. En la práctica, una sola ejecución de la subrutina de búsqueda de orden cuántico suele ser suficiente si se utiliza un postprocesamiento más avanzado. [ 21 ]

Elegir el tamaño del primer registro

La estimación de fase requiere elegir el tamaño del primer registro para determinar la precisión del algoritmo, y para la subrutina cuántica del algoritmo de Shor,2norte{\displaystyle 2n}qubits es suficiente para garantizar que la cadena de bits óptima medida a partir de la estimación de fase (es decir,|k{\displaystyle |k\rangle }dóndek/22norte{\textstyle k/2^{2n}}es la aproximación más precisa de la fase a partir de la estimación de fase) permitirá el valor real der{\displaystyle r}ser recuperado.

Cada|ϕj{\displaystyle |\phi _{j}\rangle }antes de la medición en el algoritmo de Shor representa una superposición de enteros que aproximan22nortej/r{\displaystyle 2^{2n}j/r}. Dejar|k{\displaystyle |k\rangle }representa el entero más óptimo en|ϕj{\displaystyle |\phi _{j}\rangle }El siguiente teorema garantiza que el algoritmo de fracciones continuas se recuperaráj/r{\displaystyle j/r}dek/22norte{\displaystyle k/2^{2{n}}}:

Teorema Sij{\displaystyle j}yr{\displaystyle r}sonnorte{\displaystyle n}enteros de bits y |jrϕ|12r2{\displaystyle \left\vert {\frac {j}{r}}-\phi \right\vert \leq {\frac {1}{2r^{2}}}} Luego, el algoritmo de fracciones continuas se ejecuta enϕ{\displaystyle \phi }recuperará ambosjmcd(j,r){\textstyle {\frac {j}{\gcd(j,\;r)}}}yrmcd(j,r){\textstyle {\frac {r}{\gcd(j,\;r)}}}.

[ 3 ] Comok{\displaystyle k}es la cadena de bits óptima a partir de la estimación de fase,k/22norte{\displaystyle k/2^{2{n}}}es preciso paraj/r{\displaystyle j/r}por2norte{\displaystyle 2n}bits. Por lo tanto,|jrk22norte|122norte+112norte212r2{\displaystyle \left\vert {\frac {j}{r}}-{\frac {k}{2^{2n}}}\right\vert \leq {\frac {1}{2^{2{n}+1}}}\leq {\frac {1}{2N^{2}}}\leq {\frac {1}{2r^{2}}}}lo que implica que el algoritmo de fracciones continuas se recuperaráj{\displaystyle j}yr{\displaystyle r}(o restándoles su máximo común divisor).

El cuello de botella

El cuello de botella en tiempo de ejecución del algoritmo de Shor es la exponenciación modular cuántica , que es mucho más lenta que la transformada de Fourier cuántica y el preprocesamiento/postprocesamiento clásico. Existen varios enfoques para construir y optimizar circuitos para la exponenciación modular. El enfoque más simple y (actualmente) más práctico es imitar circuitos aritméticos convencionales con puertas reversibles , comenzando con sumadores de acarreo en cascada . Conocer la base y el módulo de la exponenciación facilita optimizaciones adicionales. [ 22 ] [ 23 ] Los circuitos reversibles suelen usar del orden denorte3{\displaystyle n^{3}}puertas paranorte{\displaystyle n}cúbits. Las técnicas alternativas mejoran asintóticamente el número de compuertas mediante el uso de transformadas de Fourier cuánticas , pero no son competitivas con menos de 600 cúbits debido a las altas constantes.

Determinación de periodos y logaritmos discretos

Los algoritmos de Shor para el logaritmo discreto y el problema de búsqueda de orden son ejemplos de un algoritmo que resuelve el problema de búsqueda de periodo. Los tres son ejemplos del problema del subgrupo oculto .

Algoritmo de Shor para logaritmos discretos

Dado un grupoGRAMO{\displaystyle G}con ordenpag{\displaystyle p}y generadorgramoGRAMO{\displaystyle g\in G}, supongamos que sabemos queincógnita=gramorGRAMO{\displaystyle x=g^{r}\in G}, para algunosrZpag{\displaystyle r\in \mathbb {Z} _{p}}y deseamos calcularr{\displaystyle r}, que es el logaritmo discreto :r=registrogramo(incógnita){\displaystyle r={\log _{g}}(x)}Consideremos el grupo abeliano .Zpag×Zpag{\displaystyle \mathbb {Z} _{p}\times \mathbb {Z} _{p}}, donde cada factor corresponde a la suma modular de valores. Ahora, consideremos la función

F:Zpag×ZpagGRAMO;F(a,b)=gramoaincógnitab.{\displaystyle f\colon \mathbb {Z} _{p}\times \mathbb {Z} _{p}\to G\;;\;f(a,b)=g^{a}x^{-b}.}

Esto nos da un problema de subgrupo oculto abeliano , dondeF{\displaystyle f}corresponde a un homomorfismo de grupo . El núcleo corresponde a los múltiplos de(r,1){\displaystyle (r,1)}. Entonces, si podemos encontrar el núcleo, podemos encontrarr{\displaystyle r}Existe un algoritmo cuántico para resolver este problema. Este algoritmo, al igual que el algoritmo de búsqueda de factores, se debe a Peter Shor y ambos se implementan creando una superposición mediante el uso de puertas Hadamard, seguido de la implementación.F{\displaystyle f}como una transformada cuántica, seguida finalmente por una transformada de Fourier cuántica. [ 3 ] Debido a esto, el algoritmo cuántico para calcular el logaritmo discreto también se conoce ocasionalmente como "algoritmo de Shor".

El problema de búsqueda de orden también puede verse como un problema de subgrupo oculto. [ 3 ] Para ver esto, consideremos el grupo de enteros bajo la suma, y ​​para un dadoaZ{\displaystyle a\in \mathbb {Z} }de tal manera que:ar=1{\displaystyle a^{r}=1}, la función

F:ZZ;F(incógnita)=aincógnita,F(incógnita+r)=F(incógnita).{\displaystyle f\colon \mathbb {Z} \to \mathbb {Z} \;;\;f(x)=a^{x},\;f(x+r)=f(x).}

Para cualquier grupo abeliano finitoGRAMO{\displaystyle G}, existe un algoritmo cuántico para resolver el subgrupo oculto paraGRAMO{\displaystyle G}en tiempo polinomial. [ 3 ]

Véase también

Referencias

  1. Shor, PW (1994). «Algoritmos para computación cuántica: logaritmos discretos y factorización». Actas del 35.º Simposio Anual sobre Fundamentos de la Informática . págs. 124–134 . doi : 10.1109/sfcs.1994.365700 . ISBN  978-0-8186-6580-6.
  2. 1 2 3 4 Shor, Peter W. (octubre de 1997). "Algoritmos de tiempo polinomial para factorización prima y logaritmos discretos en una computadora cuántica". SIAM Journal on Computing . 26 (5): 1484– 1509. arXiv : quant-ph/9508027 . doi : 10.1137/S0097539795293172 . S2CID 2337707 . 
  3. 1 2 3 4 5 Nielsen, Michael A.; Chuang, Isaac L. (9 de diciembre de 2010). Computación cuántica e información cuántica (PDF) (7.ª ed.). Cambridge University Press. ISBN  978-1-107-00217-3. Archivado (PDF) del original el 11 de julio de 2019. Consultado el 24 de abril de 2022 .
  4. Gidney, Craig; Ekerå, Martin (2021). "Cómo factorizar enteros RSA de 2048 bits en 8 horas usando 20 millones de cúbits ruidosos". Quantum . 5 433. arXiv : 1905.09749 . Bibcode : 2021Quant...5..433G . doi : 10.22331/q-2021-04-15-433 . S2CID 162183806 . 
  5. Véase también tiempo pseudopolinomial .
  6. Beckman, David; Chari, Amalavoyal N.; Devabhaktuni, Srikrishna; Preskill, John (agosto de 1996). "Redes eficientes para la factorización cuántica". Physical Review A. 54 ( 2): 1034– 1063. arXiv : quant-ph/9602016 . Bibcode : 1996PhRvA..54.1034B . doi : 10.1103/physreva.54.1034 . PMID 9913575 . 
  7. Harvey, David; van der Hoeven, Joris (marzo de 2021). "Multiplicación de enteros en tiempo O (n log n)" (PDF) . Annals of Mathematics . 193 (2). doi : 10.4007/annals.2021.193.2.4 .
  8. "Cribado de campo numérico" . wolfram.com . Consultado el 23 de octubre de 2015 .
  9. Roetteler, Martin; Naehrig, Michael; Svore, Krysta M. ; Lauter, Kristin E. (2017). "Estimaciones de recursos cuánticos para el cálculo de logaritmos discretos de curvas elípticas". En Takagi, Tsuyoshi; Peyrin, Thomas (eds.). Avances en criptología – ASIACRYPT 2017 – 23.ª Conferencia Internacional sobre la Teoría y Aplicaciones de la Criptología y la Seguridad de la Información, Hong Kong, China, 3-7 de diciembre de 2017, Actas, Parte II . Lecture Notes in Computer Science. Vol. 10625. Springer. pp. 241–270 . arXiv : 1706.06752 . doi : 10.1007/978-3-319-70697-9_9 . ISBN   978-3-319-70696-2.
  10. Vandersypen, Lieven MK; Steffen, Matthias; Breyta, Gregory; Yannoni, Costantino S.; Sherwood, Mark H.; Chuang, Isaac L. (diciembre de 2001). "Realización experimental del algoritmo de factorización cuántica de Shor mediante resonancia magnética nuclear". Nature . 414 (6866): 883– 887. arXiv : quant-ph/0112176 . Bibcode : 2001Natur.414..883V . doi : 10.1038/414883a . PMID 11780055 . 
  11. Lu, Chao-Yang; Browne, Daniel E.; Yang, Tao; Pan, Jian-Wei (19 de diciembre de 2007). "Demostración de una versión compilada del algoritmo de factorización cuántica de Shor utilizando cúbits fotónicos". Physical Review Letters . 99 (25) 250504. arXiv : 0705.1684 . Bibcode : 2007PhRvL..99y0504L . doi : 10.1103/PhysRevLett.99.250504 . PMID 18233508 . 
  12. Lanyon, BP; Weinhold, TJ; Langford, NK; Barbieri, M.; James, DFV; Gilchrist, A.; White, AG (19 de diciembre de 2007). "Demostración experimental de una versión compilada del algoritmo de Shor con entrelazamiento cuántico". Physical Review Letters . 99 (25) 250505. arXiv : 0705.1398 . Bibcode : 2007PhRvL..99y0505L . doi : 10.1103/PhysRevLett.99.250505 . PMID 18233509 . 
  13. Lucero, Erik; Barends, Rami; Chen, Yu; Kelly, Julian; Mariantoni, Matteo; Megrant, Anthony; O'Malley, Peter; Sank, Daniel; Vainsencher, Amit; Wenner, James; White, Ted; Yin, Yi; Cleland, Andrew N.; Martinis, John M. (2012). "Cálculo de factores primos con un procesador cuántico de cúbits de fase Josephson". Nature Physics . 8 (10): 719. arXiv : 1202.5707 . Bibcode : 2012NatPh...8..719L . doi : 10.1038/nphys2385 . S2CID 44055700 . 
  14. Martín-López, Enrique; Laing, Anthony; Lawson, Thomas; Alvarez, Roberto; Zhou, Xiao-Qi; O'Brien, Jeremy L. (12 de octubre de 2012). "Realización experimental del algoritmo de factorización cuántica de Shor mediante reciclaje de cúbits". Nature Photonics . 6 (11): 773– 776. arXiv : 1111.4147 . Bibcode : 2012NaPho...6..773M . doi : 10.1038/nphoton.2012.259 . S2CID 46546101 . 
  15. Monz, Thomas; Nigg, Daniel; Martinez, Esteban A.; Brandl, Matthias F.; Schindler, Philipp; Rines, Richard; Wang, Shannon X.; Chuang, Isaac L.; Blatt, Rainer (4 de marzo de 2016). "Realización de un algoritmo Shor escalable". Science . 351 (6277): 1068– 1070. arXiv : 1507.08852 . Bibcode : 2016Sci...351.1068M . doi : 10.1126/science.aad9480 . PMID 26941315 . S2CID 17426142 .  
  16. Smolin, John A.; Smith, Graeme; Vargo, Alexander (julio de 2013). "Simplificando en exceso la factorización cuántica". Nature . 499 (7457): 163– 165. arXiv : 1301.7007 . Bibcode : 2013Natur.499..163S . doi : 10.1038/nature12290 . PMID 23846653 . 
  17. Bernstein, Daniel (1998). "Detección de potencias perfectas en tiempo esencialmente lineal". Matemáticas de la Computación . 67 (223): 1253– 1283. doi : 10.1090/S0025-5718-98-00952-1 .
  18. Por ejemplo, calcular el primeroregistro2(norte){\displaystyle \log _{2}(N)}raíces denorte{\displaystyle N}, por ejemplo, con el método de Newton y comprobando la primalidad de cada resultado entero ( prueba de primalidad AKS ).
  19. Ekerå, Martin (junio de 2021). "Sobre la factorización completa de cualquier entero de manera eficiente en una sola ejecución de un algoritmo de búsqueda de orden" . Procesamiento de información cuántica . 20 (6) 205. arXiv : 2007.10044 . Bibcode : 2021QuIP...20..205E . doi : 10.1007/s11128-021-03069-1 .
  20. Kitaev, A. Yu (1995). "Mediciones cuánticas y el problema del estabilizador abeliano". arXiv : quant-ph/9511026 .
  21. Ekerå, Martin (mayo de 2024). "Sobre la probabilidad de éxito en la búsqueda de orden cuántico" . ACM Transactions on Quantum Computing . 5 (2): 1– 40. arXiv : 2201.07791 . doi : 10.1145/3655026 .
  22. Markov, Igor L.; Saeedi, Mehdi (2012). "Circuitos cuánticos optimizados con constantes para la multiplicación modular y la exponenciación". Información cuántica y computación . 12 ( 5– 6): 361– 394. arXiv : 1202.6614 . Bibcode : 2012arXiv1202.6614M . doi : 10.26421/QIC12.5-6-1 . S2CID 16595181 . 
  23. Markov, Igor L.; Saeedi, Mehdi (2013). "Factorización más rápida de números cuánticos mediante síntesis de circuitos". Phys. Rev. A . 87 (1) 012310. arXiv : 1301.3210 . Bibcode : 2013PhRvA..87a2310M . doi : 10.1103/PhysRevA.87.012310 . S2CID 2246117 . 
  24. Bernstein, Daniel J.; Heninger, Nadia; Lou, Paul; Valenta, Luke (2017). «RSA postcuántico». Criptografía postcuántica . Notas de clase en ciencias de la computación. Vol. 10346. págs. 311–329 . doi : 10.1007/978-3-319-59879-6_18 . ISBN   978-3-319-59878-9.

Lecturas adicionales

  • Nielsen, Michael A.; Chuang, Isaac L. (2010). Computación cuántica e información cuántica: Edición del 10.º aniversario . Cambridge University Press. ISBN 978-1-107-00217-3.
  • Kaye, Phillip; Laflamme, Raymond; Mosca, Michele (2006). Introducción a la computación cuántica . doi : 10.1093/oso/9780198570004.001.0001 . ISBN 978-0-19-857000-4.
  • «Explicación para el hombre de la calle» de Scott Aaronson , « aprobada » por Peter Shor. (Shor escribió: «¡Excelente artículo, Scott! Es la mejor explicación que he visto sobre computación cuántica para el hombre de la calle.»). En uno de los comentarios se presentó una metáfora alternativa para la Teoría Cuántica de Campos (TCC) . Scott Aaronson sugiere las siguientes 12 referencias como lectura adicional (de entre «los 10¹⁰⁵ 000 tutoriales de algoritmos cuánticos que ya están en la web»):
  • Shor, Peter W. (1997), "Algoritmos de tiempo polinomial para factorización prima y logaritmos discretos en una computadora cuántica", SIAM J. Comput. , 26 (5): 1484– 1509, arXiv : quant-ph/9508027v2 , Bibcode : 1999SIAMR..41..303S , doi : 10.1137/S0036144598347011Versión revisada del artículo original de Peter Shor ("28 páginas, LaTeX. Esta es una versión ampliada de un artículo que apareció en las Actas del 35.º Simposio Anual sobre Fundamentos de la Informática, Santa Fe, Nuevo México, del 20 al 22 de noviembre de 1994. Se realizaron pequeñas revisiones en enero de 1996").
  • Computación cuántica y el algoritmo de Shor , página de algoritmos cuánticos de Matthew Hayward , 17 de febrero de 2005, imsa.edu, versión LaTeX2HTML del documento LaTeX original , también disponible como documento PDF o PostScript .
  • Computación cuántica y algoritmo de factorización de Shor , Ronald de Wolf, CWI y Universidad de Ámsterdam, 12 de enero de 1999, documento PostScript de 9 páginas.
  • Algoritmo de factorización de Shor , Apuntes de la Lección 9 de Berkeley CS 294–2, con fecha del 4 de octubre de 2004, documento PostScript de 7 páginas.
  • Capítulo 6 Computación cuántica Archivado el 30-04-2020 en Wayback Machine , documento postscript de 91 páginas, Caltech, Preskill, PH229.
  • Computación cuántica: un tutorial de Samuel L. Braunstein .
  • Los estados cuánticos del algoritmo de Shor , por Neal Young, última modificación: martes 21 de mayo de 1996, 11:47:38.
  • III. Descifrado del cifrado RSA con una computadora cuántica: el algoritmo de factorización de Shor . Apuntes de clase sobre computación cuántica, Universidad de Cornell, Física 481–681, CS 483; primavera de 2006, por N. David Mermin. Última revisión: 28 de marzo de 2006. Documento PDF de 30 páginas.
  • Lavor, C.; Manssur, LRU; Portugal, R. (2003). "Algoritmo de Shor para factorizar números enteros grandes". arXiv : quant-ph/0303175 .
  • Lomonaco, Jr (2000). "Algoritmo de factorización cuántica de Shor". arXiv : quant-ph/0010034 .Este documento es la versión escrita de una conferencia de una hora impartida sobre el algoritmo de factorización cuántica de Peter Shor. 22 páginas.
  • Capítulo 20 Computación cuántica , de Complejidad computacional: un enfoque moderno , borrador de un libro: enero de 2007, Sanjeev Arora y Boaz Barak, Universidad de Princeton. Publicado como Capítulo 10 Computación cuántica de Sanjeev Arora, Boaz Barak, "Complejidad computacional: un enfoque moderno", Cambridge University Press, 2009, ISBN 978-0-521-42426-4
  • Un paso hacia la computación cuántica: entrelazando 10 mil millones de partículas . Archivado el 20 de enero de 2011 en Wayback Machine , de la revista Discover, con fecha del 19 de enero de 2011.
  • Josef Gruska - Desafíos de la computación cuántica también en Matemáticas ilimitadas: 2001 y más allá , Editores Björn Engquist, Wilfried Schmid, Springer, 2001, ISBN 978-3-540-66913-5
  • Versión 1.0.0 de libquantum : contiene una implementación en lenguaje C del algoritmo de Shor con su biblioteca de computadora cuántica simulada, pero la variable width en shor.c debe establecerse en 1 para mejorar la complejidad en tiempo de ejecución.
  • PBS Infinite Series creó dos vídeos que explican las bases matemáticas del algoritmo de Shor: " Cómo romper la criptografía " y " Hackeo a velocidad cuántica con el algoritmo de Shor ".
  • Implementación completa del algoritmo de Shor con Classiq.