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  jr
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
 2qiuv 
e
v 



v 0 

1 r 1  2ilcq 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 02i 
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
 n1 
p0  a0 , p1  a1a0  1
q0  1, q1  a1
pn  an pn1  pn2
qn  an qn1  qn2
Terminiert, wenn: qn  M  qn1
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