Transcript PowerPoint
Shors Algorithmus Effiziente Faktorisierung I Motivation Kryptographie (RSA): • p, q: große Primzahlen, n: pq n • d: relativ prim zu (p-1)(q-1), e aus ed 1 mod( p 1)( q 1) • Schlüssel: öffentlich (e, n), geheim (d, n) • Verschlüsseln Entschlüsseln b a e mod n 16. Januar 2003 a b d mod n Gregor Rößle - Shors schnelle Faktorisierung 2 Brechen von RSA: • n faktorisierbar: p,q: geheimer Schlüssel errechenbar ed 1 mod( p 1)( q 1) • Allerdings exponentielle Laufzeit! „Killerapplikation“ für Quantenrechner 16. Januar 2003 Gregor Rößle - Shors schnelle Faktorisierung 3 II Der Algorithmus von Shor 1. Klassische Faktorisierung 2. Faktorisierung mit Quantencomputern 3. Shors Faktorisierung 16. Januar 2003 Gregor Rößle - Shors schnelle Faktorisierung 4 1. Klassische Faktorisierung Mathematische Grundlagen • n groß, soll faktorisiert werden x f ( x ) a mod n, a beliebig • a • Periodisch: a x a 0 (mod n) x r (Periode/Ordnung r) 16. Januar 2003 Gregor Rößle - Shors schnelle Faktorisierung 5 a r a 0 (mod n) 1(mod n) a r 1 0(mod n) r 2 r 2 (a 1)(a 1) 0 (mod n) r 2 i n 0 (mod n) 2 Teiler: ggT( n, a 1) • Besonderheiten: • r gerade! • Teiler können auch 1 und 16. Januar 2003 i n sein Gregor Rößle - Shors schnelle Faktorisierung 6 Effizienz • Geeignete a: • hohe Wahrscheinlichkeit r 1 1 P(r ord (a) gerade ) , P(a 2 1(mod n)) 2 2 • Richtige Periode r: • Zufall: raten oder rechnen (alle Möglichkeiten durchprobieren) • leider exponentiell viele Möglichkeiten! • Worst Case: n ist prim 16. Januar 2003 Gregor Rößle - Shors schnelle Faktorisierung 7 • Bester klassischer Algorithmus (n: L Bits): • Zeitkomplexität: O (e 16. Januar 2003 1 cL3 2 log 3 L 64 ), c 9 1 3 Gregor Rößle - Shors schnelle Faktorisierung 8 2. Faktorisierung mit Quantenrechnern Wo? • Bestimmung der Periode Wie? • Superposition: • alle möglichen Perioden gleichzeitig! rechnen • Fourier-Transformation: • Extraktion von Frequenzen periodischer Funktionen 16. Januar 2003 Gregor Rößle - Shors schnelle Faktorisierung 9 3. Shors Algorithmus Effizientes Raten von r: f a ( x) a x mod n • Lade alle nötigen x (Superposition!) • Anwenden von f a (x) • Fouriertransformation • Frequenzen von f a (x) 1 • Grundfrequenz r • Brauchbares Ergebnis mit hoher Wahrscheinlichkeit Gregor Rößle - Shors 16. Januar 2003 schnelle Faktorisierung 10 Shors Algorithmus Schritt 1: • Vorbereitung: • Zahl n (m Bits) • 1<a<n beliebig • q beliebig mit 2n 2 q 3n 2 , q Zweierpotenz • Register laden: n, a, q,0,0 (0 : lg n Qubits) 16. Januar 2003 Gregor Rößle - Shors schnelle Faktorisierung 11 Shors Algorithmus Schritt 2: • Funktion f a (x) berechnen: • Hadamard-Operator auf 4. Register anwenden: • Superposition aller Werte von 0, 1, ... , q-1 im 4. Register 1 q 1 n, a , q , x ,0 q x 0 16. Januar 2003 Gregor Rößle - Shors schnelle Faktorisierung 12 • Berechnung f a (x) : f a ( x) reversibel unitärer Operator existiert 1 q 1 n, a, q, x, a x mod n q x 0 16. Januar 2003 Gregor Rößle - Shors schnelle Faktorisierung 13 Shors Algorithmus Schritt 3: • Messung letztes Register a mod n y x • Ergebnis y uninteressant • Wirkung auf vorderes Register: x l jr Vielfache von r, um Offset l verschoben • Zustand: 16. Januar 2003 n, a, q, jr l , y jr l Gregor Rößle - Shors schnelle Faktorisierung 14 Shors Algorithmus Schritt 4: • Fourier-Transformation QFT 2qiuv e v v 0 1 r 1 2ilcq q QFT e j r q j 0 1 QFT : u q q 1 • Offset l jetzt in Phase, nicht im Zustand 16. Januar 2003 Gregor Rößle - Shors schnelle Faktorisierung 15 Shors Algorithmus Schritt 5: • Messung 4. Register: q c j r c j • c aus Messung, q bekannt: q r 16. Januar 2003 Gregor Rößle - Shors schnelle Faktorisierung 16 Shors Algorithmus Schritt 6: • Errechnen der Periode r aus • Kettenbruchzerlegung c j : q r • Bestimmen der Faktoren: r a r (a 2 ) 2 1(mod n) r 2 2 (a ) 1 0 (mod n) r 2 r 2 (a 1)(a 1) 0 (mod n) r 2 r 2 Faktor 1 ggT( n, a 1), Faktor 2 ggT( n, a 1) 16. Januar 2003 Gregor Rößle - Shors schnelle Faktorisierung 17 Shors Algorithmus Mögliche Probleme: • r ungerade • Faktoren sind n und 1 • r nicht bestimmbar, Kettenbruchzerlegung endet nicht 16. Januar 2003 Gregor Rößle - Shors schnelle Faktorisierung 18 III Anhang 16. Januar 2003 Gregor Rößle - Shors schnelle Faktorisierung 19 1. Keine Messung Messung setzt 4. Register auf 0 außer an Werten für x von l j r • periodische Funktion: • Grundfrequenz + Oberschwingungen (in Superposition): f(t) a i sin(i t) i • Fouriertransformation extrahiert Frequenzspektrum (in Superposition) Ohne Messung: • QFT auf 5. Register anwenden Gregor Rößle - Shors 16. Januar 2003 schnelle Faktorisierung 20 2. QFT Verwandt mit FFT n(n 1) Gatter 2 n DFT : O(22 ), FFT : O(n2n ), QFT : O(n2 ) • Effizienz: Basis 2 n : • Hadamard- und X-Gatter H 1 2 1 2 1 2 , X 1 02i j 0 e 2j 1 2 QFT H 0 X 0,1... X 0,n 1 H1 X 1,1... X 1,n 2 ...H n 2 X n 2,1 H n 1 16. Januar 2003 Gregor Rößle - Shors schnelle Faktorisierung 21 16. Januar 2003 Gregor Rößle - Shors schnelle Faktorisierung 22 3. Kettenbruchzerlegung Messergebnis: m q 2 v j liegt mit hoher Wahrscheinlichkeit nahe v j r r Genauer (Shor): 2m 1 v j r 2 v j 1 1 2 m r 2 2 m 2n 2 p p pq qp 1 p v p 1 2 , höchstens ein mit q M , so dass : m 2 q q qq n q 2 q n 16. Januar 2003 Gregor Rößle - Shors schnelle Faktorisierung 23 v p p j 2m q q r Algorithmus: v v a0 m , 0 m a0 2 2 1 1 an , an n n 1 n1 p0 a0 , p1 a1a0 1 q0 1, q1 a1 pn an pn1 pn2 qn an qn1 qn2 Terminiert, wenn: qn M qn1 Ergebnis: 16. Januar 2003 r qn Gregor Rößle - Shors schnelle Faktorisierung 24 4. Komplexität Für Shors Algorithmus: • • • • 300 lg n Elementargatter n: 130 Stellen: 2 Wochen bei 1MHz n: 260 Stellen: 32 Wochen bei 1MHz Beckman et al. (1996): • m-Bit Integer: (m2 lg m lg lg m) Zeit: Speicher: 5m 1 16. Januar 2003 Gregor Rößle - Shors schnelle Faktorisierung 25