diff --git a/07-teorie-cisel/teorie-cisel.tex b/07-teorie-cisel/teorie-cisel.tex index 27824955a1c771c42ca73c339fc0f6dcf05f31e6..34dd7d438937bbc553c7669a44a01e4ab88e067c 100644 --- a/07-teorie-cisel/teorie-cisel.tex +++ b/07-teorie-cisel/teorie-cisel.tex @@ -595,7 +595,10 @@ a randomizovaný algoritmus byl na~světě. generovat náhodná $b$-bitová čísla (začínající na~1), testovat, zda to jsou prvočísla, a~opakovat, dokud nedostaneme prvočíslo. -TODO +Jak efektivní tento přístup bude? Je známo, že hustota prvočísel okolo~$N$ +je přibližně $1/\ln N$. Tudíž pravděpodobnost, že náhodné $b$-bitové číslo +bude prvočíslem, je $\Theta(1/b)$. Podle lemmatu o~chození se džbánem pro vodu +tedy na prvočíslo narazíme po průměrně $\Theta(b)$ pokusech. \section{Diskrétní logaritmy} @@ -643,7 +646,29 @@ Prvočíselných dělitelů totiž musí být $\O(b)$. \subsection{Hledání generátoru} -TODO +Pro hledání generátoru se nabízí podobně jako u~prvočísel náhodně vybírat prvky~$\Zsp$, +dokud nenarazíme na generátor. Aby to bylo efektivní, potřebujeme, aby generátory byly +v~$\Zsp$ dostatečně časté. + +\lemma{ +Nechť $g$~je nějaký generátor~$\Zsp$. Pak $g^i$ je generátor právě tehdy, když $i\perp p-1$. +} + +\proof +Zajímá nás, zda mocniny $(g^i)^j = g^{ij}$ pro $j=0,\ldots,p-2$ projdou celou multiplikativní grupu. +Prvek $g^k$ navštívíme právě tehdy, když pro nějaké~$j$ platí $k \equiv_{p-1} ij$. +Pro $k=1$ je takové $j$ multiplikativní inverzí~$i$ modulo~$p-1$ a ta existuje právě tehdy, když $i\perp p-1$. +Ovšem najdeme-li takové~$j$, dostaneme libovolné $g^k$ jako $g^{ijk} \equiv (g^i)^{jk}$. +\qed + +\corr{ +Grupa $\Zsp$ má $\varphi(p-1)$ generátorů. +} + +Generátory budeme často potřebovat v~případech, kdy $p=2q+1$, kde $q$ je také prvočíslo. +Tehdy $\varphi(p-1) = \varphi(2q) = \varphi(2)\varphi(q) = 1\cdot (q-1) = q-1 \approx p/2$. +Generátory tedy tvoří přibližně polovinu prvků~$\Zsp$, takže po průměrně dvou pokusech +nějaký najdeme. \section{Diskrétní odmocniny}