-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
+Au bout d'un nombre $b$ d'itérations,
+si la fonction, notée $G_f_u$ (ou bien $G_f_g$)
+présentée au chapitre~\ref{chap:carachaos},
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.
-
+le mot $x^b$ devrait \og sembler ne plus dépendre\fg{} de $x^0$.
+On peut penser à exploiter une de ces fonctions $G_f$
+comme un générateur aléatoire.
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,
+fournir des nombres selon une \gls{distributionuniforme}
+La suite 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
+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}),
puis comment intégrer la contrainte de \gls{distributionuniforme}
(cf. glossaire) de la sortie
dans le choix de la fonction à itérer (section~\ref{sub:prng:unif}).
L'approche est évaluée dans la dernière section.
+\JFC{plan à revoir}
\subsection{ Générateur de nombres pseudo aléatoires basé sur le chaos}\label{sub:prng:algo}