This communication proposes a simplified model of pseudorandom bit generator, based on two Chirikov standard maps filtered with shrinking rule. The study also demonstrates that the generated keystreams have excellent properties of randomness and resistance to statistical attacks, which is proven by using the NIST, ENT, and DIEHARD testing suites.

1. Introduction

The chaotic maps and the shrinking rules have been used widely in the fields of random simulations and secure communications. Patidar and Sud [1] introduced a pseudorandom bit generator with good cryptographic properties by using two Chirikov standard maps [2] combined with a threshold function. Lian et al. [3] and Fu et al. [4] proposed standard map-based pseudorandom confusion processes, which they used in chaotic image encryption schemes. Ye and Huang [5] presented two shuffle image encryption schemes, based on standard map orbit ergodicity. Coppersmith et al. [6] used two linear feedback shift registers, named shrinking generator, to create a third source of pseudorandom bits, which has better quality than the initial sources. Stoyanov [7] proposed new chaotic cryptographic scheme constructed from the Lorenz butterfly attractor and filtered by 32-bit bent Boolean function.

The aim of the paper is referred on the method of synthesis of a pseudorandom bit generation scheme based on two standard maps which are filtered by Jabri shrinking generator (JSG) [8]. The proposed combiner is tested by NIST [9], DIEHARD [10], and ENT [11] batteries of tests.

2. The Proposed Pseudorandom Bit Generator

The Chirikov standard map is an area-conserving chaotic map defined by a set of difference equations: where the quantities and (momentum and coordinate) are taken modulo . The stochasticity parameter controls the degree of chaos. The nonlinearity of the map grows with large .

Jabri pointed out that using the classic shrinking function leads to statistical disadvantage and proposed a modified shrinking rule, which addresses the problem. If and are two bit generators, the sequences from these generators are denoted by and , respectively. An output sequence, , corresponding to the Jabri search-based output was then built from these sequences by using the following rule: for , where is the th position for which and are different. That is, the sequence will include only those bits of the sequence , which are different from , while the other bits are ignored.

This study was inspired by the work of Patidar and Sud [1]. The original pseudorandom bit generator is based on the following two Chirikov standard maps: where the initial conditions , , , and are taken modulo . The maps are starting from six floating-value numbers: and the control parameters and are real numbers greater than 18.9. The pseudorandom bits are generated by comparing two outputs of both maps in the following way: The keystream from the above scheme is produced by using two output values from the Chirikov standard maps. In order to use all computed values in the output stream calculation, we propose a novel pseudorandom bit generator by adding to the above generator a second threshold function: Then we shrink the constructed couple of bits from and with the Jabri shrinking rule. The schematic description of the proposed chaotic based generator is shown in Figure 1. The novel hybrid scheme is based on the combination of all four outputs of two Chirikov standard maps and it has the extra security features of the search-based rule.

3. Experimental Statistical Tests

