X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/16dcc.git/blobdiff_plain/c069ead2bda7032833d2d7f3d0851906ec4d22f0..6c611637ef05c993351fece7ff89ee10a2090031:/prng.tex?ds=inline diff --git a/prng.tex b/prng.tex index ae733d9..8acfce7 100644 --- a/prng.tex +++ b/prng.tex @@ -1,7 +1,7 @@ -Let us finally present the pseudorandom number generator $\chi_{\textit{15Rairo}}$, +Let us finally present the pseudorandom number generator $\chi_{\textit{16HamG}}$, which is based on random walks in $\Gamma_{\{b\}}(f)$. More precisely, let be given a Boolean map $f:\Bool^{\mathsf{N}} \rightarrow -\Bool^\mathsf{N}$, +\Bool^{\mathsf{N}}$, a PRNG \textit{Random}, an integer $b$ that corresponds to an iteration number (\textit{i.e.}, the length of the walk), and an initial configuration $x^0$. @@ -16,19 +16,19 @@ This PRNG is formalized in Algorithm~\ref{CI Algorithm:2}. \begin{algorithm}[ht] %\begin{scriptsize} -\KwIn{a function $f$, an iteration number $b$, an initial configuration $x^0$ ($n$ bits)} -\KwOut{a configuration $x$ ($n$ bits)} +\KwIn{a function $f$, an iteration number $b$, an initial configuration $x^0$ ($\mathsf{N}$ bits)} +\KwOut{a configuration $x$ ($\mathsf{N}$ bits)} $x\leftarrow x^0$\; \For{$i=0,\dots,b-1$} { \If{$\textit{Random}(1) \neq 0$}{ -$s\leftarrow{\textit{Random}(n)}$\; -$x\leftarrow{F_f(s,x)}$\; +$s^0\leftarrow{\textit{Random}(\mathsf{N})}$\; +$x\leftarrow{F_f(x,s^0)}$\; } } return $x$\; %\end{scriptsize} -\caption{Pseudo Code of the $\chi_{\textit{15Rairo}}$ PRNG} +\caption{Pseudo Code of the $\chi_{\textit{16HamG}}$ PRNG} \label{CI Algorithm:2} \end{algorithm} @@ -47,7 +47,7 @@ Sect.~\ref{sec:hypercube}. Notice that the chaos property of $G_f$ given in Sect.\ref{sec:proofOfChaos} only requires that the graph $\Gamma_{\{b\}}(f)$ is strongly connected. -Since the $\chi_{\textit{15Rairo}}$ algorithm +Since the $\chi_{\textit{16HamG}}$ algorithm only adds probability constraints on existing edges, it preserves this property. @@ -69,137 +69,103 @@ In other words, the image of $3~(0011)$ by $\textcircled{a}$ is $14~(1110)$: it is obtained as the binary value of the fourth element in the second list (namely~14). -In this table the column -that is labeled with $b$ (respectively by $E[\tau]$) +In this table the column that is labeled with $b$ %(respectively by $E[\tau]$) gives the practical mixing time -where the deviation to the standard distribution is lesser than $10^{-6}$ -(resp. the theoretical upper bound of stopping time as described in -Sect.~\ref{sec:hypercube}). +where the deviation to the standard distribution is lesser than $10^{-6}$. +%(resp. the theoretical upper bound of stopping time as described in Sect.~\ref{sec:hypercube}). \begin{table*}[t] \begin{center} \begin{scriptsize} -\begin{tabular}{|c|c|c|c|c|} +\begin{tabular}{|c|c|c|c|} \hline Function $f$ & $f(x)$, for $x$ in $(0,1,2,\hdots,2^n-1)$ & $\mathsf{N}$ & $b$ -&$E[\tau]$\\ +\\ \hline %%%%% n= 4 -$\textcircled{a}$&[13,10,9,14,3,11,1,12,15,4,7,5,2,6,0,8]&4&64&154\\ +$\textcircled{a}$&[13,10,9,14,3,11,1,12,15,4,7,5,2,6,0,8]&4&64\\ \hline %%%%% n= 5 $\textcircled{b}$& -[29, 22, 25, 30, 19, 27, 24, 16, 21, 6, 5, 28, 23, 26, 1, 17, & 5 & 78 & 236\\ +[29, 22, 25, 30, 19, 27, 24, 16, 21, 6, 5, 28, 23, 26, 1, 17, & 5 & 78 \\ & 31, 12, 15, 8, 10, 14, 13, 9, 3, 2, 7, 20, 11, 18, 0, 4] -&&&\\ +&&\\ %%%%% n= 6 \hline & [55, 60, 45, 44, 58, 62, 61, 48, 53, 50, 52, 36, 59, 34, 33, 49, -&&&\\ +&&\\ & 15, 42, 47, 46, 35, 10, 57, 56, 7, 54, 39, 37, 51, 2, 1, 40, 63, -&&&\\ +&&\\ $\textcircled{c}$& 26, 25, 30, 19, 27, 17, 28, 31, 20, 23, 21, 18, 22, 16, 24, 13, -&6&88&335\\ +&6&88\\ & 12, 29, 8, 43, 14, 41, 0, 5, 38, 4, 6, 11, 3, 9, 32] -&&&\\ +&&\\ %%%%% n= 7 \hline & -[111, 94, 93, 116, 122, 90, 125, 88, 115, 126, 119, 84, 123, 98, -&&&\\ -& - 81, 120, 109, 106, 105, 110, 99, 107, 104, 72, 71, 118, 117, - &&&\\ -& -96, 103, 102, 113, 64, 79, 86, 95, 124, 83, 91, 121, 24, 85, 22, -&&&\\ -$\textcircled{d}$& -69, 20, 19, 114, 17, 112, 77, 76, 13, 108, 74, 10, 9, 73, 67, 66, -&7 & 99&450\\ - -& - 101, 100, 75, 82, 97, 0, 127, 54, 57, 62, 51, 59, 56, 48, 53, 38, -&&&\\ -& - 37, 60, 55, 58, 33, 49, 63, 44, 47, 40, 42, 46, 45, 41, 35, 34, -&&&\\ -& -39, 52, 43, 50, 32, 36, 29, 28, 61, 92, 26, 18, 89, 25, 87, 30, -&&&\\ -& -23, 4, 27, 2, 16, 80, 31, 78, 15, 14, 3, 11, 8, 12, 5, 70, 21, -&&&\\ -& -68, 7, 6, 65, 1] -&&&\\ - - +[111, 124, 93, 120, 122, 90, 113, 88, 115, 126, 125, 84, 123, 98, +&&\\ +&112, 96, 109, 106, 77, 110, 99, 74, 104, 72, 71, 100, 117, 116, +&&\\ +&103, 102, 65, 97, 31, 86, 95, 28, 27, 91, 121, 92, 119, 118, 69, +&&\\ +&68, 87, 114, 89, 81, 15, 76, 79, 108, 107, 10, 105, 8, 7, 6, 101, +&&\\ +$\textcircled{d}$&70, 75, 82, 64, 0, 127, 54, 53, 62, 51, 59, 56, 60, 39, 52, 37, +&&\\ +&36, 55, 58, 57, 49, 63, 44, 47, 40, 42, 46, 45, 41, 35, 34, 33, +&&\\ +&38, 43, 50, 32, 48, 29, 94, 61, 24, 26, 18, 17, 25, 19, 30, 85, +&&\\ +&22, 83, 2, 16, 80, 13, 78, 9, 14, 3, 11, 73, 12, 23, 4, 21, 20, +&&\\ +&67, 66, 5, 1] &&\\ %%%%%n=8 \hline & -[223, 190, 249, 254, 187, 251, 233, 232, 183, 230, 247, 180, 227, -&&&\\ -& -178, 240, 248, 237, 236, 253, 172, 203, 170, 201, 168, 229, 166, -&&&\\ -& -165, 244, 163, 242, 241, 192, 215, 220, 205, 216, 218, 222, 221, -&&&\\ -& -208, 213, 210, 212, 214, 219, 211, 217, 209, 239, 202, 207, 140, -&&&\\ -& -139, 234, 193, 204, 135, 196, 199, 132, 194, 130, 225, 200, 159, -&&&\\ -& -62, 185, 252, 59, 250, 169, 56, 191, 246, 245, 52, 243, 50, 176, -&&&\\ -& -48, 173, 238, 189, 44, 235, 42, 137, 184, 231, 38, 37, 228, 35, -&&&\\ -& -226, 177, 224, 151, 156, 141, 152, 154, 158, 157, 144, 149, 146, -&&&\\ -& -148, 150, 155, 147, 153, 145, 175, 206, 143, 136, 11, 142, 129, -&&&\\ -$\textcircled{e}$& -8, 7, 198, 197, 4, 195, 2, 161, 160, 255, 124, 109, 108, 122, -&8&110&582\\ -& - 126, 125, 112, 117, 114, 116, 100, 123, 98, 97, 113, 79, 106, -&&&\\ -& - 111, 110, 99, 74, 121, 120, 71, 118, 103, 101, 115, 66, 65, -&&&\\ -& -104, 127, 90, 89, 94, 83, 91, 81, 92, 95, 84, 87, 85, 82, 86, -&&&\\ -& -80, 88, 77, 76, 93, 72, 107, 78, 105, 64, 69, 102, 68, 70, 75, -&&&\\ -& -67, 73, 96, 55, 58, 45, 188, 51, 186, 61, 40, 119, 182, 181, -&&&\\ -& -53, 179, 54, 33, 49, 15, 174, 47, 60, 171, 46, 57, 32, 167, 6, -&&&\\ -& - 36, 164, 43, 162, 1, 0, 63, 26, 25, 30, 19, 27, 17, 28, 31, -&&&\\ -& -20, 23, 21, 18, 22, 16, 24, 13, 10, 29, 14, 3, 138, 41, 12, -&&&\\ -& -39, 134, 133, 5, 131, 34, 9, 128] -&&&\\ +[223, 238, 249, 254, 243, 251, 233, 252, 183, 244, 229, 245, 227, +&&\\ +&246, 240, 176, 175, 174, 253, 204, 203, 170, 169, 248, 247, 226, +&&\\ +&228, 164, 163, 162, 161, 192, 215, 220, 205, 216, 155, 222, 221, +&&\\ +&208, 213, 150, 212, 214, 219, 211, 145, 209, 239, 202, 207, 140, +&&\\ +&195, 234, 193, 136, 231, 230, 199, 197, 131, 198, 225, 200, 63, +&&\\ +&188, 173, 184, 186, 250, 57, 168, 191, 178, 180, 52, 187, 242, +&&\\ +&241, 48, 143, 46, 237, 236, 235, 138, 185, 232, 135, 38, 181, 165, +&&\\ +&35, 166, 33, 224, 31, 30, 153, 158, 147, 218, 217, 156, 159, 148, +&&\\ +$\textcircled{e}$&151, 149, 19, 210, 144, 152, 141, 206, 13, 12, 171, 10, 201, 128, +&8&109\\ +&133, 130, 132, 196, 3, 194, 137, 0, 255, 124, 109, 120, 122, 106, +&&\\ +&125, 104, 103, 114, 116, 118, 123, 98, 97, 113, 79, 126, 111, 110, +&&\\ +&99, 74, 121, 72, 71, 70, 117, 101, 115, 102, 65, 112, 127, 90, 89, +&&\\ +&94, 83, 91, 81, 92, 95, 84, 87, 85, 82, 86, 80, 88, 77, 76, 93, +&&\\ +&108, 107, 78, 105, 64, 69, 66, 68, 100, 75, 67, 73, 96, 55, 190, +&&\\ +&189, 62, 51, 59, 41, 60, 119, 182, 37, 53, 179, 54, 177, 32, 45, +&&\\ +&44, 61, 172, 11, 58, 9, 56, 167, 34, 36, 4, 43, 50, 49, 160, 23, +&&\\ +&28, 157, 24, 26, 154, 29, 16, 21, 18, 20, 22, 27, 146, 25, 17, 47, +&&\\ +&142, 15, 14, 139, 42, 1, 40, 39, 134, 7, 5, 2, 6, 129, 8] +&&\\ \hline \end{tabular} \end{scriptsize} @@ -220,7 +186,7 @@ achieve to pass the NIST battery of tests. -\begin{table} +\begin{table*} \renewcommand{\arraystretch}{1.3} \begin{center} \begin{scriptsize} @@ -251,7 +217,7 @@ Linear Complexity& 0.719 (1.0)& 0.739 (0.99)& 0.759 (0.98)& 0.122 (0.97)& 0.514 \end{center} \caption{NIST SP 800-22 test results ($\mathbb{P}_T$)} \label{The passing rate} -\end{table} +\end{table*} %%% Local Variables: