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

Private GIT Repository
factorisation
authorJean-François Couchot <couchot@couchot.iut-bm.univ-fcomte.fr>
Thu, 4 Sep 2014 14:02:45 +0000 (16:02 +0200)
committerJean-François Couchot <couchot@couchot.iut-bm.univ-fcomte.fr>
Thu, 4 Sep 2014 14:02:45 +0000 (16:02 +0200)
rsa.tex
symboles.sty

diff --git a/rsa.tex b/rsa.tex
index d9312ed7c079960e1eceeb3c6471b28f61f1dbe1..cb11f3fb69496ef14c61bbe992ee6c204aeed022 100644 (file)
--- a/rsa.tex
+++ b/rsa.tex
@@ -391,7 +391,7 @@ 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}
 
 il existe une unique clé de décodage entre 1 et $\varphi(n)$.
 \end{Exo}
 
-\begin{Prop}[Théorème d'Euler]
+\begin{Prop}[Théorème d'Euler]\label{th:Euler}
   Si $m<n$ est  relativement premier avec $n$, alors 
 \begin{equation}
 m^{\varphi(n)}\equiv1 [n].
   Si $m<n$ est  relativement premier avec $n$, alors 
 \begin{equation}
 m^{\varphi(n)}\equiv1 [n].
@@ -429,7 +429,8 @@ $$(x +1) ^n \equiv x ^n +1[n].$$
 
 
 \section{Génération de grands nombres premiers}
 
 
 \section{Génération de grands nombres premiers}
-Depuis Euclide, on sait qu'il y a une infinité de nombres premiers.
+Dans ce qui suit, on nomme $\Prem$ l'ensemble des nombrs premiers.
+Depuis Euclide, on sait que $\Prem$ est de taille infinie.
 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}
 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}
@@ -478,17 +479,11 @@ Dans celui-ci:
   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), 
   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\}$, 
+parmi ceux qui se terminent par $\{1,3,7,9\}$ (ensemble noté $B$ par la suite) 
 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.
 
 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}
 %% Attention ce tableau est généré par ailleurs 
 \begin{table}[ht]
 \begin{center}
