Submitted:
10 April 2024
Posted:
11 April 2024
You are already at the latest version
Abstract
Keywords:
1. Introduction
2. Statistical Tests Proposed by NIST for Validation of RNG and PRNG Generators
3. Design of the PRNG Pseudorandom Number Neuro-Generator
3.1. Neuro-Generator Neuronal Module
4. Simulation and Implementation of the Neuro-Generator in the FPGA Virtex 7 xc7vx85t-2ffg1761
5. Results and Discussion
5.1. NIST Test Results of the Neuro-Generator with the Neuronal Module Disable
5.2. NIST Test Results of Neuro-Generator with Neuronal Module Enabled
7. Conclusions
Author Contributions
Funding
Data Availability Statement
Acknowledgments
Conflicts of Interest
References
- María d. L., R. B.; Juan., R. P.; Edwin. C., B. A.; Susana, O. C.; Jose L., G. V., Two new hardware implementations of random number generators on reconfigurable devices. 2023 3er Congreso Iberoamericano de Instrumentación y Ciencias Aplicadas SOMI XXXVII Congreso de Instrumentación, Bogotá, Colombia, 2023, number 01, ISSSN: 2395-8499.
- D.Guillermo, C. C. Generación de Secuencias Pseudoaleatorias Gaussianas Mediante Registros de Desplazamiento con Realimentación Lineal en Cuerpos Extendidos. PHD Thesis, Universidad de Málaga, Malaga Spain, November 2021. https://hdl.handle.net/10630/24143.
- Ernesto J., C. F.; José L., M. M. Secuencias pseudoaleatorias para telecomunicaciones, UPC Eds.; Publisher: Barcelona, Spain, 1996. ISBN: 9788483011645.
- Thomas E., T. A Hardware Random Number Generator. Kaliski, B.S., Koc, c.K., Paar, C. Eds. Cryptographic Hardware and Embedded Systems – CHES 2002. CHES 2002. Lecture Notes in Computer Science, Vol. 2523.; Publisher: Springer, Berlin, Heidelberg, 2003. ISBN: 978-3-540-00409-7. [CrossRef]
- NIST Technical Series Publications. Available online: https://nvlpubs.nist.gov/nistpubs/legacy/sp/nistspecialpublication800-22r1a.pdf (accessed on 01 February 2023).
- Juan. J., R. P.; Edwin. C. B. A.; Maria. d. L., R. B.; Cesar. A.; O. A.; M. Lorena; B. V. and Susana, O.C., Design and Implementation in FPGA a Random Number Generator of 10 bits validated by NIST Maurer’s “Universal Statistical” and Binary Matrix Rank tests. 2022 International Conference on Mechatronics, Electronics and Automotive Engineering (ICMEAE), Cuernavaca, Mexico, 2022, pp. 158-163. [CrossRef]
- Röck A. Pseudorandom Number Generators for Cryptographic Applications. MPhil Thesis, Diplomarbeit zur Erlangung des Magistergrades an der Naturwissenschaftlichen Fakultät der Paris-Lodron-Universit¨at Salzburg, Salzburg, Austria, March 2005.
- Giovanni G.; Loris, B.; Procedimiento y circuito para generar números aleatorios y producto informático para ordenar del mismo. Oficina Española de patentes y marcas, España, 16 April 2008. Publication No. 2295829.
- David H., K. H.; Jonathan, M. C.; Juan C., C.; Chris D., M.; Mukul V., S.; Cellular Automata-Based Parallel Random Number Generators Using FPGAs, International Journal of Reconfigurable Computing, vol. 2012, Article ID 219028, 13 pages, 2012. [CrossRef]
- María d. L., R. B.; Juan. J., R. P.; Christian E., B. A.; Jaime, R. A.; Mario, J.; Susana, O. C. Impulse Neurons: Phasic Bursts and Tonic Bursts, To Generate Pseudorandom Sequences, 2023 IEEE International Autumn Meeting on Power, Electronics and Computing (ROPEC), Ixtapa, Mexico, 2023, pp. 1-6. [CrossRef]
- L. G. de la Fraga, E. Torres Perez, E. Tlelo Cuautle and C. Mancillas Lopez, “Hardware implementation of pseudo-random number generators based on chaotic maps,” Nonlinear Dyn, vol. 90, pp. 1661-1670, August 2017. [CrossRef]
- P. Alfke. Efficient Shift Registers, LFSR Counters, and Long PseudoRandom Sequence Generators [Online]. Available at: http://docs.xilinx.com/v/u/en-US/xapp052 (Accessed on: June 01, 2023).
- N. Comas Arias, B. Catala Gonzalez and O. Oro Dosouto, “Prueba de bondad de ajuste para la distribucion de distancias en secuencias de datos categoricos,” Revista Cubana de Ciencias Informaticas, vol. 15, pp.62-76, No. 2, 2021, ISSN: 1994-1536, 2227-1899.
- L. Castro Argudin and Y. Medina Perez, “Analisis estadistico de las sucesiones de salida del generador de secuencias pseudoaleatorias fortuna”Serie Cientifica de la Universidad de las Ciencias Informaticas, vol. 14,pp. 32-40, No. 4, April 2022. ISSN: 2306-2495.
- R.G. Brown, Dieharder: A Random Number Test Suite. Version 3.31.1. available at https://webhome.phy.duke.edu/~rgb/General/dieharder.php.
- P. L’Ecuyer and R. Simard, “TestU01: A C library for empirical testing of random number generators,” ACM Transactions on Mathematical Software, vol. 33, pp. 1-40, August 2007. [CrossRef]
- a. m. Mancilla, “Números aleatorios. Historia, teoría y aplicaciones,” Ingenieria y Desarrollo, Vol. 8, pp 49 – 69, 2000. ISSN: 0122 – 3461.
- Lai KC. In: David EG. Elementary Probability Theory with Stochastic Processes. New York: SpringerVerlag 1979: pp. 210-217.
- Maclaren N. Cryptographic Pseudo-random Numbers in Simulation. Cambridge Security Workshop on Fast Software Encryption. Cambridge: R. Anderson 1993: pp. 185-190.
- Bittor A. Analysis of the Statistical Independence of the NIST SP 800-22 Randomness Tests. BSc Thesis. Universidad Complutense de Madrid. Madrid, España. June 2020.
- A. Canteaut, “Berlekamp-Massey Algorithm,” in van Tilborg, H.C.A., Jajodia, S. Encyclopedia of Cryptography and Security, Boston, MA: Springer, 2011.
- J. L. Massey, “Shift-Register Synthesis and BCH Decoding,” in IEEE Transactions on Information Theory, vol. 15, no. 1, pp. 122-127, January 1969. [CrossRef]
- Spitzer F. Principles of Random Walk. Princeton: Van Nostrand, 1964: p. 269.
- National Institute of Standards and Technology. US. Department of Commerce.Publications. A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications. Available at: https://www.nist.gov/publications/statistical-test-suite-forrandom-and-pseudorandom-number-generators-for-cryptographic Applications | NIST (Accessed on: February 01, 2024).
- J. A. Salamanca Chavarin, “Diseño e implementacion de una neurona de impulsos en hardware reconfigurable,” M.S. thesis, University of Guadalajara, ON, Guadalajara, Mexico, 2017.
- S. Barrios del Villar, “Diseño De Una Red Neuronal De Impulsos en Hardware,” M.S. thesis, University of Guadalajara, ON, Guadalajara, Mexico, 2014.
- Macias Mendoza, J.J. Raigoza Panduro, E. C. Becerra Alvares, M. Jimenez Rodriguez, J. L. Gonzalez Vidal and J. R. Reyes Barón, “Behavioral Design of Spiking Neurons in Reconfigurable Hardware Based on Izhikevich Model,” Pistas educativas, vol. 43, pp. 645-661, January 2022, ISNN: 2448-847X.
- E. M. Izhikevich, “Which model to use for cortical spiking neurons?,” in IEEE Transactions on Neural Networks, vol. 15, no. 5, pp. 1063-1070, Sept. 2004. [CrossRef]
- E. M. Izhikevich. Simple Model of Spiking Neurons [Online]. Available: Simple Model of Spiking Neurons (izhikevich.org).















| True | False | |
|---|---|---|
| Accept | No error | Type I error |
| Reject | Type II error | No error |
| Test | Description | P-value equation |
|---|---|---|
| The Frequency (Monobit) Test | The test focuses on the proportion of ones and zeros of a sequence between, seeking to make it approximately the same [5,18]. | |
| Frequency Test within a Block | The test focuses on determining the proportion of ones within M-bit blocks [5,19]. | |
| The Runs Test | The test focuses on the total number of runs in a sequence, where the sequence of identical bits is uninterrupted [5,20]. | |
| Test for the Longest-Run-of-Ones in a block | The test focuses on the longest length of ones within M-bit blocks [5,20]. | |
| The Binary Matrix Rank Test | The purpose of the test is to detect whether or not there is linear dependence in the substrings of the original sequence [5,6,20]. | |
| The Discrete Fourier Transform (Spectral) Test | The test targets periodic characteristics, i.e., repetitive patterns that are close to each other [5,20]. | |
| The Non-overlapping Template Matching Test | The test seeks to detect generators that produce sequences with too many occurrences of a non-periodic pattern [5,20]. | |
| The Overlapping Template Matching Test | The objective of the Overlapping Template Matching test is the number of occurrences of the prespecified target [5,20]. | |
| Maurer’s “Universal Statistical” Test | The test seeks to compress the length of the entire sequence and detect that it can be compressed without losing information [5,6,20]. | |
| The Linear Complexity Test | The test determines if the sequence is complex enough to be considered random [5,20,21,22]. | |
| The Serial Test | The test focuses on possible overlapping m-bit patterns in the entire sequence [5,20]. |
|
| The Approximate Entropy Test | The test focuses on the frequency of all possible m-bit patterns overlapping in the sequence [5,20]. | |
| The Cumulative Sums (Cusums)Test | The Cusums test focuses on making a cumulative sum where the digits of the entire sequence are set to -1 if it is 0 and +1 when it is 1. This determines whether the sum is very large or very small [1,5,20,23]. | |
| The Random Excursions Test | The test determines the deviation in the number of visits to a particular state. This test is divided into a series of eight states, from which a conclusion must be obtained for each one [1,5,20]. | |
| The Random Excursions Variant Test | The purpose of the test is to detect deviations from the number of visits expected in various states in a random walk. This test has a total of eighteen states [1,5,20]. |
| Behaviors | a | b | c | d | I | V |
|---|---|---|---|---|---|---|
| Spike frequency adaptation | 0.01 | 0.2 | -65 | 8 | 30 | -70 |
| Phasic spiking | 0.02 | 0.25 | -65 | 6 | 0.5 | -64 |
| Tonic spiking | 0.02 | 0.2 | -65 | 6 | 14 | -70 |
| Mixed mode | 0.02 | 0.2 | -55 | 4 | 10 | -70 |
| Phasic bursting | 0.02 | 0.25 | -55 | 0.05 | 0.6 | -64 |
| Tonic bursting | 0.02 | 0.2 | -50 | 2 | 15 | -70 |
| Logic Utilization | Used | Available | Utilization |
|---|---|---|---|
| Number of Slice Registers | 156 | 607200 | 0.025% |
| Number of Slice LUT’S | 409 | 303600 | 0.134% |
| Number of fully used LUT-FF | 136 | 429 | 31.701% |
| Number of bonded IOBs | 110 | 700 | 15.714% |
| Number of BUFG/BUFGCTRLs | 3 | 32 | 9.375% |
| Test | 50 MHz | 25 MHz | 12.5 MHz | 6.25 MHz | |
|---|---|---|---|---|---|
| The Frequency (Monobit) Test | 0.566642 | 0.410968 | 0.862421 | 0.878356 | |
| The Cumulative Sums (Cusums) Test | Forward | 0.849404 | 0.160562 | 0.189089 | 0.243269 |
| Reverse | 0.584841 | 0.431933 | 0.267939 | 0.326047 | |
| The Runs Test | 0.783632 | 0.630602 | 0.668979 | 0.077638 | |
| The Binary Matrix Rank Test | 0.000000 | 0.738692 | 0.114706 | 0.876409 | |
| The Non-overlapping Template Matching Test | Success | 1/1 | 146 – 1/1 | 132 – 1/1 | 131 – 1/1 |
| Failure | - | 2 - 0/1 | 16 – 0/1 | 17 – 1/1 | |
| Maurer’s “Universal Statistical” Test | 0.579130 | 0.253059 | 0.003783 | 0.692034 | |
| The Approximate Entropy Test | 1.000000 | 0.000000 | 0.000000 | 0.000000 | |
| The Random Excursions Test | -4 | 0.467367 | - | 0.191100 | 0.607683 |
| -3 | 0.884720 | - | 0.069412 | 0.936361 | |
| -2 | 0.384523 | - | 0.148666 | 0.351011 | |
| -1 | 0.762988 | - | 0.898411 | 0.203527 | |
| 1 | 0.323487 | - | 0.319206 | 0.000782 | |
| 2 | 0.683140 | - | 0.595639 | 0.020346 | |
| 3 | 0.720380 | - | 0.273911 | 0.168472 | |
| 4 | 0.567868 | - | 0.044792 | 0.188158 | |
| The Random Excursions Variant Test | -9 | 0.384418 | - | 0.164916 | 0.848559 |
| -8 | 0.188230 | - | 0.109903 | 0.916051 | |
| -7 | 0.240596 | - | 0.083463 | 0.734095 | |
| -6 | 0.338072 | - | 0.119670 | 0.964935 | |
| -5 | 0.488889 | - | 0.177896 | 0.907143 | |
| -4 | 0.668621 | - | 0.376890 | 0.912238 | |
| -3 | 0.910389 | - | 0.607316 | 0.744405 | |
| -2 | 0.598397 | - | 0.868265 | 0.578495 | |
| -1 | 0.592797 | - | 0.416608 | 0.243443 | |
| 1 | 0.257429 | - | 0.781490 | 0.293819 | |
| 2 | 0.555006 | - | 0.655514 | 0.469101 | |
| 3 | 0.932730 | - | 0.314576 | 0.220253 | |
| 4 | 0.509320 | - | 0.208368 | 0.238271 | |
| 5 | 0.321720 | - | 0.195518 | 0.321461 | |
| 6 | 0.409263 | - | 0.312705 | 0.408537 | |
| 7 | 0.392529 | - | 0.337617 | 0.610385 | |
| 8 | 0.395996 | - | 0.507669 | 0.734749 | |
| 9 | 0.436434 | - | 0.996166 | 0.686851 | |
| The Linear Complexity Test | 0.156728 | 0.953487 | 0.247299 | 0.325363 |
| 50 MHz | 25 MHz | 12.5 MHz | 6.25 MHz | |
|---|---|---|---|---|
| P-value < 0.01 | 0% | 1.35% | 10.81% | 14.86% |
| P-value > 0.01 | 100% | 98.64% | 89.18% | 85.13% |
| Rank number | Range | 50 MHz | 25 MHz | 12.5 MHz | 6.25 MHz |
|---|---|---|---|---|---|
| 1 | 0.000000-0.500000 | 0% | 1.35% | 10.81% | 14.86% |
| 2 | 0.500001-1.000000 | 100% | 98.64% | 89.18% | 85.13% |
| Test | 50 MHz | 25 MHz | 12.5 MHz | 6.25 MHz | |
|---|---|---|---|---|---|
| The Frequency (Monobit) Test | 0.884843 | 0.728427 | 0.687972 | 0.989403 | |
| The Cumulative Sums (Cusums) Test | Forward | 0.509655 | 0.945094 | 0.592716 | 0.528836 |
| Reverse | 0.399454 | 0.653469 | 0.298575 | 0.540060 | |
| The Runs Test | 0.936982 | 0.658912 | 0.998950 | 0.462778 | |
| The Binary Matrix Rank Test | 0.919194 | 0.247820 | 0.384542 | 0.009961 | |
| The Non-overlapping Template Matching Test | Success | 146 - 1/1 | 147 – 1/1 | 133 – 1/1 | 109 – 1/1 |
| Failure | 2 – 0/1 | 1 - 0/1 | 15 – 0/1 | 39 – 1/1 | |
| Maurer’s “Universal Statistical” Test | 0.133589 | 0.388333 | 0.011062 | 0.815387 | |
| The Approximate Entropy Test | 1.000000 | 0.000000 | 0.000000 | 0.000000 | |
| The Random Excursions Test | -4 | 0.045122 | 0.817261 | 0.874869 | 0.570161 |
| -3 | 0.492951 | 0.285619 | 0.748484 | 0.016769 | |
| -2 | 0.556605 | 0.271948 | 0.340548 | 0.276724 | |
| -1 | 0.772149 | 0.171385 | 0.943792 | 0.678371 | |
| 1 | 0.495950 | 0.579563 | 0.524852 | 0.311659 | |
| 2 | 0.325464 | 0.502241 | 0.768692 | 0.722220 | |
| 3 | 0.381388 | 0.447861 | 0.881182 | 0.068291 | |
| 4 | 0.799388 | 0.130351 | 0.353430 | 0.027115 | |
| The Random Excursions Variant Test | -9 | 0.810827 | 0.761053 | 0.910869 | 0.762147 |
| -8 | 0.972437 | 1.000000 | 0.995678 | 0.652559 | |
| -7 | 0.666139 | 0.665152 | 0.625005 | 0.249275 | |
| -6 | 0.919655 | 0.760662 | 0.418128 | 0.153372 | |
| -5 | 0.492830 | 0.909033 | 0.493135 | 0.189997 | |
| -4 | 0.418370 | 0.907717 | 0.703488 | 0.283471 | |
| -3 | 0.148806 | 0.815005 | 1.000000 | 0.719361 | |
| -2 | 0.058377 | 0.370381 | 0.836859 | 0.447279 | |
| -1 | 0.127966 | 0.143933 | 1.000000 | 0.199808 | |
| 1 | 0.323690 | 0.759078 | 0.413242 | 0.259216 | |
| 2 | 0.072449 | 0.879953 | 0.536747 | 0.074035 | |
| 3 | 0.041878 | 1.000000 | 0.721445 | 0.066537 | |
| 4 | 0.104200 | 0.861961 | 0.510442 | 0.028500 | |
| 5 | 0.108316 | 0.634735 | 0.385858 | 0.032612 | |
| 6 | 0.110998 | 0.787734 | 0.194720 | 0.162475 | |
| 7 | 0.157074 | 0.880679 | 0.065959 | 0.253193 | |
| 8 | 0.199588 | 0.872326 | 0.038017 | 0.295527 | |
| 9 | 0.198426 | 0.813217 | 0.055723 | 0.433272 | |
| The Linear Complexity Test | 0.971171 | 0.453292 | 0.182665 | 0.862476 | |
| 50 MHz | 25 MHz | 12.5 MHz | 6.25 MHz | |
|---|---|---|---|---|
| P-value < 0.01 | 1.35% | 0.675% | 10.13% | 27.02% |
| P-value > 0.01 | 98.6% | 99.32% | 89.86% | 72.97% |
| Rank number | Range | 50 MHz | 25 MHz | 12.5 MHz | 6.25 MHz |
|---|---|---|---|---|---|
| 1 | 0.000000-0.500000 | 50% | 52.70% | 75.67% | 88.51% |
| 2 | 0.500001-1.000000 | 50% | 47.29% | 24.32% | 11.48% |
| Test | External | |
|---|---|---|
| The Frequency (Monobit) Test | 0.077959 | |
| The Random Excursions Test | -4 | 0.808997 |
| -3 | 0.723267 | |
| -2 | 0.526459 | |
| -1 | 0.628777 | |
| 1 | 0.215893 | |
| 2 | 0.167534 | |
| 3 | 0.337069 | |
| 4 | 0.834364 | |
| The Random Excursions Variant Test | -9 | 0.314745 |
| -8 | 0.154227 | |
| -7 | 0.084630 | |
| -6 | 0.091567 | |
| -5 | 0.437046 | |
| -4 | 0.883230 | |
| -3 | 0.745636 | |
| -2 | 0.463622 | |
| -1 | 0.265290 | |
| 1 | 0.154200 | |
| 2 | 0.316284 | |
| 3 | 0.516469 | |
| 4 | 0.563460 | |
| 5 | 0.580490 | |
| 6 | 0.690361 | |
| 7 | 0.719403 | |
| 8 | 0.888289 | |
| 9 | 0.865288 | |
| The Linear Complexity Test | 0.640503 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).