In [117], the proposed random number generator was tested using FIPS 140-1 and Beker and Piper’s suites which were published in 1982 and 1994, respectively. The authors claimed that the generated sequences passed all the tests with sequence length of 100,000 bits for several samples and significance level of α = 0.05. In 2010 NIST published a package of statistical suite tests of random bits for random and pseudorandom number generators for cryptography applications (NIST 800-22) to check the non-randomness of generated sequences. Typically, they recommended the
8
-A Novel Pseudorandom Bit Generator Based on New Triangle-Chaotic Map for High Security Applications155
chosen significance level (α) in the range [0.001, 0.01] and sequence size of at least 20,000 without giving an exact sample size. Therefore, the chosen significance level α = 0.05 is considered an atypical value, which make the test much more easier as it would be acceptable to reject five sequences out of each 100 sequences. Moreover, based on acceptable confidence interval in equation 8-7, the minimum sample size with significance α = 0.05 should be 3250 samples approximately.
Table 8-1: Number of NIST 800-22 test suite sub-tests No. Statistical Test Sub-tests
1 Frequency 1
2 Block Frequency 1 3 Cusum-Forward 1 4 Cusum-Reverse 1
5 Runs 2
6 Long Runs of Ones 1
7 Rank 1 8 FFT 1 9 NonOverlapping Templates 1 10 Overlapping Templates 148 11 Universal 1 12 Approximate Entropy 18 13 Random Excursions 1 14 Random Excursions Variant 1 15 Linear Complexity 1
16 Serial 8
NIST 800-22 suite test consists of 16 main tests aiming to verify the randomness of the input sequences (see table 8-1). Some of these tests are decomposed to sub-tests; thus, the total number of tests is 188 tests in NIST 800-22 suite (see table 8-2). The test aims to confirm the existence of non-randomness in the generated bit sequence. The generated sequences based on the three pseudorandom number generators (LPRNG, MLPRNG, and PRNGT) were tested using NIST SP800-22 suite test to prove their randomness. Significance level (α) and sequence length determine that the pass criteria α is set to 0.01 for all tests of p-values. Each generator is used to generate 1000 samples, m = 103, of 1-Mbit sequence size, n = 106. The experimental results confirm that LPRNG and MLPRNG failed in most tests with sample sizes bigger than 10 (see table 8-3). Conversely, the proposed pseudorandom number
8
-A Novel Pseudorandom Bit Generator Based on New Triangle-Chaotic Map for High Security Applications156
generator (PRNGT) passed all NIST tests with high p-values that confirm the randomness of the generated sequences (see table 8-4).
Table 8-2: NIST 800 – 22 suite test parameters value Test Type Parameter Value The Block Frequency Block Size 128 The Non-overlapping Template Block Size 9 The Overlapping Template Block Size 9 Maurer’s “Universal” Block Size 7 Maurer’s “Universal” Number of Blocks 1280 The Approximate Entropy Block Size 10 The Serial Block Size 16 The Linear Complexity Sequence Length 500
Table 8-3: NIST statistical test suite for MLPRNG and LPRNG generators with α = 0.01, m = 103, and n = 106
Statistical Test
LPRNG MLPRNG P-value Result P-value Result Frequency 0.000 Failed 0.000 Failed Block Frequency (m = 128) 0.000 Failed 0.000 Failed Cusum-Forward 0.000 Failed 0.000 Failed Cusum-Reverse 0.000 Failed 0.000 Failed Runs 0.000 Failed 0.000 Failed Long Runs of Ones 0.000 Failed 0.000 Failed Rank 0.000 Failed 0.009467 Passed FFT 0.000 Failed 0.000 Failed NonOverlapping Templates
(m = 9, B = 000000001) 0.000 Failed 0.000 Failed Overlapping Templates (m =
9) 0.000 Failed 0.000 Failed Universal 0.000 Failed 0.000 Failed Approximate Entropy (m = 10) 0.000 Failed 0.000 Failed Random Excursions (x = +1) 0.213309 Passed 0.593823 Passed Random Excursions Variant (x
= -1) 0.122325 Passed 0.357274 Passed Linear Complexity (M = 500) 0.000 Failed 0.002447 Passed Serial (m = 16, ∇Ψ ) 0.000 Failed 0.000 Failed
8
-A Novel Pseudorandom Bit Generator Based on New Triangle-Chaotic Map for High Security Applications157
Distribution histograms have been plotted for the resulting p-value from each test of NIST suite test for generated sequences using PRNGT. If the calculated p-valuep of
the p-values ≥ 0.001, it will considered uniformly distributed. 1000 samples of binary sequences have been generated by the proposed generator and each one is of size 106 (n = 106 and m = 103). P-value interval [0, 1] is divided into 10 equal sub-intervals and the number of p-values are counted for each sub-interval and plotted for each test (see Figures 8-14 and 8-15). It is clear from all calculated p-valuep of p-values, p-
valuep≥ 0.0001 and p-values are uniformly distributed over the interval [0, 1].
Moreover, the proportions of passed test sequences have been calculated for each NIST test. Then, we compare these values with acceptable confidence interval of p- values. The quantitative analysis test results show that proportions lie inside the acceptable confidence interval [0.980561, 0.999439] as shown in Figure 8-16.
Table 8-4: NIST statistical test suite for PRNGT generator with α = 0.01, m = 103, and n = 106
Statistical Test PRNGT
P-value Proportion Conclusion Frequency 0.298282 0.985 Passed Block Frequency (m = 128) 0.190654 0.990 Passed Cusum-Forward 0.676615 0.985 Passed Cusum-Reverse 0.166260 0.986 Passed Runs 0.989425 0.992 Passed Long Runs of Ones 0.628790 0.986 Passed Rank 0.025708 0.997 Passed FFT 0.966626 0.988 Passed NonOverlapping Templates
(m = 9, B = 000000001) 0.587274 0.991 Passed Overlapping Templates (m = 9) 0.068571 0.988 Passed Universal 0.461612 0.989 Passed Approximate Entropy (m = 10) 0.007694 0.993 Passed Random Excursions (x = +1) 0.587748 0.989 Passed Random Excursions Variant (x = -1) 0.917766 0.994 Passed Linear Complexity (M = 500) 0.796268 0.988 Passed Serial (m = 16, ∇Ψ ) 0.911413 0.989 Passed
8
-A Novel Pseudorandom Bit Generator Based on New Triangle-Chaotic Map for High Security Applications158
Figure 8-14: P-values histograms of parameterized NIST 800-22 suite tests
8
-A Novel Pseudorandom Bit Generator Based on New Triangle-Chaotic Map for High Security Applications159
Figure 8-16: PRNGT proportions of sequences passing NIST 800-22 suite test for (a) non-parameterized tests (b) parameterized tests. The acceptable proportions range
between the dashed lines.
8.6 Conclusion
In this chapter, we proposed a new triangle-chaotic map (TCM) with high- intensity chaotic areas over infinite interval. The proposed chaotic map has very strong chaotic properties such as very high sensitivity to initial conditions, random- like, uniformly distributed population, deterministic nature, unpredictability, high positive Lyapunov exponent values, and perfect chaotic behaviour over infinite positive interval. TCM chaotic map is a one-way function that prevents the finding of a relationship between the successive output values and increases the randomness of output results. Furthermore, a novel pseudorandom number generator based on TCM map (PRNGT) for high security applications is proposed that can be implemented in parallel to achieve high efficiency. The proposed generator produces high- randomness pseudorandom sequences that were confirmed by passing all NIST 800- 22 suite standard statistical tests with high p-values and excellent statistical properties. Moreover, we analyzed the security and statistical properties of generated sequences based on logistic map (LPRNG) and modified logistic map (MLPRNG) using NIST 800-22 suite test. The analysis results confirmed that the generated sequences based on the two generators are non-random with sample size bigger than 10. TCM characteristics are encouraging for possible utilization in designing new security primitives.
4.
Chapter_________________9
160