Cryptography Reference
In-Depth Information
Nun taucht ein anderes Problem auf: Während im Lemma 8.9 „genau dann,
wenn“ steht, haben wir nun wieder nur eine „Wenn ..., dann ...“-Beziehung: Die
Kongruenz
kann auch dann für Zahlen a und r erfüllt sein, wenn n keine
Primzahl ist. Ein entsprechender Test scheint also doch wieder probabilistisch zu
sein. Wir werden jedoch zeigen, dass es im Fall, dass n keine Primzahl ist, stets
ein a gibt, sodass die Kongruenz
( )
( )
nicht erfüllbar ist.
Der Knackpunkt des AKS-Tests besteht darin, dass es genügt, die Kongruenzglei-
chung
( )
für ein kleines r und einen kleinen Bereich für a zu prüfen.
Die Tatsache, dass wir r und die Anzahl der Auswertungen von
( )
beschränken
können, bewirkt, dass der Algorithmus polynomial ist.
8.4.3 Der AKS-Algorithmus
Wir formulieren zuerst den AKS-Algorithmus und zeigen dann, dass der Algo-
rithmus das gewünschte Ergebnis liefert.
N > 1 der Länge
=
+
Eingabe: n
log 2 n
1.
Ausgabe: n
P
“ oder „ n
P
“.
P
(1)
Teste, ob n eine (echte) Potenz ist (vgl. Aufgabe 8.6). Falls ja, so gib „ n
aus, sonst fahre fort mit:
2 .
N
(
) mod r >
(2)
Finde r
minimal mit o
n
5 . Falls ein solcher existiert, so gib aus
(3)
Teste n auf Primteiler p
P
=
n
“, falls p
n ,
n
P
“, sonst.
Andernfalls fahre fort mit:
r
(4)
Für a
=
1, 2, . . . ,
prüfe:
n
X n
n , X r
(
+
)
+
(
(
))
P
Falls
X
a
a
mod
1
, so gib „ n
“ aus, sonst:
P
(5) Gib „ n
“ aus.
Bevor wir die Korrektheit des Algorithmus beweisen, zeigen wir, dass im Schritt
(2) des Algorithmus die Abschätzung
5
r
gilt, sodass also r tatsächlich klein ist. Für die Begründung benötigen wir das fol-
gende Lemma:
Lemma 8.11
Für n
2 n 2 .
N
sei
λ (
n
)
:
=
kgV
(
1, 2, . . . , n
)
. Dann gilt
λ (
n
)
Search WWH ::




Custom Search