The proposed pseudorandom bit generator is implemented softwarely in Dev-C++ 5.0 beta 9.2 ( environments with Mingw/GCC 3.4.2. We produced a set of 1000 sequences of 1000000 bits each, using the following initial numbers: , , , , , and . In order to test the randomness of the novel scheme, we used the NIST, DIEHARD, and ENT statistical test packages.

The NIST suite [9, 12] includes 15 tests, which were developed to check the randomness of binary sequences produced by pseudorandom generators. These tests are as follows: frequency (monobit), block-frequency, cumulative sums (forward and reverse), runs, longest run of ones, rank, fast Fourier transform (spectral), nonoverlapping templates, overlapping templates, Maurers “universal statistical”, approximate entropy, random excursion, random-excursion variant, serial, and linear complexity. The testing process consists of the following steps.(1)State the null hypothesis. Assume that the zero/one sequence is random.(2)Compute a sequence test statistic. Testing is carried out at the bit level.(3)Compute the value, value .(4)Fix , where . Compare the value to . Success is declared whenever value ; otherwise, failure is declared.The NIST suite calculates the proportion of sequences that pass the particular tests. The range of acceptable proportion is determined using the confidence interval defined as where and is the number of binary tested sequences. NIST recommends that, for these tests, the user should have at least 1000 sequences of 1000000 bits each. In our setup . Thus the confidence interval is The proportion should lie above 0.9805607 with exception of random excursion and random excursion variant tests. These two tests only apply whenever the number of cycles in a sequence exceeds 500. Thus the sample size and minimum pass rate are dynamically reduced taking into account the tested sequences.

The distribution of values is examined to ensure uniformity. The interval between 0 and 1 is divided into 10 subintervals. The values that lie within each subinterval are counted. Uniformity may also be specified through an application of a test and the determination of a value corresponding to the goodness-of-fit distributional test on the values obtained for an arbitrary statistical test, value of the values. This is implemented by calculating where is the number of values in subinterval and is the sample size. A value is computed such that , where IGAMC is the complemented incomplete gamma statistical function. If , then the sequences can be considered to be uniformly distributed.

The empirical results we obtained are presented in Table 1. All the values from all 1000 sequences are distributed uniformly and the pass rate is also in an acceptable range.

The minimum pass rate for the random excursion (variant) test is approximately 585 for a sample size of 599 binary sequences for the proposed pseudorandom algorithm.

The Marsaglias Diehard test package consists of 18 statistical tests: Birthday spacings, Overlapping 5-permutations, Binary rank (31 × 31), Binary rank (32 × 32), Binary rank (6 × 8), Bitstream, Overlapping-Pairs-Sparse-Occupancy, Overlapping-Quadruples-Sparse-Occupancy, DNA, Stream count-the-ones, Byte-count-the-ones, Parking lot, Minimum distance, 3D spheres, Squeeze, Overlapping sums, Runs (up and down), and Craps. The tests return values, which should be uniform in , if the input file contains truly independent pseudorandom bits. The values are obtained by , where is the assumed distribution of the sample random variable , often the normal distribution.

We will introduce the particular tests briefly [10, 13]: Birthday spacings chooses random points (birthdays) in a year of days. The spacings between the points should be asymptotically Poisson distributed. Overlapping 5-permutations looks at a sequence of one million 32-bit random integers where the 120 possible permutations of 5 consecutive random numbers occur with equal statistical probability. Three Binary rank tests, (31 × 31), (32 × 32), and (6 × 8) form a binary matrix and determines the rank of the matrix. Bitstream counts the number of missing 20-bit words in a string of overlapping 20-bit words. OPSO, OQSO, and DNA analyse overlapping 2-letter, 4-letter, and 10-letter words. The words which do not appear in the entire sequence should be very close to normally distributed. Stream and Byte count-the-ones uses the probabilities of the number of ones to determine different 4-letter and 5-letter words. Parking lot is an empty 100 by 100 matrix which is randomly filled with elements (cars). The number of successful attempts without crash with one already parked is very closely normally distributed. Minimum distance chooses 8,000 random points in a square of side 10,000. Measures the squared distance between random points. The square distance should be very close to exponentially distributed. 3D spheres chooses 4,000 random points in a cube of side 1,000. Eachpoint centers a sphere large enough to reach the next closest point. The volume of the smallest such sphere should be exponentially distributed. Squeeze is where the test finds the number of iterations necessary to reduce the number to 1, using the reduction , where the function gives the smallest integer and is provided by floating integers from the input file. Overlapping sums forms sequences of overlapping sums of uniform variables. Runs counts runs up and runs down in a sequence of uniform variables. Craps plays 200,000 games of craps. The number of wins should be a normally distributed.

Table 2 shows results obtained from testing a single 80 million bits file used for experimental purposes. It is evident that all Diehard tests pass for our novel pseudorandom bit generator. The output streams did not exhibit a noticeable deviation from randomness.

The ENT suite performs 6 tests to sequences of bytes stored in files and outputs the results of those tests. We tested output stream of 125000000 bytes of the proposed scheme. The results are summarized in Table 3 and show that the novel pseudorandom binary generator passed all the tests of ENT.

4. Conclusions

In summary, we propose a novel chaos-based pseudorandom bit generator, which uses two Chirikov standard maps filtered by a search-based rule. We did detailed analysis by NIST, Diehard, and ENT statistical packages to show that the novel generator did not reveal a noticeable deviation from randomness.

Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.


The authors thank anonymous reviewers for their valuable comments and suggestions. This paper is supported by the Project BG051PO 00l-3.3.06-0003 “Building and steady development of PhD students, post-PhD and young scientists in the areas of the natural, technical, and mathematical sciences.” The project is realized by the financial support of the Operative Program “Development of the human resources” of the European social fund of the European Union.