Abstract
This paper presents a novel, real time, high speed and robust chaos-based pseudo random number generator (PRNG) design using the structures of artificial neural network (ANN)-based 2D chaotic oscillator and ring oscillator. In this study, four different robust PRNGs have been implemented using four different approaches (TS-55, Elliott-93, Elliott-2, Cordic-LUT) of TanSig activation functions (TSAF) that have been used in the design of ANN-based 2D chaotic oscillators. The designs have been coded in VHDL using IEEE-754–1985 number standard. The PRNGs have been synthesized for Virtex-6 FPGA chip using Xilinx ISE Design Tools. After Place&Route operation, FPGA chip statistics and maximum operating frequencies have been presented. The maximum operating frequencies of the proposed PRNGs range between 184 and 241 MHz. The 1 Mbit of bit streams generated by PRNGs have been subjected to NIST-800–22 randomness tests. Among 4 different proposed PRNGs, the proposed PRNGs that designed using the Elliott-93 and Cordic-LUT approaches have successfully passed all NIST-800–22 tests and have a bit production rate of 241 Mbps. The proposed secure hybrid chaos-based PRNG structures were compared with similar studies conducted in the literature in recent years. According to the results, the proposed FPGA-based secure new chaotic PRNG structures are useful in cryptographic applications.
Similar content being viewed by others
References
De La Fraga, L. G., Torres-Pérez, E., Tlelo-Cuautle, E., & Mancillas-López, C. (2017). Hardware implementation of pseudo-random number generators based on chaotic maps. Nonlinear Dynamics, 90(3), 1661–1670. https://doi.org/10.1007/s11071-017-3755-z.
Garipcan, A. M., & Erdem, E. (2019). Implementation and performance analysis of true random number generator on FPGA environment by using non-periodic chaotic signals obtained from chaotic maps. Arabian Journal for Science and Engineering, 44(11), 9427–9441. https://doi.org/10.1007/s13369-019-04027-x.
Tuna, M., & Fidan, C. B. (2018). A study on the importance of chaotic oscillators based on FPGA for true random number generating TRNG and chaotic systems. Journal of the Faculty of Engineering and Architecture of Gazi University, 33(2), 469–486. https://doi.org/10.17341/GUMMFD.71479
Kocarev, L., & Jakimoski, G. (2003). Pseudorandom bits generated by chaotic maps. IEEE Transactions on Circuits and Systems I: Fundamental Theory and Applications, 50(1), 123–126. https://doi.org/10.1109/TCSI.2002.804550.
García-Martínez, M., & Campos-Cantón, E., & Campos-Cantón, E., (2015). Pseudo-random bit generator based on multi-modal maps. Nonlinear Dynamics, 82, 2119–2131. https://doi.org/10.1007/s11071-015-2303-y.
Palacios-Luengas, L., Pichardo-Méndez, J., Díaz-Méndez, J., Rodríguez-Santos, F., & Vázquez-Medina, R. (2019). PRNG based on skew tent map. Arabian Journal for Science and Engineering, 44, 3817–3830. https://doi.org/10.1007/s13369-018-3688-y.
Elhoseny, M., Ramírez-González, G., Abu-Elnasr, O. M., Shawkat, S. A., Arunkumar, N., & Farouk, A. (2018). Secure medical data transmission model for IoT-based healthcare systems. IEEE Access, 6, 20596–20608. https://doi.org/10.1109/ACCESS.2018.2817615.
Wieczorek, P. Z., & Golofit, K. (2018). True random number generator based on flip-flop resolve time instability boosted by random chaotic source. IEEE Transactions on Circuits and Systems I: Regular Papers, 65(4), 1279–1292. https://doi.org/10.1109/TCSI.2017.2751144.
Khanzadi, H., Eshghi, M., & Borujeni, S. E. (2013). Design and FPGA implementation of a pseudo random bit generator using chaotic maps. IETE Journal of Research, 59(1), 63–73. https://doi.org/10.4103/0377-2063.110633.
Koyuncu, İ., Tuna, M., Pehlivan, İ., Fidan, C. B., & Alçın, M. (2020). Design, FPGA implementation and statistical analysis of chaos-ring based dual entropy core true random number generator. Analog Integrated Circuits and Signal Processing, 102, 445–456. https://doi.org/10.1007/s10470-019-01568-x.
Chen, S., Li, B., & Zhou, C. (2018). FPGA implementation of SRAM PUFs based cryptographically secure pseudo-random number generator. Microprocessors and Microsystems, 59, 57–68. https://doi.org/10.1016/j.micpro.2018.02.001.
Tuncer, T. (2016). The implementation of chaos-based PUF designs in field programmable gate array. Nonlinear Dynamics, 86(2), 975–986. https://doi.org/10.1007/s11071-016-2938-3.
Yakut, S., Tuncer, T., & Ozer, A. B. (2019). Secure and efficient hybrid random number generator based on sponge constructions for cryptographic applications. Elektronika ir Elektrotechnika, 25(4), 40–46. https://doi.org/10.5755/j01.eie.25.4.23969.
Tsoi, K. H., Leung, K. H., & Leong, P. H. W. (2003). Compact FPGA-based true and pseudo random number generators. In IEEE symposium on FPGAs for custom computing machines, proceedings (Vol. 2003-January, pp. 51–61). Institute of Electrical and Electronics Engineers Inc. https://doi.org/10.1109/FPGA.2003.1227241.
Garcia-Bosque, M., Perez-Resa, A., Sanchez-Azqueta, C., Aldea, C., & Celma, S. (2019). Chaos-based bitwise dynamical pseudorandom number generator on FPGA. IEEE Transactions on Instrumentation and Measurement, 68(1), 291–293. https://doi.org/10.1109/TIM.2018.2877859.
Avaroğlu, E., Tuncer, T., Özer, A. B., & Türk, M. (2014). A new method for hybrid pseudo random number generator. Journal of Microelectronics, Electronic Components and Materials, 44(4), 303–311. Retrieved from https://www.midem-drustvo.si/Journal papers/MIDEM_44(2014)4p303.pdf.
Sunar, B., Martin, W., & Stinson, D. (2007). A provably secure true random number generator with built-in tolerance to active attacks. IEEE Transactions on Computers, 56(1), 109–119. https://doi.org/10.1109/TC.2007.250627.
Yalcin, M. E., Suykens, J. A. K., & Vandewalle, J. (2004). True random bit generation from a double-scroll attractor. IEEE Transactions on Circuits and Systems I: Regular Papers, 51(7), 1395–1404. https://doi.org/10.1109/TCSI.2004.830683.
Etem, T., & Kaya, T. (2019). A novel true random bit generator design for image encryption. Physica A: Statistical Mechanics and Its Applications. https://doi.org/10.1016/j.physa.2019.122750.
Merah, L., Ali-pacha, A., Said, N. N. H., & Mamat, M. (2013). A pseudo random number generator based on the chaotic system of chua ’ s circuit, and its real time FPGA implementation. Applied Mathematical, 7(55), 2719–2734.
Wang, Y., Liu, Z., Ma, J., & He, H. (2016). A pseudorandom number generator based on piecewise logistic map. Nonlinear Dynamics, 83(4), 2373–2391. https://doi.org/10.1007/s11071-015-2488-0.
Lambić, D., & Nikolić, M. (2017). Pseudo-random number generator based on discrete-space chaotic map. Nonlinear Dynamics, 90(1), 223–232. https://doi.org/10.1007/s11071-017-3656-1.
Murillo-Escobar, M., Cruz-Hernández, C., Cardoza-Avendaño, L., Méndez-Ramírez, R., & Cardoza-Avendaño, L. (2017). A novel pseudorandom number generator based on pseudorandomly enhanced logistic map. Nonlinear Dynamics, 87(1), 407–425. https://doi.org/10.1007/s11071-016-3051-3.
Akhshani, A., Akhavan, A., Mobaraki, A., Lim, S. C., & Hassan, Z. (2014). Pseudo random number generator based on quantum chaotic map. Communications in Nonlinear Science and Numerical Simulation, 19(1), 101–111. https://doi.org/10.1016/J.CNSNS.2013.06.017.
Avaroğlu, E., Koyuncu, İ., Özer, A. B., & Türk, M. (2015). Hybrid pseudo-random number generator for cryptographic systems. Nonlinear Dynamics, 82(1–2), 239–248. https://doi.org/10.1007/s11071-015-2152-8.
Avaroğlu, E. (2017). Pseudorandom number generator based on Arnold cat map and statistical analysis. Turkısh Journal of Electrıcal Engıneerıng & Computer Scıences, 25(1), 633–643.
Bakiri, M., Guyeux, C., Couchot, J., & Oudjida, A. (2018). Survey on hardware implementation of random number generators on FPGA: Theory and experimental analyses. Computer Science Review, 27, 135–153.
Meranza-Castillón, M. O., Murillo-Escobar, M. A., López-Gutiérrez, R. M., & Cruz-Hernández, C. (2019). Pseudorandom number generator based on enhanced Hénon map and its implementation. AEU - International Journal of Electronics and Communications, 107, 239–251. https://doi.org/10.1016/j.aeue.2019.05.028.
Rezk, A. A., Madian, A. H., Radwan, A. G., & Soliman, A. M. (2019). Multiplierless chaotic pseudo random number generators. AEU - International Journal of Electronics and Communications. https://doi.org/10.1016/j.aeue.2019.152947.
Yilmaz, C., Koyuncu, I., Alcin, M., & Tuna, M. (2019). Artificial Neural Networks based thermodynamic and economic analysis of a hydrogen production system assisted by geothermal energy on field programmable gate array. International Journal of Hydrogen Energy, 44(33), 17443–17459. https://doi.org/10.1016/J.IJHYDENE.2019.05.049.
Vaidyanathan, S., Pehlivan, I., Dolvis, L. G., Jacques, K., Alcin, M., Tuna, M., et al. (2020). A novel ANN-based four-dimensional two-disk hyperchaotic dynamical system, bifurcation analysis, circuit realisation and FPGA-based TRNG implementation. International Journal of Computer Applications in Technology, 62(1), 20–35. https://doi.org/10.1504/IJCAT.2020.103921.
Prakash, P., Rajagopal, K., Singh, J. P., & Roy, B. K. (2018). Megastability in a quasi-periodically forced system exhibiting multistability, quasi-periodic behaviour, and its analogue circuit simulation. AEU - International Journal of Electronics and Communications, 92, 111–115. https://doi.org/10.1016/J.AEUE.2018.05.021.
Orlowska-Kowalska, T., & Kaminski, M. (2011). FPGA implementation of the multilayer neural network for the speed estimation of the two-mass drive system. IEEE Transactions on Industrial Informatics, 7(3), 436–445. https://doi.org/10.1109/TII.2011.2158843.
Kim, N., Kehtarnavaz, N., Yeary, M. B., & Thornton, S. (2003). DSP-based hierarchical neural network modulation signal classification. IEEE Transactions on Neural Networks, 14(5), 1065–1071. https://doi.org/10.1109/TNN.2003.816037.
Koyuncu, I. (2018). Implementation of high speed tangent sigmoid transfer function approximations for artificial neural network applications on FPGA. Advances in Electrical and Computer Engineering, 18(3), 79–86. https://doi.org/10.4316/AECE.2018.03011.
Sahin, S., Becerikli, Y., & Yazici, S. (2006). Neural network implementation in hardware using FPGAs. Berlin: Springer. pp. 1105–1112. https://doi.org/10.1007/11893295_122
Mohammed, E. Z., & Ali, H. K. (2013). Hardware implementation of artificial neural network using field programmable gate array. International Journal of Computer Theory and Engineering, 5(5), 780–783. https://doi.org/10.7763/IJCTE.2013.V5.795.
Çavuşlu, M. A., Karakuzu, C., Şahin, S., & Yakut, M. (2011). Neural network training based on FPGA with floating point number format and it’s performance. Neural Computing and Applications, 20(2), 195–202. https://doi.org/10.1007/s00521-010-0423-3.
Turan, A., & Danis, K. (2011). Fully parallel ANN-based arrhythmia classifier on a single-chip FPGA: FPAAC. Computer Sciences. https://doi.org/10.3906/elk-1006-488.
Renteria-Cedano, J., Rivera, J., Sandoval-Ibarra, F., Ortega-Cisneros, S., & Loo-Yau, R. (2019). SoC design based on a FPGA for a configurable neural network trained by means of an EKF. Electronics, 8(7), 761. https://doi.org/10.3390/electronics8070761.
Tuna, M., Fidan, C. B., & Koyuncu, İ. (2019). The chaos-based dual entropy core TRNG On FPGA: VHDL CODES of chaotic systems. LAMBERT Academic Publication (LAP). Retrieved from https://acikerisim.kirklareli.edu.tr:8080/xmlui/handle/20.500.11857/1038?locale-attribute=tr.
Alçın, M., Pehlivan, İ., & Koyuncu, İ. (2016). Hardware design and implementation of a novel ANN-based chaotic generator in FPGA. Optik - International Journal for Light and Electron Optics, 127(13), 5500–5505. https://doi.org/10.1016/j.ijleo.2016.03.042.
Rajagopal, K., Tuna, M., Karthikeyan, A., Koyuncu, İ., Duraisamy, P., & Akgul, A. (2019). Dynamical analysis, sliding mode synchronization of a fractional-order memristor Hopfield neural network with parameter uncertainties and its non-fractional-order FPGA implementation. The European Physical Journal Special Topics, 228(10), 2065–2080. https://doi.org/10.1140/epjst/e2019-900005-8.
Koyuncu, İ., & Turan Özcerit, A. (2017). The design and realization of a new high speed FPGA-based chaotic true random number generator. Computers & Electrical Engineering, 58(2017), 203–214. https://doi.org/10.1016/J.COMPELECENG.2016.07.005.
Alcin, M., Koyuncu, I., Tuna, M., Varan, M., & Pehlivan, I. (2019). A novel high speed artificial neural network–based chaotic true random number generator on field programmable gate array. International Journal of Circuit Theory and Applications, 47(3), 365–378. https://doi.org/10.1002/cta.2581.
Tuncer, T., Avaroglu, E., Türk, M., & Ozer, A. B. (2015). Implementation of non-periodic sampling true random number generator on FPGA. Informacije MIDEM, 44(4), 296–302.
Himavathi, S., Anitha, D., & Muthuramalingam, A. (2007). Feedforward neural network implementation in FPGA using layer multiplexing for effective resource utilization. IEEE Transactions on Neural Networks, 18(3), 880–888. https://doi.org/10.1109/TNN.2007.891626.
Lin, Z., Dong, Y., Li, Y., & Watanabe, T. (2010). A hybrid architecture for efficient FPGA-based implementation of multilayer neural network. In 2010 IEEE Asia pacific conference on circuits and systems (pp. 616–619). IEEE. https://doi.org/10.1109/APCCAS.2010.5774961.
Sahin, S., Becerikli, Y., & Yazici, S. (2006). Neural network implementation in hardware using FPGAs. In Lecture Notes in Computer Science (Vol. 4234 LNCS, pp. 1105–1112). Berlin: Springer. https://doi.org/10.1007/11893295_122.
Yang, F., & Paindavoine, M. (2003). Implementation of an rbf neural network on embedded systems: Real-time face tracking and identity verification. IEEE Transactions on Neural Networks, 14(5), 1162–1175. https://doi.org/10.1109/TNN.2003.816035.
Koyuncu, İ., Şahin, İ., Gloster, C., & Sarıtekin, N. K. (2017). A neuron library for rapid realization of artificial neural networks on FPGA: A case study of rössler chaotic system. Journal of Circuits, Systems and Computers, 26(01), 1750015. https://doi.org/10.1142/S0218126617500153.
Mohd-Yasin, F., Tan, A. L., & Reaz, M. I. (2004). The FPGA prototyping of iris recognition for biometric identification employing neural network. In Proceedings. The 16th international conference on microelectronics, 2004. ICM 2004. (pp. 458–461). IEEE. https://doi.org/10.1109/ICM.2004.1434697.
Sahin, I., & Koyuncu, I. (2012). Design and implementation of neural networks neurons with RadBas, LogSig, and TanSig activation functions on FPGA. Electronics and Electrical Engineering, 120(4), 51–54. https://doi.org/10.5755/j01.eee.120.4.1452.
Özkaynak, F. (2014). Cryptographically secure random number generator with chaotic additional input. Nonlinear Dynamics, 78(3), 2015–2020. https://doi.org/10.1007/s11071-014-1591-y.
Li, S., Mou, X., & Cai, Y. (2001). Pseudo-random bit generator based on couple chaotic systems and its applications in stream-cipher cryptography. In Lecture notes in computer science (including subseries lecture notes in artificial intelligence and lecture notes in bioinformatics) (Vol. 2247, pp. 316–329). Berlin: Springer. https://doi.org/10.1007/3-540-45311-3_30
Rezk, A. A., Madian, A. H., Radwan, A. G., & Soliman, A. M. (2019). Reconfigurable chaotic pseudo random number generator based on FPGA. AEU–International Journal of Electronics and Communications, 98, 174–180. https://doi.org/10.1016/j.aeue.2018.10.024.
Patidar, V., & Sud, K. K. (2009). A novel pseudo random bit generator based on chaotic standard map and its testing. Electronic Journal of Theoretical Physics, 6(20), 327–344.
Ahadpour, S., Sadra, Y., & ArastehFard, Z. (2012). A novel chaotic encryption scheme based on pseudorandom bit padding. IJCSI International Journal of Computer Science Issues, 9(1), 449–456.
Elmanfaloty, R. A., & Abou-Bakr, E. (2019). Random property enhancement of a 1D chaotic PRNG with finite precision implementation. Chaos, Solitons and Fractals, 118, 134–144. https://doi.org/10.1016/j.chaos.2018.11.019.
Thane, A., & Chaudhari, R. (2018). Hardware design and implementation of pseudorandom number generator using piecewise linear chaotic map. In 2018 international conference on advances in computing, communications and informatics, ICACCI 2018 (pp. 456–459). Institute of Electrical and Electronics Engineers Inc. https://doi.org/10.1109/ICACCI.2018.8554510.
Liu, Y., & Tong, X. J. (2012). A new pseudorandom number generator based on a complex number chaotic equation. Chinese Physics B. https://doi.org/10.1088/1674-1056/21/9/090506.
Thamrin, N. M., Witjaksono, G., Nuruddin, A., & Abdullah, M. S. (2009). An enhanced hardware-based hybrid random number generator for cryptosystem. In Proceedings - 2009 international conference on information management and engineering, ICIME 2009 (pp. 152–156). https://doi.org/10.1109/ICIME.2009.115.
Huang, X., Liu, L., Li, X., Yu, M., & Wu, Z. (2019). A new pseudorandom bit generator based on mixing three-dimensional chen chaotic system with a chaotic tactics. Complexity. https://doi.org/10.1155/2019/6567198.
Alhadawi, H. S., Zolkipli, M. F., Ismail, S. M., & Lambić, D. (2019). Designing a pseudorandom bit generator based on LFSRs and a discrete chaotic map. Cryptologia, 43(3), 190–211. https://doi.org/10.1080/01611194.2018.1548390.
Wang, L., & Cheng, H. (2019). Pseudo-random number generator based on logistic chaotic system. Entropy, 21(10), 960. https://doi.org/10.3390/e21100960.
Yang, Y., Bai, G., & Chen, H. (2014). A 200Mbps random number generator with jitter-amplified oscillator. In Fifth international conference on computing, communications and networking technologies (pp. 1–5). IEEE. https://doi.org/10.1109/ICCCNT.2014.6963088.
Tuna, M., Karthikeyan, A., Rajagopal, K., Alçın, M., & Koyuncu, İ. (2019). Hyperjerk multiscroll oscillators with megastability: Analysis, FPGA implementation and a novel ANN-ring-based true random number generator. AEU - International Journal of Electronics and Communications, 112(2019), 152941–153010. https://doi.org/10.1016/j.aeue.2019.152941.
Tuna, M., Alçın, M., Koyuncu, İ., Fidan, C. B., & Pehlivan, İ. (2019). High speed FPGA-based chaotic oscillator design. Microprocessors and Microsystems, 66(2019), 72–80. https://doi.org/10.1016/J.MICPRO.2019.02.012.
Koyuncu, I., Ozcerit, A. T., & Pehlivan, I. (2014). Implementation of FPGA-based real time novel chaotic oscillator. Nonlinear Dynamics, 77(1–2), 49–59. https://doi.org/10.1007/s11071-014-1272-x.
Koyuncu, I., Alcin, M., Tuna, M., Pehlivan, I., Varan, M., & Vaidyanathan, S. (2019). Real-time high-speed 5-D hyperchaotic Lorenz system on FPGA. International Journal of Computer Applications in Technology, 61(3), 152–165. https://doi.org/10.1504/IJCAT.2019.102852.
Tuna, M., & Fidan, C. B. (2016). Electronic circuit design, implementation and FPGA-based realization of a new 3D chaotic system with single equilibrium point. Optik - International Journal for Light and Electron Optics, 127(24), 11786–11799. https://doi.org/10.1016/j.ijleo.2016.09.087.
Vaidyanathan, S. (2015). Output regulation of the forced van der pol chaotic oscillator via adaptive control method. International Journal of PharmTech Research, 8(6), 106–116.
Overton, M. L. (2001). Numerical computing with IEEE floating point arithmetic. Society for Industrial and Applied Mathematics. https://doi.org/10.1137/1.9780898718072.
Tang, P. T. P. (1991). Table-lookup algorithms for elementary functions and their error analysis. In Proceedings 10th IEEE symposium on computer arithmetic (pp. 232–236). Grenoble, France: IEEE Comput. Soc. Press. https://doi.org/10.1109/ARITH.1991.145565.
Nilsson, P., Shaik, A. U. R., Gangarajaiah, R., & Hertz, E. (2014). Hardware implementation of the exponential function using Taylor series. In 2014 NORCHIP (pp. 1–4). Tampere, Finland: IEEE. https://doi.org/10.1109/NORCHIP.2014.7004740.
Elliott, D. L. (1993). A better activation function for artificial neural networks. Institute for Systems Research.
Koyuncu, İ., & Şahin, İ. (2011). A cordic based ex calculator unit design for FPGA chips. Journal of New World Sciences Academy, 6(4), 1565–1572.
The National Institute of Standards. (2002). Security requirements for cryptographic modules, Federal Information Processing Standards Publication (FIPS PUB) 140–2.
Bassham, L. E., Rukhin, A. L., Soto, J., Nechvatal, J. R., Smid, M. E., Leigh, S. D., … Banks, D. L. (2010). A statistical test suite for random and pseudorandom number generators for cryptographic applications|NIST. Special Publication (NIST SP)–800–22 Rev 1a.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The author declare that there are no conflicts of interest regarding the publication of this paper.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Tuna, M. A novel secure chaos-based pseudo random number generator based on ANN-based chaotic and ring oscillator: design and its FPGA implementation. Analog Integr Circ Sig Process 105, 167–181 (2020). https://doi.org/10.1007/s10470-020-01703-z
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10470-020-01703-z