Hardware implementation of pseudo-random number generators based on chaotic maps

We show the usefulness of bifurcation diagrams to implement a pseudo-random number generator (PRNG) based on chaotic maps. We provide details on the selection of the best parameter values to obtain high entropy and positive Lyapunov exponent from the bifurcation diagram of four chaotic maps, namely: Bernoulli shift map, tent, zigzag, and Borujeni maps. The binary sequences obtained from these maps are analyzed to implement a PRNG both in software and in hardware. The software implementation is realized using 32 and 64 bits microprocessor architectures, and with floating point and fixed point computer arithmetic. The hardware implementation is done by using a field-programmable gate array (FPGA) architecture. We developed a serial communication interface between the PRNG on the FPGA and a personal computer to obtain the generated sequences. We validate the randomness of the generated binary sequences with the NIST test suite 800-22-a both in floating point and fixed point arithmetic. At the end, we show that those chaotic maps are suitable to implement a PRNG but according to the hardware resources, the one based on the Bernoulli shift map is better. In addition, another advantage is that the required initial value for the sequences can be within the whole interval $$[-1,1]$$[-1,1], including its bounds.

[1]  R. Moddemeijer On estimation of entropy and mutual information of continuous distributions , 1989 .

[2]  Ángel Rodríguez-Vázquez,et al.  A switched‐capacitor skew‐tent map implementation for random number generation , 2017, Int. J. Circuit Theory Appl..

[3]  Müstak E. Yalçin,et al.  Increasing the Entropy of a Random Number Generator Using n-scroll Chaotic attractors , 2007, Int. J. Bifurc. Chaos.

[4]  Esteban Tlelo-Cuautle,et al.  Simulation of Piecewise-Linear One-Dimensional Chaotic Maps by Verilog-A , 2015 .

[5]  A. Beirami,et al.  Discrete-time chaotic-map truly random number generators: design, implementation, and variability analysis of the zigzag map , 2012, 1206.1039.

[6]  Elaine B. Barker,et al.  A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications , 2000 .

[7]  L. Kocarev,et al.  Chaos-based random number generators. Part II: practical realization , 2001 .

[8]  Johan A. K. Suykens,et al.  True random bit generation from a double-scroll attractor , 2004, IEEE Transactions on Circuits and Systems I: Regular Papers.

[9]  Ali Emre Pusane,et al.  A novel design method for discrete time chaos based true random number generators , 2014, Integr..

[10]  Donald E. Knuth,et al.  The art of computer programming. Vol.2: Seminumerical algorithms , 1981 .

[11]  Yong Wang,et al.  A pseudorandom number generator based on piecewise logistic map , 2015, Nonlinear Dynamics.

[12]  Shahram Etemadi Borujeni,et al.  Modified Logistic Maps for Cryptographic Application , 2015 .

[13]  L. Cardoza-Avendaño,et al.  A novel pseudorandom number generator based on pseudorandomly enhanced logistic map , 2016, Nonlinear Dynamics.

[14]  Taner Tuncer Implementation of Duplicate TRNG on FPGA by Using Two Different Randomness Source , 2015 .

[15]  Yun Gao,et al.  Estimating the Entropy of Binary Time Series: Methodology, Some Theory and a Simulation Study , 2008, Entropy.

[16]  A. Mees,et al.  Context-tree modeling of observed symbolic dynamics. , 2002, Physical review. E, Statistical, nonlinear, and soft matter physics.

[17]  Dominique Barchiesi,et al.  Pseudo-random number generator based on mixing of three chaotic maps , 2014, Commun. Nonlinear Sci. Numer. Simul..

[18]  Amir Akhavan,et al.  Pseudo random number generator based on quantum chaotic map , 2014, Commun. Nonlinear Sci. Numer. Simul..

[19]  Holger Kantz,et al.  Practical implementation of nonlinear time series methods: The TISEAN package. , 1998, Chaos.