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

Private GIT Repository
modif 15Rairo
authorcouchot <jf.couchot@gmail.com>
Wed, 15 Jul 2015 11:40:49 +0000 (13:40 +0200)
committercouchot <jf.couchot@gmail.com>
Wed, 15 Jul 2015 11:40:49 +0000 (13:40 +0200)
15RairoGen.tex

index 835555e30d8a824611831230b94a2518bb3ea7f0..3c49eb6da0d3fea5e96a97387ac163e32781745b 100644 (file)
@@ -1,3 +1,92 @@
+Pour décrire un peu plus précisément le principe de
+la génération pseudo-aléatoire, considérons l'espace booléen 
+$\Bool=\{0,1\}$
+muni des lois \og +\fg{}, \og . \fg{} et \og $\overline{\mathstrut\enskip}$ \fg{} 
+définies par les tableaux ci-dessous:
+
+\begin{minipage}{0.33\textwidth}
+  \begin{center}
+  \begin{tabular}{|c|c|c|}
+    \hline 
+    + & 0& 1 \\
+    \hline 
+    0 & 0& 1 \\
+    \hline 
+    1 & 1& 1 \\
+    \hline
+  \end{tabular}
+\end{center}
+\end{minipage}
+\begin{minipage}{0.33\textwidth}
+  \begin{center}
+  \begin{tabular}{|c|c|c|}
+    \hline 
+    . & 0& 1 \\
+    \hline 
+    0 & 0& 0 \\
+    \hline 
+    1 & 0& 1 \\
+    \hline
+  \end{tabular}
+\end{center}
+\end{minipage}
+\begin{minipage}{0.32\textwidth}
+  \begin{center}
+  \begin{tabular}{|c|c|c|}
+    \hline 
+     & 0& 1 \\
+    \hline 
+    $\overline{\mathstrut\enskip}$ & 1& 0 \\
+    \hline 
+   \end{tabular}
+\end{center}
+\end{minipage}
+
+
+La fonction itérée est
+une fonction $f$ de $\Bool^n$ dans lui-même qui à
+un mot binaire $x = (x_1,\ldots,x_n)$ 
+associe le mot $(f_1(x),\ldots, f_n(x))$.
+Un exemple de fonction de $\Bool^n$ dans lui-même
+est la fonction négation 
+définie par  
+$\neg(x)=(\overline{x_1},\dots,\overline{x_n})$. 
+
+Le principe itératif est le suivant: 
+à chaque itération $t$, on choisit un indice $i$ entre $1$ et $n$,
+et le mot $x^t = (x_1^t,\ldots,x_n^t)$ est remplacé par
+$x^{t+1} = (x_1^t,\ldots , x_{i-1}^t, f_i(x^t), x_{i+1}^t,\ldots, x_n^t)$.
+
+Au bout d'un nombre $N$ d'itérations,
+si la fonction, notée $G_f$ dans ce document, 
+que l'on peut associer à l'algorithme décrit ci-dessus
+a de \og bonnes\fg{} propriétés chaotiques, 
+le mot $x^N$ doit être \og très différent\fg{} de $x^0$ 
+de façon à même sembler ne plus dépendre de $x_0$:
+pour un générateur aléatoire, il faut que la structure de 
+$x^N$ semble être due au hasard; 
+pour une application cryptographique, il faut qu'il
+soit matériellement impossible (dans les conditions techniques actuelles) 
+de retrouver $x^0$ à partir de $x^N$.
+
+Tous les mots de 
+$\Bool^n$ peuvent constituer les
+$2^n$ sommets d'un \gls{graphoriente} (cf. glossaire)
+dans lequel un arc relie deux sommets $x$ et $x'$ 
+s'il existe une itération de l'algorithme
+de génération qui permet de passer de $x$ à $x'$. 
+Ce graphe est appelé le graphe d'itérations et 
+ce document montre que si l'on a un \gls{graphfortementconnexe} (cf. glossaire),
+alors la fonction $G_f$ est transitive, donc chaotique.
+
+Enfin, un bon générateur aléatoire se doit de 
+fournir  des nombres selon une \gls{distributionuniforme} (cf. glossaire). 
+La dernière partie de ce document donnera, 
+dans le cas où le graphe d'itérations est fortement connexe, 
+une condition nécessaire est suffisante pour que
+cette propriété soit satisfaite.
+
+
  Cette section présente une application directe de la théorie développée ci-avant
 à la génération de nombres pseudo aléatoires. On présente tout d'abord le générateur
 basé sur des fonctions chaotiques (section~\ref{sub:prng:algo}),