Shors Algorithmus ist ein Quantenalgorithmus zur Primfaktorzerlegung einer ganzen Zahl. Er wurde 1994 von dem amerikanischen Mathematiker Peter Shor entwickelt . [ 1 ] [ 2 ] Er ist einer der wenigen bekannten Quantenalgorithmen mit vielversprechenden Anwendungsmöglichkeiten und starken Hinweisen auf eine superpolynomielle Beschleunigung im Vergleich zu den besten bekannten klassischen (nicht-quantenmechanischen) Algorithmen. [ 3 ] Um klassische Computer zu übertreffen, könnten jedoch aufgrund des durch die Quantenfehlerkorrektur verursachten Aufwands Quantencomputer mit Millionen von Qubits erforderlich sein . [ 4 ]

Shor schlug mehrere ähnliche Algorithmen zur Lösung des Faktorisierungsproblems , des Problems des diskreten Logarithmus und des Periodenbestimmungsproblems vor. „Shors Algorithmus“ bezieht sich üblicherweise auf den Faktorisierungsalgorithmus, kann aber jeden der drei Algorithmen bezeichnen. Der Algorithmus für den diskreten Logarithmus und der Faktorisierungsalgorithmus sind Instanzen des Periodenbestimmungsalgorithmus, und alle drei sind Instanzen des Problems der verborgenen Untergruppe .

Auf einem Quantencomputer benötigt Shors Algorithmus zur Faktorisierung einer ganzen Zahl n polynomielle Zeit , d. h. die benötigte Zeit ist polynomiell in O(n²) . [ 5 ] Er benötigt Quantengatter der Ordnung O (n²) bei Verwendung schneller Multiplikation [ 6 ] oder sogar des derzeit asymptotisch schnellsten bekannten Multiplikationsalgorithmus von Harvey und van der Hoeven [ 7 ]. Dies zeigt, dass das Problem der Faktorisierung ganzer Zahlen zur Komplexitätsklasse BQP gehört . Shors Algorithmus ist asymptotisch schneller als der skalierbarste klassische Faktorisierungsalgorithmus, das allgemeine Zahlkörpersieb , das in subexponentieller Zeit arbeitet : O(n²) . [ 8 ]

Machbarkeit und Auswirkungen

Diagramm zur Ver- und Entschlüsselung eines Dokuments mittels asymmetrischer Kryptographie. Einige Verschlüsselungsformen (einschließlich asymmetrischer Kryptographie) sind durch zukünftige Quantencomputer potenziell angreifbar.

Angenommen, ein Quantencomputer mit einer ausreichenden Anzahl von Qubits könnte ohne Quantenrauschen und andere Quantendekohärenzphänomene arbeiten , dann könnte Shors Algorithmus verwendet werden, um Public-Key-Kryptographieverfahren wie beispielsweise zu knacken.

RSA kann geknackt werden, wenn die Faktorisierung großer ganzer Zahlen rechnerisch möglich ist. Soweit bekannt, ist dies mit klassischen (nicht-quantenmechanischen) Computern nicht möglich; es ist kein klassischer Algorithmus bekannt, der ganze Zahlen in Polynomialzeit faktorisieren kann. Shors Algorithmus zeigt jedoch, dass die Faktorisierung ganzer Zahlen mit einem Schaltkreis polynomieller Komplexität auf einem idealen Quantencomputer möglich ist. Daher könnte es realisierbar sein, RSA durch den Bau eines ausreichend leistungsstarken Quantencomputers zu überwinden. Dies war ein starker Anstoß für die Entwicklung und den Bau von Quantencomputern sowie für die Erforschung neuer Quantencomputer-Algorithmen. Es hat auch die Forschung an neuen Kryptosystemen, die vor Quantencomputern sicher sind – zusammengefasst als Post-Quanten-Kryptographie (PQC) –, vorangetrieben.

Physische Umsetzung

