3 \subsection{Notations and terminologies}\label{sec:notations}
6 Denote by $\mathds{B}$ the Boolean set, by $\mathds{N}^\ast$ the set
7 of natural integers $\{1,2,3, \hdots \}$, and by $\mathds{N}=\mathds{N}^\ast \cup \{0\}$.
8 For $a,b \in \mathds{N}, a \leqslant b$, $\llbracket a, b \rrbracket$ means the set
9 $\{a, a+1, \hdots , b\}$ of integers belonging between $a$ and $b$.
10 For any finite set $X$, $|X|$ denotes its cardinality.
11 The $n-$th of a sequence $v$ of vectors is $v^n$ while its $i-$th component is $v_i^n$,
12 so $v=\left(v^n\right)_{n \in \mathds{N}}$.
13 Finally, $\overline{x}$ stands for the negation of the Boolean $x$, while $\lfloor y \rfloor$ is
14 the largest integer lower than $y$.
16 \subsubsection{Devaney's Chaotic Dynamical Systems}
17 \label{subsec:Devaney}
20 Consider a topological space $(\mathcal{X},\tau)$ and a continuous function $f :
21 \mathcal{X} \rightarrow \mathcal{X}$.
24 The function $f$ is said to be \emph{topologically transitive} if, for any pair of open sets
25 $U,V \subset \mathcal{X}$, there exists $k>0$ such that $f^k(U) \cap V \neq
30 An element $x$ is a \emph{periodic point} for $f$ of period $n\in \mathds{N}^*$
31 if $f^{n}(x)=x$.% The set of periodic points of $f$ is denoted $Per(f).$
35 $f$ is said to be \emph{regular} on $(\mathcal{X}, \tau)$ if the set of periodic
36 points for $f$ is dense in $\mathcal{X}$: for any point $x$ in $\mathcal{X}$,
37 any neighborhood of $x$ contains at least one periodic point (without
38 necessarily the same period).
42 \begin{Def}[Devaney's formulation of chaos~\cite{Devaney}]
43 The function $f$ is said to be \emph{chaotic} on $(\mathcal{X},\tau)$ if $f$ is regular and
44 topologically transitive.
47 The chaos property is strongly linked to the notion of ``sensitivity'', defined
48 on a metric space $(\mathcal{X},d)$ by:
51 \label{sensitivity} The function $f$ has \emph{sensitive dependence on initial conditions}
52 if there exists $\delta >0$ such that, for any $x\in \mathcal{X}$ and any
53 neighborhood $V$ of $x$, there exist $y\in V$ and $n > 0$ such that
54 $d\left(f^{n}(x), f^{n}(y)\right) >\delta $.
56 The constant $\delta$ is called the \emph{constant of sensitivity} of $f$.
59 Indeed, Banks \emph{et al.} have proven in~\cite{Banks92} that when $f$ is
60 chaotic and $(\mathcal{X}, d)$ is a metric space, then $f$ has the property of
61 sensitive dependence on initial conditions (this property was formerly an
62 element of the definition of chaos).
65 \subsubsection{Introducing the \textit{CIPRNG} categories of chaotic iterations based pseudorandom number generators}
67 Define by $\mathcal{S}_X$ the set of sequences whose elements belong in $X \subset \mathds{N}, X \neq \varnothing$,
68 that is, $\mathcal{S}_X = \mathcal{X}^\mathds{N}$.
69 Let $\mathsf{N} \in \mathds{N}^\ast$, $f:\mathds{B}^\mathsf{N} \rightarrow \mathds{B}^\mathsf{N}$, and
70 $\mathcal{P} \subset \mathds{N}^\ast$ a non empty and finite set of integers.
72 Any couple $(u,v) \in \mathcal{S}_{\llbracket 1, \mathsf{N} \rrbracket} \times \mathcal{S}_\mathcal{P}$ defines
73 a ``chaotic iterations based'' pseudorandom number generator, which is denoted by $\textit{CIPRNG}_f^2(u,v)$~\cite{wbg10:ip}. It is
79 x^0 \in \mathds{B}^\mathsf{N}\\
80 \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.\\
81 \forall n \in \mathds{N}, y^n = x^{v^n} .
85 The outputted sequence produced by this generator is $\left(y^n\right)_{n \in \mathds{N}}$.
86 Remark that, given a sequence $S \in \mathcal{S}_{\llbracket 1, \mathsf{N} \rrbracket}$ called a ``chaotic strategy'',
87 the following way to iterate:
88 $$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. ,$$
89 is referred in the discrete mathematics literature as ``chaotic iterations''~\cite{Robert} (a terminology which has
90 \emph{a priori} no relation with the mathematical theory of chaos recalled previously), which
91 explains the name provided to these categories of pseudorandom number generators.
94 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
96 It has been proven as chaotic for the vectorial Boolean negation $f_0:\mathds{B}^\mathsf{N} \longrightarrow \mathds{B}^\mathsf{N}$,
97 $(x_1, \hdots , x_\mathsf{N}) \longmapsto (\overline{x_1}, \hdots, \overline{x_\mathsf{N}})$ in \cite{bgw09:ip}
98 and for a larger set of well-chosen iteration functions in~\cite{bcgr11:ip} but,
99 as only one bit is modified at each iteration, this generator is not able to pass any reasonable statistical tests.
101 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$
102 where $S \in \mathcal{S}_{\llbracket 1, \mathsf{N} \rrbracket}$ and $\oplus$ stands for the bitwise \emph{exclusive or} (xor) operation
103 between the binary decomposition of $x^n$ and $S^n$. This is indeed a $CIPRNG_{f_0}^2 (u,v)$ generator:
105 %$u,v \in \mathcal{S}_{\llbracket 1, \mathsf{N} \rrbracket}$:
106 for any given $S \in \mathcal{S}_{\llbracket 1, \mathsf{N} \rrbracket}$, $v^n$ is the number
107 of 1's in the binary decomposition of $S^n$ while $u^{v^n}, u^{v^n+1}, \hdots , u^{v^{n+1}-1}$
108 are the positions of these ones.
109 The $\textit{XOR~CIPRNG}$ has been proven chaotic and it is able to pass all the most stringent statistical
110 batteries of tests~\cite{DBLP:journals/corr/abs-1112-5239}, namely: DieHARD~\cite{Marsaglia1996}, NIST~\cite{Nist10}, and TestU01~\cite{LEcuyerS07},
111 which encompasses the two former ones. Furthermore, the output sequence is cryptographically secure
112 when $S$ is cryptographically secure~\cite{DBLP:journals/corr/abs-1112-5239}.
113 We are then left to prove $\textit{CIPRNG}_f^2(u,v)$ is chaotic.
115 \subsection{The $\textit{CIPRNG}_f^2(u,v)$ is chaotic for well-chosen $f$}\label{sec:wellchosen}
117 \subsubsection{The generator as a discrete dynamical system}
120 Using notations of the previous section, consider a $\textit{CIPRNG}_f^2(u,v)$ generator $G$, with
121 $\mathsf{N} \in \mathds{N}^\ast$, $f:\mathds{B}^\mathsf{N} \longrightarrow \mathds{B}^\mathsf{N}$,
122 $u \in \mathcal{S}_{\llbracket 1, \mathsf{N} \rrbracket}$, and $v \in \mathcal{S}_\mathcal{P}$, with
123 $\mathcal{P} \subset \mathds{N}$ a finite nonempty set having the cardinality
124 $\mathsf{p} \in \mathds{N}^\ast$.
125 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}\}$
126 and $p_1< p_2< \hdots < p_\mathsf{p}$.
130 F_f: & \mathds{B}^\mathsf{N} \times \llbracket 1, \mathsf{N} \rrbracket & \longrightarrow & \mathds{B}^\mathsf{N}\\
131 & (e,i) & \longmapsto & (e_1, \hdots , e_{i-1}, f(e)_i, e_{i+1}, \hdots , e_{\mathsf{N}})
137 F_{f,\mathsf{p}} : & \mathds{B}^\mathsf{N} \times \llbracket 1, \mathsf{N} \rrbracket^\mathsf{p} & \longrightarrow & \mathds{B}^\mathsf{N}\\
138 & (e,(u^0, u^1, \hdots, u^{\mathsf{p}-1})) & \longmapsto & F_f(\hdots (F_f(F_f(e,u^0), u^1), \hdots), u^{\mathsf{p}-1}) .
142 Denote by $\mathcal{X}_{\mathsf{N},\mathcal{P}}= \mathds{B}^\mathsf{N} \times \mathds{S}_{\mathsf{N},\mathcal{P}}$, where
143 $\mathds{S}_{\mathsf{N},\mathcal{P}}=\mathcal{S}_{\llbracket 1, \mathsf{N} \rrbracket}\times \mathcal{S}_\mathcal{P}$,
144 we define the shift operation on sequences as follows,
145 $$\begin{array}{cccc}
146 \sigma:&\mathcal{S}_{X} &\longrightarrow
148 & (u^k)_{k \in \mathds{N}} & \longmapsto & (u^{k+1})_{k \in \mathds{N}},
152 $$\begin{array}{cccc}
153 \Sigma:&\mathds{S}_{\mathsf{N},\mathcal{P}} &\longrightarrow
154 &\mathds{S}_{\mathsf{N},\mathcal{P}} \\
155 & \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).
158 In other words, $\Sigma$ receives two sequences $u$ and $v$, and
159 it operates $v^0$ shifts on the first sequence and a single shift
164 G_f :& \mathcal{X}_{\mathsf{N},\mathcal{P}} & \longrightarrow & \mathcal{X}_{\mathsf{N},\mathcal{P}}\\
165 & (e,(u,v)) & \longmapsto & \left( F_{f,v^0}\left( e, (u^0, \hdots, u^{v^0-1}\right), \Sigma (u,v) \right) .
168 Then the outputs $(y^0, y^1, \hdots )$ produced by the $\textit{CIPRNG}_f^2(u,v)$ generator
169 are the first components of the iterations $X^0 = (x^0, (u,v))$ and $\forall n \in \mathds{N},
170 X^{n+1} = G_f(X^n)$ on $\mathcal{X}_{\mathsf{N},\mathcal{P}}$.
177 \subsubsection{A metric on $\mathcal{X}_{\mathsf{N},\mathcal{P}}$}
179 We define a distance $d$ on $\mathcal{X}_{\mathsf{N},\mathcal{P}}$ as follows.
181 $x=(e,s)$ and $\check{x}=(\check{e},\check{s})$ in
182 $\mathcal{X}_{\mathsf{N},\mathcal{P}} = \mathds{B}^\mathsf{N} \times \mathds{S}_{\mathsf{N},\mathcal{P}} $,
183 where $s=(u,v)$ and $\check{s}=(\check{u},\check{v})$ are in $ \mathds{S}_{\mathsf{N},\mathcal{P}} =
184 \mathcal{S}_{\llbracket 1, \mathsf{N} \rrbracket} \times \mathcal{S}_\mathcal{P}$.
186 \item $e$ and $\check{e}$ are integers belonging in $\llbracket 0, 2^{\mathsf{N}-1} \rrbracket$. The Hamming distance
187 on their binary decomposition, that is, the number of dissimilar binary digits, constitutes the integral
188 part of $d(X,\check{X})$.
189 \item The fractional part is constituted by the differences between $v^0$ and $\check{v}^0$, followed by the differences
190 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
191 differences between $v^1$ and $\check{v}^1$, followed by the differences
192 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.
193 More precisely, let $p = \lfloor \log_{10}{(\max{\mathcal{P}})}\rfloor +1$ and $n = \lfloor \log_{10}{(\mathsf{N})}\rfloor +1$.
195 \item The $p$ first digits of $d(x,\check{x})$ is $|v^0-\check{v}^0|$ written in decimal numeration (and with $p$ digits).
196 \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
197 digits are $|u^0-\check{u}^0|$. They are followed by
198 $|u^1-\check{u}^1|$ written with $n$ digits, etc.
201 $v^0=\check{v}^0$, then the process is continued until $|u^{v^0-1}-\check{u}^{\check{v}^0-1}|$ and the fractional
202 part of $d(X,\check{X})$ is completed by 0's until reaching
203 $p+n\times \max{(\mathcal{P})}$ digits.
204 \item If $v^0<\check{v}^0$, then the $ \max{(\mathcal{P})}$ blocs of $n$
205 digits are $|u^0-\check{u}^0|$, ..., $|u^{v^0-1}-\check{u}^{v^0-1}|$,
206 $\check{u}^{v^0}$ (on $n$ digits), ..., $\check{u}^{\check{v}^0-1}$ (on $n$ digits), followed by O's if required.
207 \item The case $v^0>\check{v}^0$ is dealt similarly.
209 \item The next $p$ digits are $|v^1-\check{v}^1|$, etc.
217 Consider for instance that $\mathsf{N}=13$, $\mathcal{P}=\{1,2,11\}$ (so $\mathsf{p}=3$), and that
220 u=\underline{6,} ~ \underline{11,5}, ...\\
227 \check{u}=\underline{6,4} ~ \underline{1}, ...\\
232 So $d_{\mathds{S}_{\mathsf{N},\mathcal{P}}}(s,\check{s}) = 0.010004000000000000000000011005 ...$
233 Indeed, the $p=2$ first digits are 01, as $|v^0-\check{v}^0|=1$,
234 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
235 at most $\max{(\mathcal{P})}$ times, we must complete this
236 value by some 0's in such a way that the obtained result
237 has $n\times \max{(\mathcal{P})}=22$ digits, that is:
238 0600000000000000000000. Similarly, the $\check{v}^0=2$ first
239 terms in $\check{u}$ are represented by 0604000000000000000000, and the absolute value of their
240 difference is equal to 0004000000000000000000. These digits are concatenated to 01, and
241 we start again with the remainder of the sequences.
246 Consider now that $\mathsf{N}=9$, and $\mathcal{P}=\{2,7\}$, and that
250 u=\underline{6,7,} ~ \underline{4,2,} ...\\
257 \check{u}=\underline{4, 9, 6, 3, 6, 6, 7,} ~ \underline{9, 8}, ...\\
262 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$,
263 and $|9800000-4200000| = 5600000$.
268 $d$ can be more rigorously written as follows:
269 $$d(x,\check{x})=d_{\mathds{S}_{\mathsf{N},\mathcal{P}}}(s,\check{s})+d_{\mathds{B}^\mathsf{N}}(e,\check{e}),$$
270 where: % $p=\max \mathcal{P}$ and:
272 \item $d_{\mathds{B}^\mathsf{N}}$ is the Hamming distance,
273 \item $\forall s=(u,v), \check{s}=(\check{u},\check{v}) \in \mathcal{S}_{\mathsf{N},\mathcal{P}}$,\newline
275 d_{\mathds{S}_{\mathsf{N},\mathcal{P}}}(s,\check{s}) &= &
276 \sum_{k=0}^\infty \dfrac{1}{10^{(k+1)p+kn\max{(\mathcal{P})}}}
277 \bigg(|v^k - \check{v}^k| \\
278 & & + \left| \sum_{l=0}^{v^k-1}
279 \dfrac{u^{\sum_{m=0}^{k-1} v^m +l}}{ 10^{(l+1)n}} -
280 \sum_{l=0}^{\check{v}^k-1}
281 \dfrac{\check{u}^{\sum_{m=0}^{k-1} \check{v}^m +l}}{ 10^{(l+1)n}} \right| \bigg)
283 $$ %\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)}.$$
289 $d$ is a distance on $\mathcal{X}$.
294 $d_{\mathds{B}^\mathsf{N}}$ is the Hamming distance. We will prove that
295 $d_{\mathds{S}_{\mathsf{N},\mathcal{P}}}$ is a distance
296 too, thus $d$ will also be a distance, being the sum of two distances.
298 \item Obviously, $d_{\mathds{S}_{\mathsf{N},\mathcal{P}}}(s,\check{s})\geqslant 0$, and if $s=\check{s}$, then
299 $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
300 $\forall k \in \mathds{N}, v^k=\check{v}^k$ due to the
301 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}$.
302 \item $d_{\mathds{S}_{\mathsf{N},\mathcal{P}}}$ is clearly symmetric
303 ($d_{\mathds{S}_{\mathsf{N},\mathcal{P}}}(s,\check{s})=d_{\mathds{S}_{\mathsf{N},\mathcal{P}}}(\check{s},s)$).
304 \item The triangle inequality is obtained because the absolute value satisfies it too.
309 Before being able to study the topological behavior of the general
310 chaotic iterations, we must first establish that:
313 For all $f:\mathds{B}^\mathsf{N} \longrightarrow \mathds{B}^\mathsf{N} $, the function $G_f$ is continuous on
314 $\left( \mathcal{X},d\right)$.
319 We will show this result by using the sequential continuity. Consider a
320 sequence $x^n=(e^n,(u^n,v^n)) \in \mathcal{X}_{\mathsf{N},\mathcal{P}}^\mathds{N}$ such
321 that $d(x^n,x) \longrightarrow 0$, for some $x=(e,(u,v))\in
322 \mathcal{X}_{\mathsf{N},\mathcal{P}}$. We will show that
323 $d\left(G_f(x^n),G_f(x)\right) \longrightarrow 0$.
324 Remark that $u$ and $v$ are sequences of sequences.
326 As $d(x^n,x) \longrightarrow 0$, there exists
327 $n_0\in\mathds{N}$ such that
328 $d(x^n,x) < 10^{-(p+n \max{(\mathcal{P})})}$
329 (its $p+n \max{(\mathcal{P})}$ first digits are null).
330 In particular, $\forall n \geqslant n_0, e^n=e$,
331 as the Hamming distance between the integral parts of
332 $x$ and $\check{x}$ is 0. Similarly, due to the nullity
333 of the $p+n \max{(\mathcal{P})}$ first digits of
334 $d(x^n,x)$, we can conclude that $\forall n \geqslant n_0$,
335 $(v^n)^0=v^0$, and that $\forall n \geqslant n_0$,
336 $(u^n)^0=u^0$, $(u^n)^1=u^1$, ..., $(u^n)^{v^0-1}=u^{v^0-1}$.
339 \item $G_f(x^n)_1=G_f(x)_1$: they have the same
340 Boolean vector as first coordinate.
341 \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
342 to 0, we can deduce that it is the case too for the left part of the equality, and so
343 $G_f(x^n)_2$ is convergent to $G_f(x)_2$.
349 \includegraphics[scale=0.85]{graphe1.pdf}
350 \caption{Chaotic iterations of $f_0$, defining the $CIPRNG_{f_0}^1$ ($\mathsf{N}=2$)}
354 \subsubsection{The $\textit{CIPRNG}_f^2(u,v)$ as iterations on a graph}
356 We define the directed graph $\mathcal{G}_{f,\mathcal{P}}$ as follows.
358 \item Its vertices are the $2^\mathsf{N}$ elements of $\mathds{B}^\mathsf{N}$.
359 \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
360 having their elements in $\llbracket 1, \mathsf{N} \rrbracket $.
361 \item There is an arc labeled $a_1, \hdots, a_{p_i}$, $i \in \llbracket 1, \mathsf{p} \rrbracket$ between vertices $x$ and $y$ if and only if $y=F_{f,p_i} (x, (a_1, \hdots, a_{p_i})) $.
367 \includegraphics[scale=0.85]{graphe2.pdf}
368 \caption{Iteration graph of $CIPRNG_{f_0}^2$, $\mathcal{P}=\{2,3\}$, $\mathsf{N}=2$}
373 Consider for instance $\mathsf{N}=2$, $f_0:\mathds{B}^2 \longrightarrow \mathds{B}^2, (x_1,x_2) \longmapsto (\overline{x_1}, \overline{x_2})$, and
374 $\mathcal{P}=\{2,3\}$. Chaotic iterations of $f_0$ are given in Figure~\ref{graphe1} while the digraph $\mathcal{G}_{f_0,\{2,3\}}$ is depicted in
375 Figure~\ref{graphe2}. Notice that here, orientations of arcs are not necessary
376 since the function $f$ is equal to its inverse $f^{-1}$.
379 \subsubsection{Proofs of chaos}
384 $\mathcal{G}_{f,\mathcal{P}}$ is strongly connected if and only if $G_f$ is
385 topologically transitive on $(\mathcal{X}_{\mathsf{N},\mathcal{P}}, d)$.
390 Suppose that $\mathcal{G}_{f,\mathcal{P}}$ is strongly connected.
391 Let $x=(e,(u,v)),\check{x}=(\check{e},(\check{u},\check{v}))
392 \in \mathcal{X}_{\mathsf{N},\mathcal{P}}$ and $\varepsilon >0$.
393 We will find a point $y$ in the open ball $\mathcal{B}(x,\varepsilon )$ and
394 $n_0 \in \mathds{N}$ such that $G_f^{n_0}(y)=\check{x}$: this strong transitivity
395 will imply the transitivity property.
396 We can suppose that $\varepsilon <1$ without loss of generality.
398 Let us denote by $(E,(U,V))$ the elements of $y$. As
399 $y$ must be in $\mathcal{B}(x,\varepsilon)$ and $\varepsilon < 1$,
400 $E$ must be equal to $e$. Let $k=\lfloor \log_{10} (\varepsilon) \rfloor +1$.
401 $d_{\mathds{S}_{\mathsf{N},\mathcal{P}}}((u,v),(U,V))$ must be lower than
402 $\varepsilon$, so the $k$ first digits of the fractional part of
403 $d_{\mathds{S}_{\mathsf{N},\mathcal{P}}}((u,v),(U,V))$ are null.
404 Let $k_1$ the smallest integer such that, if $V^0=v^0$, ..., $V^{k_1}=v^{k_1}$,
405 $U^0=u^0$, ..., $U^{\sum_{l=0}^{k_1}V^l-1} = u^{\sum_{l=0}^{k_1}v^l-1}$.
406 Then $d_{\mathds{S}_{\mathsf{N},\mathcal{P}}}((u,v),(U,V))<\varepsilon$.
407 In other words, any $y$ of the form $(e,((u^0, ..., u^{\sum_{l=0}^{k_1}v^l-1}),
408 (v^0, ..., v^{k_1}))$ is in $\mathcal{B}(x,\varepsilon)$.
410 Let $y^0$ such a point and $z=G_f^{k_1}(y^0) = (e',(u',v'))$. $\mathcal{G}_{f,\mathcal{P}}$
411 being strongly connected, there is a path between $e'$ and $\check{e}$. Denote
412 by $a_0, \hdots, a_{k_2}$ the edges visited by this path. We denote by
413 $V^{k_1}=|a_0|$ (number of terms in the finite sequence $a_1$),
414 $V^{k_1+1}=|a_1|$, ..., $V^{k_1+k_2}=|a_{k_2}|$, and by
415 $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}$,
416 $U^{k_1+V_{k_1}}=a_1^{0}$, $U^{k_1+V_{k_1}+1}=a_1^{1}$,...
418 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|},...,
419 a_{k_2}^0, ..., a_{k_2}^{|a_{k_2}|},$ \linebreak
420 $\check{u}^0, \check{u}^1, ...),(v^0, ..., v^{k_1},|a_0|, ...,
421 |a_{k_2}|,\check{v}^0, \check{v}^1, ...)))$. So $y\in \mathcal{B}(x,\varepsilon)$
422 and $G_{f}^{k_1+k_2}(y)=\check{x}$.
425 Conversely, if $\mathcal{G}_{f,\mathcal{P}}$ is not strongly connected, then there are
426 2 vertices $e_1$ and $e_2$ such that there is no path between $e_1$ and $e_2$.
427 That is, it is impossible to find $(u,v)\in \mathds{S}_{\mathsf{N},\mathcal{P}}$
428 and $n \mathds{N}$ such that $G_f^n(e,(u,v))_1=e_2$. The open ball $\mathcal{B}(e_2, 1/2)$
429 cannot be reached from any neighborhood of $e_1$, and thus $G_f$ is not transitive.
435 If $\mathcal{G}_{f,\mathcal{P}}$ is strongly connected, then $G_f$ is
436 regular on $(\mathcal{X}_{\mathsf{N},\mathcal{P}}, d)$.
440 Let $x=(e,(u,v)) \in \mathcal{X}_{\mathsf{N},\mathcal{P}}$ and $\varepsilon >0$.
441 As in the proofs of Prop.~\ref{prop:trans}, let $k_1 \in \mathds{N}$ such
443 $$\left\{(e, ((u^0, ..., u^{v^{k_1-1}},U^0, U^1, ...),(v^0, ..., v^{k_1},V^0, V^1, ...)) \mid \right.$$
444 $$\left.\forall i,j \in \mathds{N}, U^i \in \llbracket 1, \mathsf{N} \rrbracket, V^j \in \mathcal{P}\right\}
445 \subset \mathcal{B}(x,\varepsilon),$$
446 and $y=G_f^{k_1}(e,(u,v))$. $\mathcal{G}_{f,\mathcal{P}}$ being strongly connected,
447 there is at least a path from the Boolean state $y_1$ of $y$ and $e$.
448 Denote by $a_0, \hdots, a_{k_2}$ the edges of such a path.
450 $$(e,((u^0, ..., u^{v^{k_1-1}},a_0^0, ..., a_0^{|a_0|}, a_1^0, ..., a_1^{|a_1|},...,
451 a_{k_2}^0, ..., a_{k_2}^{|a_{k_2}|},u^0, ..., u^{v^{k_1-1}},$$
452 $$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}|,...))$$
453 is a periodic point in the neighborhood $\mathcal{B}(x,\varepsilon)$ of $x$.
456 $G_f$ being topologically transitive and regular, we can thus conclude that
458 The pseudorandom number generator $\textit{CIPRNG}_f^2$ denoted by $G_f$ in
459 this section is chaotic on $(\mathcal{X}_{\mathsf{N},\mathcal{P}},d)$ if
460 and only if its graph $\mathcal{G}_{f,\mathcal{P}}$ is strongly connected.