⚛️ Shors Algorithmus
Durchlaufen Sie Shors Quanten-Faktorisierungsalgorithmus: Wählen Sie eine Basis, finden Sie die Periode von aˣ mod N, sehen Sie die QFT-Wahrscheinlichkeitsspitzen bei Vielfachen von Q/r und berechnen Sie den ggT, um die Primfaktoren von N zu ermitteln.
Über diese Simulation
Diese Simulation führt Sie Schritt für Schritt durch Shors Algorithmus für kleine Zahlen, die Sie auf diese Weise mit einem echten Quantencomputer niemals knacken könnten, die Sie hier aber Schritt für Schritt verfolgen können: Wählen Sie eine zu N teilerfremde Basis a, berechnen Sie die Folge aˣ mod N, finden Sie ihre Periode r (der eine Schritt, den ein echter Quantencomputer über die QFT beschleunigt), und bilden Sie dann ggT(a^(r/2)±1, N), um die Primfaktoren von N zu ermitteln. Probieren Sie verschiedene Werte von N und a aus, um zu sehen, wann die Methode sauber funktioniert und wann sie einen erneuten Versuch benötigt.
🔬 Was gezeigt wird
Ein Balkendiagramm von aˣ mod N, das die sich wiederholende Periode r zeigt, sowie ein simuliertes Quantenregister, das Wahrscheinlichkeitsspitzen zeigt, die sich nach der Quanten-Fourier-Transformation bei Vielfachen von Q/r konzentrieren — das Messergebnis, das es erlaubt, r zu extrahieren.
🎮 Bedienung
Wählen Sie N zum Faktorisieren und eine Basis a, oder klicken Sie auf Zufällige a, um automatisch eine wahrscheinlich erfolgreiche Basis auszuwählen. Durchlaufen Sie dann die vier Stufen mit Nächste Stufe oder beobachten Sie alle mit Alle Stufen ausführen, oder springen Sie zu einer Voreinstellung (N=15, 21, 35, 91), um ggT, Periode r, QFT-Spitzen und die endgültigen Faktoren zu sehen.
💡 Wussten Sie schon?
Shors Algorithmus faktorisiert N nicht direkt — sein einziger wirklich quantenmechanischer Schritt ist das Finden der Periode r von aˣ mod N exponentiell schneller als jede bekannte klassische Methode; alles andere (Wahl von a, Berechnung des ggT) ist gewöhnliche klassische Arithmetik, weshalb er die RSA-Verschlüsselung genau deshalb bedroht.
Häufig gestellte Fragen
Welche „Periode" sucht dieser Algorithmus?
Es ist die kleinste positive ganze Zahl r, sodass aʳ mod N = 1 gilt. Da aˣ mod N mit der Periode r zyklisch verläuft, können Sie, sobald Sie r kennen, damit Faktoren von N algebraisch extrahieren — diese Simulation hebt diesen wiederkehrenden Zyklus direkt im Balkendiagramm hervor.
Warum ist die Quanten-Fourier-Transformation hier wichtig?
Die Periode von aˣ mod N klassisch zu finden, erfordert das Prüfen der Werte einzeln, was für große N exponentiell langsam wird. Ein Quantencomputer kann eine Überlagerung über alle x gleichzeitig vorbereiten und mit der QFT Messergebnisse bei Vielfachen von Q/r konzentrieren, wodurch r in weit weniger Schritten offenbart wird.
Warum benötigt der Algorithmus manchmal einen „erneuten Versuch"?
Stellt sich heraus, dass die Periode r ungerade ist, oder ist a^(r/2) ≡ −1 (mod N), kann der ggT-Schritt aus dieser bestimmten Wahl von a keinen nichttrivialen Faktor extrahieren — die Lösung besteht einfach darin, eine andere Basis a zu wählen und es erneut zu versuchen, weshalb die Schaltfläche „Zufällige a" nach einer wahrscheinlich funktionierenden sucht.
Warum ist dieser Algorithmus eine Bedrohung für die RSA-Verschlüsselung?
Die Sicherheit von RSA beruht darauf, dass es rechnerisch nicht durchführbar ist, das große Produkt zweier als öffentlicher Schlüssel verwendeter Primzahlen zu faktorisieren. Shors Algorithmus faktorisiert ganze Zahlen exponentiell schneller als die besten bekannten klassischen Algorithmen, sodass ein ausreichend großer Quantencomputer, der ihn ausführt, derzeit sichere RSA-Schlüssel brechen könnte.
Wie findet ggT(a^(r/2)±1, N) tatsächlich die Faktoren?
Sobald r gerade ist und a^(r/2) nicht ≡ −1 mod N ist, bedeutet die Identität (a^(r/2)−1)(a^(r/2)+1) ≡ 0 (mod N), dass N einen nichttrivialen gemeinsamen Faktor mit mindestens einem dieser beiden Terme teilen muss — die Berechnung des ggT für jeden zieht diesen gemeinsamen Faktor direkt heraus.
Quantenfaktorisierung: Wählen Sie eine Basis, finden Sie die Periode r von aˣ mod N über die QFT (der Quantenteil), dann offenbart ggT(a^(r/2)±1, N) die Faktoren. Beobachten Sie die QFT-Spitzen bei Vielfachen von Q/r und die klassische Nachbearbeitung.
3D · Three.js / WebGL-Renderer · 60 FPS Ziel · läuft vollständig clientseitig, keine Installation nötig