Skip to content
Snippets Groups Projects
Commit 6dd86795 authored by Martin Mareš's avatar Martin Mareš
Browse files

Teorie čísel: Kvadratické zbytky (skoro)

parent 8ecb16bc
No related branches found
No related tags found
No related merge requests found
...@@ -672,6 +672,91 @@ nějaký najdeme. ...@@ -672,6 +672,91 @@ nějaký najdeme.
\section{Diskrétní odmocniny} \section{Diskrétní odmocniny}
Prozkoumejme, jak se v~$\Zp$ chovají druhé odmocniny (v~tomto oddílu budeme říkat prostě odmocniny).
Ptáme se tedy na řešení kongruence $x^2\equiv_p a$ pro dané~$a$.
\example{
V~$\Z_5$ je $0^2 \equiv 0$, $1^2 \equiv 4^2 = 1$ a $2^2 \equiv 3^2 \equiv 4$.
Prvky 1 a~4 tedy mají dvě různé odmocniny, 0 má jednu a 2 ani 3 žádnou.
}
Tohle není náhoda:
\theorem{
V~každém tělese $\Zp$ má prvek 0 právě jednu odmocninu, $(p-1)/2$ prvků má dvě odmocniny
(těmto prvkům se říká \em{kvadratické zbytky}) a zbylých $(p-1)/2$ prvků nemá žádnou.
Zvolíme-li libovolný generátor~$\Zp$, kvadratické zbytky jsou ty prvky, jejichž
diskrétní logaritmy jsou sudé.
}
\proof
Je-li $x^2\equiv a$, je také $(-x)^2\equiv a$. Odmocniny se tedy vyskytují
v~párech. Přitom $x \equiv -x$ pouze pro $x=0$, takže každý nenulový prvek má sudý
počet odmocnin. 0~má jen jednu (součinem nenulových prvků není nikdy~0).
Odmocniny prvku~$a$ jsou kořeny kvadratického polynomu $x^2-a$ a ty mohou
v~libovolném tělese existovat nejvýš~2. To v~kombinaci s~předchozím odstavcem dává,
že každy nenulový prvek má 0 nebo 2 odmocniny.
Každý nenulový prvek~$\Zp$ leží v~$\Zsp$, takže ho můžeme napsat jako mocninu nějakého
generátoru~$g$. Polovinu~$\Zsp$ tvoří sudé mocniny $g^{2k}$ a ty jistě mají druhou
odmocninu $g^k$, a~tím pádem i $g-^k$. Těchto $(p-1)/2$ čísel patří mezi kvadratické
zbytky.
Každé z~nich ovšem spotřebovalo 2~prvky $\Zsp$ na své odmocniny, takže na zbylých $(p-1)/2$
prvků žádné odmocniny nezbyly. Zbylé prvky tedy kvadratickými zbytky nejsou.
\qed
\lemma{
Pro libovolný generátor~$g$ platí $g^{(p-1)/2} \equiv -1$.
}
\proof
$g^{(p-1)/2}$ je odmocnina z~$g^(p-1) \equiv 1$. Odmocniny z~jedničky existují
dvě: 1 a~$-1$. Ovšem 1 to být nemůže, protože by se mocniny generátoru začaly
opakovat dřív, než by vygenerovaly celou~$\Zsp$.
\qed
Jelikož diskrétní logaritmy je těžké počitat, bude se hodit efektivnější test
na kvadratické zbytky:
\theoremn{Eulerovo kriterium}{
Pro $x\in\Zsp$ je $x^{(p-1)/2}$ rovno~1, pokud $x$ je kvadratický zbytek,
a~rovno $-1$, pokud není.
}
\proof
Opět uvažujme~$x$ jako mocninu nějakého generátoru~$g$. Pokud $x\equiv g^{2k}$
(a~tedy $x$ je kvadratický zbytek), dostaneme
$$
\left( g^{2k} \right) ^{p-1\over 2}
\equiv g^{2k(p-1)\over 2}
\equiv g^{k(p-1)}
\equiv (g^{p-1})^k
\equiv 1^k
\equiv 1.
$$
Pro $x\equiv g^{2k+1}$ (není kvadratický zbytek), vyjde
$$
\left( g^{2k+1} \right) ^{p-1\over 2}
\equiv g^{2k(p-1)\over 2} \cdot g^{p-1}
\equiv 1 \cdot (-1)
\equiv -1.
$$
\qed
\corr{
Množina všech kvadratických zbytků tvoří podgrupu~$\Zsp$.
}
\corr{
Testovat, zda číslo je kvadratickým zbytkem, lze v~čase $\O(b^3)$.
}
TODO: Výpočet odmocnin.
TODO: Odmocniny modulo složené číslo.
\sectionstar{Rozbor Rabinova-Millerova testu} \sectionstar{Rozbor Rabinova-Millerova testu}
O~Rabinově-Millerově testu již víme, že prvočíslo vždy prohlásí za~prvočíslo O~Rabinově-Millerově testu již víme, že prvočíslo vždy prohlásí za~prvočíslo
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment