Write chiffrement affine

This commit is contained in:
flyingscorpio@pinebookpro 2022-01-24 11:20:49 +01:00
parent 6c961b7572
commit 5466c4f9cf

View file

@ -5,6 +5,8 @@
\date{Dernière compilation~: \today{} à \currenttime}
\usepackage{../cours}
\usepackage{tikz}
\usetikzlibrary{shapes.multipart}
\begin{document}
@ -353,20 +355,127 @@
\right.
\end{align*}
Exemple~:
\begin{multicols}{2}
$\overline{7}$ est-il inversible dans $\frac{\mathbb{Z}}{15\mathbb{Z}}$~?
\hfill
\begin{tabularx}{0.5\linewidth}{YYY}
\toprule
r & u & q \\
\midrule
15 & 0 & \\
7 & 1 & 2 \\
1 & -2 & 7 \\
0 & & \\
Exemple~:
$\overline{7}$ est-il inversible dans $\frac{\mathbb{Z}}{15\mathbb{Z}}$~?
$u=-2$, $u+n = 13$ donc l'inverse de $\overline{7}$ est $\overline{13}$.
\begin{tabularx}{\linewidth}{YYY}
\toprule
r & u & q \\
\midrule
15 & 0 & \\
7 & 1 & 2 \\
1 & -2 & 7 \\
0 & & \\
\end{tabularx}
\end{multicols}
\section{Éléments de cryptographie}
%\begin{center}
%\begin{tikzpicture}
% \node [rectangle,draw,thick] (chiff) at (0,0) {fonction de chiffrement};
%\end{tikzpicture}
%\end{center}
Les fonctions sont publiques.
Cela leur permet notamment d'être bien testées.
Il faut donc un élément qui peut rester privé~: les clés de chiffrement et de déchiffrement.
Pour déchiffrer un message, il suffit de connaître le message chiffré (public), la fonction de déchiffrement (public) et la clé de déchiffrement.
Cette clé est donc l'unique élément privé, et c'est son partage qui va poser problème.
\subsection{Chiffrement de César}
Alphabet~:
\begin{equation*}
\begin{array}{lllll}
a & b & c & \cdots & z \\
0 & 1 & 2 & \cdots & 25 \\
\end{array}
\end{equation*}
Fonction de chiffrement~:
\begin{equation*}
c = (m + k)[26]
\end{equation*}
Fonction de déchiffrement~:
\begin{equation*}
m = c - k
\end{equation*}
\subsection{Chiffrement symmétrique}
Si l'on connaît la clé de chiffrement ($k_c$), on connaît la clé de déchiffrement ($k_d$).
$k_d$ est donc la ressource critique.
Les clés sont secrètes.
Enigma, utilisé par les Allemands pendant la Seconde Guerre Mondiale, est symmétrique.
\subsection{Chiffrement affine}
\begin{multicols}{2}
On a un alphabet de $n$ symboles. \\
Par exemple ici $n=6$.
\begin{tabularx}{\linewidth}{YY}
& $\frac{\mathbb{Z}}{6\mathbb{Z}}$ \\ \\
a & $\overline{0}$ \\
b & $\overline{1}$ \\
c & $\overline{2}$ \\
x & $\overline{3}$ \\
! & $\overline{4}$ \\
- & $\overline{5}$ \\
\end{tabularx}
$u=-2$, $u+n = 13$ donc l'inverse de $\overline{7}$ est $\overline{13}$.
\end{multicols}
Chiffrement~:
\begin{equation*}
c = (\overline{a} \otimes m) \oplus \overline{b}
\end{equation*}
Clé~:
\begin{equation*}
k_c = (\overline{a}, \overline{b})
\end{equation*}
Donc~:
\begin{equation*}
\text{xab!} \implies \bar{3} \bar{0} \bar{1} \bar{4}
\end{equation*}
\begin{tabularx}{\linewidth}{YYYYY}
xab! & $\overline{3}$ & $\overline{0}$ & $\overline{1}$ & $\overline{4}$ \\
$(\overline{a}\otimes m) \oplus \overline{b}$ & $\downarrow$ & $\downarrow$ & $\downarrow$ & $\downarrow$ \\
& $(\overline{5}\otimes \overline{3}) \oplus \overline{2}$ & $(\overline{5}\otimes \overline{0}) \oplus \overline{2}$ & $(\overline{5}\otimes \overline{1}) \oplus \overline{2}$ & $(\overline{5}\otimes \overline{4}) \oplus \overline{2}$ \\
& $=\overline{5}$ & $=\overline{2}$ & $=\overline{1}$ & $=\overline{4}$ \\
& $\downarrow$ & $\downarrow$ & $\downarrow$ & $\downarrow$ \\
& - & c & b & $!$ \\
\end{tabularx}
On a donc \texttt{xab!} $\rightarrow$ \texttt{-cb!}.
\begin{align*}
&c = am + b &&c = \overline{a} \otimes m \oplus \overline{b} \\
&c - b = am &&c \oplus (\overline{-b}) = \overline{a} \otimes m \\
&\frac{c - b}{a} = m &&\overline{a}^{-1} \otimes (c \oplus (\overline{-b})) = m
\end{align*}
\begin{equation*}
m = \overline{a}^{-1} \otimes c \oplus (\overline{a}^{-1} \otimes (\overline{-b}))
\end{equation*}
\begin{equation*}
k_c : (\overline{a}, \overline{b}), \overline{a} \text{ inversible}
\end{equation*}
\begin{equation*}
k_d : (\overline{a}^{-1}, \overline{a}^{-1} \otimes (\overline{-b}))
\end{equation*}
\end{document}