]> AND Private Git Repository - review_prng.git/blob - review_prng.tex
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
avancées
[review_prng.git] / review_prng.tex
1 \documentclass{article}
2 \usepackage[utf8x]{inputenc}
3 \usepackage[standard]{ntheorem}
4 \usepackage[english]{babel}
5
6 \usepackage{stmaryrd}
7 \usepackage{amsmath}
8 \usepackage{color}
9 \usepackage{dsfont}
10 \usepackage{graphicx}
11
12
13 \title{A Review of Chaotic Iteration Based Pseudorandom Number Generators}
14 \author{Jacques M. Bahi, Jean-Fran\c cois Couchot, Raphaël Couturier,\\ Nicolas Friot, and Christophe Guyeux~\thanks{Authors in alphabetic order}}
15
16
17
18 \begin{document}
19
20 \maketitle
21
22 \begin{abstract}
23
24 \end{abstract}
25
26
27 \section{Introduction}
28
29
30 \section{Topological Study of Disorder}
31
32 \subsection{Historical Context}
33
34 Pseudorandom number generators are recurrent sequences having a disordered behavior.
35
36 Recurrent sequences, also called discrete dynamical systems, of the form 
37 \begin{equation}
38 \label{sdd}
39 u^0 \in \mathds{R}, u^{n+1} = f(u^n),
40 \end{equation}
41 with 
42 $f$ continuous, have been well studied since the early years of mathematical
43 analysis. They are widely used, for instance to resolve equations using a
44 Newton method, or when approximating the solutions to differential equations 
45 using finite difference equations to approximate derivatives.
46 The context study was the seek for convergence, which is for instance guarantee
47 when using monotonic functions or contractions. 
48 In the middle of the last century, Coppel has 
49 established a link between this desire of convergence
50 and the existence of a cycle in iterations~\cite{Coppel55}. 
51 More precisely, his theorem states that, considering Eq.~\eqref{sdd} with a function
52 $f:I \longrightarrow I$ continuous on the line segment $I$, the absence of
53 any 2-cycle implies the convergence of the discrete dynamical system.
54
55 This theorem establish a clear link between the existence of a cycle of 
56 a given length and the convergence of the system. In other words, between
57 cycles and order. Conversely, Li and Yorke have established in 1975~\cite{Li75} that
58 the presence of a point of period three implies chaos in the same situation
59 than previously. By chaos, they mean the existence of points of any 
60 period: this kind of disorder, which is the first occurrence of the
61 term ``chaos'' in the mathematical literature, is thus related to the 
62 multiplicity of periods. Since that time, the mathematical theory of
63 chaos has known several developments to qualify or quantify the richness
64 of chaos presented by a given discrete dynamical system, one of the most
65 famous work, although old, being the one of Devaney~\cite{Devaney}.
66
67 \subsection{Iterative Systems}
68
69 In the distributed computing community, dynamical systems have been
70 generalized to take into account delay transmission or heterogeneous
71 computational powers. Mathematically, the intended result is often one 
72 fixed point resulting from the iterations of a given function over a
73 Boolean vector, considering that:
74 \begin{itemize}
75 \item at time $t$, $x^{t}$ is computed using not only $x^{t-1}$, but 
76 potentially any $x^{k}, k<t$, due to delay transmission,
77 \item not all the components of $x^{t}$ are supposed to be updated at
78 each iteration: each component represents a unit of computation, and 
79 these units have not the same processing frequency.
80 \end{itemize} 
81
82 These considerations lead to the following definition of an iterative
83 system~\cite{GuyeuxThese10}.
84
85 \begin{definition}
86 Iterative systems on a set $\mathcal{X}$ are defined by
87 $$\left\{
88   \begin{array}{l}
89     x^0 \in \mathcal{X}\\
90     x^{n+1} = f^n(x^0, \hdots, x^n)
91   \end{array}
92  \right.$$
93 where $f^n:\mathcal{X}^{n+1}\rightarrow \mathcal{X}$.
94 \end{definition}
95
96 Some particular cases of these iterative systems are well documented,
97 namely the serial, parallel, or chaotic modes.
98 In the serial mode, each component is updated one by one, whereas the
99 parallel mode consists in updating all the components at each iteration,
100 leading to an usual discrete dynamical system.
101 These modes are compliant with the definition above, 
102 as the parallel mode consists in considering that the sequence
103 $f^n$ defined above is constant equal to a given $f: \mathcal{X} 
104 \longrightarrow \mathcal{X}$,
105 whereas the serial mode can be rewritten as parallel iterations of
106 $$ G=F_\mathsf{N} \circ \ldots \circ F_2 \circ F_1 $$
107 where, $\forall i \in \llbracket 1, \mathsf{N} \rrbracket $:
108 $$\begin{array}{rccc}
109 F_i: & \mathcal{X} & \longrightarrow & \mathcal{X}\\
110         & (x_1, \hdots, x_\mathsf{N}) & \longmapsto & \left(x_1, \hdots, x_{i-1},f_i\left(x_1, \hdots, x_\mathsf{N}\right), x_{i+1}, \hdots, x_\mathsf{N}\right).
111 \end{array}$$
112
113
114
115 Finally, iterative systems in chaotic mode, simply called chaotic iterations,
116 are defined as follows~\cite{Robert}.
117  
118
119 \begin{definition}
120 \label{defIC}
121 Let $f: \mathds{B}^\mathsf{N} \longrightarrow \mathds{B}^\mathsf{N}$ and 
122 $S \subset \mathcal{P} \left(\llbracket1,\mathsf{N}\rrbracket\right)^\mathds{N}$. 
123 \emph{Chaotic iterations} $(f, (x^0, S))$ are defined by:
124 $$\left\{
125 \begin{array}{l}
126 x^0 \in \mathds{B}^\mathsf{N} \\
127 \forall n \in \mathds{N}^*, \forall i \in \llbracket 1; \mathsf{N} \rrbracket,  x^{n}_i = \left\{
128 \begin{array}{ll}
129 x^{n-1}_{i} & \textrm{ if } i \notin S^n\\
130 f(x^{n-1})_{i} & \textrm{ if } i \in S^n
131 \end{array}
132 \right.
133 \end{array}
134 \right.$$
135 \end{definition}
136
137 \emph{A priori}, there is no relation between these chaotic iterations
138 and the mathematical theory of chaos recalled in the previous section.
139 On our side, we have regarded whether these chaotic iterations can 
140 behave chaotically, as it is defined for instance by Devaney, and if so, 
141 in which applicative context this behavior can be profitable.
142 This questioning has led to a first necessary condition of non convergence~\cite{GuyeuxThese10}.
143
144 \begin{proposition}
145 Let $f : \mathds{B}^\mathsf{N} \to \mathds{B}^\mathsf{N}$ and 
146 $S \in \llbracket 1, \mathsf{N} \rrbracket^{\mathds{N}}$. 
147 If the chaotic iterations $\left(f,(x^0,S)\right)$ are not convergent, then:
148 \begin{itemize}
149 \item either $f$ is not a contraction, meaning that there is no Boolean matrix
150     $M$ of size $\mathsf{N}$ satisfying $\forall x,y\in \mathds{B}^\mathsf{N}$,
151     $d(f(x),f(y)) \leqslant M d(x,y)$, where $d$ is here the ``vectorial distance''
152     defined by $d(x,y) = \left(\begin{array}{c} \delta(x_1,y_1)\\ \vdots \\ \delta(x_\mathsf{N}, 
153     y_\mathsf{N}) \end{array}\right)$, with $\delta$ the discrete metric defined by $\delta(x,y) = \left\{\begin{matrix} 1 &\mbox{if}\ x\neq y , \\ 0 &\mbox{if}\ x = y \end{matrix}\right.$, and $\leqslant$ is the inequality term by term~\cite{Robert}.
154 \item or $S$ is not pseudo-periodic: it is not constituted by an infinite succession of finite sequences, each having any element of $\llbracket
155     1, \mathsf{N} \rrbracket$ at least once.
156 \end{itemize}
157 \end{proposition}
158
159 The second alternative of the proposition above concerns the strategy,
160 which should be provided by the outside world. Indeed, in our opinion, 
161 chaotic iterations can receive a PRNG $S$ as input, and due to 
162 properties of disorder of $f$, generate a new pseudorandom sequence
163 that presents better statistical properties than $S$. Having this 
164 approach in mind, we thus have searched vectorial Boolean iteration
165 functions that are not contractions. The vectorial negation function
166 $f_0:\mathds{B}^\mathsf{N} \longrightarrow \mathds{N}^\mathsf{N},$
167 $(x_1, \hdots, x_\mathsf{N}) \longmapsto (\overline{x_1}, \hdots, 
168 \overline{x_\mathsf{N}}) $ is such a function, which served has a
169 model in our further studies ($\overline{x}$ stands for the negation
170 of the Boolean $x$).
171
172 The quantity of disorder generated by such chaotic iterations, when
173 satisfying the proposition above, has then been measured. To do so, 
174 chaotic iterations have first been rewritten as simple discrete 
175 dynamical systems, as follows.
176
177
178 \subsection{Chaotic Iterations as Dynamical Systems}
179
180 The problems raised by such a formalization can be summarized as 
181 follows. 
182 Chaotic iterations are defined in the discrete mathematics framework,
183 considering $x^0 \in \mathds{B}^\mathds{N}$ and $S \in \mathcal{S} = \llbracket 1,\mathsf{N}\rrbracket^\mathds{N}$, and iterations having the
184 form 
185 $$x_i^{n+1} = \left\{ \begin{array}{ll} x^{n}_{i} & \textrm{ si } i \neq S^n\\ f(x^{n})_{i} & \textrm{ si } i = S^n \end{array} \right.$$ 
186 where $f: \mathds{B}^\mathsf{N} \to \mathds{B}^\mathsf{N}$.
187 However, the mathematical theory of chaos takes place into a 
188 topological space $(\mathcal{X},\tau)$. It studies the iterations
189 $x^0 \in \mathcal{X}$, $\forall n \in \mathds{N}, x^{n+1} = f(x^n)$,
190 where $f : \mathcal{X} \to \mathcal{X}$ is continuous for the
191 topology $\tau$.
192
193 To realize the junction between these two frameworks, the following
194 material has been introduced~\cite{GuyeuxThese10,bgw09:ip}:
195 \begin{itemize}
196 \item the shift function: $\sigma : \mathcal{S} \longrightarrow \mathcal{S}, (S^n)_{n \in \mathds{N}} \mapsto (S^{n+1})_{n \in \mathds{N}}$.
197 \item the initial function, defined by $i : \mathcal{S} \longrightarrow \llbracket 1 ; \mathsf{N} \rrbracket, (S^n)_{n \in \mathds{N}} \mapsto S^0$
198 \item and $F_f : \llbracket 1 ; \mathsf{N} \rrbracket \times \mathds{B}^\mathsf{N} \longrightarrow \mathds{B}^\mathsf{N},$ $$(k,E) \longmapsto  \left( E_j.\delta(k,j) + f(E)_k.\overline{\delta (k,j)} \right)_{j \in \llbracket 1 ; \mathsf{N} \rrbracket}$$
199 \end{itemize}
200 where $\delta$ is the discrete metric.
201
202
203
204
205 Let $\mathcal{X} = \llbracket 1 ; \mathsf{N} \rrbracket^\mathds{N} \times \mathds{B}^\mathsf{N},$ and $G_f\left(S,E\right) = \left(\sigma(S), F_f(i(S),E)\right).$ 
206 Chaotic iterations $\left(f, (S,x^0)\right)$ can be modeled by the 
207 discrete dynamical system:
208 $$\left\{
209 \begin{array}{l}
210 X^0 = (S,x^0) \in \mathcal{X}, \\
211 \forall k \in \mathds{N}, X^{k+1} = G_f(X^k).
212 \end{array}
213 \right.$$
214 Their topological disorder can then be studied.
215 To do so, a relevant distance must be defined of $\mathcal{X}$, as
216 follows~\cite{GuyeuxThese10,bgw09:ip}:
217 $$d((S,E);(\check{S};\check{E})) = d_e(E,\check{E}) +  d_s(S,\check{S})$$
218 \noindent where $\displaystyle{d_e(E,\check{E}) = \sum_{k=1}^\mathsf{N} \delta (E_k, \check{E}_k)}$, ~~and~ $\displaystyle{d_s(S,\check{S}) = \dfrac{9}{\textsf{N}} \sum_{k = 1}^\infty \dfrac{|S^k-\check{S}^k|}{10^k}}$.
219
220 This new distance has been introduced in \cite{bgw09:ip} to satisfy the following requirements.
221 \begin{itemize}
222 \item When the number of different cells between two systems is increasing, then their distance should increase too.
223 \item In addition, if two systems present the same cells and their respective strategies start with the same terms, then the distance between these two points must be small because the evolution of the two systems will be the same for a while. Indeed, the two dynamical systems start with the same initial condition, use the same update function, and as strategies are the same for a while, then components that are updated are the same too.
224 \end{itemize}
225 The distance presented above follows these recommendations. Indeed, if the floor value $\lfloor d(X,Y)\rfloor $ is equal to $n$, then the systems $E, \check{E}$ differ in $n$ cells. In addition, $d(X,Y) - \lfloor d(X,Y) \rfloor $ is a measure of the differences between strategies $S$ and $\check{S}$. More precisely, this floating part is less than $10^{-k}$ if and only if the first $k$ terms of the two strategies are equal. Moreover, if the $k^{th}$ digit is nonzero, then the $k^{th}$ terms of the two strategies are different.
226
227 It has then be stated that
228 \begin{proposition}
229 $G_f : (\mathcal{X},d) \to  (\mathcal{X},d)$ is a continuous function
230 \end{proposition}
231
232 With all this material, the study of chaotic iterations as a discrete
233 dynamical system has then be realized. 
234 This study is summarized in the next section.
235
236 \subsection{A Topology for Chaotic Iterations}
237
238 The topological space on which chaotic iterations are defined has
239 firstly been investigated, leading to the following result~\cite{gb11:bc,GuyeuxThese10}:
240 \begin{proposition}
241 $\mathcal{X}$ is an infinitely countable metric space, being both
242 compact, complete, and perfect (each point is an accumulation point).
243 \end{proposition}
244 These properties are required in some topological specific 
245 formalization of a chaotic dynamical system, justifying their
246 proofs.
247
248 Concerning $G_{f_0}$, it has been stated that~\cite{GuyeuxThese10}.
249 \begin{proposition}
250 $G_{f_0}$ is surjective, but not injective, and so the dynamical system $(\mathcal{X},G_{f_0})$ is not reversible.
251
252 Furthermore, if we denote by $Per_k(f)$ the set of periodic points 
253 of period $k$ for $f$, we have 
254  $\forall k \in \mathds{N}, Per_{2k+1}(G_{f_0}) = \varnothing, card\left(Per_{2k+2}(G_{f_0})\right)>0$.
255 \end{proposition}
256  
257 So $ G_{f_0}$ does not present the existence of points of any period referred as chaos in the article of Li and Yorke~\cite{Li75}.
258 However~\cite{GuyeuxThese10}:
259      \begin{itemize}
260        \item This kind of disorder can be stated on $\mathcal{X}^G = \mathcal{P}\left(\llbracket 1,\mathsf{N}\rrbracket\right)^\mathds{N}\times \mathds{B}^\mathsf{N}$.
261        \item $G_{f_0}$ possesses more than $n^2$ points of period $2n$.
262      \end{itemize}
263 Additionally, this existence of points of any period has been rejected
264 by the community to the benefit of more recent notions of chaos, 
265 like those developed these last decades by Devaney~\cite{Devaney}, Knudsen~\cite{Knudsen94}, etc.
266 These approaches are recalled in the next section.
267
268 \section{The Mathematical Theory of Chaos}
269
270 We will present in this section various understanding of a chaotic behavior for a discrete
271 dynamical system.
272
273 \subsection{Approaches Similar to Devaney}
274
275 In these approaches, three ingredients are required for unpredictability. 
276 Firstly, the system must be intrinsically complicated, undecomposable: it cannot be simplified into two
277 subsystems that do not interact, making any divide and conquer strategy 
278 applied to the system inefficient. In particular, a lot of orbits must visit
279 the whole space. Secondly, an element of regularity is added, to counteract
280 the effects of the first ingredient, leading to the fact that closed points
281 can behave in a completely different manner, and this behavior cannot be predicted.
282 Finally, sensibility of the system is demanded as a third ingredient, making that
283 closed points can finally become distant during iterations of the system.
284 This last requirement is, indeed, often implied by the two first ingredients.
285
286 Having this understanding of an unpredictable dynamical system, Devaney has
287 formalized in~\cite{Devaney} the following definition of chaos.
288
289 \begin{definition}
290 A discrete dynamical system $x^0 \in \mathcal{X}, x^{n+1}=f(x^n)$ on a
291 metric space $(\mathcal{X},d)$ is said to be chaotic according to Devaney
292 if it satisfies the three following properties:
293     \begin{enumerate}
294 \item \emph{Transitivity:} For each couple of open sets $A,B \subset \mathcal{X}$, there exists $k \in \mathbb{N}$ such that $f^{(k)}(A)\cap B \neq \varnothing$.
295 \item \emph{Regularity:} Periodic points are dense in $\mathcal{X}$.
296 \item \emph{Sensibility to the initial conditions:} There exists $\varepsilon>0$ such that $$\forall x \in \mathcal{X}, \forall \delta >0, \exists y \in \mathcal{X}, \exists n \in \mathbb{N}, d(x,y)<\delta \textrm{ and } d(f^{(n)}(x),f^{(n)}(y)) \geqslant \varepsilon.$$
297 \end{enumerate}
298 \end{definition}
299
300 The system can be intrinsically complicated for various other understanding of this wish, that are 
301 not equivalent one another, like:
302 \begin{itemize}
303     \item \emph{Undecomposable}: it is not the union of two nonempty closed subsets that are positively invariant ($f(A) \subset A$).
304   \item \emph{Total transitivity}: $\forall n \geqslant 1$, the function composition $f^{(n)}$ is transitive.
305   \item \emph{Strong transitivity}: $\forall x,y \in \mathcal{X},$ $\forall r>0,$ $\exists z \in B(x,r),$ $\exists n \in \mathbb{N},$ $f^{(n)}(z)=y.$
306   \item \emph{Topological mixing}:  for all pairs of disjoint open nonempty sets $U$ and $V$, there exists $n_0 \in \mathbb{N}$ such that $\forall n \geqslant n_0, f^{(n)}(U) \cap V \neq \varnothing$.
307 \end{itemize}
308
309
310 Concerning the ingredient of sensibility, it can be reformulated as follows.
311 \begin{itemize}
312   \item $(\mathcal{X},f)$ is \emph{unstable} is all its points are unstable: $\forall x \in \mathcal{X},$ $\exists \varepsilon >0,$ $\forall \delta > 0,$ $\exists y \in \mathcal{X},$ $\exists n \in \mathbb{N},$ $d(x,y)<\delta$ and $d(f^{(n)}(x),f^{(n)}(y)) \geqslant \varepsilon$.
313   \item $(\mathcal{X},f)$ is \emph{expansive} is $\exists \varepsilon >0,$ $\forall x \neq y,$ $\exists n \in \mathbb{N},$ $d(f^{(n)}(x),f^{(n)}(y)) \geqslant \varepsilon$
314 \end{itemize}
315
316 These variety of definitions lead to various notions of chaos. For instance, 
317 a dynamical system is chaotic according to Wiggins if it is transitive and
318 sensible to the initial conditions. It is said chaotic according to Knudsen
319 if it has a dense orbit while being sensible. Finally, we speak about
320 expansive chaos when the properties of transitivity, regularity, and expansivity
321 are satisfied.
322
323
324
325 \subsection{Li-Yorke approach}
326
327 The approach for chaos presented in the previous section, considering that
328 a chaotic system is a system intrinsically complicated (undecomposable),
329 with possibly an element of regularity and/or sensibility, has been
330 completed by other understanding of chaos. Indeed, as ``randomness''
331 or ``infiniteness'', a single universal definition of chaos is cannot
332 be found. The kind of behaviors that are attempted to be described are
333 too much complicated to enter into only one definition. Instead, a 
334 large panel of mathematical descriptions have been proposed these last
335 decades, being all theoretically justified. Each of these definitions
336 give illustration to some particular aspects of a chaotic behavior.
337
338 The first of these parallel approaches can be found in the pioneer
339 work of Li and Yorke~\cite{Li75}. In their well-known article entitled
340 ``Period three implies chaos'', they rediscovered a weaker formulation of 
341 the Sarkovskii's theorem, meaning that when a discrete dynamical system 
342 $(f,[0,1])$, with $f$ continuous, has a 3-cycle, then it has too a 
343 $n-$cycle, $\forall n \leqslant 2$. The community has not adopted this
344 definition of chaos, as several degenerated systems satisfy this property.
345 However, on their article~\cite{Li75}, Li and Yorke have studied too 
346 another interesting property, which has led to a notion of chaos 
347 ``according to Li and Yorke'', which is recalled below.
348
349 Let us firstly introduce the definition of Li-Yorke scrambled couple
350 of points. This is points that never stop to oscillate.
351
352 \begin{definition}
353 Let $(\mathcal{X},d)$ a metric space and $f:\mathcal{X} \longrightarrow
354 \mathcal{X}$ a continuous map. $(x,y)\in \mathcal{X}^2$ is a scrambled 
355 couple of points if $lim inf_{n\rightarrow \infty} d(f^n(x),f^n(y))=0$
356 and  $lim sup_{n\rightarrow \infty} d(f^n(x),f^n(y))>0$.
357 \end{definition}
358
359 A scrambled set is a set in which any couple of points oscillate (are
360 a scrambled couple), whereas a Li-Yorke chaotic system is a system 
361 possessing an uncountable scrambled set.
362
363
364 \subsection{Topological Entropy Approach}
365
366 The topological entropy of a topological dynamical system,
367 firstly introduced in 1965 by Adler, Konheim, and McAndrew~\cite{Adler65}, 
368 is a nonnegative real number that measures the complexity of the system. 
369 It represents the exponential growth rate of the number of distinguishable 
370 orbits of the iterates, for a system given by an iterated function.
371 It can be formulated as follows.
372
373 Let $f:\mathcal{X} \longrightarrow \mathcal{X}$ be a continuous map on
374 a compact metric space $(\mathcal{X},d)$. For each natural 
375 number $n$, a new metric $d_n$ is defined on $\mathcal{X}$ by 
376 $$d_n(x,y)=\max\{d(f^i(x),f^i(y)): 0\leq i<n\}.$$
377
378 Given any $\varepsilon >0$ and $n \geqslant 1$, two points of 
379 $\mathcal{X}$ are $\varepsilon$-close with respect to 
380 this metric if their first $n$ iterates are $\varepsilon$-close. This 
381 metric allows one to distinguish in a neighborhood of an orbit the 
382 points that move  away from each other during the iteration from the 
383 points that travel together. 
384
385 A subset $E$ of $\mathcal{X}$ is said to be $(n,\varepsilon)$-separated 
386 if each pair of distinct points of $E$ is at least $\varepsilon$ apart 
387 in the metric $d_n$. Denote by $N(n, \varepsilon)$ the 
388 maximum cardinality of a $(n,\varepsilon)$-separated set. 
389 $N(n, \varepsilon)$ represents the number of distinguishable orbit 
390 segments of length $n$, assuming that we cannot distinguish points 
391 within $\varepsilon$ of one another. 
392
393 \begin{definition}
394 The topological 
395 entropy of the map $f$ is defined by
396 $$h(f)=\lim_{\epsilon\to 0} \left(\limsup_{n\to \infty} \frac{1}{n}
397 \log N(n,\epsilon)\right).$$
398 \end{definition}
399
400
401
402 The limit defining $h(f)$ may 
403 be interpreted as the measure of the average exponential growth of the 
404 number of distinguishable orbit segments. In this sense, it measures 
405 complexity of the topological dynamical system $(\mathcal{X}, f)$.
406
407 \subsection{The Lyapunov Exponent}
408
409 The last measure of chaos that has been regarded for our proposed family
410 of pseudorandom number generators is the Lyapunov exponent. This
411 quantity characterizes the rate of separation of infinitesimally close 
412 trajectories. Indeed, two trajectories in phase space with initial 
413 separation $\delta$ diverge at a rate approximately
414 equal to $\delta e^{\lambda t}$,
415 where $\lambda$ is the Lyapunov exponent, which is defined by:
416
417 \begin{definition}
418 Let $f:\mathds{R} \longrightarrow \mathds{R}$ be a differentiable
419 function, and $x^0\in \mathds{R}$. The Lyapunov exponent is given by
420 $$\lambda(x^0) = \displaystyle{\lim_{n \to +\infty} \dfrac{1}{n} \sum_{i=1}^n \ln \left| ~f'\left(x^{i-1}\right)\right|}.$$
421 \end{definition}
422
423 Obviously, this exponent must be positive to have a multiplication of
424 initial errors, and thus chaos in this understanding.
425
426 Having all these definitions in mind, we have studied the topological 
427 behavior of chaotic iterations presented in Definition~\ref{defIC}.
428
429 \section{The Study of Iterative Systems}
430
431 We have firstly stated that~\cite{gb11:bc,GuyeuxThese10}:
432
433 \begin{theorem}
434     $G_{f_0}$ is regular and transitive on $(\mathcal{X},d)$, thus it is 
435     chaotic according to Devaney. 
436 Furthermore, its constant of sensibility is greater than $\mathsf{N}-1$.
437 \end{theorem}
438
439 Thus the set $\mathcal{C}$ of functions $f:\mathds{B}^\mathsf{N} 
440 \longrightarrow \mathds{B}^\mathsf{N}$ making the chaotic iterations of 
441 Definition~\ref{defIC} a case of chaos according to Devaney, is a nonempty
442 set. To characterize functions of $\mathcal{C}$, we have firstly stated
443 that transitivity implies regularity for these particular iterated 
444 systems~\cite{bcgr11:ip}. To achieve characterization, we then have introduced the
445 following graph.
446
447 \begin{figure}
448     \centering
449    \includegraphics[scale=0.55]{grapheTPICver2.pdf}
450    \caption{Example of an asynchronous iteration graph}
451    \label{GTPIC}
452    \end{figure}
453
454
455
456 Let $f$ be a map from $\mathds{B}^\mathsf{N}$ to itself. The
457 {\emph{asynchronous iteration graph}} associated with $f$ is the
458 directed graph $\Gamma(f)$ defined by: the set of vertices is
459 $\mathds{B}^\mathsf{N}$; for all $x\in\mathds{B}^\mathsf{N}$ and 
460 $i\in \llbracket1;\mathsf{N}\rrbracket$,
461 the graph $\Gamma(f)$ contains an arc from $x$ to $F_f(i,x)$. 
462 The relation between $\Gamma(f)$ and $G_f$ is clear: there exists a
463 path from $x$ to $x'$ in $\Gamma(f)$ if and only if there exists a
464 strategy $s$ such that the parallel iteration of $G_f$ from the
465 initial point $(s,x)$ reaches the point $x'$. Figure~\ref{GTPIC} presents
466 such an asynchronous iteration graph.
467 We thus have proven that~\cite{bcgr11:ip}.
468
469
470 \begin{theorem} 
471 $G_f$  is transitive, and thus chaotic according to Devaney, 
472 if  and only if $\Gamma(f)$ is strongly connected.
473 \end{theorem}
474
475 This characterization makes it possible to quantify the number of 
476 functions in $\mathcal{C}$: it is equal to
477  $\left(2^\mathsf{N}\right)^{2^\mathsf{N}}$.
478 Then the study of the topological properties of disorder of these
479 iterative systems has been further investigated, leading to the following
480 results.
481
482 \begin{theorem}
483  $\forall f \in \mathcal{C}$, $Per\left(G_f\right)$ is infinitely countable, $G_f$ is strongly transitive and is chaotic according to Knudsen. It is thus undecomposable, unstable, and chaotic as defined by Wiggins.
484  \end{theorem}
485
486  \begin{theorem}
487 $\left(\mathcal{X}, G_{f_0}\right)$ is topologically mixing, 
488      expansive (with a constant equal to 1), chaotic as defined by 
489      Li and Yorke, and has a topological entropy and an exponent of Lyapunov 
490      both equal to $ln(\mathsf{N})$.
491 \end{theorem}
492
493 At this stage, a new kind of iterative systems that only manipulates 
494 integers have been discovered, leading to the questioning of their 
495 computing for security applications. In order to do so, the possibility
496 of their computation without any loss of chaotic properties has first 
497 been investigated. These chaotic machines are presented in the next
498 section.
499
500
501
502
503 \section{Topology of Programs}
504
505
506 The next stage was to prove that chaos was possible in finite machine.
507 The two main problems were that: (1) Chaotic sequences are usually 
508 defined in the real line whereas define real numbers on computers 
509 is impossible. (2) All finite state machines always enter into a cycle
510 when iterating, and this periodic behavior cannot be stated as chaotic.
511
512 The first problem is disputable, as the shadow lemma proves that, when
513 considering the sequence $x^{n+1} = trunc_k\left(f(x^n)\right)$, where
514 $(f,[0,1])$ is a chaotic dynamical system and $trunc_k(x) = 
515 \dfrac{\lfloor 10^k x \rfloor}{10^k}$ is the truncated version of 
516 $x\in \mathds{R}$ at its $k-$th digits, then the sequence $(x^n)$ is as
517 close as possible to a real chaotic orbit. Thus iterating a chaotic 
518 function on floating point numbers does not deflate the chaotic behavior
519 as much. However, even if this first claim is not really a problem, we
520 have prevent from any disputation by considering a tool (the chaotic 
521 iterations) that only manipulates integers bounded by $\mathsf{N}$.
522
523 The second claim is surprisingly never considered as an issue when
524 considering the generation of randomness on computers.
525
526
527
528
529 %%\frame{
530 %%  \frametitle{Mode d'emploi}
531 %%  \begin{alertblock}{Chaos sur machine: quelques règles}
532 %%    \begin{enumerate}
533 %%      \item Ne pas laisser la machine travailler en vase clos %\newline
534 %%      %$\Rightarrow$ Une nouvelle entrée à chaque itérée
535 %%      \item Utiliser les médias sur lesquels on travaille %\newline
536 %%      %$\Rightarrow$ Ensemble infini dénombrable
537 %%      \item Ne manipuler que des entiers 
538 %%      \item \'Eviter les tailles fixes %(graine, nombre d'itérations, etc.)
539 %%    \end{enumerate}
540 %%  \end{alertblock}
541 %%}
542
543
544
545
546
547 %\frame{
548 %  \frametitle{Introduction}
549 %  \begin{block}{Deux cas de figure}
550 %    \begin{itemize}
551 %      \item En vase clos :
552 %      \begin{itemize}
553 %        \item 4 Go de mémoire $\Rightarrow 2^{4000000000}$ états possibles...
554 %        \item Lemme de filature/lemme fantôme
555 %      \end{itemize}
556 %      \item $\mathcal{X}=\mathds{B}^\mathsf{N}\times \mathcal{P}\left(\llbracket 1;\mathsf{N}\rrbracket\right)^\mathds{N}$:
557 %      \begin{itemize}
558 %        \item Pas de réels, que des entiers bornés par $\mathsf{N}$
559 %        \item On peut utiliser le média à chaque itérée
560 %      \end{itemize}
561 %    \end{itemize}
562 %  \end{block}
563 %}
564
565
566
567
568
569
570 %\frame{
571 %  \frametitle{Introduction}
572 %  \begin{exampleblock}{Deux questions}
573 %%  Vos ICs sont chaotiques, mais pour moi c'est pas ça une machine, un programme.
574 %\begin{itemize}
575 %      \item Peut-on construire des automates chaotiques ?
576 %      \item Peut-on évaluer si un programme est chaotique ?
577 %\end{itemize}
578 %  \end{exampleblock}
579 %}
580
581
582
583
584
585 %\frame{
586 % \frametitle{Une machine de Moore chaotique}
587 %  \begin{center}
588 %   \includegraphics[scale=0.55]{14.Caracterisation_des_IC_chaotiques_selon_Devaney/grapheTPICver2.pdf}
589 %  \end{center}
590 %}
591
592
593
594
595
596 %\frame{
597 %\frametitle{Le chaos d'un programme}
598 %\begin{block}{Machines de Turing et systèmes itératifs}
599 %Soit $(w,i,q)$ la configuration actuelle de la machine de Turing\\
600 %\begin{center}
601 %\includegraphics[scale=0.3]{Steganalyse/Medias/Turing.pdf} 
602 %\end{center}
603 %\begin{itemize}
604 %\item $w=\sharp^{-\omega} w(0) \hdots w(k)\sharp^{\omega}$ est la bande de lecture,
605 %\item $i$ est la position de la tête de lecture,
606 %\item $q$ décrit l'état de la machine,
607 %\item  et $\delta$ est sa fonction de transition. 
608 %\end{itemize}
609 %\end{block}
610 %}
611
612
613
614 %\frame{
615 %\frametitle{Le chaos d'un programme}
616 %\begin{block}{Machines de Turing et systèmes itératifs}
617 %On définit $f$ par: 
618
619 %\begin{itemize}
620 %\item Si $\delta(q;w(i)) = (q'; a; \rightarrow)$, alors $f(w(0) \hdots w(k);i;q) = ( w(0) \hdots w(i-1) ~ a ~ w(i+1) \hdots w(k); i+1; q')$
621 %\item Si $\delta(q;w(i)) = (q'; a; \leftarrow)$, alors $f( w(0) \hdots w(k);i;q) = (w(0) \hdots w(i-1) ~ a ~ w(i+1) \hdots w(k); i-1; q')$
622 %\end{itemize} 
623
624 %La machine peut être écrite sous la forme $x^{n+1}=f(x^n)$
625 %\end{block}
626 %}
627
628
629
630
631
632
633
634 %\frame{
635 %  \frametitle{A quoi ça sert ?}
636 %  \begin{exampleblock}{Un programme chaotique, pour quoi faire ?}
637 %\begin{itemize}
638 %      \item Se placer dans de bonnes conditions lors de conception de nouveaux algorithmes 
639 %      \item Renforcer les attaques (virus chaotique) 
640 %      \item Simuler numériquement des processus chaotiques
641 %      \item Renforcer la sécurité     
642 %      \item Battre l'intelligence artificielle
643 %\end{itemize}
644 %  \end{exampleblock}
645 %  
646 %%  \uncover<3->{
647 %%  Tentons une première illustration
648 %%  }
649 %}
650
651
652
653
654
655 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
656 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
657 %\section{Applications aux PRNGs}
658 %\subsection*{PRNGs}
659 %\begin{frame}{Applications}
660 %% 'transition': Crossfade,
661 %  \begin{center}
662 %   \Huge{Applications}
663
664 %\medskip
665 %   \huge{Générateurs pseudo-aléatoires}
666 %  \end{center}
667 %\end{frame}
668 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
669 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
670
671
672 %\frame{
673 %  \frametitle{Chaos et aléas}
674 %    \begin{block}{Motivations: La batterie du NIST}
675 %      \begin{itemize}
676 %\item \textbf{Transitivités}
677 %    \begin{itemize}
678 %        \item \textbf{Random Excursions Variant Test.} To detect deviations from the expected number of visits to various states in the random walk.
679 %        \item \textbf{Random Excursions Test.} To determine if the number of visits to a particular state within a cycle deviates from what one would expect for a random sequence.
680 %    \end{itemize}
681 %\item \textbf{Chaos selon Li-Yorke}
682 %    \begin{itemize}
683 %        \item \textbf{Runs Test.} To determine whether the number of runs of ones and zeros of various lengths is as expected for a random sequence. In particular, this test determines whether the oscillation between such zeros and ones is too fast or too slow.
684 %    \end{itemize}
685 %\end{itemize}
686 %\end{block}
687 %}    
688
689 %\frame{
690 %  \frametitle{Chaos et aléas}
691 %    \begin{block}{Motivations: La batterie du NIST}
692 %      \begin{itemize}
693 %    \item \textbf{Régularité}
694 %    \begin{itemize}
695 %        \item \textbf{Non-overlapping Template Matching Test} To detect generators that produce too many occurrences of a given non-periodic (aperiodic) pattern (m is the length in bits of each template which is the target string).
696 %        \item \textbf{Discrete Fourier Transform (Spectral) Test} To detect periodic features (i.e., repetitive patterns that are near each other) in the tested sequence that would indicate a deviation from the assumption of randomness.
697 %    \end{itemize}
698 %    \item \textbf{Entropie}
699 %    \begin{itemize}
700 %\item \textbf{Approximate Entropy Test} To compare the frequency of overlapping blocks of two consecutive/adjacent lengths (m and m+1) against the expected result for a random sequence (m is the length of each block).
701 %    \end{itemize}
702 %    \end{itemize}
703 %\end{block}
704 %}    
705
706 %\frame{
707 %  \frametitle{Chaos et aléas}
708 %    \begin{block}{Motivations: La batterie du NIST}
709 %      \begin{itemize}
710 %    \item \textbf{Non-linéarité, complexité}
711 %    \begin{itemize}
712 %\item \textbf{Binary Matrix Rank Test} To check for linear dependence among fixed length substrings of the original sequence.
713 %\item \textbf{Linear Complexity Test} To determine whether or not the sequence is complex enough to be considered random (M is the length in bits of a block).
714 %      \end{itemize}
715 %\end{itemize}
716 %    \end{block}
717 %}
718
719
720 %\subsection*{Le Old CI PRNG}
721 %\frame{
722 %  \frametitle{Notre PRNG}
723 % \begin{alertblock}{Le PRNG $CI_f(PRNG_1,PRNG_2)$}
724 % \begin{description}
725 %\item[\underline{Paramètres:}] Une fonction $f: \mathds{B}^\mathsf{N} \rightarrow  \mathds{B}^\mathsf{N}$, et deux PRNGs:\\
726 %\begin{itemize}
727 %\item $S\in\llbracket 1,\mathsf{N}\rrbracket^\mathds{N}$
728 %\item et $m\in S^\mathds{N}, S \subset \mathds{N}$
729 %\end{itemize}
730 %\item[\underline{Graine:}] Les graines de $S$ et $m$, et $E\in \mathds{B}^\mathsf{N}$\\
731 %\item[\underline{PRNG:}] $\left(G_f(E,S)^{m^i}\right)_{i\in\mathds{N}}$
732 %\end{description}
733 % \end{alertblock}
734
735 %% \uncover<2->{
736 %% \begin{exampleblock}{Exemple: $X^{n+1} = X^n \oplus Y^n$}
737 %%  où $Y \in \llbracket 0, 2^{\mathsf{N}}-1 \rrbracket^\mathds{N}$
738 %% \end{exampleblock}
739 %% }
740 %}
741
742
743
744 %%\frame{
745 %%  \frametitle{Old CI PRNG: Illustration}
746 %%  \begin{block}{}
747 %%\begin{figure}
748 %%\centering
749 %%  \includegraphics[scale=0.4]{OldCI1.png}
750 %%  \caption{Le Old CI PRNG}
751 %%  \end{figure}
752 %%  \end{block}
753 %%}
754
755
756
757 %%\frame{
758 %%  \frametitle{Old CI PRNG: Illustration}
759 %%  \begin{block}{}
760 %%\begin{figure}
761 %%\centering
762 %%  \includegraphics[scale=0.41]{OldCI2.png}
763 %%  \caption{Le Old CI PRNG}
764 %%  \end{figure}
765 %%  \end{block}
766 %%}
767
768
769 %%\frame{
770 %%  \frametitle{Old CI PRNG: Illustration}
771 %%  \begin{block}{}
772 %%\begin{figure}
773 %%\centering
774 %%  \includegraphics[scale=0.4]{OldCI3.png}
775 %%  \caption{Le Old CI PRNG}
776 %%  \end{figure}
777 %%  \end{block}
778 %%}
779
780
781
782
783 %%\frame{
784 %%  \frametitle{Old CI PRNG: Illustration}
785 %%  \begin{block}{}
786 %%\begin{figure}
787 %%\centering
788 %%  \includegraphics[scale=0.4]{OldCI4.png}
789 %%  \caption{Le Old CI PRNG}
790 %%  \end{figure}
791 %%  \end{block}
792 %%}
793
794
795
796 %%\frame{
797 %%  \frametitle{Old CI PRNG: Illustration}
798 %%  \begin{block}{}
799 %%\begin{figure}
800 %%\centering
801 %%  \includegraphics[scale=0.4]{OldCI5.png}
802 %%  \caption{Le Old CI PRNG}
803 %%  \end{figure}
804 %%  \end{block}
805 %%}
806
807
808
809
810 %%\frame{
811 %% \frametitle{Graphe de tous les possibles par IC}
812 %%  \begin{center}
813 %%   \includegraphics[scale=0.55]{14.Caracterisation_des_IC_chaotiques_selon_Devaney/grapheTPICver2.pdf}
814 %%  \end{center}
815 %%}
816
817
818
819
820
821 %\begin{frame}{Le Old $CI_{f_0}$(logistic,logistic)}
822 %\begin{block}{}
823 %\begin{tabular}{llllllllll}
824 %m (logistic map):&\uncover<1->{2}      &\uncover<3->{~}                &\uncover<4->{~}        &\uncover<5->{~1}&\uncover<8->{~4}&\uncover<9->{~}&\uncover<10->{~}&\uncover<11->{~}& \uncover<13->{...}\\
825 %S (logistic map):&\uncover<2->{1}      &\uncover<3->{~3}               &\uncover<4->{~}        &\uncover<6->{~2}&\uncover<9->{~1}&\uncover<10->{~1}&\uncover<11->{~2}&\uncover<12->{~1}& \uncover<14->{...}\\
826 %\end{tabular}
827 %\end{block}
828
829 %\begin{block}{\'Etat interne du système x:}
830 %\begin{equation}
831 %\label{Basic equations}
832 %\begin{array}{r@{\;}l}
833 %\ \textbf{0}\uncover<2->{\rightarrow \textbf{1}} \uncover<3->{\rightarrow 1}  \uncover<6->{\rightarrow 1} \uncover<9->{\rightarrow \textbf{0}} \uncover<10->{\rightarrow \textbf{1}} \uncover<11->{\rightarrow 1} \uncover<12->{\rightarrow \textbf{0}} \uncover<14->{...}\\
834 %\ \textbf{0}\uncover<2->{\rightarrow 0} \uncover<3->{\rightarrow 0} \uncover<6->{\rightarrow \textbf{1}} \uncover<9->{\rightarrow 1} \uncover<10->{\rightarrow 1} \uncover<11->{\rightarrow \textbf{0}} \uncover<12->{\rightarrow 0} \uncover<14->{...}\\
835 %\ \textbf{0}\uncover<2->{\rightarrow 0} \uncover<3->{\rightarrow \textbf{1}} \uncover<6->{\rightarrow 1} \uncover<9->{\rightarrow 1}\uncover<10->{\rightarrow 1} \uncover<11->{\rightarrow 1} \uncover<12->{\rightarrow 1} \uncover<14->{...}\\
836 %\ \textbf{0}\uncover<2->{\rightarrow 0} \uncover<3->{\rightarrow 0} \uncover<6->{\rightarrow 0} \uncover<9->{\rightarrow 0} \uncover<10->{\rightarrow 0} \uncover<11->{\rightarrow 0} \uncover<12->{\rightarrow 0} \uncover<14->{...}\\
837 %\end{array}
838 %\end{equation}
839 %\end{block}
840
841 %\begin{block}{}
842
843 %\alert{Sortie:} \uncover<4->{1 0 1 0 }\uncover<7->{1 1 1 0 }\uncover<13->{0 0 1 0 }\uncover<14->{...}
844
845 %\end{block}
846 %\end{frame}
847
848
849
850
851 %\begin{frame}{Choix de l'ensemble $\mathcal{M}$}
852 % \begin{figure}[!t]
853 % \centering
854 % \includegraphics[width=3.5in,height=2in]{lesM.png}
855 % \DeclareGraphicsExtensions.
856 % \caption{Nombre d'itérations entre deux sorties}
857 % \label{Premiers tests élémentaires}
858 % \end{figure}
859 %\end{frame}
860
861
862
863
864 %\begin{frame}{Choix de l'ensemble $\mathcal{M}$}
865 % \begin{figure}[!t]
866 % \centering
867 % \includegraphics[width=3.5in,height=2in]{leM.png}
868 % \DeclareGraphicsExtensions.
869 % \caption{Choix de $\mathcal{M}$}
870 % \end{figure}
871 %\end{frame}
872
873
874
875
876
877 %\frame{
878 %\frametitle{Résultats}
879 %\begin{alertblock}{Premiers résultats}
880 %\begin{enumerate}
881 %  \item Générateur chaotique dès que le GTPIC de $G_f$ est fortement connexe
882 %  \item Toutes les autres propriétés de chaos
883 %  \item Sortie uniforme si la matrice d'adjacence réduite du GTPIC est doublement stochastique
884 %  \item Les résultats aux tests statistiques sont meilleurs (DieHARD, NIST, TestU01)
885 %\end{enumerate}
886 %\end{alertblock}
887 %}
888
889
890
891
892 %\begin{frame}{Premiers tests comparatifs}
893 % \begin{figure}[!t]
894 % \centering
895 % \includegraphics[width=3.5in,height=2in]{1.pdf}
896 % \DeclareGraphicsExtensions.
897 % \caption{Premiers tests élémentaires}
898 % \label{Premiers tests élémentaires}
899 % \end{figure}
900 %\end{frame}
901
902
903 %\begin{frame}{NIST pour les PRNG en entrée}
904 % \begin{figure}[!t]
905 % \centering
906 % \includegraphics[scale=0.27]{NistSeul.png}
907 % \DeclareGraphicsExtensions.
908 % \caption{Le NIST pour 3 PRNG}
909 % \end{figure}
910 %\end{frame}
911
912
913
914 %\begin{frame}{NIST pour le Old CI}
915 % \begin{figure}[!t]
916 % \centering
917 % \includegraphics[scale=0.27]{NistAvec.png}
918 % \DeclareGraphicsExtensions.
919 % \caption{Résultats du Old CI PRNG}
920 % \end{figure}
921 %\end{frame}
922
923
924
925 %\begin{frame}{DieHard pour les PRNG en entrée}
926 % \begin{figure}[!t]
927 % \centering
928 % \includegraphics[scale=0.27]{DieHardSeul.png}
929 % \DeclareGraphicsExtensions.
930 % \caption{DieHard pour 3 PRNG}
931 % \end{figure}
932 %\end{frame}
933
934
935
936
937 %\begin{frame}{DieHard pour le Old CI}
938 % \begin{figure}[!t]
939 % \centering
940 % \includegraphics[scale=0.24]{DieHarda.png}
941 % \DeclareGraphicsExtensions.
942 % \caption{Résultats du Old CI PRNG}
943 % \end{figure}
944 %\end{frame}
945
946
947
948
949 %\begin{frame}{TestU01 pour les PRNG en entrée}
950 % \begin{figure}[!t]
951 % \centering
952 % \includegraphics[scale=0.3]{TestUSeul.png}
953 % \DeclareGraphicsExtensions.
954 % \caption{TestU01 pour 3 PRNG}
955 % \end{figure}
956 %\end{frame}
957
958
959
960
961
962
963
964
965 %\begin{frame}{TestU01 pour le Old CI}
966 % \begin{figure}[!t]
967 % \centering
968 % \includegraphics[scale=0.25]{TestUAvec.png}
969 % \DeclareGraphicsExtensions.
970 % \caption{Résultats du Old CI PRNG}
971 % \end{figure}
972 %\end{frame}
973
974
975
976 %\subsection*{Le New CI PRNG}
977 %\frame{
978 %  \frametitle{Variantes}
979 %    \begin{block}{Quelques variantes du CI PRNG}
980 %      \begin{itemize}
981 %        \item $New ~CI_f(PRNG_1,PRNG_2)$: éviter de changer deux fois de suite un même bit entre deux outputs
982 %          \begin{itemize}
983 %            \item Ne plus compter le nombre d'itérées entre deux outputs
984 %            \item Mais le nombre de bits à changer
985 %          \end{itemize}
986 %        \item $Xor CI PRNG$: $S^{n+1}=S^n \oplus PRNG^n$
987 %        \item etc.
988 %      \end{itemize}
989 %    \end{block}
990 %}
991
992
993
994
995
996
997 %\begin{frame}{La suite $m$ du New CI}
998 %Supposons que $x_0 = (0, 0, 0)$. Alors $m_0 \in \llbracket 0, 3 \rrbracket$: on
999 %peut changer de 0 à 3 bits dans cet état pour produire $x_1$.
1000 %\begin{itemize}
1001 %  \item Si $m_0 = 0$, alors aucun bit ne changera entre la première et la
1002 %  seconde sortie de notre générateur. Et donc $x_1 = (0, 0, 0)$.
1003 %  \item Si $m_0 = 1$, alors exactement 1 bit changera, ce qui conduit à trois
1004 %  valeurs possibles pour $x_1$, à savoir (1, 0, 0), (0, 1, 0) et (0, 0, 1).
1005 %  \item etc.
1006 %\end{itemize}
1007 %\end{frame}
1008
1009
1010
1011 %\begin{frame}{La suite $m$ du New CI}
1012 %\begin{equation}
1013 %\label{Formula}
1014 %m^n = f(y^n)=
1015 %\left\{
1016 %\begin{array}{l}
1017 %0 \text{   si   }0                             \leqslant\frac{y^n}{2^{32}}<\frac{C^0_N}{2^N},\\
1018 %1 \text{   si   }\frac{C^0_N}{2^N}             \leqslant\frac{y^n}{2^{32}}<\sum_{i=0}^1\frac{C^i_N}{2^N},\\
1019 %2 \text{   si   }\sum_{i=0}^1\frac{C^i_N}{2^N} \leqslant\frac{y^n}{2^{32}}<\sum_{i=0}^2\frac{C^i_N}{2^N},\\
1020 %\vdots~~~~~                                    ~~\vdots~~~                 ~~~~\\
1021 %N \text{   si   }\sum_{i=0}^{N-1}\frac{C^i_N}{2^N}     \leqslant\frac{y^n}{2^{32}}<1.\\
1022 %\end{array}
1023 %\right.
1024 %\end{equation}
1025 %\end{frame}
1026
1027
1028
1029
1030
1031 %\begin{frame}{Stratégie chaotique}
1032 %Une suite de marquage controlera la suite du XORshift $b$ ainsi:
1033 %\begin{itemize}
1034 %\item si $d^{b^j} \neq 1$, alors $S^k=b^j$, $d^{b^j} = 1$ et $k = k+1$
1035 %\item si $d^{b^j}=1$, alors $b^j$ est écarté.
1036 %\end{itemize}
1037 %Par exemple, si $b = 142\underline{2}334
1038 %142\underline{1} \underline{1}\underline{2}\underline{2}34...$ et $m =
1039 %4241...$, alors $S=1423~34~1423~4...$
1040 %\end{frame}
1041
1042
1043
1044
1045
1046
1047 %%\subsection*{Chaotic iterations as pseudo-random generator}
1048 %% \begin{frame}{CI(XORshift, XORshift) algorithm}
1049 %% \begin{tiny}
1050 %% \begin{table}
1051 %% \centering
1052 %% \begin{tabular}{|l|}
1053 %% \hline
1054 %% ~\textbf{Input}: the internal state $x$ (an array of $\mathsf{N}$ bits)\\
1055 %% \hline
1056 %% ~\textbf{Output}: a state $r$ of $\mathsf{N}$ bits \\
1057 %% \hline
1058 %% ~\textbf{for} $i=0,\dots,N$ \textbf{do}\\
1059 %% ~~~~~~ $d_i\leftarrow{0}$;\\
1060 %% ~\textbf{end for}\\
1061 %% ~$a\leftarrow{XORshift1(~)}$;\\
1062 %% ~$m\leftarrow{f(a)}$\;\\
1063 %% ~$k\leftarrow{m}$\;\\
1064 %% ~\textbf{for} $i=0,\dots,k$ \textbf{do}\\
1065 %% ~~~~~~ $b\leftarrow{XORshift2() mod ~ N}$;\\
1066 %% ~~~~~~ $S\leftarrow{b}$;\\
1067 %% ~~~~~~~\textbf{if} $d_S=0$ \textbf{then}\\
1068 %% ~~~~~~~~~~~~ $x_S\leftarrow{ \overline{x_S}}$;\\
1069 %% ~~~~~~~~~~~~ $d_S\leftarrow{1}$;\\
1070 %% ~~~~~~~\textbf{end}\\
1071 %% ~~~~~~~\textbf{else if} $d_S=1$ \textbf{then}\\
1072 %% ~~~~~~~~~~~~ $k\leftarrow{k+1}$;\\
1073 %% ~~~~~~~\textbf{end}\\
1074 %% ~\textbf{end for}\\
1075 %% ~$r\leftarrow{x}$\;\\
1076 %% ~\textbf{return} $r$;\\
1077 %% \hline
1078 %% 
1079 %% \end{tabular}
1080 %% \caption{An arbitrary round of the proposed generator}
1081 %% \label{Chaotic iteration}
1082 %% \end{table}
1083 %% \end{tiny}
1084 %% 
1085 %% \end{frame}
1086 %% 
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103 %%\begin{frame}{Exemple du New CI}
1104 %%\begin{block}{}
1105 %%\begin{tabular}{llllll}
1106 %%m:&\uncover<2->{0~}   &\uncover<4->{4~~}                      &\uncover<6->{2 }       &\uncover<8->{2}&\uncover<10->{...}\\
1107 %%k:&\uncover<2->{0~}   &\uncover<4->{4~~~~~~+1~}               &\uncover<6->{2 }       &\uncover<8->{2~+1}&\uncover<10->{...}\\
1108 %%b:&\uncover<2->{~~}   &\uncover<4->{1~4~2~\underline{2}~3}    &\uncover<6->{3~4}      &\uncover<8->{1~\underline{1}~~~4}&\uncover<10->{...}\\
1109 %%S:&\uncover<2->{~~}   &\uncover<4->{1~4~2~~~~3}               &\uncover<6->{3~4}      &\uncover<8->{1~~~~~~4}&\uncover<10->{...}
1110 %%\end{tabular}
1111 %%\end{block}
1112 %% 
1113 %%\begin{block}{x:}
1114 %%\begin{equation}
1115 %%\label{Basic equations}
1116 %%% \left\{
1117 %%\begin{array}{r@{\;}l}
1118 %%\ \textbf{0}\uncover<2->{\rightarrow \textbf{0}}      \uncover<4->{\rightarrow \textbf{1}\rightarrow 1\rightarrow 1\rightarrow \textbf{1}}    \uncover<6->{\rightarrow 1\rightarrow \textbf{1}}               \uncover<8->{\rightarrow \textbf{0}\rightarrow \textbf{0}}      \uncover<10->{...}\\
1119 %%\ \textbf{1}\uncover<2->{\rightarrow \textbf{1}}      \uncover<4->{\rightarrow 1\rightarrow 1\rightarrow \textbf{0}\rightarrow \textbf{0}}    \uncover<6->{\rightarrow 0\rightarrow \textbf{0}}               \uncover<8->{\rightarrow 0\rightarrow \textbf{0}}                               \uncover<10->{...}\\
1120 %%\ \textbf{0}\uncover<2->{\rightarrow \textbf{0}}      \uncover<4->{\rightarrow 0\rightarrow 0\rightarrow 0\rightarrow \textbf{1}}                             \uncover<6->{\rightarrow \textbf{0}\rightarrow \textbf{0}}      \uncover<8->{\rightarrow 0\rightarrow \textbf{0}}                               \uncover<10->{...}\\
1121 %%\ \textbf{0}\uncover<2->{\rightarrow \textbf{0}}      \uncover<4->{\rightarrow 0\rightarrow \textbf{1}\rightarrow 1\rightarrow \textbf{1}}    \uncover<6->{\rightarrow 1\rightarrow \textbf{0}}               \uncover<8->{\rightarrow 0\rightarrow \textbf{1}}                               \uncover<10->{...}
1122 %%\end{array}
1123 %%% \right.
1124 %%\end{equation}
1125 %%\end{block}
1126
1127 %%\begin{block}{}
1128
1129 %%\alert{Sortie:} 0 1 0 0 \uncover<3->{0 1 0 0 }\uncover<5->{1 0 1 1
1130 %%}\uncover<7->{1 0 0 0 }\uncover<9->{0 0 0 1 }\uncover<10->{...}
1131
1132 %%\end{block}
1133
1134 %%\end{frame}
1135
1136
1137
1138
1139
1140 %\begin{frame}{Nouvelle version de $CI_f(PRNG_1,PRNG_2)$}
1141 % \begin{figure}[!t]
1142 % \centering
1143 % \includegraphics[scale=0.25]{newCI.png}
1144 % \DeclareGraphicsExtensions.
1145 % \caption{Le NEW CI PRNG}
1146 % \end{figure}
1147 %\end{frame}
1148
1149
1150
1151 %\begin{frame}{NIST pour le New CI}
1152 % \begin{figure}[!t]
1153 % \centering
1154 % \includegraphics[scale=0.27]{NistNew.png}
1155 % \DeclareGraphicsExtensions.
1156 % \caption{Résultats du New CI PRNG (Nist)}
1157 % \end{figure}
1158 %\end{frame}
1159
1160
1161
1162
1163 %\begin{frame}{DieHard pour le New CI}
1164 % \begin{figure}[!t]
1165 % \centering
1166 % \includegraphics[scale=0.24]{DieHardNew.png}
1167 % \DeclareGraphicsExtensions.
1168 % \caption{Résultats du New CI PRNG (DieHard)}
1169 % \end{figure}
1170 %\end{frame}
1171
1172
1173
1174
1175
1176
1177
1178 %\begin{frame}{TestU01 pour le New CI}
1179 % \begin{figure}[!t]
1180 % \centering
1181 % \includegraphics[scale=0.37]{TestUNew.png}
1182 % \DeclareGraphicsExtensions.
1183 % \caption{Résultats du New CI PRNG (TestU01)}
1184 % \end{figure}
1185 %\end{frame}
1186
1187
1188
1189
1190
1191
1192
1193 %%\begin{frame}{Premiers tests comparatifs}
1194 %%\begin{tiny}
1195 %%\begin{table}[!t]
1196 %%\renewcommand{\arraystretch}{1.3}
1197 %%\caption{Comparaison avec $2 \times 10^5$ bits}
1198 %%\label{Comparison2}
1199 %%\centering
1200 %%  \begin{tabular}{ccccccc}
1201 %%    \hline
1202 %%Method & Monobit & Serial & Poker & Runs & Autocorrelation & Time  \\ \hline
1203 %%Logistic map &0.1280&0.1302&240.2893&26.5667&0.0373&0.965s \\
1204 %%XORshift &1.7053&2.1466&248.9318&18.0087&-0.5009&0.096s \\
1205 %%Old CI(Logistic, Logistic) &1.0765&1.0796&258.1069&20.9272&-1.6994&0.389s \\
1206 %%New CI(XORshift,XORshift) &0.3328&0.7441&262.8173&16.7877&-0.0805&0.197s\\
1207 %%    \hline
1208 %%  \end{tabular}
1209 %%\end{table}
1210 %%\end{tiny}
1211 %%\end{frame}
1212
1213
1214
1215
1216
1217
1218
1219
1220 %%\frame{
1221 %%  \frametitle{Résultats au TestU01}
1222 %%  \begin{center}
1223 %%  \begin{tabular}{|c|c|}
1224 %%  \hline
1225 %%  PRNG & Échecs (sur 516 tests) \\
1226 %%  \hline
1227 %%  Suite logistique & 261 \\
1228 %%  XORshift & 146 \\
1229 %%  ISAAC & 0 \\
1230 %%  \hline
1231 %%  Old CI(Logistic,Logistic) & 138 \\
1232 %%  Old CI(XORshift,XORshift) & 9 \\
1233 %%  Old CI(ISAAC,XORshift) & 0 \\
1234 %%  Old CI(ISAAC,ISAAC) & 0 \\
1235 %%  \hline
1236 %%  New CI(Logistic,Logistic) & 0 \\
1237 %%  New CI(ISAAC,XORshift) & 0 \\
1238 %%  New CI(ISAAC,ISAAC) & 0 \\
1239 %%  \hline
1240 %%  \end{tabular}
1241 %%  \end{center}
1242 %%%  \begin{figure}
1243 %%%  \centering
1244 %%%  \includegraphics[scale=0.35]{testU010.png}
1245 %%%  \caption{Score de quelques PRNGs au TestU01}
1246 %%%  \end{figure}
1247 %%}
1248
1249
1250
1251 %%\frame{
1252 %%  \frametitle{Résultats}
1253 %%  \begin{figure}
1254 %%  \centering
1255 %%  \includegraphics[scale=0.35]{testU011.png}
1256 %%  \caption{Améliorations via le $Old CI(PRNG_1,PRNG_2)$}
1257 %%  \end{figure}
1258 %%}
1259
1260
1261
1262 %%\frame{
1263 %%  \frametitle{Résultats}
1264 %%  \begin{figure}
1265 %%  \centering
1266 %%  \includegraphics[scale=0.35]{testU012.png}
1267 %%  \caption{Améliorations via le $New CI(PRNG_1,PRNG_2)$}
1268 %%  \end{figure}
1269 %%}
1270
1271
1272
1273 %\frame{
1274 %  \frametitle{Résultats}
1275 %  \begin{figure}
1276 %  \centering
1277 %  \includegraphics[scale=0.27]{prngs.png}
1278 %  \caption{Autres résultats}
1279 %  \end{figure}
1280 %  }
1281
1282
1283
1284 %\frame{
1285 %  \frametitle{Résultats}
1286 %  \begin{figure}
1287 %  \centering
1288 %  \includegraphics[scale=0.27]{vitesse.png}
1289 %  \caption{Perte de vitesse}
1290 %  \end{figure}
1291 %  }
1292
1293
1294 %%\frame{
1295 %%  \frametitle{A quel prix ?}
1296 %%  \begin{figure}
1297 %%  \centering
1298 %%  \includegraphics[scale=0.35]{rapide.png}
1299 %%  \caption{Dégradation de la vitesse}
1300 %%  \end{figure}
1301 %%}
1302
1303
1304
1305
1306
1307
1308 %\subsection*{Une famille pour le Old CI}
1309
1310
1311
1312 %\frame{
1313 %  \frametitle{Définition d'une famille de Old CI}
1314 %\begin{block}{La matrice associée à $f$}
1315 %Matrice de taille $N\times 2^N$ dont l'élément $(p,q)$ est 
1316 %l'entier ayant la décompistion binaire:
1317 %$$q_N, \hdots, q_{N-p}, f(q)_{N-p+1}, q_{N-p+2}, \hdots, q_1$$
1318 %avec $q_i$: $i-$ième chiffre en base 2 de $q$.
1319 %\end{block}
1320 %  
1321
1322 %\begin{block}{Vecteur des images}
1323 %Le vecteur des images de $f$ est:
1324 %$$\mathcal{F}(f)=(f(0), f(1), \hdots, f(2^N-1)) \in \llbracket 0, 2^N-1 \rrbracket^{2^N}$$
1325 %\end{block}
1326 %}
1327
1328
1329
1330
1331 %\frame{
1332 %  \frametitle{Exemple de matrice associée}
1333 %  \begin{figure}
1334 %  \centering
1335 %  \includegraphics[scale=0.27]{mappingMatrix.png}
1336 %  \caption{Matrice associée et vecteur des images pour $f_0$}
1337 %  \end{figure}
1338 %  
1339 %}
1340
1341
1342
1343 %\frame{
1344 %  \frametitle{Une règle pour le Old CI PRNG}
1345 %  \begin{itemize}
1346 %    \item Supposons que $\mathcal{F}(f)=(f(0), f(1), \hdots, f(2^N-1)) \in \llbracket 0, 2^N-1 \rrbracket^{2^N}$, avec $Old~ CI_f$ équilibré
1347 %    \item Si on veut changer $\mathcal{F}(f)_j$ en $C$, alors il faut aussi que $\mathcal{F}(f)_{2^N-C}=2^N-j$
1348 %  \end{itemize}
1349 %  
1350 %}
1351
1352
1353
1354
1355 %\frame{
1356 %  \frametitle{Exemple de fonctions pour le Old CI}
1357 %  \begin{figure}
1358 %  \centering
1359 %  \includegraphics[scale=0.27]{mappingF0.png}
1360 %  \caption{Création de nouvelles fonctions équilibrées}
1361 %  \end{figure}
1362 %  }
1363
1364
1365 %\frame{
1366 %  \frametitle{Un théorème pour l'équilibrage}
1367 %\begin{alertblock}{Théorème}
1368 %Soit $f: \mathds{B}^{n} \rightarrow \mathds{B}^{n}$, $\Gamma(f)$ son graphe d'itération, 
1369 %$\check{M}$ sa matrice d'adjacence.
1370
1371 %Si $\Gamma(f)$ est fortement connexe, alors la sortie produite par le Old CI PRNG
1372 %suit une loi qui tend vers l'uniforme répartition si et seulement si $M$ est 
1373 %doublement stochastique.
1374 %\end{alertblock}
1375 %}
1376
1377
1378
1379
1380 %\frame{
1381 %  \frametitle{D'autres Old CI chaotiques}
1382 %  \begin{block}{Pour obtenir d'autres Old CI chaotiques}
1383 %  \begin{enumerate}
1384 %    \item Partir du graphe de tous les possibles de $f_0$
1385 %    \item Tant que le taux ne suppression n'est pas atteint:
1386 %    \begin{itemize}
1387 %      \item tirer une arête au sort
1388 %      \item la supprimer si le graphe reste fortement connexe (algorithme de Tarjan)
1389 %    \end{itemize}
1390 %  \end{enumerate}
1391 %  (Problème avec les graphes isomorphes)
1392 %  \end{block}
1393 %}
1394
1395
1396 %\frame{
1397 %  \frametitle{Exemple de fonctions pour le Old CI}
1398 %  \begin{figure}
1399 %  \centering
1400 %  \includegraphics[scale=0.27]{SCC.png}
1401 %  \caption{Création de nouvelles fonctions au générateur chaotique}
1402 %  \end{figure}
1403 %  
1404 %}
1405
1406
1407
1408 %\frame{
1409 %  \frametitle{Condition suffisante de chaoticité}
1410 %\begin{alertblock}{Théorème}
1411 %Soit $f$ une fonction de $\mathds{B}^n$ dans lui-même telle que:
1412 %\begin{enumerate}
1413 %\item 
1414 %Le graphe de connexion $G(f)$ n'a pas de cycle de longueur au moins 2;
1415 %\item 
1416 %Chaque arête de $G(f)$ ayant une boucle positive a aussi une boucle négative;
1417 %\item
1418 %Chaque arête de $G(f)$ est joignable à partir d'un noeud ayant une boucle négative.
1419 %\end{enumerate}
1420 %Alors $\Gamma(f)$ est fortement connexe. 
1421 %\end{alertblock}
1422 %}
1423
1424
1425
1426 %%\begin{theorem}
1427 %%  Let $f: \mathds{B}^{n} \rightarrow \mathds{B}^{n}$, $\Gamma(f)$ its
1428 %%  iteration graph, $\check{M}$ its adjacency
1429 %%  matrix and $M$ a $n\times n$ matrix defined as in the previous lemma.
1430 %%  If $\Gamma(f)$ is SCC then 
1431 %%  the output of the PRNG detailed in Algorithm~\ref{CI Algorithm} follows 
1432 %%  a law that tends to the uniform distribution 
1433 %%  if and only if $M$ is a double stochastic matrix.
1434 %%\end{theorem} 
1435
1436
1437 %\subsection*{PRNG cryptographiquement sûr}
1438 %    
1439
1440 %\frame{
1441 %\frametitle{Les PRNG cryptographiquement sûrs}
1442 %\begin{block}{Définition: Générateur $G$ \emph{cryptographiquement sûr}}
1443 %%Pour tout 
1444 %%algorithme probabiliste polynomial en temps $\mathcal{D}$, pour tout
1445 %%polynome $\mathfrak{p}>0$, et pour tout $n$ suffisamment large,
1446 %$$\left| \mathrm{Pr}[\mathcal{D}(\mathcal{G}(\mathfrak{U}_n))=1]-Pr[\mathcal{D}(\mathfrak{U}_{\ell_\mathcal{G}(n)})=1]\right|< \frac{1}{\mathfrak{p}(n)},$$
1447 %%où $\mathfrak{U}_r$ est la loi de probabilité uniforme sur $\{0,1\}^r$ et les
1448 %%probabilités sont prises sur $\mathfrak{U}_n$, $\mathfrak{U}_{\ell_G(n)}$ de la même manière
1449 %%que pour le lancer d'une pièce de monnaie dans $\mathcal{D}$. 
1450 %\end{block}
1451 %}
1452
1453
1454
1455 %\subsection*{Version GPU}
1456
1457 %\frame{
1458 %\frametitle{Derniers Résultats}
1459 %\begin{alertblock}{Nos derniers résultats}
1460 %\begin{enumerate}
1461 %  \item Si le premier PRNG en entrée est polynomialement indistinguable d'une suite aléatoire, alors notre PRNG l'est aussi
1462 %  \item Implantation sur GPU $\Rightarrow$ 20 milliards de nombres (32 bits) par seconde sur un PC
1463 %  \item Utilisation de BBS $\Rightarrow$ 1 milliards de nombres sûrs par seconde
1464 %  \item Version chaotique du cryptosystème asymétrique probabiliste de Blum-Goldwasser
1465 %  \item Mixage avec dispositif optique (Larger, OPTO)
1466 %\end{enumerate}
1467 %\end{alertblock}
1468 %}
1469
1470
1471
1472
1473
1474 %%\frame{
1475 %%  \frametitle{Notre générateur GPU}
1476 %%  \begin{figure}
1477 %%  \centering
1478 %%  \includegraphics[scale=0.3]{gpu.png}
1479 %%%  \caption{Version GPU de notre générateur}
1480 %%  \end{figure}
1481 %%}
1482
1483
1484
1485
1486 %%\frame{
1487 %%  \frametitle{Notre générateur GPU}
1488 %%  \begin{figure}
1489 %%  \centering
1490 %%  \includegraphics[scale=0.25]{bbs.png}
1491 %% % \caption{Version GPU de notre générateur, avec bbs}
1492 %%  \end{figure}
1493 %%}
1494
1495
1496
1497 %\frame{
1498 %  \frametitle{Notre générateur GPU}
1499 %  \begin{tabular}{cc}
1500 %  \includegraphics[scale=0.3]{gpu.png} & \includegraphics[scale=0.275]{bbs.png}
1501 %  \end{tabular}
1502 %}
1503
1504 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1505 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1506 %\section{Nouvelles pistes}
1507 %%\subsection*{PRNGs}
1508 %\begin{frame}{}
1509 %% 'transition': Crossfade,
1510 %  \begin{center}
1511 %   \Huge{Nouvelles pistes}
1512
1513 %\medskip
1514 %   %\huge{soulevés par l'approche}
1515 %  \end{center}
1516 %\end{frame}
1517 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1518 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1519
1520
1521
1522
1523
1524
1525
1526 %\frame{
1527 % \frametitle{Le générateur optique}
1528 % \begin{block}{Côté OPTO}
1529 %  \begin{figure}
1530 %  \centering
1531 %  \includegraphics[scale=0.5]{setup_opto_RNG.eps}
1532 %   \caption{Générateur optique (laser chaotique)}
1533 %  \end{figure}
1534 %  \end{block}
1535 %}
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547 %\frame{
1548 % \frametitle{Le générateur mixé}
1549 % \begin{block}{Côté DISC}
1550 %  \begin{figure}
1551 %  \centering
1552 %  \includegraphics[scale=0.5]{improve.eps}
1553 %   \caption{Mixage analogique-numérique}
1554 %  \end{figure}
1555 %  \end{block}
1556 %}
1557
1558
1559
1560
1561
1562 %\frame{
1563 % \frametitle{Le générateur mixé}
1564 % \begin{block}{Améliorations (NIST)}
1565 %  \begin{figure}
1566 %  \centering
1567 %  \includegraphics[scale=0.35]{NistLaurent.png}
1568 %   \caption{Résultat au NIST}
1569 %  \end{figure}
1570 %  \end{block}
1571 %}
1572
1573
1574
1575
1576
1577 %\frame{
1578 % \frametitle{Le générateur mixé}
1579 % \begin{block}{Améliorations (DieHARD)}
1580 %  \begin{figure}
1581 %  \centering
1582 %  \includegraphics[scale=0.25]{DieHardLaurent.png}
1583 %   \caption{Résultat au DieHARD}
1584 %  \end{figure}
1585 %  \end{block}
1586 %}
1587
1588
1589
1590 %\frame{
1591 % \frametitle{Le générateur mixé}
1592 % \begin{block}{Côté DISC}
1593 %  \begin{figure}
1594 %  \centering
1595 %  \includegraphics[scale=0.35]{method.eps}
1596 %   \caption{Premier PRNG mixé réalisé}
1597
1598 %  \end{figure}
1599 %  \end{block}
1600 %}
1601
1602
1603 %\frame{
1604 % \frametitle{Premiers résultats}
1605 %  \begin{tabular}{|l||c|c|c|c|c|}
1606 %    \hline
1607 %\textbf{Tests} {\textbf{$n$}}&1 &10&20&30&40 \\ \hline\hline
1608 %NIST suite & 0/15 &14/15 & 15/15 & 15/15 & 15/15\\ \hline
1609 %DieHARD suite &1/18 &11/18 & 14/18 &18/18&18/18\\ \hline
1610 %  \end{tabular}
1611 %}
1612
1613
1614 %\frame{
1615 % \frametitle{Le générateur mixé}
1616 % \begin{block}{Côté DISC}
1617 %  \begin{figure}
1618 %  \centering
1619 %  \includegraphics[scale=0.25]{paralel.png}
1620 %   \caption{Deuxième PRNG mixé réalisé}
1621 %  \end{figure}
1622 %  \end{block}
1623 %}
1624
1625
1626 %\frame{
1627 %  \frametitle{Une piste ?}
1628 %  $$X^{mn+1} = X^{mn} \oplus O^{mn} \oplus C^m$$
1629 %}
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639 %\begin{frame}{}
1640 % \begin{center}
1641 % \huge{Merci pour votre attention}
1642 % \end{center}
1643 %\end{frame}
1644
1645
1646
1647
1648
1649
1650
1651
1652 %%\frame{
1653 %%% 'transition': Crossfade,
1654 %% \frametitle{Une menace en guise d'illustration}
1655 %% \begin{block}{Les attaques par canal auxiliaire}
1656 %% \begin{enumerate}
1657 %%\item Certains processeurs peuvent laisser fuire de l'information. \newline $\Rightarrow$ En 2006 [Acimez07], 508 bits d'une clé d'authentification sur 512.  
1658 %%\item Variation de tension appliquée au processeur [Pellegrini10]\newline $\Rightarrow$ \'Emission d'une signature (RSA 1024) corrompue. 
1659 %%\item Mesure du temps de déchiffrement [Kocher95] \newline $\Rightarrow$ Obtention de la clé de déchiffrement.
1660 %%\item Optimisations appliquées au théorème des restes chinois [Brumley03] \newline $\Rightarrow$ Factorisation RSA trouvée.
1661 %%\end{enumerate}
1662 %%\end{block}
1663 %%}
1664
1665
1666
1667
1668 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1669
1670
1671
1672 %%\frame{
1673 %%% 'transition': Crossfade,
1674 %%  \frametitle{Une menace en guise d'illustration}
1675 %%  \begin{block}{Les attaques par canal auxiliaire}
1676 %%  \begin{itemize}
1677 %%    \item Failles matérielles ou logicielles
1678 %%    \item Une partie du secret
1679 %%    \item Algorithmes prouvés sûrs
1680 %%  \end{itemize}
1681 %%  \end{block}
1682 %%  
1683 %%  \vspace{0.25cm}
1684 %%  \uncover<2->{
1685 %%  \begin{exampleblock}{Tentatives de solution}
1686 %%  \begin{itemize}
1687 %%    \item Ne plus répondre au cas par cas
1688 %%    \item Une sécurité complémentaire ?
1689 %%    \item Pourquoi ne pas utiliser des programmes imprédictibles ?
1690 %%  \end{itemize}
1691 %%  \end{exampleblock}
1692 %%}
1693 %%}
1694
1695
1696
1697
1698
1699
1700
1701
1702 %%\frame{
1703 %% \frametitle{Nos contributions}
1704 %%\begin{block}{Nos contributions}
1705 %%\begin{itemize}
1706 %%\item Construire des machines, des programmes imprévisibles
1707 %%\item Etudier des algorithmes existants sous d'autres aspects (comparaison, autres menaces ?)
1708 %%\item Rajouter des propriétés (topologiques) à des outils préexistants, \emph{sans perte de sécurité}
1709 %% \end{itemize}
1710 %%\end{block}
1711 %%}
1712
1713
1714
1715
1716
1717
1718
1719
1720 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1721 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1722 %\section*{Problèmes}
1723 %\begin{frame}{}
1724 %% 'transition': Crossfade,
1725 %  \begin{center}
1726 %   \Huge{Problèmes}
1727
1728 %\medskip
1729 %   \huge{soulevés par l'approche}
1730 %  \end{center}
1731 %\end{frame}
1732 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1733 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1734
1735
1736
1737
1738
1739
1740
1741 %% %%%%%%%%%%%%% 16. De la relativité du chaos %%%%%%%%%%%%%%%
1742 %\subsection*{Tout est relatif (est-ce encore vrai ?)}
1743
1744 %% \frame{
1745 %%   \frametitle{Problème soulevé par l'approche}
1746 %%   \begin{block}{Quels problèmes pose cette approche ?}
1747 %%   \begin{itemize}
1748 %%   \item Rôle prépondérant de la topologie
1749 %%   \item De sa finesse dépendent les propriétés de désordre
1750 %%   \item Comment bien la choisir ?
1751 %%   \end{itemize}
1752 %%   $\Rightarrow$ Se ramener à la topologie de l'ordre sur $\mathds{R}$
1753 %%   \end{block}
1754 %% }
1755
1756
1757 %\frame{
1758 % \frametitle{De l'importance de la topologie}
1759 %%\begin{block}{Les questions qui se posent}
1760 %%\begin{enumerate}
1761 %%\item Si un système $(\mathcal{X},f)$ est chaotique, et pour quelle topologie.
1762 %%\item Si un système $(\mathcal{X},f)$ est plus chaotique qu'un système $(\mathcal{Y},g)$.
1763 %%\end{enumerate}
1764 %%\end{block}
1765
1766 %%\vspace{0.5cm}
1767 %%\uncover<2>{
1768 %\begin{exampleblock}{Problèmes soulevés}
1769 %\begin{enumerate}
1770 %\item Le désordre dépend de la topologie (?)
1771 %\item Comparaison de deux systèmes:
1772 %\begin{itemize}
1773 %\item Les ensembles $\mathcal{X}$ et $\mathcal{Y}$ ne sont pas forcément les mêmes.
1774 %\item Les topologies ne sont pas forcément les mêmes.
1775 %\item Sont-elles comparables ? Et quelles conséquences ?
1776 %\end{itemize}
1777 %\end{enumerate}
1778 %\end{exampleblock}
1779 %%}
1780 %}
1781
1782
1783
1784 %\frame{
1785 % \frametitle{Mon désordre n'est pas le tien}
1786 %   \begin{exampleblock}{Théorème: Impact de la finesse de la topologie}
1787 %   Soient $\tau, \tau'$ deux topologies sur $\mathcal{X}$ telles que $\tau \subset \tau'$.
1788
1789 %Si $(\mathcal{X}_{\tau'},f)$ satisfait Devaney, alors $(\mathcal{X}_\tau,f)$ aussi.
1790 %   \end{exampleblock}
1791 %}
1792
1793 %\frame{
1794 % \frametitle{Mon désordre n'est pas le tien}    
1795 %   \begin{exampleblock}{Un système peut toujours être chaotique}
1796 %   Soit $\mathcal{X}$ un ensemble non vide, et $f: \mathcal{X} \to \mathcal{X}$ une application possédant au moins un point fixe.
1797 %Alors $f$ est $\tau_0-$chaotique, où $\tau_0$ est la topologie grossière sur $\mathcal{X}$.
1798 %   \end{exampleblock}
1799 %   
1800 %   \vspace{0.5cm}
1801 %   
1802 %     \begin{exampleblock}{Un système peut toujours ne jamais être chaotique}
1803 %Soit $\mathcal{X}$ un ensemble, et $f: \mathcal{X} \to \mathcal{X}$ une application.
1804 %Si $\mathcal{X}$ est infini, alors $\left( \mathcal{X}_{\tau_\infty}, f\right)$ n'est pas chaotique selon Devaney, où $\tau_\infty$ désigne la topologie discrète.
1805 %   \end{exampleblock}
1806 %}
1807
1808
1809
1810
1811
1812 %\frame{
1813 % \frametitle{Réflexions autour d'un désordre absolu}
1814 %  \begin{block}{Reformulation des problèmes}
1815 %    \begin{itemize}
1816 %      \item $(\mathcal{X},f)$ peut ou non être chaotique, suivant la richesse de la topologie.
1817 %      \item L'ensemble des topologies sur $\mathcal{X}$, muni de la relation « être plus fine que » est un espace réticulé.
1818 %    \end{itemize}
1819 %  \end{block}
1820 %  
1821 %  \vspace{0.4cm}
1822 %  
1823 % \begin{block}{Quelques pistes}
1824 %   \begin{enumerate}
1825 %     \item La plus fine topologie rendant une fonction imprédictible
1826 %     \item \^Etre imprédictible, c'est l'être pour la topologie de l'ordre.
1827 %       \begin{itemize}
1828 %         \item Approche légitime (mais, pour quel ordre ?)
1829 %         \item Peut conduire à se ramener à $\mathds{R}$
1830 %       \end{itemize}
1831 %   \end{enumerate}
1832 % \end{block}
1833 %}
1834
1835
1836 %%%%%%%%%%%%%%% 17. Une semi-conjugaison topologique %%%%%%%%
1837 %%%%%%%%%% ou comment passer de X à un intervalle réel %%%%%%
1838 %\subsection*{Une semi-conjugaison topologique}
1839
1840
1841
1842 %\frame{
1843 %  \frametitle{Une semi-conjugaison topologique}
1844 %  
1845 %  
1846 %\begin{exampleblock}{Une semi-conjugaison topologique}
1847 %IC $G_{f_0}$ sur $\mathcal{X}$ = IC $g$ sur $\mathds{R}$:
1848 %\begin{equation*}
1849 %\begin{CD}
1850 %\left(~\mathcal{S}_{10} \times\mathds{B}^{10}, d~\right) @>G_{f_0}>> \left(~\mathcal{S}_{10} \times\mathds{B}^{10}, d~\right)\\
1851 %    @V{\varphi}VV                    @VV{\varphi}V\\
1852 %\left( ~\big[ 0, 2^{10} \big[, D~\right)  @>>g> \left(~\big[ 0, 2^{10} \big[, D~\right)
1853 %\end{CD}
1854 %\end{equation*}
1855 %\begin{enumerate}
1856 %\item Prendre la première décimale $d$ de $x \in \big[ 0, 2^{10} \big[$
1857 %\item Nier le bit numéro $d$ de $E(x)$
1858 %\item Supprimer $d$
1859 %\end{enumerate}
1860 %\end{exampleblock}
1861 %}
1862
1863
1864
1865
1866 %\frame{
1867 %  \frametitle{Comparaison des distances}
1868
1869 %\begin{exampleblock}{Comparaison de distances}
1870 %$D$ est plus fine que la distance euclidienne.
1871 %\end{exampleblock}
1872
1873 %\begin{figure}[t]
1874 %\begin{center}
1875 %  \subfigure[Application $x \to dist(x;1,234)$.]{\includegraphics[scale=.25]{17.Semi_conjugaison_topologique/distances/DvsEuclidien.pdf}}\quad
1876 %  \subfigure[Application $x \to dist(x;3) $.]{\includegraphics[scale=.25]{17.Semi_conjugaison_topologique/distances/DvsEuclidien2.pdf}}
1877 %\end{center}
1878 %\caption{Comparaison des distances $D$ et euclidienne.}
1879 %\label{fig:comparaison de distances}
1880 %\end{figure}
1881 %}
1882
1883
1884
1885
1886
1887
1888
1889
1890 %\frame{
1891 % \frametitle{\'Etude des ICs sur $\mathds{R}$}
1892 % \begin{exampleblock}{Analyse des itérations chaotiques réelles}
1893 %Les itérations chaotiques $g$ définies sur $\mathds{R}$ sont:
1894 %\begin{itemize}
1895 %\item Infiniment dérivables sur $\big[ 0, 2^{10} \big[$, sauf aux 10241 points de l'ensemble $I$ défini par $\left\{ \dfrac{n}{10} ~\big/~ n \in \llbracket 0;2^{10}\times 10\rrbracket \right\}$.
1896 %\item Affine, de pente 10, sur chaque sous-intervalle.
1897 %\end{itemize}
1898 %\end{exampleblock}
1899 %}
1900
1901
1902
1903 %%\frame{
1904 %%  \frametitle{Exemples de fonctions chaotiques}
1905 %%\begin{figure}[t]
1906 %%\begin{center}
1907 %%  \subfigure[Doublement de l'angle.]{\includegraphics[scale=.16]{17.Semi_conjugaison_topologique/fonctions/doublement.pdf}}\quad
1908 %%  \subfigure[Fonction logistique.]{\includegraphics[scale=.16]{17.Semi_conjugaison_topologique/fonctions/logistique.pdf}}\quad
1909 %%  \subfigure[Fonction tente.]{\includegraphics[scale=.16]{17.Semi_conjugaison_topologique/fonctions/tente.pdf}}
1910 %%\end{center}
1911 %%\caption{Exemples de fonctions chaotiques.}
1912 %%\end{figure}
1913 %%}
1914
1915
1916
1917
1918
1919 %\frame{
1920 %  \frametitle{Les itérations chaotiques $G_{f_0}$ sur $\mathds{R}$}
1921 %\begin{figure}[t]
1922 %\begin{center}
1923 %%  \subfigure[Sur (0,9 ; 1).]{\includegraphics[scale=.16]{17.Semi_conjugaison_topologique/fonctions/ICs09a1.pdf}}\quad
1924 %  \subfigure[Sur (0,7 ; 1).]{\includegraphics[scale=.16]{17.Semi_conjugaison_topologique/fonctions/ICs07a95.pdf}}\quad
1925 %  \subfigure[Sur (0 ; 1).]{\includegraphics[scale=.19]{17.Semi_conjugaison_topologique/fonctions/ICs0a1.pdf}}\quad
1926 %    \subfigure[Sur (510 ; 514).]{\includegraphics[scale=.19]{17.Semi_conjugaison_topologique/fonctions/ICs510a514.pdf}}\quad
1927 %  \subfigure[Sur (1000 ; 1008).]{\includegraphics[scale=.19]{17.Semi_conjugaison_topologique/fonctions/ICs1000a1008.pdf}}
1928 %\end{center}
1929 %\caption{Les itérations chaotiques.}
1930 %\end{figure}
1931 %}
1932
1933
1934
1935
1936 %\frame{
1937 %  \frametitle{Les itérations chaotiques sur $\mathds{R}$}
1938 %\begin{figure}[t]
1939 %\begin{center}
1940 %  \subfigure[Sur (510 ; 514).]{\includegraphics[scale=.16]{17.Semi_conjugaison_topologique/fonctions/ICs510a514.pdf}}\quad
1941 %  \subfigure[Sur (1000 ; 1008).]{\includegraphics[scale=.16]{17.Semi_conjugaison_topologique/fonctions/ICs1000a1008.pdf}}\quad
1942 %  \subfigure[Sur (40 ; 70).]{\includegraphics[scale=.16]{17.Semi_conjugaison_topologique/fonctions/ICs40a70.pdf}}
1943 %\end{center}
1944 %\caption{Les itérations chaotiques.}
1945 %\end{figure}
1946 %}
1947
1948
1949
1950
1951
1952
1953 % \frame{
1954 %   \frametitle{Chaos des IC $G_{f_0}$ sur $\mathds{R}$}
1955 %   \begin{exampleblock}{Chaos de Devaney sur $\mathds{R}$}
1956 % Les IC sur $\mathds{R}$ sont chaotiques selon Devaney, quand $\mathds{R}$ a sa topologie usuelle.
1957 % \end{exampleblock}
1958
1959 % \vspace{0.5cm}
1960
1961 %   \begin{exampleblock}{Exposant de Lyapunov}
1962 % %$\forall x^0 \in \mathcal{L}$, l'exposant de Lyapunov des itérations chaotiques ayant $x^0$ pour condition initiale vaut 
1963 % $$\forall x^0 \in \mathcal{L}, \lambda(x^0) = \displaystyle{\lim_{n \to +\infty} \dfrac{1}{n} \sum_{i=1}^n \ln \left| ~g'\left(x^{i-1}\right)\right|} = \ln (10).$$
1964 % \end{exampleblock}
1965 % }
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978 %\frame{
1979 %  \frametitle{Systèmes itératifs et suites récurrentes}  
1980 %  \begin{alertblock}{Les systèmes itératifs sont des suites récurrentes}
1981 %  On pose $F:\mathcal{X}^\mathds{N} \longleftrightarrow\mathcal{X}^\mathds{N}$, qui à la suite $(x^k)_{k \in \mathds{N}}$ associe $\left(x^0, f^0(x^0), f^1(x^0,x^1), f^2(x^0,x^1,x^0),\hdots\right)$. Alors le système
1982 %    $$\left\{
1983 %  \begin{array}{l}
1984 %    X^0 = (x^0,0,0, \hdots) \in \mathcal{X}^\mathds{N}\\
1985 %    X^{n+1} = F(X^n)
1986 %  \end{array}
1987 %  \right.$$
1988 %  tend vers la suite $(x^0,x^1,x^2,\hdots)$.
1989 %  \end{alertblock}
1990 %  \uncover<2->{
1991 %  Etudions un cas particulier : les « Itérations chaotiques »}
1992 %}
1993
1994 \section{Conclusion}
1995
1996
1997 \bibliographystyle{plain}
1998 \bibliography{mabase}
1999
2000 \end{document}