@@ -507,12 +502,96 @@ Dernier chiffre dans $\{1,3,7,9\}$& 69& 92& 115& 138& 161& 184& 207& 230& 253& 2
 \caption{Probabilités inverse d'obtenir un \label{Table:propPrem}}
 \end{table}
 
 \caption{Probabilités inverse d'obtenir un \label{Table:propPrem}}
 \end{table}
 
+
+On considère comme expérience aléatoire le fait de tirer un nombre au hasard 
+dans $B$. On a une probabilité $p$ que le nombre soit premier.
+Soit $X$ la variable aléatoire qui compte le nombre 
+de fois où l'on a réalisé cette expérience avant d'obtenir un nombre premier.
+$X$ suit une loi géométrique de paramètre $p$:
+\[
+P(X=k) = (1-p)^{k-1}p.
+\]
+Or l'espérance d'une variable aléatoire
+suivant une loi géométrique de paramètre $p$ est $\frac{1}{p}$.
+Pour 100 chiffres, il faudra en moyenne 92 tirages pour générer un 
+nombre premier. 
+
+Il \og reste \fg{} à fournir une méthode efficace pour décider 
+de la primalité d'un entier, ce que présente la section suivante.
+
+
 \subsection{Tests de primalité}
 \subsection{Tests de primalité}
+Chque section donne un algorithme permettant de décider si un entier $p$ fourni
+en entrée est premier ou non.
+
+\subsubsection{Méthode naïve}
+On vérifie s'il est divisible par l'un des entiers pairs compris entre 2 et 
+$\sqrt{p}$. Si la réponse est négative, alors $p$ est premier, 
+sinon il est composé. Pour améliorer la performance de cette méthode, on peut 
+calculer à l'avance une liste des nombres premiers inférieurs à $\sqrt{p}$
+(avec un crible d'Ératosthène), pour ne tester que ceux-ci.
+
+Par exemple, pour tester un nombre inférieur à 39 000, 
+il suffit de vérifier  qu'il nest pas multiple d'un nombre premiers inférieur
+à 198 (car $198^2 = 39 204$); on doit faire au maximum 45 divisions.
 
 
+\subsubsection{Tests probabilistes}
 
 
+\begin{Prop}[Petit théorème de Fermat]
+Si $p$ est un nombre premier et $a$ un entier non divisible par $p$,
+alors $a^{p-1}-1$ est un multiple de $p$, c'est-à-dire:
+\begin{equation}
+ \forall a\in \N \forall p \in \N (   p \in \Prem \textrm{ et }   a \not\equiv  0[p] 
+  \Rightarrow a^{p-1}\equiv 1 [p]).
+\label{petittheremeFermat}
+\end{equation}
+\end{Prop}
+
+\begin{Proof}
+La preuve découle directement du théorème~\ref{th:Euler} d'Euleur.
+En effet on a successivement:
+\begin{eqnarray*}
+  a^{p-1} & =  & a^{\varphi(p)} \textrm{(comme p est premier)}\\
+  & \equiv  &  1 [p] \textrm{(théorème d'Euler)}
+\end{eqnarray*}
+\end{Proof}
+
+\paragraph{Test de Fermat.}
+Le petit théorème de Fermat est une implication et non pas une équivalence:
+\begin{itemize}
+\item si on prend un $p\in \N$ et un $a \in\N$ quelconque, 
+  alors si $p$ est premier et $a$ non divisible par $p$, alors on peut en déduire que $a^{p-1}\equiv 1 [p]$;
+\item rien ne dit que si on a  $a^{p-1}\equiv 1 [p]$, alors $p$ est premier et $a$ non divisible par $p$.
+\item rien ne dit non plus que que si on a  $a^{p-1}\equiv 1 [p]$ et que $a$ non divisible par $p$, alors $p$ est premier.
+\end{itemize}
+Cependant si on effectue un grand nombre de fois l'expérience de choisir 
+$a \in \N_{n-1}^{*}$ et qu'à chaque foit on établit $a^{p-1}\equiv 1 [p]$, 
+alors $p$ est probablement premier.
+Cependant ce n'est pas toujours le cas: par exemple $2^{340} \equiv 1 [341]$ et 
+pourtant $341 =  11 \times 31$.
+
+\begin{Exo}
+Donner le code de la fonction \verb+testPrimaliteFermat(n,t)+ qui retourne \verb+True+ si \verb+t+ evaluations de $\texttt{a}^{\texttt{p}-1}\equiv 1 [\texttt{p}]$ pour un  
+\end{Exo}
+
+
+
+\paragrpah{Test de Miller-Rabin}
 
 \section{Factorisation}
 
 
 
 \section{Factorisation}
 
 
+
+\begin{Exo}
+On considère que l'étape 1 de l'algorithme RSA a généré deux nombre premiers $p$ et $q$ tels que $p>q$. On definit  $t = \frac{p+q}{2}$ et $s = \frac{p−q}{2}$.
+Montrer que
+\begin{enumerate}
+\item le produit $n = pq = t^2 − s^2$;
+\item l'entier $t$ est légèrement supérieur à la racine carrée de $n$ et que $s $ est petit;
+\item l'on peut utiliser ces informations pour factoriser $n$ c.-à-d. retrouver $p$ et $q$.
+\item Factoriser 9623827 et  343570291, % res=2953*3259     res = 17729*19379
+\end{enumerate}
+\end{Exo}
+
 \section{Conclusion}
 cf SMATH paragraphe applications p 223.
\ No newline at end of file
 \section{Conclusion}
 cf SMATH paragraphe applications p 223.
\ No newline at end of file
index 40d31004e313a4b937b141822ca2ebee026e773c..ca8d29207e2054cc599ecb79fe2bb0aa617261e5 100755 (executable)
@@ -86,6 +86,7 @@ depth\dimen2\box1\vrule}%
 \def\cmat{\hbox{\it l\hskip -5.5pt C\/}}
 
 \def\N{{\mathbb N}}
 \def\cmat{\hbox{\it l\hskip -5.5pt C\/}}
 
 \def\N{{\mathbb N}}
+\def\Prem{{\mathbb P}}
 \def\Net{{\mathbb N}^*}
 \def\Z{{\mathbb Z}}
 \def\Q{{\mathbb Q}}
 \def\Net{{\mathbb N}^*}
 \def\Z{{\mathbb Z}}
 \def\Q{{\mathbb Q}}