Aufgrund der hohen Fehlerraten von Quantencomputern und der begrenzten Anzahl physikalischer Qubits, die für die Quantenfehlerkorrektur zur Verfügung stehen , erzielen Labordemonstrationen von Shors Algorithmus ab 2026 nur in einem Bruchteil der Versuche korrekte Ergebnisse und waren bisher nur bei kleinen Semiprimzahlen erfolgreich .

Im Jahr 2001 demonstrierte eine Gruppe bei IBM Shors Algorithmus , indem sie ihn mithilfe einer NMR-Implementierung eines Quantencomputers mit sieben Qubits faktorisierte. [ 10 ] Nach der IBM-Implementierung implementierten zwei unabhängige Gruppen Shors Algorithmus mit photonischen Qubits und betonten, dass beim Ausführen von Schaltkreisen des Algorithmus Mehrqubit- Verschränkung beobachtet wurde. [ 11 ] [ 12 ] Im Jahr 2012 wurde die Faktorisierung von mit Festkörper-Qubits durchgeführt. [ 13 ] Später, ebenfalls im Jahr 2012, wurde die Faktorisierung von erreicht. [ 14 ] Im Jahr 2016 wurde die Faktorisierung von erneut mit gefangenen Ionen-Qubits durchgeführt. [ 15 ] Allerdings erfüllt keine dieser Demonstrationen die Anforderungen von Shors Algorithmus: Sie kompilieren den Schaltkreis unter Verwendung von Vorwissen über die Lösung, und einige haben den Algorithmus sogar so stark vereinfacht, dass er einem Münzwurf gleichkommt. [ 16 ]

Algorithmus

Das Problem, das wir zu lösen versuchen, lautet: Gegeben sei eine ungerade zusammengesetzte Zahl . Finde ihre ganzzahligen Faktoren .

Um dies zu erreichen, besteht Shors Algorithmus aus zwei Teilen:

  1. Eine klassische Reduktion des Faktorisierungsproblems auf das Problem der Ordnungsbestimmung . Diese Reduktion ähnelt derjenigen, die für andere Faktorisierungsalgorithmen , wie beispielsweise das quadratische Sieb , verwendet wird .
  2. Ein Quantenalgorithmus zur Lösung des Ordnungsfindungsproblems.

Klassische Reduktion

Ein vollständiger Faktorisierungsalgorithmus ist möglich, wenn wir in der Lage sind, eine beliebige Zahl effizient in nur zwei ganze Zahlen größer als 1 zu faktorisieren, denn wenn entweder oder keine Primzahl ist, kann der Faktorisierungsalgorithmus wiederum auf diese beiden Zahlen angewendet werden, bis nur noch Primzahlen übrig bleiben.

Eine grundlegende Beobachtung ist, dass wir mithilfe des euklidischen Algorithmus den größten gemeinsamen Teiler (ggT) zweier ganzer Zahlen stets effizient berechnen können . Dies bedeutet insbesondere, dass wir effizient überprüfen können, ob n gerade ist, in welchem ​​Fall 2 trivialerweise ein Faktor ist. Nehmen wir daher für den Rest dieser Diskussion an, dass n ungerade ist. Anschließend können wir effiziente klassische Algorithmen verwenden, um zu überprüfen, ob n eine Primzahlpotenz ist . [ 17 ] Für Primzahlpotenzen existieren effiziente klassische Faktorisierungsalgorithmen, [ 18 ] daher kann der Rest des Quantenalgorithmus davon ausgehen, dass n keine Primzahlpotenz ist.

