Skip to main content

GPUs and chaos: a new true random number generator

Abstract

For applications where security and unpredictability is of utmost importance, true random number generators (TRNGs) play a heavy role compared to its pseudo-random counterparts. Most TRNGs obtain randomness from physical phenomena such as radio noise, radioactive decay or thermal noise that are unpredictable. These applications usually require external hardware to extract entropy and convert them into digital signals. This paper introduces a TRNGs that utilizes graphics processing units as the source of entropy. Its unpredictable behavior is harnessed by computing chaotic maps that are highly sensitive to slight changes to their control parameters and have pseudo-random behavior. A simple post-processing function based on modular addition and XOR is then used to achieve an unbiased output. The security of the proposed TRNG is evaluated using statistical test suites such as the NIST SP 800-22, DIEHARD and ENT, as well as entropy analysis to determine unpredictability. Results indicate that the proposed TRNG has strong statistical quality of random numbers and high throughput without the need of external specialized equipment.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4

References

  1. Walker, J.: HotBits: genuine random numbers, generated by radioactive decay. online at www.fourmilab.ch/hotbits (2001)

  2. Jun, B., Kocher, P.: The intel random number generator. White Paper Prepared for Intel Corporation, Cryptography Research Inc. online at http://www.cryptography.com/resources/whitepapers/IntelRNG.pdf (1999)

  3. Cret, O., Gyorfi, T., Suciu, A.: Implementing true random number generators based on high fanout nets. Roman. J. Info. Sci. Technol. 15(3), 277–298 (2012)

    Google Scholar 

  4. R.B.P. Dept. The Evaluation of Randomness of RPG100 by Using NIST and DIEHARD Tests. Technical report, FDK Corporation (2003)

  5. 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)

    Article  Google Scholar 

  6. Kanter, I., Aviad, Y., Reidler, I., Cohen, E., Rosenbluh, Michael: An optical ultrafast random bit generator. Nat. Photon. 4(December), 2–5 (2009)

    Google Scholar 

  7. Li, S., Wang, L., Wu, L.A., Ma, H.Q., Zhai, Guang-Jie: True random number generator based on discretized encoding of the time interval between photons. J. Opt. Soc. Am. A 30(1), 124–127 (2013)

    Article  Google Scholar 

  8. Jofre, M., Curty, M., Steinlechner, F., Anzolin, G., Torres, J.P., Mitchell, M.W., Pruneri, V.: True random numbers from amplified quantum vacuum. Opt. Express 19(21), 20665–20672 (2011)

    Article  Google Scholar 

  9. Zhou, Q., Liao, X., Wong, K.W., Yue, H.U., Xiao, Di: True random number generator based on mouse movement and chaotic hash function. Info. Sci. 179(19), 3442–3450 (2009)

    Article  Google Scholar 

  10. Xingyuan, W., Xue, Q., Lin, T.: A novel true random number generator based on mouse movement and a one-dimensional chaotic map. Math. Probl. Eng. 2012, 1–9 (2012)

    MathSciNet  Google Scholar 

  11. Zimmermann, P.: PGP Source Code and Internals. MIT Press, Cambridge (1995)

    Google Scholar 

  12. Gerguri, S., Matyá\(\check{\rm s}\)íha, Z., Smolík, L.: Random number generation based on fingerprints. In: Information Security Theory and Practices: Security and Privacy of Pervasive Systems and Smart Devices. Lecture Notes in Computer Science, vol. 6033, pp. 170–182 (2010)

  13. Zhu, H., Zhao, C., Zhang, X., Yang, L.: A novel iris and chaos-based random number generator. Comput. Secur. 36, 40–48 (2013)

    Article  Google Scholar 

  14. Davis, D., Ihaka, R., Fenstermacher, P.: Cryptographic randomness from air turbulence in disk drives. In: Advances in Cryptology – Crypto ‘94. Lecture Notes in Computer Science, vol. 839, pp.114–120 (2010)

  15. Hart-Davis, D.: Entropy Pool random number generator. online at https://random.hd.org/

  16. Kim, J., Yoo, T., Yeom, Y., Yi, O.: New entropy source for cryptographic modules using openMP in multicore CPUs. Int. J. Secur. Appl. 7(4), 445–452 (2013)

    Google Scholar 

  17. Muller, S.: CPU time jitter based non-physical true random number generator (2014)

  18. Chan, J.J.M., Sharma, B.Lv.J., Thomas, G., Thulasiram, R., Thulasiraman, P.: True random number generator using GPUs and histogram equalization techniques. In: IEEE International Conference on High Performance Computing and Communications (61), 161–170 (2011)

  19. Yeom, Y.: Generating random numbers for cryptographic modules using race conditions in GPU. In: Computer Applications for Graphics, Grid Computing, and Industrial Environment, pp. 96–102. (2012)

  20. Lee, G., Pyo, C.: GPUs as high-performance random sources. Electron. Lett. 50(8), 602–604 (2014)

    Article  Google Scholar 

  21. Pang, W.M., Wong, T.T., Heng, P.A.: Generating massive high-quality random numbers using GPU. In: IEEE World Congress on Computational Intelligence, pp. 841–847. (2008)

  22. Passerat-Palmbach, J.: Pseudo-random number generation on GP-GPU. In: Principles of Advanced and Distributed Simulation (PADS), 2011 IEEE Workshop on, pp. 1–8. (2011)

  23. Gao, S., Peterson, G.D.: GASPRNG: GPU accelerated scalable parallel random number generator library. Comput. Phys. Commun. 184(4), 1241–1249 (2013)

    Article  Google Scholar 

  24. Belsare, A., Liu, S., Khatri, S.: GPU implementation of a scalable non-linear congruential generator for cryptography applications. In: Proceedings of the 23rd ACM International Conference on Great Lakes Symposium on VLSI - GLSVLSI ’13, pp. 89–94. (2013)

  25. Barash, L.Y., Shchur, L.N.: PRAND: GPU accelerated parallel random number generation library: using most reliable algorithms and applying parallelism of modern GPUs and CPUs. Comput. Phys. Commun. 185, 1343–1353 (2014)

    Article  Google Scholar 

  26. Langdon, W.B., Von Neumann, J.: A fast high quality pseudo random number generator for graphics processing units. In: IEEE World Congress on Computational Intelligence, pp. 459–465. (2008)

  27. Boyer, M., Skadron, K., Weimer, W.: Automated dynamic analysis of CUDA programs. In: Third Workshop on Software Tools for MultiCore Systems (2008)

  28. Strogatz, S.H.: Nonlinear dynamics and chaos: with applications to physics, biology, chemistry, and engineering (studies in nonlinearity). studies in nonlinearity. Perseus Books Group, 1st edn, January (1994)

  29. Kocarev, L., Tasev, Z.: Public-key encryption based on Chebyshev maps. In: Proceedings of the 2003 International Symposium on Circuits and Systems, 2003. ISCAS ’03. 3 (2003)

  30. Behnia, S., Akhshani, A., Ahadpour, S., Mahmodi, H., Akhavan, Amir: A fast chaotic encryption scheme based on piecewise nonlinear chaotic maps. Phys. Lett. A 366(4–5), 391–396 (2007)

    Article  Google Scholar 

  31. Wang, X., Wang, Q.: A novel image encryption algorithm based on dynamic s-boxes constructed by chaos. Nonlinear Dyn. 75(3), 567–576 (2014)

    Article  Google Scholar 

  32. Akhavan, A., Samsudin, A., Akhshani, A.: Hash function based on piecewise nonlinear chaotic map. Chaos, Solitons and Fractals 42, 1046–1053 (2009)

    MATH  Article  Google Scholar 

  33. Li, Y., Xiao, D., Deng, S., Han, Q., Zhou, G.: Parallel hash function construction based on chaotic maps with changeable parameters. Neural Comput. Appl. 20(8), 1305–1312 (2011). Cited By (since 1996):1

    Article  Google Scholar 

  34. Kanso, A., Ghebleh, M.: A fast and efficient chaos-based keyed hash function. Commun. Nonlinear Sci. Numer. Simul. 18, 109–123 (2012)

    MathSciNet  Article  Google Scholar 

  35. Teh, J.S., Samsudin, A., Akhavan, A.: Parallel chaotic hash function based on the shuffle-exchange network. Nonlinear Dyn. 81(3), 1067–1079 (2015)

  36. Farash, M.S., Attari, M.A.: An efficient and provably secure three-party password-based authenticated key exchange protocol based on Chebyshev chaotic maps. Nonlinear Dyn. 77(1–2), 399–411 (2014)

    MathSciNet  Article  Google Scholar 

  37. Farash, M.S., Attari, M.A.: Cryptanalysis and improvement of a chaotic map-based key agreement protocol using Chebyshev sequence membership testing. Nonlinear Dyn. 76(2), 1203–1213 (2014)

    MATH  MathSciNet  Article  Google Scholar 

  38. Farash, M.S., Attari, M.A., Kumari, S.: Cryptanalysis and improvement of a three-party password-based authenticated key exchange protocol with user anonymity using extended chaotic maps. In: International Journal of Communication Systems (2014)

  39. Avaroğlu, E., Tuncer, T., Özer, A.B., Ergen, B., Tűrk, M.: A novel chaos-based post-processing for TRNG. Nonlinear Dyn. 1–11 (2015)

  40. Tlelo-Cuautle, E., Rangel-Magdaleno, J.J., Pano-Azucena, A.D., Obeso-Rodelo, P.J., Nunez-Perez, J.C.: FPGA realization of multi-scroll chaotic oscillators. Commun. Nonlinear Sci. Numer. Simul. 27(1–3), 66–80 (2015)

    MathSciNet  Article  Google Scholar 

  41. de la Fraga, L.G., Tlelo-Cuautle, E.: Optimizing the maximum Lyapunov exponent and phase space portraits in multi-scroll chaotic oscillators. Nonlinear Dyn. 76(2), 1503–1515 (2014)

  42. de la Vega, J.L., Valtierra Sánchez, Tlelo-Cuautle, E.: Simulation of piecewise-linear one-dimensional chaotic maps by verilog-a. In: IETE Technical Review, pp. 1–7 (2015)

  43. Alligood, K.T., Sauer, T.D., Yorke, J.A.: Chaos, An Introduction to Dynamical Systems. Springer, New York (2000)

    Google Scholar 

  44. Zheng, M., Ravi, V.T., Qin, F., Agrawal, G.: GRace: a low-overhead mechanism for detecting data races in GPU programs. ACM SIGPLAN Not. 46(8), 135–145 (2011)

    Article  Google Scholar 

  45. Oteo, J., Ros, J.: Double precision errors in the logistic map: statistical study and dynamical interpretation. Phys. Rev. E 76(3), 036214 (2007)

    Article  Google Scholar 

  46. Rukhin, A., Soto, J., Nechvatal, J.: A statistical test suite for random and pseudorandom number generators for cryptographic applications. In: NIST Special Publication 800-22. National Institute of Standards and Technology (2010)

  47. Marsaglia, G.: DIEHARD battery of tests of randomness. online at http://www.stat.fsu.edu/pub/diehard (1996)

  48. Walker, J.: A pseudorandom number sequence test program. online at http://www.fourmilab.ch/random (2008)

  49. Addabbo, Tommaso, Fort, Ada, Rocchi, Santina, Vignoli, Valerio: Chaos based generation of true random bits. In: Kocarev, Ljupco, Galias, Zbigniew, Lian, Shiguo (eds.) Intelligent Computing Based on Chaos, volume 184 of Studies in Computational Intelligence, pp. 355–377. Springer, Berlin Heidelberg (2009)

    Chapter  Google Scholar 

  50. Dodis, Y., Pointcheval, D., Ruhault, S., Vergniaud, D., Wichs, D.: Security analysis of pseudo-random number generators with input: /dev/random is not robust. In: Proceedings of the 2013 ACM SIGSAC Conference on Computer & #38; Communications Security. CCS ’13, pp. 647–658. ACM, New York (2013)

  51. Schindler, W., Killmann, W.: Evaluation criteria for true (physical) random number generators used in cryptographic applications. In: Cryptographic Hardware and Embedded Systems - CHES 2002. volume 2523 of Lecture Notes in Computer Science, pp. 431–449. Springer, Berlin Heidelberg (2003)

  52. Coron, J.S.: On the security of random sources. In: Public Key Cryptography. volume 1560 of Lecture Notes in Computer Science, pp. 29–42. Springer, Berlin Heidelberg (1999)

Download references

Acknowledgments

This work has been supported by Fundamental Research Grant Scheme (FRGS - 203/PKOMP/6711427) funded by the Ministry of Higher Education of Malaysia (MOHE).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Azman Samsudin.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Teh, J.S., Samsudin, A., Al-Mazrooie, M. et al. GPUs and chaos: a new true random number generator. Nonlinear Dyn 82, 1913–1922 (2015). https://doi.org/10.1007/s11071-015-2287-7

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11071-015-2287-7

Keywords

  • True random number generator
  • Chaotic map
  • GPU
  • Security evaluation
  • CUDA