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 enteroEl algoritmo de Shor se ejecuta en tiempo polinomial , lo que significa que el tiempo empleado es polinomial.. [ 5 ] Se necesitan puertas cuánticas de ordenutilizando multiplicación rápida, [ 6 ] o inclusoutilizando 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 :. [ 8 ]
Viabilidad e implicaciones

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
- El plan RSA
- El intercambio de claves Diffie-Hellman en campos finitos
- El intercambio de claves Diffie-Hellman de curva elíptica [ 9 ]
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óen, 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 dese realizó con cúbits de estado sólido. [ 13 ] Posteriormente, en 2012, la factorización dese logró. [ 14 ] En 2016, la factorización deSe 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 impar, encuentra sus factores enteros .
Para lograr esto, el algoritmo de Shor consta de dos partes:
- 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 .
- 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.en solo dos números enterosymayor que 1, ya que si alguno de los dosoSi 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 sies par, en cuyo caso 2 es trivialmente un factor. Supongamos entonces quees extraño para el resto de esta discusión. Después, podemos usar algoritmos clásicos eficientes para comprobar sies 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 queno es una potencia principal.
Si esos casos sencillos no producen un factor no trivial deEl algoritmo procede a manejar el caso restante. Elegimos un número entero aleatorio.Un posible divisor no trivial dese puede encontrar mediante computación, lo cual se puede hacer de forma clásica y eficiente utilizando el algoritmo euclidiano . Si esto produce un factor no trivial (que significa), el algoritmo está terminado y el otro factor no trivial es. Si no se identificó un factor no trivial, entonces esto significa quey la elección deson coprimos , por lo tantoestá contenido en el grupo multiplicativo de enteros módulo, teniendo un inverso multiplicativo módulo. De este modo,tiene un orden multiplicativomódulo, significado
yes el entero positivo más pequeño que satisface esta congruencia.
La subrutina cuántica encuentra. Se puede observar por la congruencia quedivide, escritoEsto se puede factorizar utilizando la diferencia de cuadrados :Dado que hemos factorizado la expresión de esta manera, el algoritmo no funciona para números impares.(porquedebe ser un número entero), lo que significa que el algoritmo tendría que reiniciarse con un nuevoPor lo tanto, en adelante podemos asumir quees par. No puede ser el caso que, ya que esto implicaría, lo cual implicaría contradictoriamente quesería el orden de, que ya estaba. En este punto, puede que sea o no el caso que. Sino divide, entonces esto significa que podemos encontrar un factor no trivial deCalculamos .Si, entoncesera cierto, y un factor no trivial deno se puede lograr desdey el algoritmo debe reiniciarse con un nuevo. De lo contrario, hemos encontrado un factor no trivial de, siendo el otroy el algoritmo ha terminado. Para este paso, también es equivalente a calcular; producirá un factor no trivial sino es trivial, y no lo será si es trivial (donde).
El algoritmo reformulado brevemente es el siguiente:ser impar, y no una potencia prima. Queremos generar dos factores no triviales de.
- Elige un número al azar.
- Calcular, el máximo común divisor dey.
- Si, entonceses un factor no trivial de, siendo el otro factor ely hemos terminado.
- De lo contrario, utilice la subrutina cuántica para encontrar el orden.de.
- SiSi es extraño, vuelva al paso 1.
- Calcular. Sino es trivial, el otro factor esY 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.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 coprimosypara encontrar el ordendemódulo, el entero positivo más pequeñode tal manera quePara lograr esto, el algoritmo de Shor utiliza un circuito cuántico que involucra dos registros. El segundo registro utilizacúbits, dondees el entero más pequeño tal que, es decir,El tamaño del primer registro determina la precisión de la aproximación que produce el circuito. Se puede demostrar que utilizandoLos cúbits proporcionan la precisión suficiente para encontrarEl circuito cuántico exacto depende de los parámetros.y, que definen el problema. La siguiente descripción del algoritmo utiliza la notación bra-ket para denotar estados cuánticos ypara denotar el producto tensorial .
El algoritmo consta de dos pasos principales:
- Utilice la estimación de fase cuántica con matriz unitaria.representando la operación de multiplicar por(módulo), y estado de entrada(donde el segundo registro eshecho decúbits). Los valores propios de estecodificar información sobre el período yse 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 formapara aleatorio.
- Utilice el algoritmo de fracciones continuas para extraer el período.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