Falls diese einfachen Fälle keinen nichttrivialen Faktor von ergeben , fährt der Algorithmus mit dem verbleibenden Fall fort. Wir wählen eine zufällige ganze Zahl. Ein möglicher nichttrivialer Teiler von kann durch die Berechnung von gefunden werden , was klassisch und effizient mit dem euklidischen Algorithmus erfolgen kann . Falls dies einen nichttrivialen Faktor ergibt (d. h. ), ist der Algorithmus beendet, und der andere nichttriviale Faktor ist . Falls kein nichttrivialer Faktor gefunden wurde, bedeutet dies, dass und die Wahl von teilerfremd sind , sodass in der multiplikativen Gruppe der ganzen Zahlen modulo enthalten ist und ein multiplikatives Inverses modulo besitzt . Somit hat die multiplikative Ordnung modulo , was bedeutet

und ist die kleinste positive ganze Zahl, die diese Kongruenz erfüllt.

Die Quanten-Subroutine findet . Aus der Kongruenz lässt sich erkennen, dass teilt , geschrieben . Dies lässt sich mithilfe der Differenz von Quadraten faktorisieren : Da wir den Ausdruck auf diese Weise faktorisiert haben, funktioniert der Algorithmus nicht für ungerade (da eine ganze Zahl sein muss), was bedeutet, dass der Algorithmus mit einem neuen neu starten müsste . Im Folgenden können wir daher annehmen, dass gerade ist. Es kann nicht der Fall sein, dass , da dies implizieren würde , was wiederum widersprüchlich wäre, dass die Ordnung von wäre , was bereits war . An diesem Punkt kann es der Fall sein oder auch nicht, dass . Wenn nicht teilt , bedeutet dies, dass wir einen nichttrivialen Faktor von finden können . Wir berechnen . Wenn , dann war wahr, und ein nichttrivialer Faktor von kann nicht aus erreicht werden , und der Algorithmus muss mit einem neuen neu starten . Andernfalls haben wir einen nichttrivialen Faktor von gefunden , wobei der andere ist , und der Algorithmus ist beendet. Für diesen Schritt ist es auch äquivalent, zu berechnen ; Es wird einen nichttrivialen Faktor erzeugen, wenn nichttrivial ist, und keinen, wenn es trivial ist (wobei ).

Der Algorithmus lautet in Kürze wie folgt: Sei ungerade und keine Primzahlpotenz. Wir wollen zwei nichttriviale Faktoren von ausgeben .

  1. Wähle eine Zufallszahl .
  2. Berechne , den größten gemeinsamen Teiler von und .
  3. Wenn , dann ist ein nichttrivialer Faktor von , wobei der andere Faktor ist , und wir sind fertig.
  4. Andernfalls verwenden Sie die Quanten-Subroutine, um die Ordnung von zu bestimmen .
  5. Falls das Ergebnis ungerade ist, gehe zurück zu Schritt 1.
  6. Berechne . Falls nichttrivial ist, ist der andere Faktor , und wir sind fertig. Andernfalls gehe zurück zu Schritt 1.

Es hat sich gezeigt, dass dies nach wenigen Durchläufen wahrscheinlich gelingt. [ 2 ] In der Praxis genügt ein einziger Aufruf der Quantenordnungsfindungsroutine, um mit sehr hoher Erfolgswahrscheinlichkeit vollständig zu faktorisieren, wenn man eine fortgeschrittenere Reduktion verwendet. [ 19 ]

Subroutine zur Bestimmung der Quantenordnung

Das Ziel der Quanten-Subroutine des Shors-Algorithmus ist es, für teilerfremde ganze Zahlen und die Ordnung von modulo zu finden , wobei die kleinste positive ganze Zahl ist, für die gilt . Dazu verwendet der Shors-Algorithmus einen Quantenschaltkreis mit zwei Registern. Das zweite Register verwendet Qubits, wobei die kleinste ganze Zahl ist, für die gilt , d. h . . Die Größe des ersten Registers bestimmt die Genauigkeit der Approximation des Schaltkreises. Es lässt sich zeigen, dass die Verwendung von Qubits eine ausreichende Genauigkeit für die Bestimmung von liefert . Der exakte Quantenschaltkreis hängt von den Parametern und ab , welche das Problem definieren. Die folgende Beschreibung des Algorithmus verwendet die Bra-Ket-Notation für Quantenzustände und für das Tensorprodukt .

