## 4 Performance Tests of the Proposed PRNG
### Statistical Analysis and Randomness Testing  
In order to evaluate the randomness of the sequences generated by the proposed PRNG, we consider two statistical test suites for the pseudorandomness evaluation of number sequences produced by the proposed PRNG: NIST SP 800-22 [86] and TestU01 [87]. For the NIST SP 800-22 suite and for each configuration of the proposed PRNG (8, 16 or 32-bit), we randomly select 2000 keys (initial conditions) to produce 2000 pseudorandom sequences generated with a size of \(L=1,000,000\) bits. Subsequently, to obtain the proportion of the sequences passing the test, we obtained the confidence interval defined as \(\left(\hat{p}\pm 3\sqrt{\frac{\hat{p}(1-\hat{p})}{m}}\right)\cdot m\), where \(m=2000\), \(\hat{p}=1.0-v\), and the significance level is \(v=0.01\). Therefore, the confidence interval for 2000 binary sequences must be in [1966, 1993]. It is worth noting that if \(P_{value_{T}}\geq 0.0001\) then the sequences can be uniformly distributed. For those NIST sub-tests that consider more than one \(P_{value_{T}}\) an average value was obtained, which is shown in Table 3.  
On the other hand, the TestU01 test suite is a software library implemented in the ANSI C language and offering a collection of utilities for the empirical statistical testing of RNGs and PRNGs. TestU01 suite has three level of assessment: SmallCrush (15 tests), Crush \begin{table}
\begin{tabular}{l c c c c c c c} \hline \hline  & \multicolumn{2}{c}{**8-Bit**} & \multicolumn{2}{c}{**16-Bit**} & \multicolumn{2}{c}{**32-Bit**} & \multicolumn{2}{c}{**16-Bit**} & \multicolumn{2}{c}{**32-Bit**} \\
**Statistical Test** & **Proportion** & \(P_{\mathit{palner}}\) & **Proportion** & \(P_{\mathit{valner}}\) & **Proportion** & \(P_{\mathit{valner}}\) & **Result** \\ \hline Frequency & 1983/2000 & 0.508172 & 1984/2000 & 0.279844 & 1979/2000 & 0.332188 & Success \\ BlockFrequency & 1978/2000 & 0.136499 & 1976/2000 & 0.474986 & 1984/2000 & 0.061453 & Success \\ CumulativeSums * & 1982/2000 & 0.785879 & 1981/2000 & 0.385543 & 1980/2000 & 0.401199 & Success \\ Runs & 1983/2000 & 0.872425 & 1979/2000 & 0.151616 & 1986/2000 & 0.119857 & Success \\ LongestRun & 1977/2000 & 0.307818 & 1983/2000 & 0.761719 & 1977/2000 & 0.709558 & Success \\ Rank & 1981/2000 & 0.541216 & 1976/2000 & 0.837781 & 1984/2000 & 0.536163 & Success \\ FFT & 1973/2000 & 0.23983 & 1981/2000 & 0.040768 & 1972/2000 & 0.020973 & Success \\ NonOverlappingTemplate * & 1979/2000 & 0.770499 & 1980/2000 & 0.985788 & 1985/2000 & 0.716696 & Success \\ OverlappingTemplate & 1973/2000 & 0.790621 & 1975/2000 & 0.714660 & 1982/2000 & 0.640243 & Success \\ Universal & 1981/2000 & 0.547298 & 1980/2000 & 0.060683 & 1974/2000 & 0.610070 & Success \\ ApproximateEntropy & 1974/2000 & 0.057875 & 1975/2000 & 0.496351 & 1976/2000 & 0.016431 & Success \\ RandomExcursions * & 1222/1242 & 0.640478 & 1228/1240 & 0.958260 & 1231/1240 & 0.887740 & Success \\ RandomExcursionsVariant* & 1973/2000 & 0.873987 & 1988/2000 & 0.961440 & 1978/2000 & 0.829047 & Success \\ Serial * & 1983/2000 & 0.357820 & 1978/2000 & 0.038565 & 1989/2000 & 0.899171 & Success \\ LinearComplexity & 1981/2000 & 0.059358 & 1981/2000 & 0.18090 & 1980/2000 & 0.279844 & Success \\ \hline \hline \end{tabular}
* Average of multiple tests is considered.  
\end{table} 
Table 3: Results of pseudorandomness tests applying the NIST SP 800-22 suite to 2000 binary sequences with a 1,000,000-bit length. (144 tests) and BigCrush (160 tests). Besides, TestU01 includes the Alphabit, Rabbit and BlockAlphabit tests designed for testing bit generators implemented in hardware. Similar to the NIST tests, \(P_{value}\) is defined between [0.001, 0.9990] to pass the single tests. Then, we tested the proposed PRNG using the BigCrush (160 tests) level, Alphabit and Rabbit tests. Table 4 shows successful results when the proposed PRNG was configured for 8, 16 or 32 bits to generate 32-bit number sequences with size \(L=2^{26}\), \(2^{28}\) and \(2^{30}\).