Start RSA with bezout
This commit is contained in:
parent
41097fbe6c
commit
ece696addd
2 changed files with 139 additions and 6 deletions
|
@ -4,7 +4,7 @@
|
|||
\author{}
|
||||
\date{Dernière compilation~: \today{} à \currenttime}
|
||||
|
||||
\usepackage{../cours}
|
||||
\usepackage{styles}
|
||||
\usepackage{tikz}
|
||||
\usetikzlibrary{shapes.multipart}
|
||||
\DeclareMathOperator\pgcd{pgcd}
|
||||
|
@ -704,11 +704,9 @@
|
|||
On ne peut donc pas choisir $e$ et $d$ au hasard.
|
||||
$e$ et $d$ sont liés.
|
||||
|
||||
\subsection{Indicatrice d'Euler}
|
||||
\subsection{$\varphi(n)$~: Indicatrice d'Euler}
|
||||
|
||||
Dans $\frac{\mathbb{Z}}{n\mathbb{Z}}$~:
|
||||
|
||||
\begin{center}
|
||||
\begin{tabular}{cc|cccccrc}
|
||||
\multicolumn{2}{c}{$n=7$} & \multicolumn{7}{c}{puissances} \\
|
||||
\toprule
|
||||
|
@ -723,7 +721,6 @@
|
|||
$\overline{6}$ & oui & $\overline{6}$ & $\overline{1}$ & $\overline{6}$ & $\overline{1}$ & $\overline{6}$ & $\overline{1}$ & $\overline{6}$ \\
|
||||
\bottomrule
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
|
||||
\begin{itemize}
|
||||
\item 6 éléments inversibles
|
||||
|
@ -766,7 +763,6 @@
|
|||
\end{align*}
|
||||
|
||||
Ceci implique que, par exemple~:
|
||||
|
||||
\begin{align*}
|
||||
\text{Dans } \frac{\mathbb{Z}}{200\mathbb{Z}}\;: \varphi(200) = 80 \implies 80 \text{ éléments inversibles} \\
|
||||
\overline{37} \text{ est inversible} \\
|
||||
|
@ -782,4 +778,47 @@
|
|||
|
||||
\eqref{eq:rsa} est le théorême fondamental de RSA\@.
|
||||
|
||||
\subsection{$\varphi(n)$ appliqué à l'identité de Bezout}
|
||||
|
||||
Le fonctionnement de RSA se base sur $\varphi(n)$ appliqué à l'identité de Bezout.
|
||||
|
||||
Pour rappel~:
|
||||
\begin{equation*}
|
||||
\forall \; (a,b) \in \mathbb{N}^2 : \exists\, (u,v) \in \mathbb{Z}^2 \; / \; a \times u + b \times v = \pgcd(a,b)
|
||||
\end{equation*}
|
||||
|
||||
Soit $n=p \times q$ \quad on a $\varphi(n)$ \quad on choisit $e \; / \pgcd(e, \varphi(n)) = 1$
|
||||
|
||||
En appliquant Bezout à $e$ et $\varphi(n)$~:
|
||||
\begin{equation*}
|
||||
\exists\, (d,k) \; / \; e \cdot d + k \cdot \varphi(n) = 1
|
||||
\end{equation*}
|
||||
\begin{align*}
|
||||
\text{Soit } a \in [1,n-1] \quad
|
||||
&a^{(ed + k\varphi(n))} = a^1 \\
|
||||
\iff & a^{ed} \times a^{k\varphi(n)} = a \\
|
||||
\iff & a^{ed} \times (a^{\varphi(n)})^k = a \\
|
||||
\iff & a^{ed}[n] \times (a^{\varphi(n)}[n])^k = a
|
||||
\quad\text{ or d'après RSA~: } a^{\varphi(n)}[n] = 1 \\
|
||||
\text{donc } & a^{ed}[n] \times 1^k = a \\
|
||||
\iff & a^{ed}[n] = a
|
||||
\end{align*}
|
||||
\begin{equation*}
|
||||
\text{alors } \exists\, d\; /\; \forall\; a \in [1,n-1] \quad a^{ed}[n] = a
|
||||
\end{equation*}
|
||||
\hfill
|
||||
où $d$ est le coefficient de Bezout associé à $e$.
|
||||
|
||||
\begin{center}
|
||||
\begin{tikzpicture}
|
||||
\node (a1) at (0,0) {$a$};
|
||||
\node (chiff) at (2,0) {$a^e[n]$};
|
||||
\draw [-latex] (a1) -- (chiff);
|
||||
\node (dechiff) at (6,0) {$(a^e[n])^d[n] = a^{ed}[n]$};
|
||||
\draw [-latex] (chiff) -- (dechiff);
|
||||
\node (a2) at (10,0) {$a$};
|
||||
\draw [-latex] (dechiff) -- (a2);
|
||||
\end{tikzpicture}
|
||||
\end{center}
|
||||
|
||||
\end{document}
|
||||
|
|
94
algebre-non-lineaire/styles.sty
Normal file
94
algebre-non-lineaire/styles.sty
Normal file
|
@ -0,0 +1,94 @@
|
|||
\ProvidesPackage{styles}
|
||||
|
||||
\usepackage[
|
||||
%showframe,
|
||||
a4paper,includeheadfoot,margin=2cm,top=1cm,bottom=1cm
|
||||
]{geometry}
|
||||
|
||||
\setcounter{tocdepth}{2}
|
||||
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage{babel}
|
||||
|
||||
\usepackage{datetime}
|
||||
|
||||
\usepackage{color}
|
||||
|
||||
\usepackage{amsmath}
|
||||
\usepackage{amsfonts}
|
||||
\everymath{\displaystyle}
|
||||
\newcommand*\dif{\mathop{}\!\mathrm{d}}
|
||||
|
||||
\usepackage{booktabs}
|
||||
\usepackage{tabularx}
|
||||
\newcolumntype{Y}{>{\centering\arraybackslash}X}
|
||||
\usepackage{multicol}
|
||||
\usepackage{multirow}
|
||||
\usepackage{makecell}
|
||||
\usepackage{parskip}
|
||||
\usepackage{microtype}
|
||||
|
||||
\usepackage{listingsutf8}
|
||||
\lstset{%
|
||||
inputencoding=utf8/latin1,
|
||||
basicstyle=\small\ttfamily,
|
||||
columns=flexible,
|
||||
breaklines=true,
|
||||
extendedchars=true,
|
||||
literate=
|
||||
{á}{{\'a}}1 {é}{{\'e}}1 {í}{{\'\i}}1 {ó}{{\'o}}1 {ú}{{\'u}}1
|
||||
{Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ú}{{\'U}}1
|
||||
{à}{{\`a}}1 {è}{{\`e}}1 {ì}{{\`\i}}1 {ò}{{\`o}}1 {ù}{{\`u}}1
|
||||
{À}{{\`A}}1 {È}{{\`E}}1 {Ì}{{\`I}}1 {Ò}{{\`O}}1 {Ù}{{\`U}}1
|
||||
{ä}{{\"a}}1 {ë}{{\"e}}1 {ï}{{\"\i}}1 {ö}{{\"o}}1 {ü}{{\"u}}1
|
||||
{Ä}{{\"A}}1 {Ë}{{\"E}}1 {Ï}{{\"I}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1
|
||||
{â}{{\^a}}1 {ê}{{\^e}}1 {î}{{\^\i}}1 {ô}{{\^o}}1 {û}{{\^u}}1
|
||||
{Â}{{\^A}}1 {Ê}{{\^E}}1 {Î}{{\^I}}1 {Ô}{{\^O}}1 {Û}{{\^U}}1
|
||||
{Ã}{{\~A}}1 {ã}{{\~a}}1 {Õ}{{\~O}}1 {õ}{{\~o}}1 {œ}{{\oe}}1
|
||||
{Œ}{{\OE}}1 {æ}{{\ae}}1 {Æ}{{\AE}}1 {ß}{{\ss}}1 {ű}{{\H{u}}}1
|
||||
{Ű}{{\H{U}}}1 {ő}{{\H{o}}}1 {Ő}{{\H{O}}}1 {ç}{{\c c}}1
|
||||
{Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1
|
||||
{€}{{\euro}}1 {£}{{\pounds}}1 {«}{{\guillemotleft}}1
|
||||
{»}{{\guillemotright}}1 {ñ}{{\~n}}1 {Ñ}{{\~N}}1 {¿}{{?`}}1
|
||||
}
|
||||
\let\oldlstinputlisting\lstinputlisting
|
||||
% make \lstinputlisting always have frame
|
||||
\renewcommand{\lstinputlisting}[2][]{\oldlstinputlisting[frame=single,#1]{#2}}
|
||||
|
||||
\lstnewenvironment{console}[1][]{%
|
||||
\lstset{%
|
||||
inputencoding=utf8/latin1,
|
||||
basicstyle=\small\ttfamily\color{white},
|
||||
columns=flexible,
|
||||
breaklines=true,
|
||||
extendedchars=true,
|
||||
literate=
|
||||
{á}{{\'a}}1 {é}{{\'e}}1 {í}{{\'\i}}1 {ó}{{\'o}}1 {ú}{{\'u}}1
|
||||
{Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ú}{{\'U}}1
|
||||
{à}{{\`a}}1 {è}{{\`e}}1 {ì}{{\`\i}}1 {ò}{{\`o}}1 {ù}{{\`u}}1
|
||||
{À}{{\`A}}1 {È}{{\`E}}1 {Ì}{{\`I}}1 {Ò}{{\`O}}1 {Ù}{{\`U}}1
|
||||
{ä}{{\"a}}1 {ë}{{\"e}}1 {ï}{{\"\i}}1 {ö}{{\"o}}1 {ü}{{\"u}}1
|
||||
{Ä}{{\"A}}1 {Ë}{{\"E}}1 {Ï}{{\"I}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1
|
||||
{â}{{\^a}}1 {ê}{{\^e}}1 {î}{{\^\i}}1 {ô}{{\^o}}1 {û}{{\^u}}1
|
||||
{Â}{{\^A}}1 {Ê}{{\^E}}1 {Î}{{\^I}}1 {Ô}{{\^O}}1 {Û}{{\^U}}1
|
||||
{Ã}{{\~A}}1 {ã}{{\~a}}1 {Õ}{{\~O}}1 {õ}{{\~o}}1 {œ}{{\oe}}1
|
||||
{Œ}{{\OE}}1 {æ}{{\ae}}1 {Æ}{{\AE}}1 {ß}{{\ss}}1 {ű}{{\H{u}}}1
|
||||
{Ű}{{\H{U}}}1 {ő}{{\H{o}}}1 {Ő}{{\H{O}}}1 {ç}{{\c c}}1
|
||||
{Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1
|
||||
{€}{{\euro}}1 {£}{{\pounds}}1 {«}{{\guillemotleft}}1
|
||||
{»}{{\guillemotright}}1 {ñ}{{\~n}}1 {Ñ}{{\~N}}1 {¿}{{?`}}1,
|
||||
backgroundcolor=\color{black}, #1
|
||||
}%
|
||||
}{}
|
||||
|
||||
\usepackage{graphicx}
|
||||
|
||||
\usepackage[hyphens]{url}
|
||||
\usepackage[colorlinks,hidelinks]{hyperref}
|
||||
|
||||
\usepackage{letltxmacro}
|
||||
\LetLtxMacro{\normalparagraph}{\paragraph}
|
||||
\renewcommand{\paragraph}[1]{\normalparagraph{#1}\mbox{}}
|
||||
|
||||
\sloppy
|
Loading…
Reference in a new issue