Der Algorithmus besteht aus zwei Hauptschritten:

  1. Die Quantenphasenschätzung erfolgt mit einer unitären Matrix, die die Multiplikation mit (modulo ) darstellt, und dem Eingangszustand (wobei das zweite Register aus Qubits besteht). Die Eigenwerte dieser Matrix kodieren Informationen über die Periode und lassen sich als Summe ihrer Eigenvektoren darstellen. Dank dieser Eigenschaften liefert die Quantenphasenschätzung als Ausgabe eine zufällige ganze Zahl der Form für zufällige Werte von .
  2. Verwenden Sie den Kettenbruchalgorithmus, um die Periode aus den im vorherigen Schritt gewonnenen Messergebnissen zu extrahieren. Dies ist ein Verfahren zur Nachbearbeitung (mit einem klassischen Computer) der Messdaten, die durch die Messung der Ausgabequantenzustände gewonnen wurden, und zur Bestimmung der Periode.

Der Zusammenhang mit der Quantenphasenschätzung wurde in der ursprünglichen Formulierung von Shors Algorithmus [ 2 ] nicht diskutiert, sondern erst später von Alexei Kitaev vorgeschlagen . [ 20 ]

Quantenphasenschätzung

Quanten-Subroutine im Shors Algorithmus

Im Allgemeinen bildet der Quantenphasenschätzungsalgorithmus für jede unitäre Transformation und jeden Eigenzustand mit Eingabezustände auf Ausgabezustände nahe ab , wobei eine Superposition von ganzen Zahlen nahe ist . Anders ausgedrückt: Er bildet jeden Eigenzustand von auf einen Zustand ab, der Informationen nahe dem zugehörigen Eigenwert enthält. Für die Quantenordnungsbestimmung verwenden wir diese Strategie mit der durch die Wirkung definierten unitären Transformation. Die Wirkung von auf Zustände mit ist für die Funktion des Algorithmus nicht entscheidend, muss aber berücksichtigt werden, um sicherzustellen, dass die Gesamttransformation ein wohldefiniertes Quantengatter ist. Die Implementierung des Schaltkreises für die Quantenphasenschätzung mit erfordert die effiziente Implementierung der Gatter . Dies kann durch modulare Exponentiation erreicht werden , die den langsamsten Teil des Algorithmus darstellt.

Das so definierte Gatter erfüllt , woraus unmittelbar folgt, dass seine Eigenwerte die -ten Einheitswurzeln sind . Weiterhin besitzt jeder Eigenwert einen Eigenvektor der Form , und diese Eigenvektoren sind so beschaffen, dass , wobei die letzte Identität aus der Formel für geometrische Reihen folgt , woraus folgt .

Die Anwendung der Quantenphasenschätzung auf einen Eingangszustand liefert dann mit hoher Wahrscheinlichkeit die ganze Zahl . Genauer gesagt, sendet die Quantenphasenschätzungsschaltung einen Wert an , sodass die resultierende Wahrscheinlichkeitsverteilung ein Maximum um aufweist , wobei . Diese Wahrscheinlichkeit kann mithilfe zusätzlicher Qubits beliebig nahe an 1 gebracht werden.

Wendet man die obige Argumentation auf die Eingabe an , so ergibt sich aus der Quantenphasenschätzung die folgende Entwicklung: Durch Messung des ersten Registers erhalten wir nun eine ausgeglichene Wahrscheinlichkeit, jedes zu finden , wobei jedes eine ganzzahlige Näherung für liefert , die durch geteilt werden kann, um eine Dezimalapproximation für zu erhalten .

Kettenbruchalgorithmus zur Bestimmung der Periode

