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