diff --git a/07-teorie-cisel/teorie-cisel.tex b/07-teorie-cisel/teorie-cisel.tex index 34dd7d438937bbc553c7669a44a01e4ab88e067c..cb682a80514df9b8f60178cdd513dfa3a396cb9d 100644 --- a/07-teorie-cisel/teorie-cisel.tex +++ b/07-teorie-cisel/teorie-cisel.tex @@ -672,6 +672,91 @@ nějaký najdeme. \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} O~Rabinově-Millerově testu již víme, že prvočíslo vždy prohlásí za~prvočíslo