Anschließend wenden wir den Kettenbruchalgorithmus an, um ganze Zahlen und zu finden , wobei die beste Bruchnäherung für die vom Schaltkreis gemessene Näherung angibt, für und teilerfremd und . Die Anzahl der Qubits im ersten Register, , die die Genauigkeit der Näherung bestimmt, garantiert, dass die beste Näherung aus der Superposition von gemessen wurde [ 2 ] (was durch zusätzliche Bits und Abschneiden der Ausgabe beliebig wahrscheinlich gemacht werden kann). Obwohl und teilerfremd sind, kann es jedoch sein, dass und nicht teilerfremd sind. Daher können und Faktoren verloren haben, die in und enthalten waren . Dies lässt sich beheben, indem die Subroutine zur Bestimmung der Quantenordnung beliebig oft wiederholt wird, um eine Liste von Bruchnäherungen zu erzeugen, wobei die Anzahl der Ausführungen der Subroutine ist. Jede Näherung enthält unterschiedliche Faktoren, da der Schaltkreis (wahrscheinlich) mehrere verschiedene mögliche Werte von gemessen hat . Um den tatsächlichen Wert wiederherzustellen , können wir das kleinste gemeinsame Vielfache jedes Wertes bilden : Das kleinste gemeinsame Vielfache entspricht mit hoher Wahrscheinlichkeit der Ordnung der ursprünglichen ganzen Zahl . In der Praxis genügt im Allgemeinen ein einziger Durchlauf der Quantenordnungsbestimmungsroutine, sofern eine fortgeschrittenere Nachbearbeitung verwendet wird. [ 21 ]

Auswahl der Größe des ersten Registers

Für die Phasenschätzung muss die Größe des ersten Registers so gewählt werden, dass die Genauigkeit des Algorithmus bestimmt wird. Für die Quanten-Subroutine des Shors-Algorithmus reichen Qubits aus, um zu gewährleisten, dass die optimale Bitfolge, die aus der Phasenschätzung ermittelt wird (d. h. diejenige, bei der die genaueste Annäherung an die Phase aus der Phasenschätzung ist), die Wiederherstellung des tatsächlichen Wertes von ermöglicht.

Jedes Vormessungselement in Shors Algorithmus stellt eine Superposition von ganzen Zahlen dar, die approximieren . Sei die optimale ganze Zahl in . Der folgende Satz garantiert, dass der Kettenbruchalgorithmus aus rekonstruiert :

Satz — Wenn und Bit-Ganzzahlen sind , dann wird der Kettenbruchalgorithmus, der auf angewendet wird, sowohl als auch wiederherstellen .

[ 3 ] Daes sich um die optimale Bitfolge aus der Phasenschätzung handelt,Bitsgenau. Darausfolgt, dass der Kettenbruchalgorithmusund(oder ohne ihren größten gemeinsamen Teiler) rekonstruiert.

Der Engpass

Der Laufzeitengpass von Shors Algorithmus ist die Quantenmodulo -Exponentiation , die weitaus langsamer ist als die Quanten-Fourier-Transformation und die klassische Vor- und Nachbearbeitung. Es gibt verschiedene Ansätze zum Aufbau und zur Optimierung von Schaltungen für die Modulo-Exponentiation. Der einfachste und (derzeit) praktischste Ansatz besteht darin, konventionelle arithmetische Schaltungen mit reversiblen Gattern nachzubilden , beginnend mit Ripple-Carry-Addierern . Die Kenntnis der Basis und des Modulus der Exponentiation erleichtert weitere Optimierungen. [ 22 ] [ 23 ] Reversible Schaltungen verwenden typischerweise etwa 10⁶ Gatter pro Qubit. Alternative Techniken verbessern die Gatteranzahl asymptotisch durch die Verwendung von Quanten-Fourier-Transformationen , sind aber aufgrund hoher Konstanten bei weniger als 600 Qubits nicht konkurrenzfähig.

