Pierwszość i złożoność - Warszawska Wyższa Szkoła Informatyki

advertisement
Pierwszość i złożoność
Jarosław Grytczuk
(Uniwersytet Jagielloński)
Warszawska Wyższa Szkoła Informatyki, 8 maja 2007
Jarosław Grytczuk
Pierwszość i złożoność
Pierwszość jest łatwa
Jarosław Grytczuk
Pierwszość i złożoność
Pierwszość jest łatwa
”Problem rozpoznawania liczb pierwszych wśród liczb naturalnych, oraz
rozkładania liczb naturalnych na czynniki pierwsze jest jednym z
najważniejszych i najużyteczniejszych w arytmetyce. Powaga nauki sama
w sobie wymaga podjęcia wszelkich możliwych starań w celu znalezienia
rozwiązania tego kluczowego problemu”.
Jarosław Grytczuk
Pierwszość i złożoność
Pierwszość jest łatwa
”Problem rozpoznawania liczb pierwszych wśród liczb naturalnych, oraz
rozkładania liczb naturalnych na czynniki pierwsze jest jednym z
najważniejszych i najużyteczniejszych w arytmetyce. Powaga nauki sama
w sobie wymaga podjęcia wszelkich możliwych starań w celu znalezienia
rozwiązania tego kluczowego problemu”.
— Disquisitiones Arithmeticae (1801), K. F. Gauss
Jarosław Grytczuk
Pierwszość i złożoność
Pierwszość jest łatwa
”Problem rozpoznawania liczb pierwszych wśród liczb naturalnych, oraz
rozkładania liczb naturalnych na czynniki pierwsze jest jednym z
najważniejszych i najużyteczniejszych w arytmetyce. Powaga nauki sama
w sobie wymaga podjęcia wszelkich możliwych starań w celu znalezienia
rozwiązania tego kluczowego problemu”.
— Disquisitiones Arithmeticae (1801), K. F. Gauss
Twierdzenie (Agrawal, Kayal, Saxena, 2004)
Istnieje algorytm sprawdzający w czasie wielomianowym czy dana liczba n
jest pierwsza.
Jarosław Grytczuk
Pierwszość i złożoność
Diagram Leibniza
Jarosław Grytczuk
Pierwszość i złożoność
Diagram Leibniza
•
•
•
•
•
•
•
•
•
•
•
•
• •
0 1
•
•
2
•
•
•
• •
3 4
•
•
5
•
•
•
•
• •
6 7
Jarosław Grytczuk
•
•
•
•
•
•
•
•
• •
8 9
•
•
•
•
•
•
•
• •
• •
10 11 12 13
Pierwszość i złożoność
Ile jest liczb pierwszych?
Jarosław Grytczuk
Pierwszość i złożoność
Ile jest liczb pierwszych?
Twierdzenie (Euklides)
Liczb pierwszych jest nieskończenie wiele.
Jarosław Grytczuk
Pierwszość i złożoność
Ile jest liczb pierwszych?
Twierdzenie (Euklides)
Liczb pierwszych jest nieskończenie wiele.
p1 , p2 , . . . , pk - wszystkie liczby pierwsze
Jarosław Grytczuk
Pierwszość i złożoność
Ile jest liczb pierwszych?
Twierdzenie (Euklides)
Liczb pierwszych jest nieskończenie wiele.
p1 , p2 , . . . , pk - wszystkie liczby pierwsze
N = p1 · p2 · . . . · pk
Jarosław Grytczuk
Pierwszość i złożoność
Ile jest liczb pierwszych?
Twierdzenie (Euklides)
Liczb pierwszych jest nieskończenie wiele.
p1 , p2 , . . . , pk - wszystkie liczby pierwsze
N = p1 · p2 · . . . · pk
Istnieje liczba pierwsza p dzieląca N + 1.
Jarosław Grytczuk
Pierwszość i złożoność
Ile jest liczb pierwszych?
Twierdzenie (Euklides)
Liczb pierwszych jest nieskończenie wiele.
p1 , p2 , . . . , pk - wszystkie liczby pierwsze
N = p1 · p2 · . . . · pk
Istnieje liczba pierwsza p dzieląca N + 1.
p = pi dla pewnego 1 ¬ i ¬ k
Jarosław Grytczuk
Pierwszość i złożoność
Ile jest liczb pierwszych?
Twierdzenie (Euklides)
Liczb pierwszych jest nieskończenie wiele.
p1 , p2 , . . . , pk - wszystkie liczby pierwsze
N = p1 · p2 · . . . · pk
Istnieje liczba pierwsza p dzieląca N + 1.
p = pi dla pewnego 1 ¬ i ¬ k
p |N i p |N +1
Jarosław Grytczuk
Pierwszość i złożoność
Ile jest liczb pierwszych?
Twierdzenie (Euklides)
Liczb pierwszych jest nieskończenie wiele.
p1 , p2 , . . . , pk - wszystkie liczby pierwsze
N = p1 · p2 · . . . · pk
Istnieje liczba pierwsza p dzieląca N + 1.
p = pi dla pewnego 1 ¬ i ¬ k
p |N i p |N +1
p | (N + 1) − N = 1 (Sprzeczność!)
Jarosław Grytczuk
Pierwszość i złożoność
Rozmieszczenie liczb pierwszych
Jarosław Grytczuk
Pierwszość i złożoność
Rozmieszczenie liczb pierwszych
Twierdzenie
Istnieją dowlnie długie odstępy pomiędzy kolejnymi liczbami pierwszymi.
Jarosław Grytczuk
Pierwszość i złożoność
Rozmieszczenie liczb pierwszych
Twierdzenie
Istnieją dowlnie długie odstępy pomiędzy kolejnymi liczbami pierwszymi.
n! + 2, n! + 3, . . . , n! + n
Jarosław Grytczuk
Pierwszość i złożoność
Rozmieszczenie liczb pierwszych
Twierdzenie
Istnieją dowlnie długie odstępy pomiędzy kolejnymi liczbami pierwszymi.
n! + 2, n! + 3, . . . , n! + n
Twierdzenie (Postulat Bertranda)
Dla każdego n ­ 1 istnieje liczba pierwsza między n a 2n.
Jarosław Grytczuk
Pierwszość i złożoność
Rozmieszczenie liczb pierwszych
Twierdzenie
Istnieją dowlnie długie odstępy pomiędzy kolejnymi liczbami pierwszymi.
n! + 2, n! + 3, . . . , n! + n
Twierdzenie (Postulat Bertranda)
Dla każdego n ­ 1 istnieje liczba pierwsza między n a 2n.
1 2
3 4
5
6
7 8
9
Jarosław Grytczuk
10 11 12
Pierwszość i złożoność
13 14 15 16
Rozmieszczenie liczb pierwszych
Twierdzenie
Istnieją dowlnie długie odstępy pomiędzy kolejnymi liczbami pierwszymi.
n! + 2, n! + 3, . . . , n! + n
Twierdzenie (Postulat Bertranda)
Dla każdego n ­ 1 istnieje liczba pierwsza między n a 2n.
1 2
3 4
5
6
7 8
9
10 11 12
13 14 15 16
Hipoteza (Sierpiński)
Każdy z n sąsiednich przedziałów długości n początkowych liczb
naturalnych zawiera liczbę pierwszą.
Jarosław Grytczuk
Pierwszość i złożoność
Postępy arytmetyczne
Jarosław Grytczuk
Pierwszość i złożoność
Postępy arytmetyczne
Twierdzenie (Dirichlet)
W każdym postępie arytmetycznym ak + b, (a, b) = 1, k = 0, 1, 2, . . .,
istnieje nieskończenie wiele liczb pierwszych.
Jarosław Grytczuk
Pierwszość i złożoność
Postępy arytmetyczne
Twierdzenie (Dirichlet)
W każdym postępie arytmetycznym ak + b, (a, b) = 1, k = 0, 1, 2, . . .,
istnieje nieskończenie wiele liczb pierwszych.
Twierdzenie (Green,Tao, 2004)
Istnieją dowolnie długie ciągi arytmetyczne składające się z samych liczb
pierwszych.
Jarosław Grytczuk
Pierwszość i złożoność
Postępy arytmetyczne
Twierdzenie (Dirichlet)
W każdym postępie arytmetycznym ak + b, (a, b) = 1, k = 0, 1, 2, . . .,
istnieje nieskończenie wiele liczb pierwszych.
Twierdzenie (Green,Tao, 2004)
Istnieją dowolnie długie ciągi arytmetyczne składające się z samych liczb
pierwszych.
56211383760397 + k × 44546738095860 (k = 0, 1, ..., 22)
Jarosław Grytczuk
Pierwszość i złożoność
Postępy arytmetyczne
Twierdzenie (Dirichlet)
W każdym postępie arytmetycznym ak + b, (a, b) = 1, k = 0, 1, 2, . . .,
istnieje nieskończenie wiele liczb pierwszych.
Twierdzenie (Green,Tao, 2004)
Istnieją dowolnie długie ciągi arytmetyczne składające się z samych liczb
pierwszych.
56211383760397 + k × 44546738095860 (k = 0, 1, ..., 22)
Hipoteza (Goldbach)
Każda liczba naturalna większa od 1 jest średnią arytmetyczną dwóch
liczb pierwszych.
Jarosław Grytczuk
Pierwszość i złożoność
Postępy arytmetyczne
Twierdzenie (Dirichlet)
W każdym postępie arytmetycznym ak + b, (a, b) = 1, k = 0, 1, 2, . . .,
istnieje nieskończenie wiele liczb pierwszych.
Twierdzenie (Green,Tao, 2004)
Istnieją dowolnie długie ciągi arytmetyczne składające się z samych liczb
pierwszych.
56211383760397 + k × 44546738095860 (k = 0, 1, ..., 22)
Hipoteza (Goldbach)
Każda liczba naturalna większa od 1 jest średnią arytmetyczną dwóch
liczb pierwszych.
1 2
3 4
•
5 6
•
7 8
Jarosław Grytczuk
9
•
10 11 12 13 14
Pierwszość i złożoność
Twierdzenie o Liczbach Pierwszych
Jarosław Grytczuk
Pierwszość i złożoność
Twierdzenie o Liczbach Pierwszych
π(N) = #{p ¬ N : p jest liczbą pierwszą}
Jarosław Grytczuk
Pierwszość i złożoność
Twierdzenie o Liczbach Pierwszych
π(N) = #{p ¬ N : p jest liczbą pierwszą}
π(106 ) = 78 498
Jarosław Grytczuk
Pierwszość i złożoność
Twierdzenie o Liczbach Pierwszych
π(N) = #{p ¬ N : p jest liczbą pierwszą}
π(106 ) = 78 498
Twierdzenie (o Liczbach Pierwszych I)
π(N) ∼
Jarosław Grytczuk
N
ln N
Pierwszość i złożoność
Twierdzenie o Liczbach Pierwszych
π(N) = #{p ¬ N : p jest liczbą pierwszą}
π(106 ) = 78 498
Twierdzenie (o Liczbach Pierwszych I)
π(N) ∼
106
ln 106
N
ln N
= 72 382
Jarosław Grytczuk
Pierwszość i złożoność
Twierdzenie o Liczbach Pierwszych
π(N) = #{p ¬ N : p jest liczbą pierwszą}
π(106 ) = 78 498
Twierdzenie (o Liczbach Pierwszych I)
π(N) ∼
106
ln 106
N
ln N
= 72 382
Twierdzenie (o Liczbach Pierwszych II)
π(N) ∼
ZN
dx
ln x
2
Jarosław Grytczuk
Pierwszość i złożoność
Twierdzenie o Liczbach Pierwszych
π(N) = #{p ¬ N : p jest liczbą pierwszą}
π(106 ) = 78 498
Twierdzenie (o Liczbach Pierwszych I)
π(N) ∼
106
ln 106
N
ln N
= 72 382
Twierdzenie (o Liczbach Pierwszych II)
π(N) ∼
ZN
dx
ln x
2
6
10
R
2
dx
ln x
= 78627
Jarosław Grytczuk
Pierwszość i złożoność
Hipoteza Riemanna 1.000.000$
Jarosław Grytczuk
Pierwszość i złożoność
Hipoteza Riemanna 1.000.000$
ζ(s) = 1 +
1
2s
+
1
3s
+ ... =
∞
P
n=1
Jarosław Grytczuk
1
ns ,
(s ∈ C)
Pierwszość i złożoność
Hipoteza Riemanna 1.000.000$
ζ(s) = 1 +
1
2s
+
1
3s
+ ... =
∞
P
n=1
1
ns ,
(s ∈ C)
Hipoteza (Riemanna)
Wszystkie nietrywialne zera funkcji ζ(s) mają część rzeczywistą 21 .
Jarosław Grytczuk
Pierwszość i złożoność
Hipoteza Riemanna 1.000.000$
ζ(s) = 1 +
1
2s
+
1
3s
+ ... =
∞
P
n=1
1
ns ,
(s ∈ C)
Hipoteza (Riemanna)
Wszystkie nietrywialne zera funkcji ζ(s) mają część rzeczywistą 21 .
ζ(s) = 1 +
1
2s
+
1
4s
+ ... 1 +
Jarosław Grytczuk
1
3s
+
1
9s
+ ... 1 +
Pierwszość i złożoność
1
5s
+ ... ...
Hipoteza Riemanna 1.000.000$
ζ(s) = 1 +
1
2s
+
1
3s
+ ... =
∞
P
n=1
1
ns ,
(s ∈ C)
Hipoteza (Riemanna)
Wszystkie nietrywialne zera funkcji ζ(s) mają część rzeczywistą 21 .
ζ(s) = 1 + 21s + 41s + . . . 1 +
−1
Q
ζ(s) =
1 − p1s
1
3s
+
1
9s
+ ... 1 +
p
Jarosław Grytczuk
Pierwszość i złożoność
1
5s
+ ... ...
Hipoteza Riemanna 1.000.000$
ζ(s) = 1 +
1
2s
1
3s
+
+ ... =
∞
P
n=1
1
ns ,
(s ∈ C)
Hipoteza (Riemanna)
Wszystkie nietrywialne zera funkcji ζ(s) mają część rzeczywistą 21 .
ζ(s) = 1 + 21s + 41s + . . . 1 +
−1
Q
ζ(s) =
1 − p1s
1
3s
+
1
9s
+ ... 1 +
p
Twierdzenie
HR ⇔ π(N) =
RN
2
dx
ln x
+ O(N 1/2+ε ) dla każdego ε > 0.
Jarosław Grytczuk
Pierwszość i złożoność
1
5s
+ ... ...
Funkcja Möbiusa
Jarosław Grytczuk
Pierwszość i złożoność
Funkcja Möbiusa
1 2
+ −
3
−
4 5
0 −
6 7
+ −
8 9
0 0
Jarosław Grytczuk
10 11 12 13 14 15 16 17 18
+ − 0 − + + 0 − 0
Pierwszość i złożoność
Funkcja Möbiusa
1 2
+ −
3
−
4 5
0 −
6 7
+ −
8 9
0 0
10 11 12 13 14 15 16 17 18
+ − 0 − + + 0 − 0
µ(n) = 0, jeśli p 2 | n, (µ(1) = 1)
Jarosław Grytczuk
Pierwszość i złożoność
Funkcja Möbiusa
1 2
+ −
3
−
4 5
0 −
6 7
+ −
8 9
0 0
10 11 12 13 14 15 16 17 18
+ − 0 − + + 0 − 0
µ(n) = 0, jeśli p 2 | n, (µ(1) = 1)
µ(n) = (−1)k , gdy n = p1 p2 . . . pk , pi - różne liczby pierwsze.
Jarosław Grytczuk
Pierwszość i złożoność
Funkcja Möbiusa
1 2
+ −
3
−
4 5
0 −
6 7
+ −
8 9
0 0
10 11 12 13 14 15 16 17 18
+ − 0 − + + 0 − 0
µ(n) = 0, jeśli p 2 | n, (µ(1) = 1)
µ(n) = (−1)k , gdy n = p1 p2 . . . pk , pi - różne liczby pierwsze.
M(x) =
x
P
µ(n)
n=1
Jarosław Grytczuk
Pierwszość i złożoność
Funkcja Möbiusa
1 2
+ −
3
−
4 5
0 −
6 7
+ −
8 9
0 0
10 11 12 13 14 15 16 17 18
+ − 0 − + + 0 − 0
µ(n) = 0, jeśli p 2 | n, (µ(1) = 1)
µ(n) = (−1)k , gdy n = p1 p2 . . . pk , pi - różne liczby pierwsze.
M(x) =
x
P
µ(n)
n=1
Twierdzenie
TLP ⇔ lim
M(x)
=0
x
Jarosław Grytczuk
Pierwszość i złożoność
x→∞
Funkcja Möbiusa
1 2
+ −
3
−
4 5
0 −
6 7
+ −
8 9
0 0
10 11 12 13 14 15 16 17 18
+ − 0 − + + 0 − 0
µ(n) = 0, jeśli p 2 | n, (µ(1) = 1)
µ(n) = (−1)k , gdy n = p1 p2 . . . pk , pi - różne liczby pierwsze.
M(x) =
x
P
µ(n)
n=1
Twierdzenie
TLP ⇔ lim
x→∞
M(x)
=0
x
Twierdzenie
HR ⇔ M(x) = O(x 1/2+ε ) dla każdego ε > 0.
Jarosław Grytczuk
Pierwszość i złożoność
Suma dzielników liczby n
Jarosław Grytczuk
Pierwszość i złożoność
Suma dzielników liczby n
σ(n) =
P
d
d|n
Jarosław Grytczuk
Pierwszość i złożoność
Suma dzielników liczby n
σ(n) =
P
d
d|n
σ(6) = 1 + 2 + 3 + 6 = 12
Jarosław Grytczuk
Pierwszość i złożoność
Suma dzielników liczby n
σ(n) =
P
d
d|n
σ(6) = 1 + 2 + 3 + 6 = 12
Hn = 1 +
1 1
1
+ + ...+
2 3
n
Jarosław Grytczuk
Pierwszość i złożoność
Suma dzielników liczby n
σ(n) =
P
d
d|n
σ(6) = 1 + 2 + 3 + 6 = 12
Hn = 1 +
1 1
1
+ + ...+
2 3
n
Twierdzenie (Lagarias, 2002)
HR ⇔ σ(n) ¬ Hn + exp(Hn ) ln(Hn ) dla każdego n ­ 1.
Jarosław Grytczuk
Pierwszość i złożoność
Suma dzielników liczby n
σ(n) =
P
d
d|n
σ(6) = 1 + 2 + 3 + 6 = 12
Hn = 1 +
1 1
1
+ + ...+
2 3
n
Twierdzenie (Lagarias, 2002)
HR ⇔ σ(n) ¬ Hn + exp(Hn ) ln(Hn ) dla każdego n ­ 1.
H6 =
49
20
= 2, 45
Jarosław Grytczuk
Pierwszość i złożoność
Suma dzielników liczby n
σ(n) =
P
d
d|n
σ(6) = 1 + 2 + 3 + 6 = 12
Hn = 1 +
1 1
1
+ + ...+
2 3
n
Twierdzenie (Lagarias, 2002)
HR ⇔ σ(n) ¬ Hn + exp(Hn ) ln(Hn ) dla każdego n ­ 1.
49
20 = 2, 45
49
exp( 49
20 ) ln 20 = 10, 384
H6 =
Jarosław Grytczuk
Pierwszość i złożoność
Wyznacznik Leibniza
Jarosław Grytczuk
Pierwszość i złożoność
Wyznacznik Leibniza
A(N) = (aij )N×N , aij ∈ {0, 1},
Jarosław Grytczuk
Pierwszość i złożoność
Wyznacznik Leibniza
A(N) = (aij )N×N , aij ∈ {0, 1},
aij = 1 ⇔ j = 1 lub i | j
Jarosław Grytczuk
Pierwszość i złożoność
Wyznacznik Leibniza
A(N) = (aij )N×N , aij ∈ {0, 1},
aij = 1 ⇔ j = 1 lub i | j




A(6) = 



1
1
1
1
1
1
Jarosław Grytczuk
1
1
0
0
0
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
0
0
1
Pierwszość i złożoność








Wyznacznik Leibniza
A(N) = (aij )N×N , aij ∈ {0, 1},
aij = 1 ⇔ j = 1 lub i | j




A(6) = 



1
1
1
1
1
1
1
1
0
0
0
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
0
0
1
Twierdzenie (Redheffer, 1977)
HR ⇔ |det A(N)| = O(N 1/2+ε ) dla każdego ε > 0.
Jarosław Grytczuk
Pierwszość i złożoność








Kryptosystem RSA
Jarosław Grytczuk
Pierwszość i złożoność
Kryptosystem RSA
p, q - duże liczby pierwsze (kilkusetcyfrowe)
Jarosław Grytczuk
Pierwszość i złożoność
Kryptosystem RSA
p, q - duże liczby pierwsze (kilkusetcyfrowe)
n = pq, K = (p − 1)(q − 1)
Jarosław Grytczuk
Pierwszość i złożoność
Kryptosystem RSA
p, q - duże liczby pierwsze (kilkusetcyfrowe)
n = pq, K = (p − 1)(q − 1)
s, d - liczby całkowite spełniające sd = 1(modK )
Jarosław Grytczuk
Pierwszość i złożoność
Kryptosystem RSA
p, q - duże liczby pierwsze (kilkusetcyfrowe)
n = pq, K = (p − 1)(q − 1)
s, d - liczby całkowite spełniające sd = 1(modK )
(n, s) - klucz szyfrujący (jawny!)
Jarosław Grytczuk
Pierwszość i złożoność
Kryptosystem RSA
p, q - duże liczby pierwsze (kilkusetcyfrowe)
n = pq, K = (p − 1)(q − 1)
s, d - liczby całkowite spełniające sd = 1(modK )
(n, s) - klucz szyfrujący (jawny!)
(n, d) - klucz deszyfrujący (d, p, q, K - tajne!)
Jarosław Grytczuk
Pierwszość i złożoność
Kryptosystem RSA
p, q - duże liczby pierwsze (kilkusetcyfrowe)
n = pq, K = (p − 1)(q − 1)
s, d - liczby całkowite spełniające sd = 1(modK )
(n, s) - klucz szyfrujący (jawny!)
(n, d) - klucz deszyfrujący (d, p, q, K - tajne!)
szyfrowanie: W - wiadomość, (W , n) = 1
Jarosław Grytczuk
Pierwszość i złożoność
Kryptosystem RSA
p, q - duże liczby pierwsze (kilkusetcyfrowe)
n = pq, K = (p − 1)(q − 1)
s, d - liczby całkowite spełniające sd = 1(modK )
(n, s) - klucz szyfrujący (jawny!)
(n, d) - klucz deszyfrujący (d, p, q, K - tajne!)
szyfrowanie: W - wiadomość, (W , n) = 1
W s (modn) - zaszyfrowana wiadomość
Jarosław Grytczuk
Pierwszość i złożoność
Kryptosystem RSA
p, q - duże liczby pierwsze (kilkusetcyfrowe)
n = pq, K = (p − 1)(q − 1)
s, d - liczby całkowite spełniające sd = 1(modK )
(n, s) - klucz szyfrujący (jawny!)
(n, d) - klucz deszyfrujący (d, p, q, K - tajne!)
szyfrowanie: W - wiadomość, (W , n) = 1
W s (modn) - zaszyfrowana wiadomość
deszyfrowanie: sd = mK + 1, gdzie K = (p − 1)(q − 1)
Jarosław Grytczuk
Pierwszość i złożoność
Kryptosystem RSA
p, q - duże liczby pierwsze (kilkusetcyfrowe)
n = pq, K = (p − 1)(q − 1)
s, d - liczby całkowite spełniające sd = 1(modK )
(n, s) - klucz szyfrujący (jawny!)
(n, d) - klucz deszyfrujący (d, p, q, K - tajne!)
szyfrowanie: W - wiadomość, (W , n) = 1
W s (modn) - zaszyfrowana wiadomość
deszyfrowanie: sd = mK + 1, gdzie K = (p − 1)(q − 1)
(W s )d = W sd = W mK +1 = (W K )m W = W (mod n)
Jarosław Grytczuk
Pierwszość i złożoność
Jak złamać RSA?
Jarosław Grytczuk
Pierwszość i złożoność
Jak złamać RSA?
W (p−1)(q−1) = 1(modpq)
Jarosław Grytczuk
Pierwszość i złożoność
Jak złamać RSA?
W (p−1)(q−1) = 1(modpq)
Twierdzenie (Małe Twierdzenie Fermata)
Jeżeli p jest liczbą pierwszą, to ap−1 ≡ 1(modp) dla każdej liczby
całkowitej 1 ¬ a ¬ p − 1.
Jarosław Grytczuk
Pierwszość i złożoność
Jak złamać RSA?
W (p−1)(q−1) = 1(modpq)
Twierdzenie (Małe Twierdzenie Fermata)
Jeżeli p jest liczbą pierwszą, to ap−1 ≡ 1(modp) dla każdej liczby
całkowitej 1 ¬ a ¬ p − 1.
Wniosek
Jeżeli p, q są różnymi liczbami pierwszymi, to a(p−1)(q−1) ≡ 1(modpq).
Jarosław Grytczuk
Pierwszość i złożoność
Jak złamać RSA?
W (p−1)(q−1) = 1(modpq)
Twierdzenie (Małe Twierdzenie Fermata)
Jeżeli p jest liczbą pierwszą, to ap−1 ≡ 1(modp) dla każdej liczby
całkowitej 1 ¬ a ¬ p − 1.
Wniosek
Jeżeli p, q są różnymi liczbami pierwszymi, to a(p−1)(q−1) ≡ 1(modpq).
Trzeba znaleźć d
Jarosław Grytczuk
Pierwszość i złożoność
Jak złamać RSA?
W (p−1)(q−1) = 1(modpq)
Twierdzenie (Małe Twierdzenie Fermata)
Jeżeli p jest liczbą pierwszą, to ap−1 ≡ 1(modp) dla każdej liczby
całkowitej 1 ¬ a ¬ p − 1.
Wniosek
Jeżeli p, q są różnymi liczbami pierwszymi, to a(p−1)(q−1) ≡ 1(modpq).
Trzeba znaleźć d
sd = 1(modK ), (s jest jawne!)
Jarosław Grytczuk
Pierwszość i złożoność
Jak złamać RSA?
W (p−1)(q−1) = 1(modpq)
Twierdzenie (Małe Twierdzenie Fermata)
Jeżeli p jest liczbą pierwszą, to ap−1 ≡ 1(modp) dla każdej liczby
całkowitej 1 ¬ a ¬ p − 1.
Wniosek
Jeżeli p, q są różnymi liczbami pierwszymi, to a(p−1)(q−1) ≡ 1(modpq).
Trzeba znaleźć d
sd = 1(modK ), (s jest jawne!)
Wystarczy zatem obliczyć K = (p − 1)(q − 1), czyli...
Jarosław Grytczuk
Pierwszość i złożoność
Jak złamać RSA?
W (p−1)(q−1) = 1(modpq)
Twierdzenie (Małe Twierdzenie Fermata)
Jeżeli p jest liczbą pierwszą, to ap−1 ≡ 1(modp) dla każdej liczby
całkowitej 1 ¬ a ¬ p − 1.
Wniosek
Jeżeli p, q są różnymi liczbami pierwszymi, to a(p−1)(q−1) ≡ 1(modpq).
Trzeba znaleźć d
sd = 1(modK ), (s jest jawne!)
Wystarczy zatem obliczyć K = (p − 1)(q − 1), czyli...
rozłożyć n = pq na czynniki pierwsze (n jest jawne!)
Jarosław Grytczuk
Pierwszość i złożoność
Wyzwanie RSA
Jarosław Grytczuk
Pierwszość i złożoność
Wyzwanie RSA
Twierdzenie (Cole, 1903)
267 − 1 = 147 573 952 589 676 412 927 = 193 707 721 × 761 838 257 287
Jarosław Grytczuk
Pierwszość i złożoność
Wyzwanie RSA
Twierdzenie (Cole, 1903)
267 − 1 = 147 573 952 589 676 412 927 = 193 707 721 × 761 838 257 287
RSA-704 =
740375634795617128280467960974295731425931
888892312890849362326389727650340282662768
919964196251178439958943305021275853701189
6809828673317327310893090055250511687706329
9072396380786710086096962537934650563796359
Jarosław Grytczuk
Pierwszość i złożoność
Wyzwanie RSA
Twierdzenie (Cole, 1903)
267 − 1 = 147 573 952 589 676 412 927 = 193 707 721 × 761 838 257 287
RSA-704 =
740375634795617128280467960974295731425931
888892312890849362326389727650340282662768
919964196251178439958943305021275853701189
6809828673317327310893090055250511687706329
9072396380786710086096962537934650563796359
http://www.rsa.com/rsalabs/
Jarosław Grytczuk
Pierwszość i złożoność
Szybkość rozkładu
Jarosław Grytczuk
Pierwszość i złożoność
Szybkość rozkładu
A(n) = liczba operacji bitowych algorytmu A wykonywanych na
liczbie n
Jarosław Grytczuk
Pierwszość i złożoność
Szybkość rozkładu
A(n) = liczba operacji bitowych algorytmu A wykonywanych na
liczbie n
e
Szybkość mnożenia = O(log
n)
Jarosław Grytczuk
Pierwszość i złożoność
Szybkość rozkładu
A(n) = liczba operacji bitowych algorytmu A wykonywanych na
liczbie n
e
Szybkość mnożenia = O(log
n)
e ) = O(y (log y )k )
O(y
Jarosław Grytczuk
Pierwszość i złożoność
Szybkość rozkładu
A(n) = liczba operacji bitowych algorytmu A wykonywanych na
liczbie n
e
Szybkość mnożenia = O(log
n)
e ) = O(y (log y )k )
O(y
Szybkość rozkładu = O(exp(c(log n)1/3 (log log n)2/3 ), gdzie c < 2
Jarosław Grytczuk
Pierwszość i złożoność
Szybkość rozkładu
A(n) = liczba operacji bitowych algorytmu A wykonywanych na
liczbie n
e
Szybkość mnożenia = O(log
n)
e ) = O(y (log y )k )
O(y
Szybkość rozkładu = O(exp(c(log n)1/3 (log log n)2/3 ), gdzie c < 2
A(n)
czas
mnożenie
33.056
8 × 10−4 sek.
Jarosław Grytczuk
rozkładanie
3 × 1031
2, 5 × 1016 lat!
Pierwszość i złożoność
P=NP?
Jarosław Grytczuk
Pierwszość i złożoność
P=NP?
Algorytm A jest szybki jeżeli istnieje k takie, że A(n) = O((log n)k )
Jarosław Grytczuk
Pierwszość i złożoność
P=NP?
Algorytm A jest szybki jeżeli istnieje k takie, że A(n) = O((log n)k )
Problem jest łatwy jeżeli istnieje szybki algorytm rozwiązujący go.
Jarosław Grytczuk
Pierwszość i złożoność
P=NP?
Algorytm A jest szybki jeżeli istnieje k takie, że A(n) = O((log n)k )
Problem jest łatwy jeżeli istnieje szybki algorytm rozwiązujący go.
P - klasa problemów łatwych (mnożenie liczb, potęgowanie (modn),
pierwszość, etc.)
Jarosław Grytczuk
Pierwszość i złożoność
P=NP?
Algorytm A jest szybki jeżeli istnieje k takie, że A(n) = O((log n)k )
Problem jest łatwy jeżeli istnieje szybki algorytm rozwiązujący go.
P - klasa problemów łatwych (mnożenie liczb, potęgowanie (modn),
pierwszość, etc.)
NP - klasa problemów, dla których sprawdzenie poprawności
podanego rozwiązania jest łatwe (rozkład na czynniki pierwsze, cykl
Hamiltona, kolorowalność grafu, etc.).
Jarosław Grytczuk
Pierwszość i złożoność
P=NP?
Algorytm A jest szybki jeżeli istnieje k takie, że A(n) = O((log n)k )
Problem jest łatwy jeżeli istnieje szybki algorytm rozwiązujący go.
P - klasa problemów łatwych (mnożenie liczb, potęgowanie (modn),
pierwszość, etc.)
NP - klasa problemów, dla których sprawdzenie poprawności
podanego rozwiązania jest łatwe (rozkład na czynniki pierwsze, cykl
Hamiltona, kolorowalność grafu, etc.).
Hipoteza (1.000.000$)
P 6= NP
Jarosław Grytczuk
Pierwszość i złożoność
Test Fermata
Jarosław Grytczuk
Pierwszość i złożoność
Test Fermata
Twierdzenie
Jeżeli an 6= a(modn) dla pewnej liczby a, to n jest liczbą złożoną.
Jarosław Grytczuk
Pierwszość i złożoność
Test Fermata
Twierdzenie
Jeżeli an 6= a(modn) dla pewnej liczby a, to n jest liczbą złożoną.
21001 = 123(mod1001)
Jarosław Grytczuk
Pierwszość i złożoność
Test Fermata
Twierdzenie
Jeżeli an 6= a(modn) dla pewnej liczby a, to n jest liczbą złożoną.
21001 = 123(mod1001)
Czy dla każdej liczby złożonej n zachodzi 2n 6= 2(modn)?
Jarosław Grytczuk
Pierwszość i złożoność
Test Fermata
Twierdzenie
Jeżeli an 6= a(modn) dla pewnej liczby a, to n jest liczbą złożoną.
21001 = 123(mod1001)
Czy dla każdej liczby złożonej n zachodzi 2n 6= 2(modn)?
2341 = 2(mod341)
Jarosław Grytczuk
Pierwszość i złożoność
Test Fermata
Twierdzenie
Jeżeli an 6= a(modn) dla pewnej liczby a, to n jest liczbą złożoną.
21001 = 123(mod1001)
Czy dla każdej liczby złożonej n zachodzi 2n 6= 2(modn)?
2341 = 2(mod341)
3341 = 168(mod341)
Jarosław Grytczuk
Pierwszość i złożoność
Test Fermata
Twierdzenie
Jeżeli an 6= a(modn) dla pewnej liczby a, to n jest liczbą złożoną.
21001 = 123(mod1001)
Czy dla każdej liczby złożonej n zachodzi 2n 6= 2(modn)?
2341 = 2(mod341)
3341 = 168(mod341)
Czy dla każdej liczby złożonej n istnieje liczba a taka, że
an 6= a(modn)?
Jarosław Grytczuk
Pierwszość i złożoność
Test Fermata
Twierdzenie
Jeżeli an 6= a(modn) dla pewnej liczby a, to n jest liczbą złożoną.
21001 = 123(mod1001)
Czy dla każdej liczby złożonej n zachodzi 2n 6= 2(modn)?
2341 = 2(mod341)
3341 = 168(mod341)
Czy dla każdej liczby złożonej n istnieje liczba a taka, że
an 6= a(modn)?
a561 = a(mod561) dla każdego a (tzw. liczba Carmichaela)
Jarosław Grytczuk
Pierwszość i złożoność
Test Fermata
Twierdzenie
Jeżeli an 6= a(modn) dla pewnej liczby a, to n jest liczbą złożoną.
21001 = 123(mod1001)
Czy dla każdej liczby złożonej n zachodzi 2n 6= 2(modn)?
2341 = 2(mod341)
3341 = 168(mod341)
Czy dla każdej liczby złożonej n istnieje liczba a taka, że
an 6= a(modn)?
a561 = a(mod561) dla każdego a (tzw. liczba Carmichaela)
Twierdzenie (Alford, Granville, Pomerance, 1994)
Liczb Carmichaela jest nieskończenie wiele.
Jarosław Grytczuk
Pierwszość i złożoność
Pierwiastki kwadratowe z 1
Jarosław Grytczuk
Pierwszość i złożoność
Pierwiastki kwadratowe z 1
Twierdzenie
Jeżeli p jest liczbą pierwszą, to równanie x 2 = 1 ma dokładnie dwa
rozwiązania (modp), x = ±1.
Jarosław Grytczuk
Pierwszość i złożoność
Pierwiastki kwadratowe z 1
Twierdzenie
Jeżeli p jest liczbą pierwszą, to równanie x 2 = 1 ma dokładnie dwa
rozwiązania (modp), x = ±1.
Twierdzenie
Jeżeli b 2 = 1(modn) dla pewnej liczby b 6= ±1, to n jest liczbą złożoną.
Jarosław Grytczuk
Pierwszość i złożoność
Pierwiastki kwadratowe z 1
Twierdzenie
Jeżeli p jest liczbą pierwszą, to równanie x 2 = 1 ma dokładnie dwa
rozwiązania (modp), x = ±1.
Twierdzenie
Jeżeli b 2 = 1(modn) dla pewnej liczby b 6= ±1, to n jest liczbą złożoną.
2340 = 1(mod341)
Jarosław Grytczuk
Pierwszość i złożoność
Pierwiastki kwadratowe z 1
Twierdzenie
Jeżeli p jest liczbą pierwszą, to równanie x 2 = 1 ma dokładnie dwa
rozwiązania (modp), x = ±1.
Twierdzenie
Jeżeli b 2 = 1(modn) dla pewnej liczby b 6= ±1, to n jest liczbą złożoną.
2340 = 1(mod341)
2170 = 1(mod341)
Jarosław Grytczuk
Pierwszość i złożoność
Pierwiastki kwadratowe z 1
Twierdzenie
Jeżeli p jest liczbą pierwszą, to równanie x 2 = 1 ma dokładnie dwa
rozwiązania (modp), x = ±1.
Twierdzenie
Jeżeli b 2 = 1(modn) dla pewnej liczby b 6= ±1, to n jest liczbą złożoną.
2340 = 1(mod341)
2170 = 1(mod341)
285 = 32(mod341)
Jarosław Grytczuk
Pierwszość i złożoność
Pierwiastki kwadratowe z 1
Twierdzenie
Jeżeli p jest liczbą pierwszą, to równanie x 2 = 1 ma dokładnie dwa
rozwiązania (modp), x = ±1.
Twierdzenie
Jeżeli b 2 = 1(modn) dla pewnej liczby b 6= ±1, to n jest liczbą złożoną.
2340 = 1(mod341)
2170 = 1(mod341)
285 = 32(mod341)
Jarosław Grytczuk
Pierwszość i złożoność
Test Millera-Rabina
Jarosław Grytczuk
Pierwszość i złożoność
Test Millera-Rabina
n − 1 = 2k m, m = 1(mod2)
Jarosław Grytczuk
Pierwszość i złożoność
Test Millera-Rabina
n − 1 = 2k m, m = 1(mod2)
k
Aa (n) = (an−1 , a(n−1)/2 , a(n−1)/4 , . . . , a(n−1)/2 )
Jarosław Grytczuk
Pierwszość i złożoność
Test Millera-Rabina
n − 1 = 2k m, m = 1(mod2)
k
Aa (n) = (an−1 , a(n−1)/2 , a(n−1)/4 , . . . , a(n−1)/2 )
Twierdzenie
Jeżeli n jest liczbą pierwszą, to Aa (n) = (1, 1, . . . , 1) lub
Aa (n) = (1, 1, . . . , 1, −1, ∗, . . . , ∗) dla każdej liczby całkowitej
a 6= 0(modn).
Jarosław Grytczuk
Pierwszość i złożoność
Test Millera-Rabina
n − 1 = 2k m, m = 1(mod2)
k
Aa (n) = (an−1 , a(n−1)/2 , a(n−1)/4 , . . . , a(n−1)/2 )
Twierdzenie
Jeżeli n jest liczbą pierwszą, to Aa (n) = (1, 1, . . . , 1) lub
Aa (n) = (1, 1, . . . , 1, −1, ∗, . . . , ∗) dla każdej liczby całkowitej
a 6= 0(modn).
Liczba a jest świadkiem złożoności n jeżeli
Aa (n) 6= (1, 1, . . . , 1), (1, 1, . . . , 1, −1, ∗, . . . , ∗).
Jarosław Grytczuk
Pierwszość i złożoność
Test Millera-Rabina
n − 1 = 2k m, m = 1(mod2)
k
Aa (n) = (an−1 , a(n−1)/2 , a(n−1)/4 , . . . , a(n−1)/2 )
Twierdzenie
Jeżeli n jest liczbą pierwszą, to Aa (n) = (1, 1, . . . , 1) lub
Aa (n) = (1, 1, . . . , 1, −1, ∗, . . . , ∗) dla każdej liczby całkowitej
a 6= 0(modn).
Liczba a jest świadkiem złożoności n jeżeli
Aa (n) 6= (1, 1, . . . , 1), (1, 1, . . . , 1, −1, ∗, . . . , ∗).
Twierdzenie
Jeżeli n jest liczbą złożoną nieparzystą, to istnieje co najmniej n/2
świadków złożoności n w zbiorze {1, 2, . . . , n}. Ponadto, jeżeli prawdziwa
jest Uogólniona Hipoteza Riemanna, to istnieje świadek a ¬ 2(log n)2 .
Jarosław Grytczuk
Pierwszość i złożoność
Dwumianowe kryterium pierwszości
Jarosław Grytczuk
Pierwszość i złożoność
Dwumianowe kryterium pierwszości
0
1
2
3
4
5
6
7
1
1
1
1
1
1
1
1
1
2
3
4
5
6
7
1
3
1
6
4
1
10 10 5
15 20 15
21 35 35
1
6 1
21 7
Jarosław Grytczuk
1
Pierwszość i złożoność
Dwumianowe kryterium pierwszości
0
1
2
3
4
5
6
7
1
1
1
1
1
1
1
1
1
2
3
4
5
6
7
1
3
1
6
4
1
10 10 5
15 20 15
21 35 35
1
6 1
21 7
1
Twierdzenie
Liczba n jest pierwsza wtedy i tylko wtedy, gdy n |
k = 1, 2, . . . , n − 1.
Jarosław Grytczuk
Pierwszość i złożoność
n
k
dla każdego
Dwumianowe kryterium pierwszości
0
1
2
3
4
5
6
7
1
1
1
1
1
1
1
1
1
2
3
4
5
6
7
1
3
1
6
4
1
10 10 5
15 20 15
21 35 35
1
6 1
21 7
1
Twierdzenie
Liczba n jest pierwsza wtedy i tylko wtedy, gdy n |
k = 1, 2, . . . , n − 1.
n
k
dla każdego
Wniosek
Niech a będzie dowolna liczbą całkowitą. Wówczas liczba n jest pierwsza
wtedy i tylko wtedy, gdy (x + a)n = x n + a(modn).
Jarosław Grytczuk
Pierwszość i złożoność
Dowód kryterium dwumianowego
Jarosław Grytczuk
Pierwszość i złożoność
Dowód kryterium dwumianowego
n(n − 1)(n − 2) . . . (n − k + 1)
n
=
1 · 2 ·... ·k
k
Jarosław Grytczuk
Pierwszość i złożoność
Dowód kryterium dwumianowego
n(n − 1)(n − 2) . . . (n − k + 1)
n
=
1 · 2 ·... ·k
k
Niech n = pd i niech h spełnia p h | n i p h+1 - n.
Jarosław Grytczuk
Pierwszość i złożoność
Dowód kryterium dwumianowego
n(n − 1)(n − 2) . . . (n − k + 1)
n
=
1 · 2 ·... ·k
k
Niech n = pd i niech h spełnia p h | n i p h+1 - n.
n
=
p
=
pd(n − 1)(n − 2) . . . (n − p + 1)
1 · 2 ·... ·p
d(n − 1)(n − 2) . . . (n − p + 1)
1 · 2 · . . . · (p − 1)
Jarosław Grytczuk
Pierwszość i złożoność
Dowód kryterium dwumianowego
n(n − 1)(n − 2) . . . (n − k + 1)
n
=
1 · 2 ·... ·k
k
Niech n = pd i niech h spełnia p h | n i p h+1 - n.
n
=
p
=
Zatem p h -
n
p
, stąd n -
pd(n − 1)(n − 2) . . . (n − p + 1)
1 · 2 ·... ·p
d(n − 1)(n − 2) . . . (n − p + 1)
1 · 2 · . . . · (p − 1)
n
p
.
Jarosław Grytczuk
Pierwszość i złożoność
Twierdzenie AKS
Jarosław Grytczuk
Pierwszość i złożoność
Twierdzenie AKS
ord r (n) = min{k ­ 1 : nk = 1(modr )}
Jarosław Grytczuk
Pierwszość i złożoność
Twierdzenie AKS
ord r (n) = min{k ­ 1 : nk = 1(modr )}
Twierdzenie (Agrawal, Kayal, Saxena, 2004)
Dla danej liczby całkowitej n ­ 2, niech r < n będzie liczbą całkowitą
taką, że ord r (n) > (log n)2 . Wówczas n jest liczbą pierwszą wtedy i tylko
wtedy, gdy
n nie jest pełną potęgą,
n nie ma dzielnika pierwszego p ¬ r ,
√
(x + a)n = x n + a(modn, x r − 1), dla wszystkich a, 1 ¬ a ¬ r log n.
Jarosław Grytczuk
Pierwszość i złożoność
Algorytm AKS
Jarosław Grytczuk
Pierwszość i złożoność
Algorytm AKS
Dane: liczba naturalna n
Jarosław Grytczuk
Pierwszość i złożoność
Algorytm AKS
Dane: liczba naturalna n
Odpowiedź: ”PIERWSZA” lub ”ZŁOŻONA”
Jarosław Grytczuk
Pierwszość i złożoność
Algorytm AKS
Dane: liczba naturalna n
Odpowiedź: ”PIERWSZA” lub ”ZŁOŻONA”
1
Jeżeli n = ab , a ∈ N i b > 1, odpowiedz ”ZŁOŻONA”.
Jarosław Grytczuk
Pierwszość i złożoność
Algorytm AKS
Dane: liczba naturalna n
Odpowiedź: ”PIERWSZA” lub ”ZŁOŻONA”
1
2
Jeżeli n = ab , a ∈ N i b > 1, odpowiedz ”ZŁOŻONA”.
Znajdź r takie, że ord r (n) > (log n)2 .
Jarosław Grytczuk
Pierwszość i złożoność
Algorytm AKS
Dane: liczba naturalna n
Odpowiedź: ”PIERWSZA” lub ”ZŁOŻONA”
1
2
3
Jeżeli n = ab , a ∈ N i b > 1, odpowiedz ”ZŁOŻONA”.
Znajdź r takie, że ord r (n) > (log n)2 .
Jeżeli (a, n) > 1, dla pewnego a ¬ r , odpowiedz ”ZŁOŻONA”.
Jarosław Grytczuk
Pierwszość i złożoność
Algorytm AKS
Dane: liczba naturalna n
Odpowiedź: ”PIERWSZA” lub ”ZŁOŻONA”
1
2
3
4
Jeżeli n = ab , a ∈ N i b > 1, odpowiedz ”ZŁOŻONA”.
Znajdź r takie, że ord r (n) > (log n)2 .
Jeżeli (a, n) > 1, dla pewnego a ¬ r , odpowiedz ”ZŁOŻONA”.
Jeżeli
(x + a)n = x n + a(modn, x r − 1)
√
dla każdego a, 1 ¬ a ¬ r log n, odpowiedz ”PIERWSZA”, w
przeciwnym razie odpowiedz ”ZŁOŻONA”.
Jarosław Grytczuk
Pierwszość i złożoność
Szybkość algorytmu AKS
Jarosław Grytczuk
Pierwszość i złożoność
Szybkość algorytmu AKS
Twierdzenie
e 3/2 (log n)3 ).
Szybkość algorytmu AKS wynosi O(r
Jarosław Grytczuk
Pierwszość i złożoność
Szybkość algorytmu AKS
Twierdzenie
e 3/2 (log n)3 ).
Szybkość algorytmu AKS wynosi O(r
e
(arytmetyka na liczbach ¬ m) = O(log
m)
Jarosław Grytczuk
Pierwszość i złożoność
Szybkość algorytmu AKS
Twierdzenie
e 3/2 (log n)3 ).
Szybkość algorytmu AKS wynosi O(r
e
(arytmetyka na liczbach ¬ m) = O(log
m)
(arytmetyka na wielomianach stopnia ¬ d, o współczynnikach ¬ m)
e log m)
= O(d
Jarosław Grytczuk
Pierwszość i złożoność
Szybkość algorytmu AKS
Twierdzenie
e 3/2 (log n)3 ).
Szybkość algorytmu AKS wynosi O(r
1
e
(arytmetyka na liczbach ¬ m) = O(log
m)
(arytmetyka na wielomianach stopnia ¬ d, o współczynnikach ¬ m)
e log m)
= O(d
e
(Sprawdzenie czy n jest potęgą) = O((log
n)3 )
Jarosław Grytczuk
Pierwszość i złożoność
Szybkość algorytmu AKS
Twierdzenie
e 3/2 (log n)3 ).
Szybkość algorytmu AKS wynosi O(r
1
2
e
(arytmetyka na liczbach ¬ m) = O(log
m)
(arytmetyka na wielomianach stopnia ¬ d, o współczynnikach ¬ m)
e log m)
= O(d
e
(Sprawdzenie czy n jest potęgą) = O((log
n)3 )
e (log n)2 )
(Sprawdzenie czy nk 6= 1(modr ) dla k ¬ (log n)2 ) = O(r
Jarosław Grytczuk
Pierwszość i złożoność
Szybkość algorytmu AKS
Twierdzenie
e 3/2 (log n)3 ).
Szybkość algorytmu AKS wynosi O(r
1
2
3
e
(arytmetyka na liczbach ¬ m) = O(log
m)
(arytmetyka na wielomianach stopnia ¬ d, o współczynnikach ¬ m)
e log m)
= O(d
e
(Sprawdzenie czy n jest potęgą) = O((log
n)3 )
e (log n)2 )
(Sprawdzenie czy nk 6= 1(modr ) dla k ¬ (log n)2 ) = O(r
e log n)
(Obliczenie NWD r razy) = O(r
Jarosław Grytczuk
Pierwszość i złożoność
Szybkość algorytmu AKS
Twierdzenie
e 3/2 (log n)3 ).
Szybkość algorytmu AKS wynosi O(r
1
2
3
4
e
(arytmetyka na liczbach ¬ m) = O(log
m)
(arytmetyka na wielomianach stopnia ¬ d, o współczynnikach ¬ m)
e log m)
= O(d
e
(Sprawdzenie czy n jest potęgą) = O((log
n)3 )
e (log n)2 )
(Sprawdzenie czy nk 6= 1(modr ) dla k ¬ (log n)2 ) = O(r
e log n)
(Obliczenie NWD r razy) = O(r
√
e 3/2 (log n)3 )
(Sprawdzenie
r log n równań (modn, x r − 1)) = O(r
Jarosław Grytczuk
Pierwszość i złożoność
Wielkość r
Jarosław Grytczuk
Pierwszość i złożoność
Wielkość r
Twierdzenie
Dla każdej liczby całkowitej n ­ 6 istnieje liczba pierwsza r taka, że
ord r (n) > (log n)2 i (log n)5 ¬ r ¬ 2(log n)5 .
Jarosław Grytczuk
Pierwszość i złożoność
Wielkość r
Twierdzenie
Dla każdej liczby całkowitej n ­ 6 istnieje liczba pierwsza r taka, że
ord r (n) > (log n)2 i (log n)5 ¬ r ¬ 2(log n)5 .
Lemat
Dla każdego N ­ 1, iloczyn liczb pierwszych z przedziału [N, 2N] wynosi
co najmniej 2N .
Jarosław Grytczuk
Pierwszość i złożoność
Wielkość r
Twierdzenie
Dla każdej liczby całkowitej n ­ 6 istnieje liczba pierwsza r taka, że
ord r (n) > (log n)2 i (log n)5 ¬ r ¬ 2(log n)5 .
Lemat
Dla każdego N ­ 1, iloczyn liczb pierwszych z przedziału [N, 2N] wynosi
co najmniej 2N .
N = (log n)5 , K = (log n)2
Jarosław Grytczuk
Pierwszość i złożoność
Wielkość r
Twierdzenie
Dla każdej liczby całkowitej n ­ 6 istnieje liczba pierwsza r taka, że
ord r (n) > (log n)2 i (log n)5 ¬ r ¬ 2(log n)5 .
Lemat
Dla każdego N ­ 1, iloczyn liczb pierwszych z przedziału [N, 2N] wynosi
co najmniej 2N .
N = (log n)5 , K = (log n)2
Przypuśćmy, że ord r (n) ¬ K dla każdej liczby pierwszej r ∈ [N, 2N]
Jarosław Grytczuk
Pierwszość i złożoność
Wielkość r
Twierdzenie
Dla każdej liczby całkowitej n ­ 6 istnieje liczba pierwsza r taka, że
ord r (n) > (log n)2 i (log n)5 ¬ r ¬ 2(log n)5 .
Lemat
Dla każdego N ­ 1, iloczyn liczb pierwszych z przedziału [N, 2N] wynosi
co najmniej 2N .
N = (log n)5 , K = (log n)2
Przypuśćmy, że ord r (n) ¬ K dla każdej liczby pierwszej r ∈ [N, 2N]
2N ¬
Y
N¬p¬2N
p¬
Y
Y
2
5
(ni − 1) <
ni = n1+2+...+K < nK = 2(log n)
i ¬I
Jarosław Grytczuk
i ¬K
Pierwszość i złożoność
Introspekcja wielomianu
Jarosław Grytczuk
Pierwszość i złożoność
Introspekcja wielomianu
Niech p będzie dzielnikiem pierwszym liczby n.
Jarosław Grytczuk
Pierwszość i złożoność
Introspekcja wielomianu
Niech p będzie dzielnikiem pierwszym liczby n.
p > r , (n, r ) = (p, r ) = 1, ord r (p) > 1
Jarosław Grytczuk
Pierwszość i złożoność
Introspekcja wielomianu
Niech p będzie dzielnikiem pierwszym liczby n.
p > r , (n, r ) = (p, r ) = 1, ord r (p) > 1
(x + a)n = x n + a(modp, x r − 1), 1 ¬ a ¬ A
Jarosław Grytczuk
Pierwszość i złożoność
Introspekcja wielomianu
Niech p będzie dzielnikiem pierwszym liczby n.
p > r , (n, r ) = (p, r ) = 1, ord r (p) > 1
(x + a)n = x n + a(modp, x r − 1), 1 ¬ a ¬ A
(x + a)p = x p + a(modp, x r − 1), 1 ¬ a ¬ A
Jarosław Grytczuk
Pierwszość i złożoność
Introspekcja wielomianu
Niech p będzie dzielnikiem pierwszym liczby n.
p > r , (n, r ) = (p, r ) = 1, ord r (p) > 1
(x + a)n = x n + a(modp, x r − 1), 1 ¬ a ¬ A
(x + a)p = x p + a(modp, x r − 1), 1 ¬ a ¬ A
(x + a)n/p = x n/p + a(modp, x r − 1), 1 ¬ a ¬ A
Jarosław Grytczuk
Pierwszość i złożoność
Introspekcja wielomianu
Niech p będzie dzielnikiem pierwszym liczby n.
p > r , (n, r ) = (p, r ) = 1, ord r (p) > 1
(x + a)n = x n + a(modp, x r − 1), 1 ¬ a ¬ A
(x + a)p = x p + a(modp, x r − 1), 1 ¬ a ¬ A
(x + a)n/p = x n/p + a(modp, x r − 1), 1 ¬ a ¬ A
Definicja
Mówimy, że liczba m jest introspektywna dla wielomianu f (x) jeżeli
f (x)m = f (x m )(modp, x r − 1).
Jarosław Grytczuk
Pierwszość i złożoność
Lematy o introspekcji
Jarosław Grytczuk
Pierwszość i złożoność
Lematy o introspekcji
Lemat
Jeżeli m i k są introspektywne dla wielomianu f (x), to iloczyn mk też
jest introspektywny dla f (x).
Jarosław Grytczuk
Pierwszość i złożoność
Lematy o introspekcji
Lemat
Jeżeli m i k są introspektywne dla wielomianu f (x), to iloczyn mk też
jest introspektywny dla f (x).
Lemat
Jeżeli m jest introspektywna dla wielomianów f (x) i g (x), to m jest
również introspektywna dla f (x)g (x).
Jarosław Grytczuk
Pierwszość i złożoność
Lematy o introspekcji
Lemat
Jeżeli m i k są introspektywne dla wielomianu f (x), to iloczyn mk też
jest introspektywny dla f (x).
Lemat
Jeżeli m jest introspektywna dla wielomianów f (x) i g (x), to m jest
również introspektywna dla f (x)g (x).
n
L = {( )i · p j : i, j ­ 0}
p
Jarosław Grytczuk
Pierwszość i złożoność
Lematy o introspekcji
Lemat
Jeżeli m i k są introspektywne dla wielomianu f (x), to iloczyn mk też
jest introspektywny dla f (x).
Lemat
Jeżeli m jest introspektywna dla wielomianów f (x) i g (x), to m jest
również introspektywna dla f (x)g (x).
n
L = {( )i · p j : i, j ­ 0}
p
P={
A
Y
(x + a)ea : ea ­ 0}
a=0
Jarosław Grytczuk
Pierwszość i złożoność
Lematy o introspekcji
Lemat
Jeżeli m i k są introspektywne dla wielomianu f (x), to iloczyn mk też
jest introspektywny dla f (x).
Lemat
Jeżeli m jest introspektywna dla wielomianów f (x) i g (x), to m jest
również introspektywna dla f (x)g (x).
n
L = {( )i · p j : i, j ­ 0}
p
P={
A
Y
(x + a)ea : ea ­ 0}
a=0
Każda liczba z L jest introspektywna dla każdego wielomianu z P.
Jarosław Grytczuk
Pierwszość i złożoność
Redukcja zbioru L modulo r
Jarosław Grytczuk
Pierwszość i złożoność
Redukcja zbioru L modulo r
n
L = {( )i · p j : i, j ­ 0}
p
Jarosław Grytczuk
Pierwszość i złożoność
Redukcja zbioru L modulo r
n
L = {( )i · p j : i, j ­ 0}
p
Niech G będzie zbiorem reszt (modr ) elementów zbioru L.
Jarosław Grytczuk
Pierwszość i złożoność
Redukcja zbioru L modulo r
n
L = {( )i · p j : i, j ­ 0}
p
Niech G będzie zbiorem reszt (modr ) elementów zbioru L.
1
G jest grupą z mnożeniem (modr ).
Jarosław Grytczuk
Pierwszość i złożoność
Redukcja zbioru L modulo r
n
L = {( )i · p j : i, j ­ 0}
p
Niech G będzie zbiorem reszt (modr ) elementów zbioru L.
1
G jest grupą z mnożeniem (modr ).
2
G jest generowana przez n i p.
Jarosław Grytczuk
Pierwszość i złożoność
Redukcja zbioru L modulo r
n
L = {( )i · p j : i, j ­ 0}
p
Niech G będzie zbiorem reszt (modr ) elementów zbioru L.
1
G jest grupą z mnożeniem (modr ).
2
G jest generowana przez n i p.
G jest podgrupą grupy Z∗r elementów odwracalnych (modr ).
3
Jarosław Grytczuk
Pierwszość i złożoność
Redukcja zbioru L modulo r
n
L = {( )i · p j : i, j ­ 0}
p
Niech G będzie zbiorem reszt (modr ) elementów zbioru L.
1
G jest grupą z mnożeniem (modr ).
2
G jest generowana przez n i p.
G jest podgrupą grupy Z∗r elementów odwracalnych (modr ).
3
4
|G | = t > (log n)2 , ponieważ ord r (n) > (log n)2 .
Jarosław Grytczuk
Pierwszość i złożoność
Wielomiany podziału koła
Jarosław Grytczuk
Pierwszość i złożoność
Wielomiany podziału koła
Φm (x) =
Q
(m,j)=1
j
(x − ξm
), (ξm - pierwiastek pierwotny z 1 stopnia m)
Jarosław Grytczuk
Pierwszość i złożoność
Wielomiany podziału koła
Φm (x) =
Q
(m,j)=1
j
(x − ξm
), (ξm - pierwiastek pierwotny z 1 stopnia m)
Φ4 (x) = (x − i)(x − i 3 ) = x 2 + 1
Jarosław Grytczuk
Pierwszość i złożoność
Wielomiany podziału koła
Φm (x) =
Q
(m,j)=1
j
(x − ξm
), (ξm - pierwiastek pierwotny z 1 stopnia m)
Φ4 (x) = (x − i)(x − i 3 ) = x 2 + 1
Twierdzenie
Dla każdego m ­ 1, wielomian Φm (x) ma współczynniki całkowite i jest
nierozkładalny nad Z.
Jarosław Grytczuk
Pierwszość i złożoność
Wielomiany podziału koła
Φm (x) =
Q
(m,j)=1
j
(x − ξm
), (ξm - pierwiastek pierwotny z 1 stopnia m)
Φ4 (x) = (x − i)(x − i 3 ) = x 2 + 1
Twierdzenie
Dla każdego m ­ 1, wielomian Φm (x) ma współczynniki całkowite i jest
nierozkładalny nad Z.
x 4 − 1 = (x − 1)(x + 1)(x 2 + 1)
Jarosław Grytczuk
Pierwszość i złożoność
Wielomiany podziału koła
Φm (x) =
Q
(m,j)=1
j
(x − ξm
), (ξm - pierwiastek pierwotny z 1 stopnia m)
Φ4 (x) = (x − i)(x − i 3 ) = x 2 + 1
Twierdzenie
Dla każdego m ­ 1, wielomian Φm (x) ma współczynniki całkowite i jest
nierozkładalny nad Z.
x 4 − 1 = (x − 1)(x + 1)(x 2 + 1)
Φ1 (x) = x − 1, Φ2 (x) = x + 1
Jarosław Grytczuk
Pierwszość i złożoność
Wielomiany podziału koła
Φm (x) =
Q
(m,j)=1
j
(x − ξm
), (ξm - pierwiastek pierwotny z 1 stopnia m)
Φ4 (x) = (x − i)(x − i 3 ) = x 2 + 1
Twierdzenie
Dla każdego m ­ 1, wielomian Φm (x) ma współczynniki całkowite i jest
nierozkładalny nad Z.
x 4 − 1 = (x − 1)(x + 1)(x 2 + 1)
Φ1 (x) = x − 1, Φ2 (x) = x + 1
xr − 1 =
Jarosław Grytczuk
Y
Φd (x)
d|r
Pierwszość i złożoność
Redukcja zbioru P modulo p, h(x)
Jarosław Grytczuk
Pierwszość i złożoność
Redukcja zbioru P modulo p, h(x)
h(x) | Φr (x), h(x) - wielomian nierozkładalny stopnia ord r (p) > 1 w
Zp [x]
Jarosław Grytczuk
Pierwszość i złożoność
Redukcja zbioru P modulo p, h(x)
h(x) | Φr (x), h(x) - wielomian nierozkładalny stopnia ord r (p) > 1 w
Zp [x]
(x + a)n = x n + a(modp, h(x)), 1 ¬ a ¬ A
Jarosław Grytczuk
Pierwszość i złożoność
Redukcja zbioru P modulo p, h(x)
h(x) | Φr (x), h(x) - wielomian nierozkładalny stopnia ord r (p) > 1 w
Zp [x]
(x + a)n = x n + a(modp, h(x)), 1 ¬ a ¬ A
F = Zp [x]/(h(x)) - ciało p k -elementowe, k = deg h(x)
Jarosław Grytczuk
Pierwszość i złożoność
Redukcja zbioru P modulo p, h(x)
h(x) | Φr (x), h(x) - wielomian nierozkładalny stopnia ord r (p) > 1 w
Zp [x]
(x + a)n = x n + a(modp, h(x)), 1 ¬ a ¬ A
F = Zp [x]/(h(x)) - ciało p k -elementowe, k = deg h(x)
P={
A
Y
(x + a)ea : ea ­ 0}
a=0
Jarosław Grytczuk
Pierwszość i złożoność
Redukcja zbioru P modulo p, h(x)
h(x) | Φr (x), h(x) - wielomian nierozkładalny stopnia ord r (p) > 1 w
Zp [x]
(x + a)n = x n + a(modp, h(x)), 1 ¬ a ¬ A
F = Zp [x]/(h(x)) - ciało p k -elementowe, k = deg h(x)
P={
A
Y
(x + a)ea : ea ­ 0}
a=0
Niech H będzie zbiorem reszt (modp, h(x)) wielomianów z P.
Jarosław Grytczuk
Pierwszość i złożoność
Redukcja zbioru P modulo p, h(x)
h(x) | Φr (x), h(x) - wielomian nierozkładalny stopnia ord r (p) > 1 w
Zp [x]
(x + a)n = x n + a(modp, h(x)), 1 ¬ a ¬ A
F = Zp [x]/(h(x)) - ciało p k -elementowe, k = deg h(x)
P={
A
Y
(x + a)ea : ea ­ 0}
a=0
Niech H będzie zbiorem reszt (modp, h(x)) wielomianów z P.
1
H jest podgrupą grupy F∗ .
Jarosław Grytczuk
Pierwszość i złożoność
Redukcja zbioru P modulo p, h(x)
h(x) | Φr (x), h(x) - wielomian nierozkładalny stopnia ord r (p) > 1 w
Zp [x]
(x + a)n = x n + a(modp, h(x)), 1 ¬ a ¬ A
F = Zp [x]/(h(x)) - ciało p k -elementowe, k = deg h(x)
P={
A
Y
(x + a)ea : ea ­ 0}
a=0
Niech H będzie zbiorem reszt (modp, h(x)) wielomianów z P.
1
H jest podgrupą grupy F∗ .
2
H jest generowana przez wielomiany x, x + 1, x + 2, . . . , x + A
Jarosław Grytczuk
Pierwszość i złożoność
Dolne oszacowanie rzędu grupy H
Jarosław Grytczuk
Pierwszość i złożoność
Dolne oszacowanie rzędu grupy H
Lemat
Jeżeli algorytm AKS odpowiedział ”PIERWSZA”, to |H| ­
Jarosław Grytczuk
Pierwszość i złożoność
t+A
t−1
.
Dolne oszacowanie rzędu grupy H
Lemat
Jeżeli algorytm AKS odpowiedział ”PIERWSZA”, to |H| ­
Niech f (x), g (x) ∈ P i niech deg f (x), deg g (x) < t.
Jarosław Grytczuk
Pierwszość i złożoność
t+A
t−1
.
Dolne oszacowanie rzędu grupy H
Lemat
Jeżeli algorytm AKS odpowiedział ”PIERWSZA”, to |H| ­
Niech f (x), g (x) ∈ P i niech deg f (x), deg g (x) < t.
Przypuśćmy, że f (x) = g (x) w F i niech m ∈ L.
Jarosław Grytczuk
Pierwszość i złożoność
t+A
t−1
.
Dolne oszacowanie rzędu grupy H
Lemat
Jeżeli algorytm AKS odpowiedział ”PIERWSZA”, to |H| ­
Niech f (x), g (x) ∈ P i niech deg f (x), deg g (x) < t.
Przypuśćmy, że f (x) = g (x) w F i niech m ∈ L.
f (x m ) = g (x m ) w F
Jarosław Grytczuk
Pierwszość i złożoność
t+A
t−1
.
Dolne oszacowanie rzędu grupy H
Lemat
Jeżeli algorytm AKS odpowiedział ”PIERWSZA”, to |H| ­
Niech f (x), g (x) ∈ P i niech deg f (x), deg g (x) < t.
Przypuśćmy, że f (x) = g (x) w F i niech m ∈ L.
f (x m ) = g (x m ) w F
x m jest pierwiastkiem wielomianu
Q(y ) = f (y ) − g (y )
dla każdego m ∈ G .
Jarosław Grytczuk
Pierwszość i złożoność
t+A
t−1
.
Dolne oszacowanie rzędu grupy H
Lemat
Jeżeli algorytm AKS odpowiedział ”PIERWSZA”, to |H| ­
Niech f (x), g (x) ∈ P i niech deg f (x), deg g (x) < t.
Przypuśćmy, że f (x) = g (x) w F i niech m ∈ L.
f (x m ) = g (x m ) w F
x m jest pierwiastkiem wielomianu
Q(y ) = f (y ) − g (y )
dla każdego m ∈ G .
x jest pierwiastkiem pierwotnym stopnia r w F.
Jarosław Grytczuk
Pierwszość i złożoność
t+A
t−1
.
Dolne oszacowanie rzędu grupy H
Lemat
Jeżeli algorytm AKS odpowiedział ”PIERWSZA”, to |H| ­
t+A
t−1
.
Niech f (x), g (x) ∈ P i niech deg f (x), deg g (x) < t.
Przypuśćmy, że f (x) = g (x) w F i niech m ∈ L.
f (x m ) = g (x m ) w F
x m jest pierwiastkiem wielomianu
Q(y ) = f (y ) − g (y )
dla każdego m ∈ G .
x jest pierwiastkiem pierwotnym stopnia r w F.
Ponieważ (m, r ) = 1, więc x m też jest pierwiastkiem pierwotnym
stopnia r w F.
Jarosław Grytczuk
Pierwszość i złożoność
Dolne oszacowanie rzędu H
Jarosław Grytczuk
Pierwszość i złożoność
Dolne oszacowanie rzędu H
Zatem Q(y ) ma co najmniej t = |G | różnych pierwiastków w F.
Jarosław Grytczuk
Pierwszość i złożoność
Dolne oszacowanie rzędu H
Zatem Q(y ) ma co najmniej t = |G | różnych pierwiastków w F.
Ale deg Q(y ) < t. Sprzeczność!
Jarosław Grytczuk
Pierwszość i złożoność
Dolne oszacowanie rzędu H
Zatem Q(y ) ma co najmniej t = |G | różnych pierwiastków w F.
Ale deg Q(y ) < t. Sprzeczność!
Zatem f (x) 6= g (x) w F.
Jarosław Grytczuk
Pierwszość i złożoność
Dolne oszacowanie rzędu H
Zatem Q(y ) ma co najmniej t = |G | różnych pierwiastków w F.
Ale deg Q(y ) < t. Sprzeczność!
Zatem f (x) 6= g (x) w F.
p
√
√
Ponieważ log n < ord r (n) < r , więc A =
r log n < r .
Jarosław Grytczuk
Pierwszość i złożoność
Dolne oszacowanie rzędu H
Zatem Q(y ) ma co najmniej t = |G | różnych pierwiastków w F.
Ale deg Q(y ) < t. Sprzeczność!
Zatem f (x) 6= g (x) w F.
p
√
√
Ponieważ log n < ord r (n) < r , więc A =
r log n < r .
Wobec p > r , wielomiany
x, x + 1, x + 2, . . . , x + A
są różnymi, niezerowymi elementami ciała F.
Jarosław Grytczuk
Pierwszość i złożoność
Dolne oszacowanie rzędu H
Zatem Q(y ) ma co najmniej t = |G | różnych pierwiastków w F.
Ale deg Q(y ) < t. Sprzeczność!
Zatem f (x) 6= g (x) w F.
p
√
√
Ponieważ log n < ord r (n) < r , więc A =
r log n < r .
Wobec p > r , wielomiany
x, x + 1, x + 2, . . . , x + A
są różnymi, niezerowymi elementami ciała F.
Skoro istnieje A + 1 różnych
wielomianów stopnia 1 w H, więc
istnieje co najmniej t+A
t−1 różnych wielomianów stopnia < t w H.
Jarosław Grytczuk
Pierwszość i złożoność
Górne oszacowanie rzędu grupy H
Jarosław Grytczuk
Pierwszość i złożoność
Górne oszacowanie rzędu grupy H
Lemat
Jeżeli n nie jest potęgą p, to |H| ¬ n
Jarosław Grytczuk
√
t
.
Pierwszość i złożoność
Górne oszacowanie rzędu grupy H
Lemat
Jeżeli n nie jest potęgą p, to |H| ¬ n
√
t
.
n
b
L = {( )i · p j : 0 ¬ i, j ¬
p
Jarosław Grytczuk
√
t}
Pierwszość i złożoność
Górne oszacowanie rzędu grupy H
Lemat
Jeżeli n nie jest potęgą p, to |H| ¬ n
√
t
.
n
b
L = {( )i · p j : 0 ¬ i, j ¬
p
√
t}
Jeżeli n 6= p k , to b
L > t.
Jarosław Grytczuk
Pierwszość i złożoność
Górne oszacowanie rzędu grupy H
Lemat
Jeżeli n nie jest potęgą p, to |H| ¬ n
√
t
.
n
b
L = {( )i · p j : 0 ¬ i, j ¬
p
√
t}
Jeżeli n 6= p k , to b
L > t.
Ale |G | = t, więc istnieją liczby m1 , m2 ∈ b
L, m1 > m2 , takie, że
m1 = m2 (modr ).
Jarosław Grytczuk
Pierwszość i złożoność
Górne oszacowanie rzędu grupy H
Lemat
Jeżeli n nie jest potęgą p, to |H| ¬ n
√
t
.
n
b
L = {( )i · p j : 0 ¬ i, j ¬
p
√
t}
Jeżeli n 6= p k , to b
L > t.
Ale |G | = t, więc istnieją liczby m1 , m2 ∈ b
L, m1 > m2 , takie, że
m1 = m2 (modr ).
Stąd x m1 = x m2 (modx r − 1).
Jarosław Grytczuk
Pierwszość i złożoność
Górne oszacowanie rzędu grupy H
Lemat
Jeżeli n nie jest potęgą p, to |H| ¬ n
√
t
.
n
b
L = {( )i · p j : 0 ¬ i, j ¬
p
√
t}
Jeżeli n 6= p k , to b
L > t.
Ale |G | = t, więc istnieją liczby m1 , m2 ∈ b
L, m1 > m2 , takie, że
m1 = m2 (modr ).
Stąd x m1 = x m2 (modx r − 1).
Niech f (x) ∈ P. Wówczas
f (x)m1 = f (x m1 ) = f (x m2 ) = f (x)m2 (modp, x r − 1).
Jarosław Grytczuk
Pierwszość i złożoność
Górne oszacowanie rzędu grupy H
Jarosław Grytczuk
Pierwszość i złożoność
Górne oszacowanie rzędu grupy H
Zatem
f (x)m1 = f (x)m2
, przy czym równość ta zachodzi w ciele F.
Jarosław Grytczuk
Pierwszość i złożoność
Górne oszacowanie rzędu grupy H
Zatem
f (x)m1 = f (x)m2
, przy czym równość ta zachodzi w ciele F.
To oznacza, że f (x) jest pierwiastkiem wielomianu
Q 0 (y ) = y m1 − y m2
w ciele F.
Jarosław Grytczuk
Pierwszość i złożoność
Górne oszacowanie rzędu grupy H
Zatem
f (x)m1 = f (x)m2
, przy czym równość ta zachodzi w ciele F.
To oznacza, że f (x) jest pierwiastkiem wielomianu
Q 0 (y ) = y m1 − y m2
w ciele F.
Wobec tego wielomian Q 0 (y ) ma co najmniej |H| pierwiastków w F.
Jarosław Grytczuk
Pierwszość i złożoność
Górne oszacowanie rzędu grupy H
Zatem
f (x)m1 = f (x)m2
, przy czym równość ta zachodzi w ciele F.
To oznacza, że f (x) jest pierwiastkiem wielomianu
Q 0 (y ) = y m1 − y m2
w ciele F.
Wobec tego wielomian Q 0 (y ) ma co najmniej |H| pierwiastków w F.
Stąd
√
√
n √
|H| ¬ deg Q 0 (y ) = m1 ¬ ( ) t · p t = n t .
p
Jarosław Grytczuk
Pierwszość i złożoność
Ostatni lemat
Jarosław Grytczuk
Pierwszość i złożoność
Ostatni lemat
Lemat
Jeżeli algorytm AKS dał odpowiedź ”PIERWSZA” to liczba n jest
pierwsza.
Jarosław Grytczuk
Pierwszość i złożoność
Ostatni lemat
Lemat
Jeżeli algorytm AKS dał odpowiedź ”PIERWSZA” to liczba n jest
pierwsza.
Niech B =
√
t log n .
Jarosław Grytczuk
Pierwszość i złożoność
Ostatni lemat
Lemat
Jeżeli algorytm AKS dał odpowiedź ”PIERWSZA” to liczba n jest
pierwsza.
Niech B =
√
t log n .
Ponieważ t > (log n)2 , więc t >
Jarosław Grytczuk
√
t log n, czyli t ­ B + 1.
Pierwszość i złożoność
Ostatni lemat
Lemat
Jeżeli algorytm AKS dał odpowiedź ”PIERWSZA” to liczba n jest
pierwsza.
Niech B =
√
t log n .
√
Ponieważ t > (log n)2 , więc t > t log n, czyli t ­ B + 1.
√
√
Ponieważ r > t, więc
r log n >
t log n , czyli A ­ B.
Jarosław Grytczuk
Pierwszość i złożoność
Ostatni lemat
Lemat
Jeżeli algorytm AKS dał odpowiedź ”PIERWSZA” to liczba n jest
pierwsza.
Niech B =
√
t log n .
√
Ponieważ t > (log n)2 , więc t > t log n, czyli t ­ B + 1.
√
√
Ponieważ r > t, więc
r log n >
t log n , czyli A ­ B.
Zatem
√
√
t +A
A+B +1
2B + 1
|H| ­
­
­
> 2B+1 > 2 t log n = n t .
t −1
B
B
Jarosław Grytczuk
Pierwszość i złożoność
Ostatni lemat
Lemat
Jeżeli algorytm AKS dał odpowiedź ”PIERWSZA” to liczba n jest
pierwsza.
Niech B =
√
t log n .
√
Ponieważ t > (log n)2 , więc t > t log n, czyli t ­ B + 1.
√
√
Ponieważ r > t, więc
r log n >
t log n , czyli A ­ B.
Zatem
√
√
t +A
A+B +1
2B + 1
|H| ­
­
­
> 2B+1 > 2 t log n = n t .
t −1
B
B
Z poprzedniego lematu wynika, że n = p k , dla pewnego k ­ 1.
Jarosław Grytczuk
Pierwszość i złożoność
Ostatni lemat
Lemat
Jeżeli algorytm AKS dał odpowiedź ”PIERWSZA” to liczba n jest
pierwsza.
Niech B =
√
t log n .
√
Ponieważ t > (log n)2 , więc t > t log n, czyli t ­ B + 1.
√
√
Ponieważ r > t, więc
r log n >
t log n , czyli A ­ B.
Zatem
√
√
t +A
A+B +1
2B + 1
|H| ­
­
­
> 2B+1 > 2 t log n = n t .
t −1
B
B
Z poprzedniego lematu wynika, że n = p k , dla pewnego k ­ 1.
Gdyby k > 1, to AKS odpowiedziałby ”ZŁOŻONA” w punkcie 1.
Jarosław Grytczuk
Pierwszość i złożoność
Ostatni lemat
Lemat
Jeżeli algorytm AKS dał odpowiedź ”PIERWSZA” to liczba n jest
pierwsza.
Niech B =
√
t log n .
√
Ponieważ t > (log n)2 , więc t > t log n, czyli t ­ B + 1.
√
√
Ponieważ r > t, więc
r log n >
t log n , czyli A ­ B.
Zatem
√
√
t +A
A+B +1
2B + 1
|H| ­
­
­
> 2B+1 > 2 t log n = n t .
t −1
B
B
Z poprzedniego lematu wynika, że n = p k , dla pewnego k ­ 1.
Gdyby k > 1, to AKS odpowiedziałby ”ZŁOŻONA” w punkcie 1.
Zatem musi być n = p, co kończy dowód.
Jarosław Grytczuk
Pierwszość i złożoność
Download