Start ElGamal

This commit is contained in:
flyingscorpio@clevo 2022-03-01 13:43:43 +01:00
parent a4bdd668a1
commit a0b68de290

View file

@ -986,4 +986,55 @@
\end{tikzpicture}
\end{center}
\section{ElGamal}
\subsection{Groupe cyclique}
On utilise plusieurs puissances dans un \emph{groupe cyclique}.
On travaille dans $\frac{\mathbb{Z}}{p\mathbb{Z}}$ avec $p$ premier.
Tous les éléments sauf $\overline{0}$ sont alors inversibles.
Si on se limite aux éléments inversibles, on a l'ensemble $(\mathbb{F}_p^*, \otimes)$.
Par exemple, pour $p=7\,: \frac{\mathbb{Z}}{7\mathbb{Z}}$ sauf $\overline{0}$~: $\{\overline{1}, \overline{2}, \overline{3}, \overline{4}, \overline{5}, \overline{6}\}$.
Il y a au moinss un élément qui génère tous les autres par $\otimes$.
On peut multiplier l'élément par lui-même (modulo $p$) autant de fois que l'on veut, on va finir par retomber au point de départ (une fois arrivé sur $\overline{1}$).
\begin{center}
\begin{tabular}{l|l}
\toprule
$\overline{1}$ & $\overline{1}, \overline{1}, \overline{1}, \overline{1} \ldots$ \\
\midrule
$\overline{2}$ & $\overline{2}, \overline{4}, \overline{1}, \overline{2}, \overline{4}, \overline{1} \ldots$ \\
\midrule
$\overline{3}$ & $\overline{3}, \overline{2}, \overline{6}, \overline{4}, \overline{5}, \overline{1} \ldots$ \\
\bottomrule
\end{tabular}
\end{center}
Dans cet exemple, un tel générateur est $\overline{3}$.
Un tel groupe s'appelle un \emph{groupe cyclique}.
\begin{equation*}
\forall\, p \text{ premier } > 3, (\mathbb{F}_p^*, \otimes) \text{ est un groupe cyclique}
\end{equation*}
\subsection{Application}
Dans $\mathbb{F}_p^*$, on calcule modulo $p$.
Pour choisir des clés pour ElGamal~:
\begin{itemize}
\item On choisit un nombre premier $p$ pour calculer dans $\mathbb{F}_p^*$.
\item On trouve un générateur $g$~: un élément qui génère les autres par $\otimes$.
\item On choisit $d$ entier, tel que $1<d<p-1$.
\item On calcule $e = g^d[p]$.
\end{itemize}
\end{document}