Periodenbestimmung und diskrete Logarithmen

Shors Algorithmen für das diskrete Logarithmusproblem und das Ordnungsproblem sind Beispiele für einen Algorithmus zur Lösung des Periodenproblems. Alle drei sind Beispiele für das Problem der verborgenen Untergruppe .

Shors Algorithmus für diskrete Logarithmen

Gegeben sei eine Gruppe der Ordnung und des Erzeugers . Angenommen, wir wissen , dass für ein gilt , und wir möchten den diskreten Logarithmus berechnen : . Betrachten wir die abelsche Gruppe , wobei jeder Faktor der modularen Addition von Werten entspricht. Betrachten wir nun die Funktion

Dies führt zu einem abelschen Problem der verborgenen Untergruppe , wobei einem Gruppenhomomorphismus entspricht . Der Kern entspricht den Vielfachen von . Wenn wir also den Kern finden können, können wir auch finden . Es existiert ein Quantenalgorithmus zur Lösung dieses Problems. Dieser Algorithmus stammt, wie der Faktorisierungsalgorithmus, von Peter Shor und beide werden implementiert, indem eine Superposition mithilfe von Hadamard-Gattern erzeugt, gefolgt von einer Quantentransformation und schließlich einer Quanten-Fourier-Transformation. [ 3 ] Daher wird der Quantenalgorithmus zur Berechnung des diskreten Logarithmus gelegentlich auch als „Shor-Algorithmus“ bezeichnet.

Das Problem der Ordnungsfindung kann auch als Problem einer verborgenen Untergruppe betrachtet werden. [ 3 ] Um dies zu sehen, betrachten wir die Gruppe der ganzen Zahlen bezüglich der Addition und für ein gegebenes , sodass: , die Funktion

Für jede endliche abelsche Gruppe existiert ein Quantenalgorithmus zur Lösung der verborgenen Untergruppe in Polynomialzeit. [ 3 ]

Siehe auch

