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

Teorie čísel: Část diskrétních logaritmů a hledání prvočísel

parent ac4ae7ad
No related branches found
No related tags found
No related merge requests found
......@@ -589,8 +589,62 @@ nicméně pan Rabin později nahlédl, že svědků vždy existuje alespoň $3/4
a randomizovaný algoritmus byl na~světě.
}
\subsection{Hledání prvočísel}
Často potřebujeme opatřit si nějaké velké ($b$-bitové) prvočíslo. Nabízí se
generovat náhodná $b$-bitová čísla (začínající na~1), testovat, zda to jsou
prvočísla, a~opakovat, dokud nedostaneme prvočíslo.
TODO
\section{Diskrétní logaritmy}
Důležitou vlastností těles modulo prvočíslo je, že se v~nich dá logaritmovat.
Nejprve uvedeme bez důkazu následující větu:
\claim{
Pro každé prvočíslo~$p$ je multiplikativní grupa~$\Zsp$ cyklická. Existuje
tedy alespoň jedno~$g$ (generátor) takové, že $\Zsp = \{g^0,\ldots,g^{p-2}\}$.
}
Grupa $\Zsp$ je tedy izomorfní s~grupou $\Z_{p-1}$.
Izomorfismus v~jednom směru je funkce $e: x \mapsto g^x \bmod p$, v~druhém směru
její inverze, které se říká \em{diskrétní logaritmus.}
Zatímco mocniny modulo~$p$ dokážeme počítat efektivně (v~čase $\O(b^3)$),
diskrétní logaritmus nikoliv. Podobně jako u~faktorizace neznáme žádný polynomiální
algorimus, ale známe zajímavé subexponenciální algoritmy a polynomiální kvantový algoritmus.
Často potřebujeme nějaký generátor najít. K~tomu se hodí otestovat, zda dané číslo~$g$ je generátorem.
\theorem{
$g\in\Zsp$ je generátorem~$\Zsp$ právě tehdy, když pro všechny prvočíselné dělitele~$d$ čísla~$p-1$
platí $g^{(p-1)/d} \not\equiv 1$.
}
\proof
Pokud pro některého z~dělitelů vyjde $g^{(p-1)/d} \equiv 1$, znamená to, že $g$~není generátorem celé grupy,
nýbrž jen nějaké menší podgrupy.
Pro opačnou implikaci uvažme $g$, které generuje jen nějakou podgrupu $H = \{g^0,\ldots,g^{t-1}\} \allowbreak\subset \Z_p$,
přičemž $g^t \equiv 1$.
Podle Lagrangeovy věty platí $t = |H| \divs |\Z_p| = \varphi(p) = p-1$.
Pro $d=(p-1)/t$ by tedy bylo $g^{(p-1)/d} \equiv 1$. Jenže $d$ nemusí být prvočíslo
(a~testovat všechny neprvočíselné dělitele by trvalo příliš dlouho).
V~takovém případě uvážíme rozklad $d=d'e$, kde $d'$ je prvočíslo a $e>1$.
Potom $g^{(p-1)/d'} \equiv g^{((p-1)/d)e} \equiv \left( g^{(p-1)/d} \right)^e \equiv 1^e \equiv 1$.
Takže $g$ z~negenerování usvědčíme volbou prvočíselného dělitele~$d'$.
\qed
\corr{
Známe-li faktorizaci čísla $p-1$, umíme otestovat, zda $g$ je generátor, v~čase $\O(b^4)$.
Prvočíselných dělitelů totiž musí být $\O(b)$.
}
\subsection{Hledání generátoru}
TODO
\section{Diskrétní odmocniny}
\sectionstar{Rozbor Rabinova-Millerova testu}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment