1 Let us us first recall the chaos theoretical context presented
2 in~\cite{bcgr11:ip}. In this article, the space of interest
3 is $\Bool^{{\mathsf{N}}} \times \llbracket1;{\mathsf{N}}\rrbracket^{\Nats}$
4 and the iteration function $\mathcal{H}_f$ is
6 $\Bool^{{\mathsf{N}}} \times \llbracket1;{\mathsf{N}}\rrbracket^{\Nats}$
9 \mathcal{H}_f(x,s)=(F_f(x,s_0),\sigma(s)).
12 $\sigma: \llbracket1;{\mathsf{N}}\rrbracket^{\Nats} \longrightarrow
13 \llbracket1;{\mathsf{N}}\rrbracket^{\Nats}
15 is a shift operation on sequences (\textit{i.e.}, a function that removes the
16 first element of the sequence) formally defined with
18 \sigma((u^k)_{k \in \Nats}) = (u^{k+1})_{k \in \Nats}.
21 We have proven~\cite[Theorem 1]{bcgr11:ip} that
22 $\mathcal{H}_f$ is chaotic in
23 $\Bool^{{\mathsf{N}}} \times \llbracket1;{\mathsf{N}}\rrbracket^{\Nats}$
24 if and only if $\Gamma(f)$ is strongly connected.
25 However, the corrolary which would say that $\chi_{\textit{14Secrypt}}$ is chaotic
26 cannot be directly deduced since we do not output all the successive
27 values of iterating $F_f$. Only a a few of them is concerned and
28 any subsequence of a chaotic sequence is not necessarily
29 a chaotic sequence too.
30 This necessitates a rigorous proof, which is the aim of this section.
36 \subsection{Devaney's Chaotic Dynamical Systems}
37 \label{subsec:Devaney}
40 Consider a topological space $(\mathcal{X},\tau)$ and a continuous function $f :
41 \mathcal{X} \rightarrow \mathcal{X}$.
44 The function $f$ is said to be \emph{topologically transitive} if, for any pair of open sets
45 $U,V \subset \mathcal{X}$, there exists $k>0$ such that $f^k(U) \cap V \neq
50 An element $x$ is a \emph{periodic point} for $f$ of period $n\in \mathds{N}^*$
51 if $f^{n}(x)=x$.% The set of periodic points of $f$ is denoted $Per(f).$
55 $f$ is said to be \emph{regular} on $(\mathcal{X}, \tau)$ if the set of periodic
56 points for $f$ is dense in $\mathcal{X}$: for any point $x$ in $\mathcal{X}$,
57 any neighborhood of $x$ contains at least one periodic point (without
58 necessarily the same period).
62 \begin{dfntn}[Devaney's formulation of chaos~\cite{Devaney}]
63 The function $f$ is said to be \emph{chaotic} on $(\mathcal{X},\tau)$ if $f$ is regular and
64 topologically transitive.
67 The chaos property is strongly linked to the notion of ``sensitivity'', defined
68 on a metric space $(\mathcal{X},d)$ by:
71 \label{sensitivity} The function $f$ has \emph{sensitive dependence on initial conditions}
72 if there exists $\delta >0$ such that, for any $x\in \mathcal{X}$ and any
73 neighborhood $V$ of $x$, there exist $y\in V$ and $n > 0$ such that
74 $d\left(f^{n}(x), f^{n}(y)\right) >\delta $.
76 The constant $\delta$ is called the \emph{constant of sensitivity} of $f$.
79 Indeed, Banks \emph{et al.} have proven in~\cite{Banks92} that when $f$ is
80 chaotic and $(\mathcal{X}, d)$ is a metric space, then $f$ has the property of
81 sensitive dependence on initial conditions (this property was formerly an
82 element of the definition of chaos).
85 \subsection{A Metric Space for PRNG Iterations}
87 % Define by $\mathcal{S}_X$ the set of sequences whose elements belong in $X \subset \mathds{N}, X \neq \varnothing$,
88 % that is, $\mathcal{S}_X = \mathcal{X}^\mathds{N}$.
89 % Let $\mathsf{N} \in \mathds{N}^\ast$, $f:\mathds{B}^\mathsf{N} \rightarrow \mathds{B}^\mathsf{N}$, and
90 % $\mathcal{P} \subset \mathds{N}^\ast$ a non empty and finite set of integers.
92 % Any couple $(u,v) \in \mathcal{S}_{\llbracket 1, \mathsf{N} \rrbracket} \times \mathcal{S}_\mathcal{P}$ defines
93 % a ``chaotic iterations based'' pseudorandom number generator, which is denoted by $\textit{CIPRNG}_f^2(u,v)$~\cite{wbg10:ip}. It is
99 % x^0 \in \mathds{B}^\mathsf{N}\\
100 % \forall n \in \mathds{N}, \forall i \in \llbracket 1, \mathsf{N} \rrbracket, x_i^{n+1} = \left\{ \begin{array}{ll} f(x^n)_i & \text{if }~ i=u^n \\ x_i^n & \text{else} \end{array} \right.\\
101 % \forall n \in \mathds{N}, y^n = x^{v^n} .
105 % The outputted sequence produced by this generator is $\left(y^n\right)_{n \in \mathds{N}}$.
106 % Remark that, given a sequence $S \in \mathcal{S}_{\llbracket 1, \mathsf{N} \rrbracket}$ called a ``chaotic strategy'',
107 % the following way to iterate:
108 % $$x^0 \in \mathds{B}^\mathsf{N}, \forall n \in \mathds{N}, \forall i \in \llbracket 1, \mathsf{N} \rrbracket, x_i^{n+1} = \left\{ \begin{array}{ll} f(x^n)_i & \text{if }~ i=S^n \\ x_i^n & \text{else} \end{array} \right. ,$$
109 % is referred in the discrete mathematics literature as ``chaotic iterations''~\cite{Robert} (a terminology which has
110 % \emph{a priori} no relation with the mathematical theory of chaos recalled previously), which
111 % explains the name provided to these categories of pseudorandom number generators.
114 % The formerly proposed $\textit{CIPRNG}_f^1(u)$~\cite{bgw09:ip,guyeuxTaiwan10} is equal to \linebreak $\textit{CIPRNG}_f^2\left(u,\left(1\right)_{n\in \mathds{N}}\right)$, where $\left(1\right)_{n\in \mathds{N}}$ is the sequence that is
115 % uniformly equal to 1.
116 % It has been proven as chaotic for the vectorial Boolean negation $f_0:\mathds{B}^\mathsf{N} \longrightarrow \mathds{B}^\mathsf{N}$,
117 % $(x_1, \hdots , x_\mathsf{N}) \longmapsto (\overline{x_1}, \hdots, \overline{x_\mathsf{N}})$ in \cite{bgw09:ip}
118 % and for a larger set of well-chosen iteration functions in~\cite{bcgr11:ip} but,
119 % as only one bit is modified at each iteration, this generator is not able to pass any reasonable statistical tests.
121 % The $\textit{XOR~CIPRNG}(S)$, for its part~\cite{DBLP:journals/corr/abs-1112-5239}, is defined as follows: $x^0 \in \mathds{B}^\mathsf{N}$, and $\forall n \in \mathds{N}, x^{n+1} = x^n \oplus S^n$
122 % where $S \in \mathcal{S}_{\llbracket 1, \mathsf{N} \rrbracket}$ and $\oplus$ stands for the bitwise \emph{exclusive or} (xor) operation
123 % between the binary decomposition of $x^n$ and $S^n$. This is indeed a $CIPRNG_{f_0}^2 (u,v)$ generator:
125 % %$u,v \in \mathcal{S}_{\llbracket 1, \mathsf{N} \rrbracket}$:
126 % for any given $S \in \mathcal{S}_{\llbracket 1, \mathsf{N} \rrbracket}$, $v^n$ is the number
127 % of 1's in the binary decomposition of $S^n$ while $u^{v^n}, u^{v^n+1}, \hdots , u^{v^{n+1}-1}$
128 % are the positions of these ones.
129 % The $\textit{XOR~CIPRNG}$ has been proven chaotic and it is able to pass all the most stringent statistical
130 % batteries of tests~\cite{DBLP:journals/corr/abs-1112-5239}, namely: DieHARD~\cite{Marsaglia1996}, NIST~\cite{Nist10}, and TestU01~\cite{LEcuyerS07},
131 % which encompasses the two former ones. Furthermore, the output sequence is cryptographically secure
132 % when $S$ is cryptographically secure~\cite{DBLP:journals/corr/abs-1112-5239}.
133 % We are then left to prove $\textit{CIPRNG}_f^2(u,v)$ is chaotic.
135 % \subsection{The $\textit{CIPRNG}_f^2(u,v)$ is chaotic for well-chosen $f$}\label{sec:wellchosen}
137 % \subsection{The generator as a discrete dynamical system}
140 % This algorithm may be seen as $\mathsf{p}$ functional composition of $F_f$.
141 % We thus introduce the function
142 % $F_{f,\mathsf{p}} : \mathds{B}^\mathsf{N} \times \llbracket 1, \mathsf{N} \rrbracket^\mathsf{p} \rightarrow \mathds{B}^\mathsf{N}$ defined by
145 % F_{f,\mathsf{p}} (x,(u^0, u^1, \hdots, u^{\mathsf{p}-1})) \mapsto
146 % F_f(\hdots (F_f(F_f(x,u^0), u^1), \hdots), u^{\mathsf{p}-1}).
152 Let us first introduce $\mathcal{P} \subset \mathds{N}$ a finite nonempty
153 set having the cardinality $\mathsf{p} \in \mathds{N}^\ast$.
154 Intuitively, this is the set of authorized numbers of iterations.
155 Denote by $p_1, p_2, \hdots, p_\mathsf{p}$ the ordered elements of $\mathcal{P}$: $\mathcal{P} = \{ p_1, p_2, \hdots, p_\mathsf{p}\}$
156 and $p_1< p_2< \hdots < p_\mathsf{p}$. In our algorithm,
157 $\mathsf{p}$ is 1 and $p_1$ is $b$.
160 The Algorithm~\ref{CI Algorithm}
161 may be seen as $b$ functional composition of $F_f$.
162 However, it can be generalized with $p_i$, $p_i \in \mathcal{P}$,
163 functional compositions of $F_f$.
164 Thus, for any $p_i \in \mathcal{P}$ we introduce the function
165 $F_{f,p_i} : \mathds{B}^\mathsf{N} \times \llbracket 1, \mathsf{N} \rrbracket^{p_i} \rightarrow \mathds{B}^\mathsf{N}$ defined by
168 F_{f,p_i} (x,(u^0, u^1, \hdots, u^{p_i-1})) \mapsto
169 F_f(\hdots (F_f(F_f(x,u^0), u^1), \hdots), u^{p_i-1}).
173 The considered space is
174 $\mathcal{X}_{\mathsf{N},\mathcal{P}}= \mathds{B}^\mathsf{N} \times \mathds{S}_{\mathsf{N},\mathcal{P}}$, where
175 $\mathds{S}_{\mathsf{N},\mathcal{P}}=
176 \llbracket 1, \mathsf{N} \rrbracket^{\Nats}\times
177 \mathcal{P}^{\Nats}$.
178 Each element in this space is a pair where the first element is
179 $\mathsf{N}$-uple in $\Bool^{\mathsf{N}}$, as in the previous space.
180 The second element is a pair $((u^k)_{k \in \Nats},(v^k)_{k \in \Nats})$ of infinite sequences.
181 The sequence $(v^k)_{k \in \Nats}$ defines how many iterations are executed at time $k$ between two outputs.
182 The sequence $(u^k)_{k \in \Nats}$ defines which elements is modified.
184 Let us define the shift function $\Sigma$ for any element of $\mathds{S}_{\mathsf{N},\mathcal{P}}$.
185 $$\begin{array}{cccc}
186 \Sigma:&\mathds{S}_{\mathsf{N},\mathcal{P}} &\longrightarrow
187 &\mathds{S}_{\mathsf{N},\mathcal{P}} \\
188 & \left((u^k)_{k \in \mathds{N}},(v^k)_{k \in \mathds{N}}\right) & \longmapsto & \left(\sigma^{v^0}\left((u^k)_{k \in \mathds{N}}\right),\sigma\left((v^k)_{k \in \mathds{N}}\right)\right).
191 In other words, $\Sigma$ receives two sequences $u$ and $v$, and
192 it operates $v^0$ shifts on the first sequence and a single shift
197 G_f :& \mathcal{X}_{\mathsf{N},\mathcal{P}} & \longrightarrow & \mathcal{X}_{\mathsf{N},\mathcal{P}}\\
198 & (e,(u,v)) & \longmapsto & \left( F_{f,v^0}\left( e, (u^0, \hdots, u^{v^0-1}\right), \Sigma (u,v) \right) .
201 Then the outputs $(y^0, y^1, \hdots )$ produced by the $\textit{CIPRNG}_f^2(u,v)$ generator
202 are the first components of the iterations $X^0 = (x^0, (u,v))$ and $\forall n \in \mathds{N},
203 X^{n+1} = G_f(X^n)$ on $\mathcal{X}_{\mathsf{N},\mathcal{P}}$.
210 \subsection{A metric on $\mathcal{X}_{\mathsf{N},\mathcal{P}}$}
212 We define a distance $d$ on $\mathcal{X}_{\mathsf{N},\mathcal{P}}$ as follows.
214 $x=(e,s)$ and $\check{x}=(\check{e},\check{s})$ in
215 $\mathcal{X}_{\mathsf{N},\mathcal{P}} = \mathds{B}^\mathsf{N} \times \mathds{S}_{\mathsf{N},\mathcal{P}} $,
216 where $s=(u,v)$ and $\check{s}=(\check{u},\check{v})$ are in $ \mathds{S}_{\mathsf{N},\mathcal{P}} =
217 \mathcal{S}_{\llbracket 1, \mathsf{N} \rrbracket} \times \mathcal{S}_\mathcal{P}$.
219 \item $e$ and $\check{e}$ are integers belonging in $\llbracket 0, 2^{\mathsf{N}-1} \rrbracket$. The Hamming distance
220 on their binary decomposition, that is, the number of dissimilar binary digits, constitutes the integral
221 part of $d(X,\check{X})$.
222 \item The fractional part is constituted by the differences between $v^0$ and $\check{v}^0$, followed by the differences
223 between finite sequences $u^0, u^1, \hdots, u^{v^0-1}$ and $\check{u}^0, \check{u}^1, \hdots, \check{u}^{\check{v}^0-1}$, followed by
224 differences between $v^1$ and $\check{v}^1$, followed by the differences
225 between $u^{v^0}, u^{v^0+1}, \hdots, u^{v^1-1}$ and $\check{u}^{\check{v}^0}, \check{u}^{\check{v}^0+1}, \hdots, \check{u}^{\check{v}^1-1}$, etc.
226 More precisely, let $p = \lfloor \log_{10}{(\max{\mathcal{P}})}\rfloor +1$ and $n = \lfloor \log_{10}{(\mathsf{N})}\rfloor +1$.
228 \item The $p$ first digits of $d(x,\check{x})$ is $|v^0-\check{v}^0|$ written in decimal numeration (and with $p$ digits).
229 \item The next $n\times \max{(\mathcal{P})}$ digits aim at measuring how much $u^0, u^1, \hdots, u^{v^0-1}$ differs from $\check{u}^0, \check{u}^1, \hdots, \check{u}^{\check{v}^0-1}$. The $n$ first
230 digits are $|u^0-\check{u}^0|$. They are followed by
231 $|u^1-\check{u}^1|$ written with $n$ digits, etc.
234 $v^0=\check{v}^0$, then the process is continued until $|u^{v^0-1}-\check{u}^{\check{v}^0-1}|$ and the fractional
235 part of $d(X,\check{X})$ is completed by 0's until reaching
236 $p+n\times \max{(\mathcal{P})}$ digits.
237 \item If $v^0<\check{v}^0$, then the $ \max{(\mathcal{P})}$ blocs of $n$
238 digits are $|u^0-\check{u}^0|$, ..., $|u^{v^0-1}-\check{u}^{v^0-1}|$,
239 $\check{u}^{v^0}$ (on $n$ digits), ..., $\check{u}^{\check{v}^0-1}$ (on $n$ digits), followed by 0's if required.
240 \item The case $v^0>\check{v}^0$ is dealt similarly.
242 \item The next $p$ digits are $|v^1-\check{v}^1|$, etc.
248 \newcommand{\ns}{$\hspace{.1em}$}
251 Consider for instance that $\mathsf{N}=13$, $\mathcal{P}=\{1,2,11\}$ (so $\mathsf{p}=2$), and that
254 u=\underline{6,} ~ \underline{11,5}, ...\\
261 \check{u}=\underline{6,4} ~ \underline{1}, ...\\
266 So $d_{\mathds{S}_{\mathsf{N},\mathcal{P}}}(s,\check{s}) = 0.01\ns00\ns04\ns00\ns00\ns00\ns00\ns00\ns00\ns00\ns00\ns00\ns01\ns10\ns05 ...$
267 Indeed, the $p=2$ first digits are 01, as $|v^0-\check{v}^0|=1$,
268 and we use $p$ digits to code this difference ($\mathcal{P}$ being $\{1,2,11\}$, this difference can be equal to 10). We then take the $v^0=1$ first terms of $u$, each term being coded in $n=2$ digits, that is, 06. As we can iterate
269 at most $\max{(\mathcal{P})}$ times, we must complete this
270 value by some 0's in such a way that the obtained result
271 has $n\times \max{(\mathcal{P})}=22$ digits, that is:
272 0600000000000000000000. Similarly, the $\check{v}^0=2$ first
273 terms in $\check{u}$ are represented by 0604000000000000000000, and the absolute value of their
274 difference is equal to 0004000000000000000000. These digits are concatenated to 01, and
275 we start again with the remainder of the sequences.
280 Consider now that $\mathsf{N}=9$, and $\mathcal{P}=\{2,7\}$, and that
284 u=\underline{6,7,} ~ \underline{4,2,} ...\\
291 \check{u}=\underline{4, 9, 6, 3, 6, 6, 7,} ~ \underline{9, 8}, ...\\
296 So $d_{\mathds{S}_{\mathsf{N},\mathcal{P}}}(s,\check{s}) = 0.5173633305600000...$, as $|v^0-\check{v}^0|=5$, $|4963667-6700000| = 1736333$, $|v^1-\check{v}^1|=0$,
297 and $|9800000-4200000| = 5600000$.
302 $d$ can be more rigorously written as follows:
303 $$d(x,\check{x})=d_{\mathds{S}_{\mathsf{N},\mathcal{P}}}(s,\check{s})+d_{\mathds{B}^\mathsf{N}}(e,\check{e}),$$
304 where: % $p=\max \mathcal{P}$ and:
306 \item $d_{\mathds{B}^\mathsf{N}}$ is the Hamming distance,
307 \item $\forall s=(u,v), \check{s}=(\check{u},\check{v}) \in \mathcal{S}_{\mathsf{N},\mathcal{P}}$,\newline
309 d_{\mathds{S}_{\mathsf{N},\mathcal{P}}}(s,\check{s}) &= &
310 \sum_{k=0}^\infty \dfrac{1}{10^{(k+1)p+kn\max{(\mathcal{P})}}}
311 \bigg(|v^k - \check{v}^k| \\
312 & & + \left| \sum_{l=0}^{v^k-1}
313 \dfrac{u^{\sum_{m=0}^{k-1} v^m +l}}{ 10^{(l+1)n}} -
314 \sum_{l=0}^{\check{v}^k-1}
315 \dfrac{\check{u}^{\sum_{m=0}^{k-1} \check{v}^m +l}}{ 10^{(l+1)n}} \right| \bigg)
317 $$ %\left| \sum_{l=0}^{v^k-1} \dfrac{u^{\sum_{m=0}^{k-1} v^m +l}}{ 10^{l}} - \sum_{l=0}^{\check{v}^k-1} \dfrac{\check{u}^{\sum_{m=0}^{k-1} \check{v}^m +l}}{ 10^{l}}\right|\right)}.$$
323 $d$ is a distance on $\mathcal{X}_{\mathsf{N},\mathcal{P}}$.
328 $d_{\mathds{B}^\mathsf{N}}$ is the Hamming distance. We will prove that
329 $d_{\mathds{S}_{\mathsf{N},\mathcal{P}}}$ is a distance
330 too, thus $d$ will also be a distance, being the sum of two distances.
332 \item Obviously, $d_{\mathds{S}_{\mathsf{N},\mathcal{P}}}(s,\check{s})\geqslant 0$, and if $s=\check{s}$, then
333 $d_{\mathds{S}_{\mathsf{N},\mathcal{P}}}(s,\check{s})=0$. Conversely, if $d_{\mathds{S}_{\mathsf{N},\mathcal{P}}}(s,\check{s})=0$, then
334 $\forall k \in \mathds{N}, v^k=\check{v}^k$ due to the
335 definition of $d$. Then, as digits between positions $p+1$ and $p+n$ are null and correspond to $|u^0-\check{u}^0|$, we can conclude that $u^0=\check{u}^0$. An extension of this result to the whole first $n \times \max{(\mathcal{P})}$ bloc leads to $u^i=\check{u}^i$, $\forall i \leqslant v^0=\check{v}^0$, and by checking all the $n \times \max{(\mathcal{P})}$ blocs, $u=\check{u}$.
336 \item $d_{\mathds{S}_{\mathsf{N},\mathcal{P}}}$ is clearly symmetric
337 ($d_{\mathds{S}_{\mathsf{N},\mathcal{P}}}(s,\check{s})=d_{\mathds{S}_{\mathsf{N},\mathcal{P}}}(\check{s},s)$).
338 \item The triangle inequality is obtained because the absolute value satisfies it too.
343 Before being able to study the topological behavior of the general
344 chaotic iterations, we must first establish that:
347 For all $f:\mathds{B}^\mathsf{N} \longrightarrow \mathds{B}^\mathsf{N} $, the function $G_f$ is continuous on
348 $\left( \mathcal{X},d\right)$.
353 We will show this result by using the sequential continuity. Consider a
354 sequence $x^n=(e^n,(u^n,v^n)) \in \mathcal{X}_{\mathsf{N},\mathcal{P}}^\mathds{N}$ such
355 that $d(x^n,x) \longrightarrow 0$, for some $x=(e,(u,v))\in
356 \mathcal{X}_{\mathsf{N},\mathcal{P}}$. We will show that
357 $d\left(G_f(x^n),G_f(x)\right) \longrightarrow 0$.
358 Remark that $u$ and $v$ are sequences of sequences.
360 As $d(x^n,x) \longrightarrow 0$, there exists
361 $n_0\in\mathds{N}$ such that
362 $d(x^n,x) < 10^{-(p+n \max{(\mathcal{P})})}$
363 (its $p+n \max{(\mathcal{P})}$ first digits are null).
364 In particular, $\forall n \geqslant n_0, e^n=e$,
365 as the Hamming distance between the integral parts of
366 $x$ and $\check{x}$ is 0. Similarly, due to the nullity
367 of the $p+n \max{(\mathcal{P})}$ first digits of
368 $d(x^n,x)$, we can conclude that $\forall n \geqslant n_0$,
369 $(v^n)^0=v^0$, and that $\forall n \geqslant n_0$,
370 $(u^n)^0=u^0$, $(u^n)^1=u^1$, ..., $(u^n)^{v^0-1}=u^{v^0-1}$.
373 \item $G_f(x^n)_1=G_f(x)_1$: they have the same
374 Boolean vector as first coordinate.
375 \item $d_{\mathds{S}_{\mathsf{N},\mathcal{P}}}(\Sigma (u^n,v^n); \Sigma(u,v)) = 10^{p+n \max{(\mathcal{P})}} d_{\mathds{S}_{\mathsf{N},\mathcal{P}}}((u^n,v^n); (u,v))$. As the right part of the equality tends
376 to 0, we can deduce that it is the case too for the left part of the equality, and so
377 $G_f(x^n)_2$ is convergent to $G_f(x)_2$.
383 \subsection{$\Gamma_{\mathcal{P}}(f)$ as an extension of $\Gamma(f)$}
385 Let $\mathcal{P}=\{p_1, p_2, \hdots, p_\mathsf{p}\}$.
386 We define the directed graph $\Gamma_{\mathcal{P}}(f)$ as follows.
388 \item Its vertices are the $2^\mathsf{N}$ elements of $\mathds{B}^\mathsf{N}$.
389 \item Each vertex has $\displaystyle{\sum_{i=1}^\mathsf{p} \mathsf{N}^{p_i}}$ arrows, namely all the $p_1, p_2, \hdots, p_\mathsf{p}$ tuples
390 having their elements in $\llbracket 1, \mathsf{N} \rrbracket $.
391 \item There is an arc labeled $u_0, \hdots, u_{p_i-1}$, $i \in \llbracket 1, \mathsf{p} \rrbracket$ between vertices $x$ and $y$ if and only if
392 $y=F_{f,p_i} (x, (u_0, \hdots, u_{p_i-1})) $.
395 It is not hard to see that the graph $\Gamma_{\{1\}}(f)$ is
400 \begin{subfigure}[b]{0.45\textwidth}
402 \includegraphics[scale=0.85]{graphe1.pdf}
403 \caption{$\Gamma(f_0)$}
406 ~ %add desired spacing between images, e. g. ~, \quad, \qquad, \hfill etc.
407 % (or a blank line to force the subfigure onto a new line)
408 \begin{subfigure}[b]{0.3\textwidth}
410 \includegraphics[scale=0.85]{graphe2.pdf}
411 \caption{$\Gamma_{\{2,3\}}(f_0)$}
414 ~ %add desired spacing between images, e. g. ~, \quad, \qquad, \hfill etc.
415 \caption{Iterating $f_0:(x_1,x_2) \mapsto (\overline{x_1}, \overline{x_2})$}
421 Consider for instance $\mathsf{N}=2$,
422 Let $f_0:\mathds{B}^2 \longrightarrow \mathds{B}^2$ be the negation function,
423 \textit{i.e.}, $f_0(x_1,x_2) = (\overline{x_1}, \overline{x_2})$, and consider
424 $\mathcal{P}=\{2,3\}$. The graphs of iterations are given in
425 \textsc{Figure~\ref{fig:itg}}.
426 The \textsc{Figure~\ref{graphe1}} shows what happens when
427 displaying each iteration result.
428 On the contrary, the \textsc{Figure~\ref{graphe2}} explicits the behaviors
429 when always applying either 2 or 3 modifications before generating results.
430 Notice that here, orientations of arcs are not necessary
431 since the function $f_0$ is equal to its inverse $f_0^{-1}$.
434 \subsection{Proofs of chaos}
439 $\Gamma_{\mathcal{P}}(f)$ is strongly connected if and only if $G_f$ is
440 topologically transitive on $(\mathcal{X}_{\mathsf{N},\mathcal{P}}, d)$.
445 Suppose that $\Gamma_{\mathcal{P}}(f)$ is strongly connected.
446 Let $x=(e,(u,v)),\check{x}=(\check{e},(\check{u},\check{v}))
447 \in \mathcal{X}_{\mathsf{N},\mathcal{P}}$ and $\varepsilon >0$.
448 We will find a point $y$ in the open ball $\mathcal{B}(x,\varepsilon )$ and
449 $n_0 \in \mathds{N}$ such that $G_f^{n_0}(y)=\check{x}$: this strong transitivity
450 will imply the transitivity property.
451 We can suppose that $\varepsilon <1$ without loss of generality.
453 Let us denote by $(E,(U,V))$ the elements of $y$. As
454 $y$ must be in $\mathcal{B}(x,\varepsilon)$ and $\varepsilon < 1$,
455 $E$ must be equal to $e$. Let $k=\lfloor \log_{10} (\varepsilon) \rfloor +1$.
456 $d_{\mathds{S}_{\mathsf{N},\mathcal{P}}}((u,v),(U,V))$ must be lower than
457 $\varepsilon$, so the $k$ first digits of the fractional part of
458 $d_{\mathds{S}_{\mathsf{N},\mathcal{P}}}((u,v),(U,V))$ are null.
459 Let $k_1$ the smallest integer such that, if $V^0=v^0$, ..., $V^{k_1}=v^{k_1}$,
460 $U^0=u^0$, ..., $U^{\sum_{l=0}^{k_1}V^l-1} = u^{\sum_{l=0}^{k_1}v^l-1}$.
461 Then $d_{\mathds{S}_{\mathsf{N},\mathcal{P}}}((u,v),(U,V))<\varepsilon$.
462 In other words, any $y$ of the form $(e,((u^0, ..., u^{\sum_{l=0}^{k_1}v^l-1}),
463 (v^0, ..., v^{k_1}))$ is in $\mathcal{B}(x,\varepsilon)$.
465 Let $y^0$ such a point and $z=G_f^{k_1}(y^0) = (e',(u',v'))$. $\Gamma_{\mathcal{P}}(f)$
466 being strongly connected, there is a path between $e'$ and $\check{e}$. Denote
467 by $a_0, \hdots, a_{k_2}$ the edges visited by this path. We denote by
468 $V^{k_1}=|a_0|$ (number of terms in the finite sequence $a_1$),
469 $V^{k_1+1}=|a_1|$, ..., $V^{k_1+k_2}=|a_{k_2}|$, and by
470 $U^{k_1}=a_0^0$, $U^{k_1+1}=a_0^1$, ..., $U^{k_1+V_{k_1}-1}=a_0^{V_{k_1}-1}$,
471 $U^{k_1+V_{k_1}}=a_1^{0}$, $U^{k_1+V_{k_1}+1}=a_1^{1}$,...
473 Let $y=(e,((u^0, ..., u^{\sum_{l=0}^{k_1}v^l-1}, a_0^0, ..., a_0^{|a_0|}, a_1^0, ..., a_1^{|a_1|},...,
474 a_{k_2}^0, ..., a_{k_2}^{|a_{k_2}|},$ \linebreak
475 $\check{u}^0, \check{u}^1, ...),(v^0, ..., v^{k_1},|a_0|, ...,
476 |a_{k_2}|,\check{v}^0, \check{v}^1, ...)))$. So $y\in \mathcal{B}(x,\varepsilon)$
477 and $G_{f}^{k_1+k_2}(y)=\check{x}$.
480 Conversely, if $\Gamma_{\mathcal{P}}(f)$ is not strongly connected, then there are
481 2 vertices $e_1$ and $e_2$ such that there is no path between $e_1$ and $e_2$.
482 That is, it is impossible to find $(u,v)\in \mathds{S}_{\mathsf{N},\mathcal{P}}$
483 and $n\in \mathds{N}$ such that $G_f^n(e,(u,v))_1=e_2$. The open ball $\mathcal{B}(e_2, 1/2)$
484 cannot be reached from any neighborhood of $e_1$, and thus $G_f$ is not transitive.
490 If $\Gamma_{\mathcal{P}}(f)$ is strongly connected, then $G_f$ is
491 regular on $(\mathcal{X}_{\mathsf{N},\mathcal{P}}, d)$.
495 Let $x=(e,(u,v)) \in \mathcal{X}_{\mathsf{N},\mathcal{P}}$ and $\varepsilon >0$.
496 As in the proofs of Prop.~\ref{prop:trans}, let $k_1 \in \mathds{N}$ such
498 $$\left\{(e, ((u^0, ..., u^{v^{k_1-1}},U^0, U^1, ...),(v^0, ..., v^{k_1},V^0, V^1, ...)) \mid \right.$$
499 $$\left.\forall i,j \in \mathds{N}, U^i \in \llbracket 1, \mathsf{N} \rrbracket, V^j \in \mathcal{P}\right\}
500 \subset \mathcal{B}(x,\varepsilon),$$
501 and $y=G_f^{k_1}(e,(u,v))$. $\Gamma_{\mathcal{P}}(f)$ being strongly connected,
502 there is at least a path from the Boolean state $y_1$ of $y$ and $e$ \ANNOT{Phrase pas claire : "from ... " mais pas de "to ..."}.
503 Denote by $a_0, \hdots, a_{k_2}$ the edges of such a path.
505 $$(e,((u^0, ..., u^{v^{k_1-1}},a_0^0, ..., a_0^{|a_0|}, a_1^0, ..., a_1^{|a_1|},...,
506 a_{k_2}^0, ..., a_{k_2}^{|a_{k_2}|},u^0, ..., u^{v^{k_1-1}},$$
507 $$a_0^0, ...,a_{k_2}^{|a_{k_2}|}...),(v^0, ..., v^{k_1}, |a_0|, ..., |a_{k_2}|,v^0, ..., v^{k_1}, |a_0|, ..., |a_{k_2}|,...))$$
508 is a periodic point in the neighborhood $\mathcal{B}(x,\varepsilon)$ of $x$.
511 $G_f$ being topologically transitive and regular, we can thus conclude that
513 The function $G_f$ is chaotic on $(\mathcal{X}_{\mathsf{N},\mathcal{P}},d)$ if
514 and only if its iteration graph $\Gamma_{\mathcal{P}}(f)$ is strongly connected.
518 The pseudorandom number generator $\chi_{\textit{14Secrypt}}$ is not chaotic
519 on $(\mathcal{X}_{\mathsf{N},\{b\}},d)$ for the negation function.
522 In this context, $\mathcal{P}$ is the singleton $\{b\}$.
523 If $b$ is even, any vertex $e$ of $\Gamma_{\{b\}}(f_0)$ cannot reach
524 its neighborhood and thus $\Gamma_{\{b\}}(f_0)$ is not strongly connected.
525 If $b$ is odd, any vertex $e$ of $\Gamma_{\{b\}}(f_0)$ cannot reach itself
526 and thus $\Gamma_{\{b\}}(f_0)$ is not strongly connected.
529 The next section recalls a general scheme to produce
530 functions and a iteration number $b$
531 such that $\Gamma_{\{b\}}$ is strongly connected.
536 %%% TeX-master: "main"
537 %%% ispell-dictionary: "american"