Referenzen

  1. ^ Shor, PW (1994). „Algorithmen für Quantenberechnungen: Diskrete Logarithmen und Faktorisierung“. Proceedings 35th Annual Symposium on Foundations of Computer Science . S.  124–134 . doi : 10.1109/sfcs.1994.365700 . ISBN 978-0-8186-6580-6Die
  2. ^ a b c d Shor, Peter W. (Oktober 1997). „Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer“. SIAM Journal on Computing . 26 (5): 1484–1509 . arXiv : quant-ph/9508027 . doi : 10.1137/S0097539795293172 . S2CID 2337707 . 
  3. ^ a b c d e Nielsen, Michael A.; Chuang, Isaac L. (9. Dezember 2010). Quantencomputer und Quanteninformation (PDF) (7. Aufl.). Cambridge University Press. ISBN 978-1-107-00217-3Archiviert ( PDF) vom Original am 11.07.2019 . Abgerufen am 24. April 2022 .
  4. ^ Gidney, Craig; Ekerå, Martin (2021). „Wie man 2048-Bit-RSA-Ganzzahlen in 8 Stunden mit 20 Millionen verrauschten Qubits faktorisiert“. Quantum . 5, 433. arXiv : 1905.09749 . Bibcode : 2021Quant...5..433G . doi : 10.22331/q-2021-04-15-433 . S2CID : 162183806 . 
  5. ^ Siehe auch pseudopolynomiale Zeit .
  6. ^ Beckman, David; Chari, Amalavoyal N.; Devabhaktuni, Srikrishna; Preskill, John (August 1996). „Effiziente Netzwerke für die Quantenfaktorisierung“. 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 (März 2021). „Integer multiplication in time O (n log n)“ (PDF) . Annals of Mathematics . 193 (2). doi : 10.4007/annals.2021.193.2.4 .
  8. ^ „Zahlenfeldsieb“ . wolfram.com . Abgerufen am 23. Oktober 2015 .
  9. ^ Roetteler, Martin; Naehrig, Michael; Svore, Krysta M .; Lauter, Kristin E. (2017). „Quantum resource estimates for computing elliptic curve discrete logarithms“. In: Takagi, Tsuyoshi; Peyrin, Thomas (Hrsg.). Advances in Cryptology – ASIACRYPT 2017 – 23rd International Conference on the Theory and Applications of Cryptology and Information Security, Hong Kong, China, 3.–7. Dezember 2017, Proceedings, Part II . Lecture Notes in Computer Science. Band 10625. Springer. S.  241–270 . arXiv : 1706.06752 . doi : 10.1007/ 978-3-319-70697-9_9 . ISBN 978-3-319-70696-2Die
  10. ^ Vandersypen, Lieven MK; Steffen, Matthias; Breyta, Gregory; Yannoni, Costantino S.; Sherwood, Mark H.; Chuang, Isaac L. (Dezember 2001). „Experimentelle Realisierung von Shors Quantenfaktorisierungsalgorithmus mittels Kernspinresonanz“. 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. Dezember 2007). „Demonstration einer kompilierten Version von Shors Quantenfaktorisierungsalgorithmus unter Verwendung photonischer Qubits“. 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. Dezember 2007). „Experimenteller Nachweis einer kompilierten Version von Shors Algorithmus mit Quantenverschränkung“. 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). „Berechnung von Primfaktoren mit einem Josephson-Phasen-Qubit-Quantenprozessor“. 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. Oktober 2012). „Experimentelle Realisierung von Shors Quantenfaktorisierungsalgorithmus mittels Qubit-Recycling“. 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. März 2016). „Realisierung eines skalierbaren Shor-Algorithmus“. 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 (Juli 2013). „Oversimplifying quantum factoring“. Nature . 499 (7457): 163–165 . arXiv : 1301.7007 . Bibcode : 2013Natur.499..163S . doi : 10.1038/nature12290 . PMID 23846653 . 
  17. ^ Bernstein, Daniel (1998). „Erkennen perfekter Potenzen in im Wesentlichen linearer Zeit“. Mathematics of Computation . 67 (223): 1253–1283 . doi : 10.1090/S0025-5718-98-00952-1 .
  18. ^ Zum Beispiel die Berechnung der erstenWurzeln vonz. B. mit dem Newton-Verfahren und die Überprüfung jedes ganzzahligen Ergebnisses auf Primzahleigenschaft ( AKS-Primzahltest ).
  19. ^ Ekerå, Martin (Juni 2021). „Über die effiziente vollständige Faktorisierung beliebiger ganzer Zahlen in einem einzigen Durchlauf eines Ordnungsfindungsalgorithmus“ . Quantum Information Processing . 20 (6) 205. arXiv : 2007.10044 . Bibcode : 2021QuIP...20..205E . doi : 10.1007/s11128-021-03069-1 .
  20. ^ Kitaev, A. Yu (1995). „Quantenmessungen und das Problem des abelschen Stabilisators“. arXiv : quant-ph/9511026 .
  21. ^ Ekerå, Martin (Mai 2024). „Zur Erfolgswahrscheinlichkeit der Quantenordnungsfindung“ . ACM Transactions on Quantum Computing . 5 (2): 1–40 . arXiv : 2201.07791 . doi : 10.1145/3655026 .
  22. ^ Markov, Igor L.; Saeedi, Mehdi (2012). „Konstantoptimierte Quantenschaltungen für modulare Multiplikation und Exponentiation“. Quantum Information and Computation . 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). „Schnellere Quantenzahlfaktorisierung mittels Schaltungssynthese“. 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). „Post-Quantum RSA“. Post-Quantum Cryptography . Lecture Notes in Computer Science. Band 10346. S.  311–329 . doi : 10.1007/978-3-319-59879-6_18 . ISBN 978-3-319-59878-9Die

Weiterführende Literatur