Abstract
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]\), including its bounds.
Similar content being viewed by others
References
Jun, B., Kocher, P.: The Intel Random Number Generator. Cryptography Research Inc. white paper, San Francisco (1999)
Knuth, D.E.: The Art of Computer Programming Volume 2, Seminumerical Algorithms, 3rd edn. Addison Wesley, Boston (1998)
Rukhin, A., Soto, J., Nechvatal, J., Smid, M., Barker, E., Leigh, S., Levenson, M., Vangel, M., Banks, D., Heckert, A., Dray, J., Vo, S.: A statistical test suite for the validation of random number generators and pseudo random number generators for cryptographic applications, 27 April 2010. SP800-22rev1a.pdf file, last date checked: 18 Feb 2016. http://csrc.nist.gov/groups/ST/toolkit/rng/documentation_software.html
Valtierra, J.L., Tlelo-Cuautle, E., Rodríguez-Vázquez, Á.: A switched-capacitor skew-tent map implementation for random number generation. Int. J. Circuit Theory Appl. 45(2), 305–315 (2017)
Nejati, H., Beirami, A., Ali, W.H.: Discrete-time chaotic-map truly random number generators: design, implementation, and variability analysis of the zigzag map. Analog Integr. Circuits Signal Process. 73(1), 363–374 (2012)
Cicek, I., Pusane, A.E., Dundar, G.: A novel design method for discrete time chaos based true random number generators. Integr. VLSI J. 47(1), 38–47 (2014)
Talçin, M.E.: Increasing the entropy of a random number generator using n-scroll chaotic attractors. Int. J. Bifurc. Chaos 17(12), 4471–4479 (2007)
Moddemeijer, R.: On estimation of entropy and mutual information of continuous distributions. Signal Process. 16(3), 233–246 (1989)
Gao, Y., Kontoyiannis, I., Bienenstock, E.: Estimating the entropy of binary time series: methodology, some theory and a simulation study. Entropy 10, 71–99 (2008)
Yalcin, M.E., Suykens, J.A.K., Vandewalle, J.: True random bit generation from a double-scroll attractor. IEEE Trans. Circuits Syst. I Regul. Pap. 51(7), 1395–1404 (2004)
Valtierra Sánchez de la Vega, J.L., Tlelo-Cuautle, E.: Simulation of piecewise-linear one-dimensional chaotic maps by verilog-A. IETE Tech. Rev. 32(4), 304–310 (2015)
Tuncer, T.: Implementation of duplicate trng on fpga by using two different randomness source. Elektronika ir Elektrotechnika 21(4), 35–39 (2015)
Murillo-Escobar, M.A., Cruz-Hernández, C., Cardoza-Avendaño, L., Méndez-Ramírez, R.: A novel pseudorandom number generator based on pseudorandomly enhanced logistic map. Nonlinear Dyn. 87(1), 407–425 (2017)
Wang, Y., Liu, Z., Ma, J., He, H.: A pseudorandom number generator based on piecewise logistic map. Nonlinear Dyn. 83(4), 2373–2391 (2016)
García-Martínez, M., Campos-Cantón, E.: Pseudo-random bit generator based on multi-modal maps. Nonlinear Dyn. 82(4), 2119–2131 (2015)
François, M., Grosges, T., Barchiesi, D., Erra, R.: Pseudo-random number generator based on mixing of three chaotic maps. Commun. Nonlinear Sci. Numer. Simul. 19(4), 887–895 (2014)
Akhshani, A., Akhavan, A., Mobaraki, A., Lim, S.-C., Hassan, Z.: Pseudo random number generator based on quantum chaotic map. Commun. Nonlinear Sci. Numer. Simul. 19(1), 101–111 (2014)
Borujeni, S., Ehsani, M.: Modified logistic maps for cryptographic application. Appl. Math. 6(5), 773–782 (2015)
Hegger, R., Kantz, H., Schreiber, T.: Practical implementation of nonlinear time series methods: the TISEAN package. Chaos 9, 413–435 (1999)
Kennel, M.B., Mees, A.I.: Context-tree modeling of observed symbolic dynamics. Phys. Rev. E 66, 056209-1–056209-11 (2002)
Stojanovski, T., Pihl, J., Kocarev, L.: Chaos-based random number generators. Part II: practical realization. IEEE Trans. Circuits Syst. Fundam. Theory Appl. 48(3), 382–385 (2001)
Acknowledgements
Authors would like to thank the anonymous reviewers for their valuable comments which have helped to improve the quality of this article.
Author information
Authors and Affiliations
Corresponding author
Additional information
This work is partially supported by CONACyT-Mexico under project 237991.
Rights and permissions
About this article
Cite this article
de la Fraga, L.G., Torres-Pérez, E., Tlelo-Cuautle, E. et al. Hardware implementation of pseudo-random number generators based on chaotic maps. Nonlinear Dyn 90, 1661–1670 (2017). https://doi.org/10.1007/s11071-017-3755-z
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11071-017-3755-z