En general, el algoritmo de estimación de fase cuántica , para cualquier unitarioy autoestadode tal manera que, envía estados de entradapara generar estados cercanos a, dóndees una superposición de números enteros cercanos aEn otras palabras, envía cada autoestadodea 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ónLa acción deen los estadosconno 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 conrequiere poder implementar las puertas de manera eficienteEsto se puede lograr mediante la exponenciación modular , que es la parte más lenta del algoritmo.
La puerta así definida satisface, lo que implica inmediatamente que sus autovalores son losraíces de la unidad. Además, cada valor propiotiene un vector propio de la formay estos autovectores son tales que donde la última identidad se deduce de la fórmula de la serie geométrica , lo que implica.
Utilizando la estimación de fase cuántica en un estado de entradaentonces devolvería el número enterocon alta probabilidad. Más precisamente, el circuito de estimación de fase cuántica envíaade tal manera que la distribución de probabilidad resultantealcanza su punto máximo alrededor de, conEsta probabilidad se puede hacer arbitrariamente cercana a 1 utilizando cúbits adicionales.
Aplicando el razonamiento anterior a la entrada, la estimación de fase cuántica da como resultado la evoluciónAl medir el primer registro, ahora tenemos una probabilidad equilibrada.para encontrar cada, cada uno de ellos dando una aproximación entera a, que se puede dividir porpara obtener una aproximación decimal para.
Algoritmo de fracción continua para recuperar el período
Luego, aplicamos el algoritmo de fracciones continuas para encontrar números enteros.y, dóndeproporciona la mejor aproximación fraccionaria para la aproximación medida desde el circuito, paray coprimoy. El número de cúbits en el primer registro,, que determina la exactitud de la aproximación, garantiza que dada la mejor aproximación de la superposición dese midió [ 2 ] (que puede hacerse arbitrariamente probable usando bits adicionales y truncando la salida). Sin embargo, mientrasyson coprimas, puede ser el caso queyno son coprimos. Por eso,ypuede haber perdido algunos factores que estaban enyEsto 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.dóndees el número de veces que se ejecutó la subrutina. CadaSe le quitarán diferentes factores porque el circuito (probablemente) habrá medido múltiples valores posibles diferentes dePara recuperar el realvalor, podemos tomar el mínimo común múltiplo de cada:El mínimo común múltiplo será el ordendel entero originalcon 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,qubits es suficiente para garantizar que la cadena de bits óptima medida a partir de la estimación de fase (es decir,dóndees la aproximación más precisa de la fase a partir de la estimación de fase) permitirá el valor real deser recuperado.
Cadaantes de la medición en el algoritmo de Shor representa una superposición de enteros que aproximan. Dejarrepresenta el entero más óptimo enEl siguiente teorema garantiza que el algoritmo de fracciones continuas se recuperaráde:
Teorema — Siysonenteros de bits y Luego, el algoritmo de fracciones continuas se ejecuta enrecuperará ambosy.
[ 3 ] Comoes la cadena de bits óptima a partir de la estimación de fase,es preciso paraporbits. Por lo tanto,lo que implica que el algoritmo de fracciones continuas se recuperaráy(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 depuertas paracú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 grupocon ordeny generador, supongamos que sabemos que, para algunosy deseamos calcular, que es el logaritmo discreto :Consideremos el grupo abeliano ., donde cada factor corresponde a la suma modular de valores. Ahora, consideremos la función
Esto nos da un problema de subgrupo oculto abeliano , dondecorresponde a un homomorfismo de grupo . El núcleo corresponde a los múltiplos de. Entonces, si podemos encontrar el núcleo, podemos encontrarExiste 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.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 dadode tal manera que:, la función
Para cualquier grupo abeliano finito, existe un algoritmo cuántico para resolver el subgrupo oculto paraen tiempo polinomial. [ 3 ]
Véase también
- GEECM , un algoritmo de factorización que se dice que es "a menudo mucho más rápido que el de Shor" [ 24 ].
- El algoritmo de Grover
Referencias
- ↑ 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.
- 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 .
- 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 .
- ↑ 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 .
- ↑ Véase también tiempo pseudopolinomial .
- ↑ 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 .
- ↑ 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 .
- ↑ "Cribado de campo numérico" . wolfram.com . Consultado el 23 de octubre de 2015 .
- ↑ 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.
- ↑ 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 .
- ↑ 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 .
- ↑ 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 .
- ↑ 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 .
- ↑ 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 .
- ↑ 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 .
- ↑ 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 .
- ↑ 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 .
- ↑ Por ejemplo, calcular el primeroraíces de, por ejemplo, con el método de Newton y comprobando la primalidad de cada resultado entero ( prueba de primalidad AKS ).
- ↑ 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 .
- ↑ Kitaev, A. Yu (1995). "Mediciones cuánticas y el problema del estabilizador abeliano". arXiv : quant-ph/9511026 .
- ↑ 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 .
- ↑ 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 .
- ↑ 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 .
- ↑ 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
Enlaces externos
- 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.
- Algoritmos cuánticos
- Algoritmos de factorización de enteros
- Criptografía postcuántica