]> AND Private Git Repository - modelisationMathS3.git/blobdiff - rsa.tex
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
debut premiers
[modelisationMathS3.git] / rsa.tex
diff --git a/rsa.tex b/rsa.tex
index 541d3c233107e6b4fe0974db31b23b5e81e3d924..d9312ed7c079960e1eceeb3c6471b28f61f1dbe1 100644 (file)
--- a/rsa.tex
+++ b/rsa.tex
@@ -24,6 +24,7 @@ Dans le cas où l'on utilise une clé de cryptage, on a le schéma présenté
 à la figure~\ref{Fig:schemageneral}.
 \begin{figure}[ht]
 \begin{center}
+%\includegraphics[scale=0.5]{schemacrypto.pdf}
 \includegraphics[scale=0.5]{schemacrypto.eps}
 \end{center}
 \caption{Schéma général d'une méthode de cryptage/décryptage}\label{Fig:schemageneral}
@@ -190,13 +191,13 @@ Dans la preuve de la proposition précédente, on avait successivement
 
 \begin{eqnarray}
 a &=& b \times q_1 +r_1 \label{eq:def:r1} \\
-b &=& r_1 \times q_2 +r_2 \\
-r_1 &=& r_2 \times q_3 +r_3 \\
+b &=& r_1 \times q_2 +r_2 \nonumber \\
+r_1 &=& r_2 \times q_3 +r_3 \nonumber\\
 & \vdots & \nonumber\\
 r_{n-4} & = & r_{n-3} \times q_{n-2} + r_{n-2} \label{eq:def:rnm4} \\
 r_{n-3} & = & r_{n-2} \times q_{n-1} + r_{n-1} \label{eq:def:rnm3} \\
 r_{n-2} & = & r_{n-1} \times q_{n} + r_{n} \label{eq:def:rnm2}\\
-r_{n-1} & = & r_{n} \times q_{n+1} + 0 
+r_{n-1} & = & r_{n} \times q_{n+1} + 0 \nonumber 
 \end{eqnarray}
 
 
@@ -209,15 +210,14 @@ r_{n}  & = & r_{n-2} - r_{n-1} \times q_{n}  \nonumber \\
    & = & (r_{n-4} - r_{n-3} \times q_{n-2}). (1 + q_{n-1}. q_{n}) - r_{n-3}. q_{n}(\textrm{on remplace $r_{n-2}$ par sa def dans (\ref{eq:def:rnm4})}) \nonumber \\
 & \vdots & \nonumber \\
 & = & \ldots (\textrm{on remplace $r_{1}$ par sa def dans (\ref{eq:def:r1})}) \nonumber\\ 
-& = ax + by \nonumber
+& = &ax + by \nonumber
 \end{eqnarray}
-
 \end{Proof}
 
 
 
 \begin{Def}[Nombres premiers entre eux]
-Les deux entiers relatifs $a$ et $b$ sont premiers entre eux s 
+Les deux entiers relatifs $a$ et $b$ sont premiers entre eux si 
 leur plus grand commun diviseur est égal à 1.
 \end{Def}
 
@@ -237,7 +237,7 @@ car 1 est le PGCD de $a$ et de $b$.
 \item[\textbf{Si.}] 
   Supposons qu'il existe un couple $(x,y)$ 
   d'entiers relatifs vérifiant $ax + by = 1$ et $d = a \land b$.
-  Le $d$ divise $ax$ et $d$ divise $by$. Donc $d$ divise 
+  L'entier $d$ divise les produits $ax$ et $by$. Donc $d$ divise 
   $ax + by$ et donc $d$ est 1.   
 \end{itemize}
 \end{Proof}
@@ -259,6 +259,7 @@ produit:
 \begin{equation}
 \varphi(pq)=(p-1)(q-1) \label{FEuler}
 \end{equation} 
+
 \end{Prop}
 \begin{Exo}[Preuve de l'expression d'Euler]
 On doit compter le cardinal des nombres de $\{1, 2, . . . , pq -1\}$ qui sont 
@@ -279,15 +280,15 @@ premiers avec $pq$.
 
 %Refaire cet exo avec 27x +8y = 1
 \begin{Exo}
-L'objectif est de résoudre l'équation $(E)$ d'inconnues $x$ et $y
-$405x -120y =15$.
+L'objectif est de résoudre l'équation $(E)$ $405x -120y =15
+d'inconnues $x$ et $y$.
 \begin{enumerate}
 \item Trouver le PGCD de 405 et 120  à l'aide de l'algorithme d'Euclide.
 \item En déduire une solution particulière de cette équation.
 \item En utilisant la solution particulière, montrer que $(E)$ est 
   équivalente à $27(x-3) = 8(y-10)$.
-\item Utiliser le théorème de Gauss pour montrer que 
-  l'ensemble solution de $(E)$ est $\{(8k+3;27k+10)| k \in \Z\}$. 
+\item Utiliser le théorème de Gau{\ss} pour montrer que 
+  l'ensemble des solutions de $(E)$ est $\{(8k+3;27k+10)| k \in \Z\}$. 
 \end{enumerate}
 \end{Exo}
 
@@ -329,15 +330,186 @@ $g(f(a))=a$ . Que peut-on dire de $f(g(a))=a$?
 \end{enumerate}
 \end{enumerate}
 \end{Exo}
+
+
+
 \section{Arithmétique modulaire}
-% cf TD maths discrète; 
-% Corollaire 7.6 du chap RSA
-% unicité de la clef de décodage
 
+\begin{Def}[Congruence modulo]
+Soit $a$ et $b$ deux entiers relatifs.
+On dit que $a$ est congru $b$ modulo $n$ si $n$ divise $a-b$, c'est-à-dire
+s'il existe $x \in \Z$ tel que $(a-b) = nx$.
+On note    $a \equiv b [n]$. 
+La relation \og $\equiv [n]$ \fg{}
+est une relation d'équivalence appelée congruence modulo $n$.
+\end{Def}
+
+\begin{Prop}
+Soit $a$, $b$, $c$, $d$, $x$ et $y$ dans $\Z$. 
+Si $a \equiv c[n]$ et  $b \equiv d[n]$, alors
+\begin{enumerate}
+\item $a +b \equiv c + d [n]$;
+\item $ab \equiv cd [n]$;
+\item $ax +by \equiv cx +dy [n]$.
+\end{enumerate}
+\end{Prop}
+
+\begin{Exo}
+Démontrer la proposition précédente.
+\end{Exo}
+
+\begin{Prop}
+Soit deux entiers naturels $a$ et $n$ tels que $a< n$.
+Si $a$ et $n$ sont premier entre eux, 
+alors il existe un unique $x \in \{1, \dots, n-1\}$ tel 
+que $ax \equiv 1[n]$.
+\end{Prop}
+
+\begin{Proof}
+\begin{itemize}
+\item[\textbf{Existence.}]
+Comme $a$ et $n$ sont premiers entre eux, d'après le théorème de Bézout,
+il exite $x$ et $y$ entiers tels que 
+\end{itemize} 
+\end{Proof}
+
+
+\begin{Exo}
+\begin{enumerate}
+\item Démonter que $35 \equiv 1 [11]$
+\item En déduire que pour tous entiers naturels $k$ et $r$ on a 
+                                        $35k +r \equiv 3r [11]$.
+\item  $n$ étant un entier naturel, quels sont les restes possibles
+  dans la division de $3^n$ par 11?
+\item  Trouvez pour quelles valeurs de $n$, $3n + 7$ est divisible par 11
+\end{enumerate}
+\end{Exo}
+
+\begin{Exo}
+On se place dans le contexte de cryptographie par RSA.
+Démontrer que si la clé d'encryptage est $e < \varphi(n)$, alors 
+il existe une unique clé de décodage entre 1 et $\varphi(n)$.
+\end{Exo}
+
+\begin{Prop}[Théorème d'Euler]
+  Si $m<n$ est  relativement premier avec $n$, alors 
+\begin{equation}
+m^{\varphi(n)}\equiv1 [n].
+\end{equation}
+\end{Prop}
+On laisse de côté la démonstration.
+
+\begin{Prop}[Correction de RSA]
+Le cryptage-décryptage du code RSA est correct: 
+on crypte un message $m$ tel que 
+$m\land n= 1$ en $a$ avec  
+$ m^e  \equiv a [n]$ selon la clé $(e,n)$.
+Alors le décryptage selon la clé $(d,n)$ redonne
+le message initial : $a^d \equiv m [n]$.
+\end{Prop} 
+\begin{Proof}
+\begin{eqnarray*}
+a^d & \equiv &   (m^e)^d [n]\\
+& \equiv &   m^{ed} [n] (\textrm{ réécriture})\\
+& \equiv &   m^{k.\varphi(n)+1} [n] (\textrm{ définition de $d$})\\
+& \equiv &   m^{k.\varphi(n)}m [n] (\textrm{ réécriture})\\
+& \equiv &   (m^{\varphi(n)})^km [n] (\textrm{ réécriture})\\
+& \equiv &   (1)^km [n] (\textrm{ théorème d'Euler})\\
+& \equiv &   m [n] (\textrm{ réécriture})\\
+\end{eqnarray*}
+\end{Proof}
 
 \subsection{Puissance de grands nombres}
 
+
+\begin{Exo}
+Montrer que l'entier naturel $n$ est premier si et seulement si 
+$$(x +1) ^n \equiv x ^n +1[n].$$
+\end{Exo}
+
+
 \section{Génération de grands nombres premiers}
+Depuis Euclide, on sait qu'il y a une infinité de nombres premiers.
+Fermat avait cru donner une formule ne générant que des nombres premiers.
+Il affirmait que pour tout $n \in \N$, le nombre 
+\begin{eqnarray}
+F_n &= & 2^{2^n} +1 
+\end{eqnarray}
+était premier. Or 641 divise $F_5$. Aujourd'hui, on pense que seuls 
+les nombres de $F_0$ à $F_4$ sont premiers, les qutres étant composés.
+
+\subsection{Distribution des nombres premier parmi les entiers}
+
+Même si on ne connaît pas de formule permettant de construire tous les 
+nombres premiers, tout n'est pas perdu puisque les nombres premiers 
+ne sont pas si rares que cela. Le théorème suivant donne même la distribution 
+la proportion approximative des entiers inférieurs ou égaux à
+$N$  qui sont premiers.
+\begin{Prop}[Théorème des nombres premiers]
+La fonction $\pi:\N \rightarrow \N$  associe 
+à chaque nombre $n$ nombre d'entiers inférieurs ou égaux à $n$ qui sont 
+premiers, soit $\pi(N) = |\{p \le N | p \textrm{premier}\}|$.
+Lorsque $n$ est grand, on a:
+\begin{eqnarray}
+\pi(N) &\approx& \dfrac{N}{\ln(N)}
+\end{eqnarray}
+\end{Prop}
+La preuve de ce théorème est d'un niveau très avancé et n'est pas reproduite 
+ici.
+
+Pour obtenir un  entier de 100 chiffres, il suffit de considérer 
+$N= 10^{100}$. Si on choisit au hasard un nombre $n$ dans $\N_{N}^{*}$,
+la probabilité qu'il soit premier est: 
+\begin{eqnarray*}
+\textrm{Prob}(n \textrm{ premier}) &\approx&
+ \dfrac{\dfrac{N}{\ln(N)}}{N} \\
+ &\approx&
+ \dfrac{1}{\ln(N)}
+\end{eqnarray*}
+Le tableau~\ref{Table:propPrem} donne une valeur approchée de 
+cette probabilité pour quelques nombres de chiffres. 
+Dans celui-ci:
+\begin{itemize}
+\item la seconde ligne n'impose aucune restriction sur le dernier chiffre;
+\item la troisième ligne impose que le dernier chiffre soit dans 
+  $\{1,3,5,7,9\}$: il est  inutile de vérifier que les
+  multiples de 2 sont premiers!
+\item la quatrième ligne impose que le dernier chiffre soit dans $\{1,3,7,9\}$:
+  les multiples de 5 ne sont pas premiers!
+\end{itemize}
+On constate que si l'on tire au hasard un nombre (même de 100 chiffres), 
+et que ce nombre se termine par$\{1,3,7,9\}$, 
+la probabilité qu'il soit premier n'est pas infime. La solution au problème 
+de génération de nombres premiers repose sur la capacité ou non a disposer 
+d'un test efficace de primalité pour des grands nombres.
+
+Pour peut qu'on dispose d'un test de primalité rapide,
+
+il \og suffit \fg{}
+de tirer quelques nombres au hasard pour avoir  
+
+%% Attention ce tableau est généré par ailleurs 
+\begin{table}[ht]
+\begin{center}
+\begin{tabular}{|l|l|l|l|l|l|l|l|l|l|l|}
+ \hline 
+Nombre de chiffres & \textbf{75}& \textbf{100}& \textbf{125}& \textbf{150}& \textbf{175}& \textbf{200}& \textbf{225}& \textbf{250}& \textbf{275}& \textbf{300}\\
+\hline 
+Dernier chiffre quelconque & 172& 230& 287& 345& 402& 460& 518& 575& 633& 690\\
+\hline 
+Dernier chiffre impair & 86& 115& 143& 172& 201& 230& 259& 287& 316& 345\\
+\hline 
+Dernier chiffre dans $\{1,3,7,9\}$& 69& 92& 115& 138& 161& 184& 207& 230& 253& 276\\
+\hline
+ \end{tabular}
+\end{center}
+\caption{Probabilités inverse d'obtenir un \label{Table:propPrem}}
+\end{table}
+
+\subsection{Tests de primalité}
+
+
 
 \section{Factorisation}