Shors Algorithmus
Effiziente Faktorisierung
I Motivation
Kryptographie (RSA):
• p, q: große Primzahlen, n:
• d: relativ prim zu (p-1)(q-1), e aus
• Schlüssel: öffentlich (e, n), geheim (d, n)
• Verschlüsseln Entschlüsseln n pq
) 1 )(
1 mod(
1
p q
ed
Brechen von RSA:
• n faktorisierbar:
p,q: geheimer Schlüssel errechenbar
• Allerdings exponentielle Laufzeit!
„Killerapplikation“ für Quantenrechner
) 1 )(
1 mod(
1
p q
ed
II Der Algorithmus von Shor
1. Klassische Faktorisierung 2. Faktorisierung mit
Quantencomputern
3. Shors Faktorisierung
1. Klassische Faktorisierung
Mathematische Grundlagen
• n groß, soll faktorisiert werden
•
• Periodisch:
(Periode/Ordnung r)
beliebig
, mod )
(x a n a
fa x
r x
n a
ax 0(mod )
• Besonderheiten:
• r gerade!
• Teiler können auch 1 und seini n
) (mod 0
) 1 )(
1
(a2 a2 n
r r
n 0(mod n)
i 2 Teiler: ggT(n,a2r 1)
) (mod 0
1 )
(mod 1
)
0(mod n n a n
a
ar r
Effizienz
• Geeignete a:
• hohe Wahrscheinlichkeit
• Richtige Periode r:
• Zufall: raten oder rechnen (alle Möglichkeiten durchprobieren)
• leider exponentiell viele Möglichkeiten!
• Worst Case: n ist prim
2 )) 1 (mod 1
( 2, ) 1 gerade )
(
(r ord a P a2 n
P
r
• Bester klassischer Algorithmus (n: L Bits):
• Zeitkomplexität:
3 1 log
9 ), 64
( 3
2 3 1
c e
O cL L
2. Faktorisierung mit Quantenrechnern
Wo?
• Bestimmung der Periode
Wie?
• Superposition:
• alle möglichen Perioden gleichzeitig! rechnen
• Fourier-Transformation:
• Extraktion von Frequenzen periodischer Funktionen
3. Shors Algorithmus
Effizientes Raten von r:
• Lade alle nötigen x (Superposition!)
• Anwenden von
• Fouriertransformation
• Frequenzen von
• Grundfrequenz n a
x
fa( ) x mod
) (x fa
) (x fa
1
Shors Algorithmus
Schritt 1:
• Vorbereitung:
• Zahl n (m Bits)
• 1<a<n beliebig
• q beliebig mit
• Register laden:
q n
q
n 3 ,
2 2 2 Zweierpotenz
Qubits) lg
: (0 0 , 0 , ,
,a q n
n
Shors Algorithmus
Schritt 2:
• Funktion berechnen:
• Hadamard-Operator auf 4. Register anwenden:
• Superposition aller Werte von 0, 1, ... , q-1 im 4.
Register
1
0
0 , , , 1 q ,
x
x q a q n
)
( x
f
a• Berechnung
existiert Operator
unitärer reversibel
)
(x
fa
: ) (x fa
1
0
mod ,
, , 1 q ,
x
x n
a x q a q n
Shors Algorithmus
Schritt 3:
• Messung letztes Register
• Ergebnis y uninteressant
• Wirkung auf vorderes Register:
Vielfache von r, um Offset l verschoben
• Zustand:
y n
ax mod
r j l
x
l y jr l jr
q a
n, , , ,
Shors Algorithmus
Schritt 4:
• Fourier-Transformation QFT
• Offset l jetzt in Phase, nicht im Zustand
1
0
1 2
:
q v
q iuv
v q e
u QFT
1
0
1 r 2 j
ilcq
r j q q e
QFT
Shors Algorithmus
Schritt 5:
• Messung 4. Register:
• c aus Messung, q bekannt:r j q
c
r j q
c
Shors Algorithmus
Schritt 6:
• Errechnen der Periode r aus
• Kettenbruchzerlegung
• Bestimmen der Faktoren:
r : j q c
) (mod 1
)
(a2 2 n
a
r
r
) (mod 0
1 )
(a2 2 n
r
) (mod 0
) 1 )(
1
(a2 a2 n
r r
) 1 ,
ggT(
2 Faktor ),
1 ,
ggT(
1
Faktor n a2r n a2r
Shors Algorithmus
Mögliche Probleme:
• r ungerade
• Faktoren sind n und 1
• r nicht bestimmbar, Kettenbruchzerlegung endet nicht
III Anhang
1. Keine Messung
Messung setzt 4. Register auf 0 außer an Werten für x von
• periodische Funktion:
• Grundfrequenz + Oberschwingungen (in Superposition):
• Fouriertransformation extrahiert
Frequenzspektrum (in Superposition)
r j l
i
t) sin(i
a
f(t) i
2. QFT
Verwandt mit FFT
• Effizienz:
• Hadamard- und X-Gatter
Gatter 2
) 1 : (
2
Basis n n n
) ( : QFT
), 2 ( : FFT
), 2 ( :
DFT O 2n O n n O n2
j ji
e 2
2
0
0 X 1
, 2 1 2
1 2
1 2
1
H
...
...
...
QFT H X X H X X H X H
3. Kettenbruchzerlegung
Messergebnis:
Genauer (Shor):
rj q v
j r v
2m
liegt mit hoher Wahrscheinlichkeit nahe
2 1
2
j r v
m
2 2
1 2
2 1
2 r n
j v
m
m
1 , n2
q q
p q q p q
p q
p
12
2 : dass so , mit
ein höchstens
q n
p M v
q q p
m
Algorithmus:
r j q
p q
p v
m
2
0 0
0 , 2
2v v a
a m m
n
n n n
n a
a
1 1
, 1 1
1
, 1 1 0
0
0 a p a a
p
2
1
n n n
n a p p
p qn anqn1qn2
1 1
0 1,q a
q
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:
Zeit:
Speicher:
) lg lg lg
(m2 m m
1 5m