Next Article in Journal
NeuroAdaptiveNet: A Reconfigurable FPGA-Based Neural Network System with Dynamic Model Selection
Previous Article in Journal
A Novel Reconfigurable Gate-Biasing Technique for Extending Dynamic Range in CMOS RF-DC Rectifiers Targeting RFEH Applications
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Design and Hardware Implementation of a Highly Flexible PRNG System for NIST-Validated Pseudorandom Sequences

by
María de Lourdes Rivas Becerra
1,*,
Juan José Raygoza Panduro
1,*,
Edwin Christian Becerra Alvarez
1,
Susana Ortega Cisneros
2 and
José Luis González Vidal
3
1
Department of Electro-Photonics, Centro Universitario de Ciencias Exactas e Ingenierías (CUCEI), University of Guadalajara, Guadalajara 44100, Mexico
2
Department Electronic Design, CINVESTAV of IPN, Campus Guadalajara, Guadalajara 45017, Mexico
3
Department of Computer Science, ICBI, Autonomous University of the State of Hidalgo, Pachuca 42039, Mexico
*
Authors to whom correspondence should be addressed.
Chips 2025, 4(2), 23; https://doi.org/10.3390/chips4020023
Submission received: 28 February 2025 / Revised: 3 April 2025 / Accepted: 28 April 2025 / Published: 7 May 2025

Abstract

:
This work presents the design of a system of a highly flexible pseudorandom number generator system (PRNG) incorporating both conventional and neuro-generators. The system integrates four internal generators with different conditions to produce new output sequences with adequate bits distribution and complexity. Two generators function at a frequency of 100 MHz with adjustable frequency settings, while two neuro-generators employ impulse neurons with distinct behaviours at 4 kHz, also modifiable. The proposed system meets 12 statistical randomness standards based on NIST’s (National Institute of Standards and Technology of U. S.) test suite, including the Frequency test, Binary Matrix Rank test, Linear Complexity test, and Random Excursion test, among others. Each resulted in a P-value greater than 0.01, confirming the pseudo-randomness of the generated sequences. The system is implemented on a reconfigurable device FPGA (Field Programmable Gate Array), with a low occupancy percentage, demonstrating its feasibility for various applications.

1. Introduction

Random numbers are widely used in a variety of applications, including statistics, computer programming, video games, numeric analysis, and cryptography, among others [1,2,3]. Random numbers can be obtained from random sequences produced by random number generators (RNGs) [1]. The quality of an RNG is determined by its ability to produce sequences with good statistical properties, minimal predictability, and uniform digit distribution [4,5,6,7].
The development of random number generation methods dates back to the 1940s, with contributions from Von Neumann, Metropolis, Ulam, and Lehmer. They pioneered the Monte Carlo simulation method [8,9,10], which was published by N. Metropolis and Stanislaw M. Ulam in 1949 [9,11]. The method estimates outcomes in unpredictable events across multiple fields, including sales forecasting, integral approximations, sampling experiments, and artificial intelligence [12,13,14,15]. The Monte Carlo method is based on sequences of pseudorandom numbers, where a set of results is predicted in an estimated range of values, building a model with possible results [12,13,14,15]. However, unlike random numbers, pseudorandom numbers are deterministic, meaning their sequences eventually repeat [6,7]. Thus, pseudorandom numbers must meet specific statistical criteria to ensure unpredictability, e.g., the random appearance of the length and uniformly distributed bits [6,7]. Some applications of pseudorandom sequences include cryptography, financial models, communications, artificial intelligence, etc., [6,7,16,17].

Random Number Generators (RNGs) and Pseudorandom Number Generators (PRNGs)

Various types of random number and pseudorandom number generators (RNGs and PRNGs) have been designed. Examples of RNGs are the QRNG (Quantum Random Generator) and the TRNG (True Random Generator) [18,19,20], which use physical variables, such as electronic noise from electronic circuits, biological signals, and quantum processes (e.g., semiconductors) [18,19,20]. The quality of the generators depends on the concordance between their output properties and those of a process of generating uniform and independent data [21]. The goal is to ensure that the random number sequences meet the necessary characteristics for various applications, such as generating initial data or seed data for a PRNG, as shown in Figure 1. From the seed data, the PRNG is initialized to produce a new pseudorandom sequence [4].
PRNGs use deterministic algorithms to generate sequences, ensuring uniformity and independence [22]. A common method is the Linear Congruential Generator (LCG) invented by D. H. Lehmer, defined by the recursive relation in Equation (1), where each number is computed as a function of the previous number. X 0 is defined as the seed ( X 0   > 0 ), a is the constant multiplier ( a > 0 ), c is the active constant (c > 0), and m is the modulus ( m > X 0 ,   m > a   y   m > c ). According to the recursive relation, X n + 1 is the remainder when dividing a X n + c by the modulus [22,23,24,25,26,27].
X n + 1 = a X n + c m o d   m
Another widely used PRNG method is the Linear Feedback Shift Register (LFSR), which employs storage registers that shift bits in response to clock pulses, generating pseudorandom sequences. Each register cell stores a bit that is shifted one position to the right for each clock pulse [28,29,30,31,32,33]. This component is often used in generators for stream encryption due to the flexibility of hardware implementation. Additionally, the register’s statistical properties [28,29,30,31,32,33] allow it to be used for the design of news generators.
Every time a shift to the right occurs in the LFSR, a cell in the register becomes empty, allowing a new bit to be stored in the vacant position [28,29,30,31,32,33]. Feedback is a linear feedback function, as shown in Equation (2). In an LFSR of length L over F q , the system functions as a finite state automaton that generates a semi-infinite sequence of elements of F q , denoted s = ( s t ) t 0 = s 0 s 1 . , which satisfies a linear recurrence relation of degree L over F q [28,29,30,31,32,33]. The coefficients of L c 1 ,   ,   c L are elements of F q and are referred to as feedback coefficients of the LFSR; Figure 2 illustrates an LFSR representing this concept [28].
s t + L = i = 1 L c 1 s t + L i ,       t 0
Some recent PRNG generator designs include the one proposed in [34], which uses multiple LFSRs to produce 16-bit pseudorandom numbers at 50 kHz and ambient electromagnetic noise to generate the generator seeds [34]. Thus, the efficiency of LFSRs in the design of pseudorandom number generators for different applications is once again confirmed. Another is proposed by [35], which consists of a generator called a multi-PRNG. This generator produces multiple pseudorandom number streams. A multi-PRNG is implemented using a field programmable gate array FPGA, based on a chaotic multi-scroll memristive Hopfield neural network (MHNN) [35]. The objective is to produce multiple spatially dependent PRNG streams from the chaotic multi-scroll system. Each multiple shift produced functions as an independent PRNG [35].
All random and pseudorandom number generators must be validated through statistical tests to determine whether the sequences they produce exhibit randomness or pseudo-randomness. Examples include the Diehard tests and the NIST statistical tests [36,37,38,39], which consist of 15 tests proposed by the National Institute of Standards and Technology to evaluate the RNG or PRNG generator sequences. Some of the tests include the Frequency (Monobit) test [37,40,41], which ensures that the sequence contains approximately equal proportions of zeros and ones with uniform a distribution [37,40], the Frequency within a Block test, which examine the proportion of ones within M-bits bocks [37,40,42], the Runs test, which evaluates the total number of runs (uninterrupted by identical) in the entire sequence [37,40,43], the Binary Matrix Rank test, which checks the linear dependence between fixed length substrings of the original sequence [36,37,40,44], the Maurer’s Universal Statistical test, which measures the number of bits between matching patterns to determine whether the sequence can be compressed without losing information [37,40,45], the Linear Complexity test, which assesses whether the sequence is complex enough to be considered random [37,40,46,47], the Cumulative Sums (Cusums), which analyzes the maximum deviation from zero in a random walk defined by the cumulative sum, where sequence digits are adjusted to −1 and +1 [37,40,48], the Random Excursion test, which determine the number of K visit cycles in a cumulative random walk [37,40,48], and the Random Excursion Variant test, which examines the total number of times a particular state is visited in a sequence [37,40,48]. These statistical tests help validate the quality of RNG and PRNG sequences, ensuring their suitability for cryptographic, simulation, and other applications.
Each test in the suite evaluates pseudo-randomness independently, calculating the P-value, as shown in Table 1, where the corresponding equation is observed [37]. A sequence is considered satisfactory only if the P-value is greater than 0.01; otherwise, the sequence is deemed completely non-random or non-pseudorandom [37,40]. The P-value is derived from hypothesis testing, assessing whether the observed result is consistent with the assumption of randomness [37,40]. Each test follows a hypothesis-testing framework. Under the null hypothesis H0, the sequence is random, while under the alternative hypothesis Ha, the sequence is not random [37,40]. Two types of errors can occur during hypothesis tests: type I error, where H0 is rejected (concluding non-randomness) when the sequence is actually random [37,40], or type II error, where H0 is accepted (concluding randomness) when the sequence is actually non-random [37,40]. For a sequence to pass the test, it must be random enough to accept H0; if it is non-random, H0 is rejected in favor of Ha [37,40].
This work presents the design and implementation of a system incorporating PRNG generators and neuro-generators on the Virtex 7 xc7vx485t-ffg1761 reconfigurable FPGA (Field Programmable Gate Array) device [40,49,50,51]. The system features four internal PRNG generators with good statistical properties and a uniform bit distribution, which meet the criteria to pass various NIST tests. The system allows for the generation of new pseudorandom sequences by selecting from all internal generators. In addition, a specific generator can be chosen to produce a previously validated sequence. Some of the tests confirming the pseudo-randomness of the generated sequences include the Frequency (Monobit) test, Frequency within a Block test, Linear Complexity test, and Binary Matrix Rank test, among others. The results demonstrate that the generator system is suitable for various applications, such as biological systems, simulations, testing electronic circuits, etc.

2. Design of a System of PRNG Generators and Neuro-Generators

A system of pseudorandom number generators and neuro-generators was designed, as shown in Figure 3. The proposed system consists of two PRNG generators (Generator 1 and Generator 2) and two neuro-generators (NG 1 and NG 2). Each of these was designed individually with specific conditions to pass different NIST statistical tests with satisfactory pseudo-randomness results [40,49,50,51].
The system’s generators are connected to a selection device that determines which set of bits is passed to the output. It features four input connections for initial data: External 1 and External 2 (each 20 bits) or Seed data (10 bits per generator). These inputs are loaded into the internal LFSRs of each generator only when the Load signals are active. Additionally, the system includes an independent clock signal for the neuro-generator neuronal blocks, allowing their frequency to be adjusted without affecting the entire system. The sequences produced by each generator, along with different selection combinations, were validated by NIST statistical tests to confirm their pseudo-randomness.
Generator 1, shown in Figure 4a [49], is a PRNG with a 10-bit output and two LFSR shift registers. These registers are loaded in parallel with either external data or seed data, depending on the Load signals and the selection of the multiplexer, which is controlled by a controller [49]. Once both LFSRs are loaded, each CLK signal pulse generates a 10-bit output while simultaneously shifting a bit to the right, allowing a feedback bit to enter the register. This feedback is produced by an XOR gate, with one of its inputs negated, connected to bits 16 and 20, a configuration recommended by Xilinx to maximize the number of LFSR output sequences before repetition occurs. The outputs of LFSR1 and LFSR2 are further processed by two logic blocks, referred to as Logic Field 1, Logic Field 2, Xor Field 1, and Xor Field 2. The final output is determined by multiplexer Mux 3, which directs the bit word to the generator output. The Mux 3 Controller selects LFSR1 data when set to 0 and LFSR2 data when set to 1 [49].
On the other hand, Generator 2, shown in Figure 4b [50], consists of a general block with an LFSR connected to a parallel register for seed data input. Similar to Generator 1, each CLK pulse shifts the sequence one bit to the right, allowing the input of the feedback bit while simultaneously producing the LFSR output sequence. In this design, outputs 2, 4, 6, 7, 10, 13, 15, and 17 are connected to an addressing bus, which enables random access to predefined words in the generator and produces the output sequence [50].
The NG 3 and NG 4 neuro-generators, shown in Figure 5 [40,51], follow a similar topology to Generator 1 but incorporate a neuronal module connected to each neuro-generator. These modules generate a non-periodic clock signal that enters the CLK of the LFSR 1, causing the bits to shift and producing an output sequence whenever the CLK of the LFSR 1 receives a pulse from the neuronal module. Meanwhile, the LFSR 2 operates at a periodic frequency of 100 MHz [40,51].
The neuronal modules are designed with hardware impulse neurons (Figure 6) operating at a 4 kHz clock signal, with the option to modify this frequency. Their behavior is based on Izhikevich biological neurons [40,51,52,53]. For neuro-generator NG 3, shown in Figure 5a, the neuronal module exhibits phasic bursts, producing 6 impulses and tonic bursts, generating 16 impulses at the output. These impulses are triggered only when the neuron is stimulated by an input impulse without the need to remain in a high state. On the other hand, the neuronal module of the neuro-generator NG 4, shown in Figure 5b, consists of six impulse neurons with different behaviors: frequency adaptation, tonic impulse, mixed mode, phasic bursts, tonic bursts, and phasic impulse. Each neuron produces a unique number of impulses per series, activated only upon stimulation [40,51,52,53]. In both neuro-generators, the output data from the LFSRs are processed by Channel 1 and Channel 2, which are then passed through a selection module to form the final output sequence. This sequence is subsequently validated by the NIST statistical tests.

3. Simulation and Implementation of the System Generators

The design of the generators and neuro-generators system was implemented using the VHDL hardware description language and developed in ISE 14.6, a software tool from the Xilinx AMD design platform [54]. This software was used to simulate the system and test its operation. Additionally, it generated a txt text file containing the new output sequences, which were subsequently using NIST statistical tests. The system also provided occupation percentages, detailing the resource usage of each generator within the Virtex 7 xc7vx485t-2ffg1761 reconfigurable FPGA device [55].

3.1. Simulation Results

The simulation was performed at a frequency of 100 MHz for the entire system, including the neuronal modules of the neuro-generators. This is despite the fact that the clock frequency of the impulse neurons in hardware is 4 kHz. In Figure 7a, the initial data (external1 and external2) are loaded into each of the LFSRs of the generators when the Load signals are activated (set to 1). The loaded data are visible in the in_lfsr signals, which are color-coded to indicate their respective generators. For Generator 2, represented by the brown d signal, only a single shift register is used, and the external 1 data are loaded into it. A similar process occurs when the seed data are used instead of external data, as shown in Figure 7b. However, in this case, the bits are distributed differently when loaded into the LFSR due to the difference in the bit word length between each one.
With the Load signal disabled, the data are processed by each of the generator stages to produce the system output sequences, as shown in Figure 8. The selector corresponding to the aux_sel_mux signals indicates the output data that form a new sequence. In this case, the corresponding bit word is marked in green, starting with 1101001101 of the neuro-generator NG 3 and ending with 00101110 of the Generator 2. In the latter, the output is eight bits, so in the ten-bit word of the output system, only the first eight bits change from right to left, keeping the last two bits of the previous word. As well as the generator sequences, this one is also validated by NIST statistical tests to demonstrate its pseudo-randomness in specific tests or the entire set.
The design of this system has the flexibility to select the output of a single generator to obtain the sequence already validated by NIST, as shown in Figure 9. Where the sel_mux4 signal in Figure 9a shows only the output of Generator 1 with the combination 00 and in Figure 9b of the neuro-generator NG 4 by having 11 in the selector. Therefore, the system is not limited to just the combination of the generators to produce new sequences, but it also has the option of obtaining the output of a specific generator immediately.

3.2. Occupancy Percentages of the System Generators and Neuro-Generators in the FPGA Virtex 7 xc7vx485T-2FFG1761

The resource occupancy percentages of the FPGA for each of the system generators are shown in Table 2, where all generators have a low percentage of resources used, including the neuro-generators NG 3 and NG 4, which reach 20.04% and 31.70% of LUT-FF, which is the number of Flip-Flops used by the system as the number of highest resources. These results show that each of the generators can be implemented individually. However, in Table 3, it can be observed that the system has the flexibility to be implemented in the same reconfigurable device as the generators and neuro-generators. This is due to the percentages that the design occupies in each of the resources, where none reaches 50% utilization, with 37.602% in LUT-FF, being the resource with the highest percentage of occupation and the lowest number of registers, with 0.056%. In addition, it has 0.097% of RAM (Read Access Memory), which corresponds to the data storage block of Generator 2, 0.219% of LUTs (LookUp Table) occupancy, 16.428% of IOBs inputs and outputs, and 21.875% of BUFGs (Global Clock Buffer), which are clock inputs and outputs.

4. Results and Discussion

The PRNG generators and neuro-generator of the system were validated by NIST statistical tests to demonstrate that the sequences they produce are pseudorandom for a set or a specific test, as shown in Table 4. In the case of Generator 1, the sequences produced by this design are considered pseudorandom for a set of ten statistical tests proposed by NIST. These are the Frequency (Monobit) test, Runs test, Binary Matrix Rank test, Non-overlapping Template Matching test, Maurer’s Universal Statistical test, Linear Complexity test, Approximate Entropy test, Cusums test, Random Excursion test, and Random Excursion Variant test. Instead, Generator 2 is designed to meet the number of cycles required for the Random Excursion and the Random Excursion Variant tests, with satisfactory P-value values in some of the states that make up this test. The first neuro-generator NG 3 of the system, the sequence generated with the entire system at 100 MHz and then at 4 kHz, is considered complex enough to be considered pseudorandom. The same occurs for the neuro-generator NG 4, which is also pseudorandom for the Frequency (Monobit) and Runs test.
In the graph of Figure 10, the distribution of the P-value of the validated output of each generator of the system can be observed at a frequency of 100 MHz. Figure 10a shows the pseudo-randomness results, with the external 1 and external 2 data loaded to the LFSRs of the generators. It is observed that the majority of the P-value values are above 0.5, reaching values with a high level of pseudo-randomness, as in the case of Generator 1. The same occurs with the P-value data in Figure 10b, where it is observed that, again, Generator 1 maintains, in some cases, values of P-value = 1.
Otherwise, when loading the seed data to the neuro-generators NG 3 and NG 4, the output sequence maintains its complexity and pseudo-randomness for the NIST Linear Complexity test, as shown in Table 3 and Figure 10. All the values of the P-value can be consulted in [40,49,50,51], which corresponds to the scientific articles where the first results obtained from each generator were presented with frequencies of 100 MHz and 4 kHz, with the aim of respecting the frequency of the neuronal module connected to the neuro-generator and with the initial seed and external data modified [40,49,50,51].
The first validation results of pseudo-randomness of the generators and neuro-generators system were with the entire system at a frequency of 4 kHz, where the external data and then the seed data were loaded. The results observed in Table 5 show satisfactory conclusions for the Binary Matrix Rank test with a P-value = 0.810078 and the Linear Complexity test with a P-value = 0.464674 when loading the external data. These same tests are approved when loading the seed data but with a difference between the P-value values of 0.056173 for the first test and 0.191298 for the Linear Complexity test.
The results were also obtained with the system at a frequency of 100 MHz, including the neuronal module of each neuro-generator NG 3 and NG 4, and with the external data loaded to the LFSRs, where the results were satisfactory for the Binary Matrix Rank test with a P-value = 0.390736 and the Linear Complexity test with a P-value = 0.563232, as observed in Figure 11a. When the seed data were loaded, the results were greater than 0.01 for the same tests but with different levels of pseudo-randomness in P-value, as shown in Figure 11b. This indicates that the system sequences maintain their complexity and pseudo-randomness without being influenced by the working frequency.
Keeping the system at 100 MHz, the combination between two different generators was made to obtain new pseudorandom sequences, which had good statistical properties to pass different NIST tests. These were performed following the combination shown in Figure 12, beginning with the selection of Generator 1 and Generator 2. Continuing with the same generator, but now combined with neuro-generators NG 3 and NG 4, these with Generator 2 and the last combination with themselves.
For each case, the new output sequences of the system were validated by NIST statistical tests. The P-value results were satisfactory for the Binary Matrix Rank test and Linear Complexity test, as seen in Table 6, which shows variation in the P-value value without affecting the pseudo-randomness of the sequence. However, when selecting only the neuro-generators NG 3 and NG 4, the sequence is pseudorandom for all states of the Random Excursions and Random Excursion Variant tests, as shown in Table 7. Therefore, all sequences produced by the system when taking the bits from two generators are complex and pseudorandom.
Considering the P-value results obtained in each situation in which the generators and neuro-generators system were used, it is demonstrated that the sequences with an adequate bit distribution are generated. In addition to being complex enough to pass different statistical tests proposed by NIST, such as the Frequency (Monobit) test, Runs test, Binary Matrix Rank test, Non-overlapping Template Matching test, Maurer’s Universal Statistical test, Linear Complexity test, Approximate Entropy test, Cumulative Sum (Cusums) test, Random Excursion test, Random Excursion Variant test and including the Frequency within a Block test and the Longest-Run-of-Ones in a Block test. These are added to the tests approved by the generator and neuro-generator system, as shown in Table 8, marked with X, with 12 tests approved out of 15 proposed by NIST, even when combining the bits from two different generators, as demonstrated by the results in Table 5 and Table 6, where different levels of pseudo-randomness were observed for the sequence obtained from each combination.

5. Conclusions

The system of generators and neuro-generators can produce sequences with adequate bit distribution and statistical properties at a frequency of 100 MHz and 4 kHz, respectively. As observed in the Section 4, the P-value showed variation only in the levels of pseudo-randomness due to the condition that each internal generator must pass tests independently or in specific sets. For the neuro-generators, the neuronal module operates at 4 kHz, but it can be adjusted to operate at a frequency of 100 MHz without affecting the complexity and bit distribution of the output sequence. The same results are observed with Generators 1 and 2, which were designed to pass a specific set of tests, regardless of whether the working frequency matches that of the neuro-generators or whether the initial data were external or seed data.
It was also demonstrated that the combination of two generators can produce pseudorandom sequences that pass the Binary Matrix Rank test, Linear Complexity test, and all the states of the Random Excursion and Random Excursion Variant tests. Therefore, the system of generators and neuro-generators is capable of generating sufficiently complex sequences, with adequate bit distribution, to pass 80% of the 15 NIST statistical tests proposed. This design offers flexibility, allowing for the selection of a specific generator to obtain a validated output sequence and the ability to adapt to different frequencies without affecting the pseudo-randomness of the sequences. This makes the system suitable for use in a wide range of different applications, including biological systems, mathematical systems simulation, electronic circuit testing, and even as initial data for other generators. In addition, it can be implemented in reconfigurable FPGA devices, such as the Virtex 7 xc7vx485T-2ffg1761.
Each of the system’s generators will be updated, including the generators’ neural modules, to increase the pseudo-randomness levels of each approved test and to analyze the sequences produced to pass other NIST statistical tests.

Author Contributions

Conceptualization, J.J.R.P. and M.d.L.R.B.; methodology, J.J.R.P. and S.O.C.; software, E.C.B.A. and J.J.R.P.; validation, M.d.L.R.B. and J.J.R.P.; formal analysis, J.J.R.P.; investigation, M.d.L.R.B., J.J.R.P. and J.L.G.V.; resources, S.O.C. and J.J.R.P.; data curation, J.J.R.P.; writing—original draft preparation, M.d.L.R.B. and J.J.R.P.; writing—review and editing, S.O.C., J.J.R.P. and M.d.L.R.B.; visualization, E.C.B.A.; supervision, J.J.R.P.; project administration, J.J.R.P.; funding acquisition, S.O.C. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The data presented in this study are available in this article.

Acknowledgments

The present work has been supported by the National Council of Humanities, Science, and Technology (CONAHCYT, Consejo Nacional de Humanidades, Ciencia y Tecnología), the University of Guadalajara and CINVESTAV Guadalajara for their support.

Conflicts of Interest

The authors declare no conflicts of interest.

Abbreviations

The following abbreviations are used in this manuscript:
PRNGPseudorandom Number Generator
NISTNational Institute of Standards and Technology
FPGAField Programmable Gate Array
RNGRandom Number Generator
QRNGQuantum Random Number Generator
TRNGTrue Random Number Generator
LCGLinear Congruential Generator
LFSRLinear Feedback Shift Register
JCRJournal Citation Report
NGNeuro-generator
VHDLVery High-Speed Integrated Circuits
MHzMega Hertz
kHzKilo Hertz

References

  1. Malva, A.; Schwer, I.; Cámara, V.; Fumero, Y. Matemática Discreta, 1st ed.; Ediciones UNL, Secretaría de Extensión, Universidad Nacional del Litoral: Santa Fe, Argentina, 2005; pp. 214–217. ISBN 987508431X. [Google Scholar]
  2. Steven, S.S. The Algorithm Design Manual, 2nd ed.; Springer: London, UK; Cham, The Netherlands, 2008; pp. 415–417. ISBN 9781848000704/1848000707. [Google Scholar]
  3. Liu, L.; Yang, J.; Wu, M.; Liu, J.; Huang, W.; Li, Y.; Xu, B. A Post-Processing Method for Quantum Random Number Generator Based on Zero-Phase Component Analysis Whitening. Entropy 2025, 27, 68. [Google Scholar] [CrossRef] [PubMed]
  4. Singh, M.; Singh, P.; Kumar, P. An Empirical Study of Non-Cryptographically Secure Pseudorandom Number Generators. In Proceedings of the 2020 International Conference on Computer Science, Engineering and Applications (ICCSEA), Gunupur, India, 13–14 March 2020. [Google Scholar] [CrossRef]
  5. Lee, J.; Seo, Y.; Heo, J. Analysis of random number generated by quantum noise source and software entropy source. In Proceedings of the 2018 International Conference on Information and Communication Technology Convergence (ICTC), Jeju, Republic of Korea, 17–19 October 2018. [Google Scholar] [CrossRef]
  6. Murillo-Escobar, D.; Murillo-Escobar, M.Á.; Cruz-Hernández, C.; Arellano-Delgado, A.; López-Gutiérrez, R.M. Pseudorandom number generator base on novel 2D Hénon-Sine hyperchaotic map with microcontroller. Nonlinear Dyn. 2022, 111, 6773–6789. [Google Scholar] [CrossRef] [PubMed]
  7. IDQ. Random Numbers Generation Using Quantum Physics, White Paper May 2020. Available online: https://marketing.idquantique.com (accessed on 2 February 2025).
  8. Mancilla Herrera, A.M. Números Aleatorios. Historia, Teoría y Aplicaciones. Ingeniería y Desarrollo 2000, Volume 8, ISSN 0122-3461. Available online: http://www.redalyc.org/articulo.oa?id=85200804 (accessed on 1 April 2025).
  9. González de la Fuente, M. Generación de Números Aleatorios Físicos en Dispositivos Electrónicos. Bachelor’s Thesis, Universidad de Valladolid, Valladolid, Spain, September 2016. [Google Scholar]
  10. Patil, G.P.; Kotz, S.; Ord, J.K. A Modern Course on Statistical Distributions in Scientific Work; Springer: Dordrecht, The Netherlands; Calgary, AB, Canada, 1974. [Google Scholar] [CrossRef]
  11. Metropolis, N.; Ulam, S. The Monte Carlo Method. J. Am. Stat. Assoc. 1949, 44, 247+335–341. [Google Scholar] [CrossRef] [PubMed]
  12. Otamendi, J. Las etapas en la gestación del Método de Montecarlo. In Historia de la Probabilidad y la Estadística (II), 1st ed.; García Tomé, F.M., Ed.; Delta, Las Rozas: Madrid, Spain, 2000; pp. 117–120. ISBN 9788496477254/8496477258. [Google Scholar]
  13. Askar, T.; Shukirgaliyev, B.; Lukac, M.; Abdikamalov, E. Evaluation of Pseudo-Random Number Generation on GPU Cards. Computation 2021, 9, 142. [Google Scholar] [CrossRef]
  14. IBM. ¿Qué es la Simulación de Monte Carlo? Available online: https://www.ibm.com/mx-es/topics/monte-carlo-simulation (accessed on 13 February 2025).
  15. Aws. ¿En Qué Consiste la Simulación de Monte Carlo? Available online: https://aws.amazon.com/es/what-is/monte-carlo-simulation/ (accessed on 13 February 2025).
  16. Durga, R.S.; Rashmika, C.K.; Madhumitha, O.N.V.; Suvetha, D.G.; Tanmai, B.; Mohankumar, N. Design and Synthesis of LFSR based Random Number Generator. In Proceedings of the 2020 Third International Conference on Smart Systems and Inventive Technology (ICSSIT), Tirunelveli, India, 20–22 August 2020. [Google Scholar] [CrossRef]
  17. Caran, R.I. Comparative Analysis Between Counter Mode Deterministic Random Bit Generators and Chaos-Based Pseudo-Random Number Generators. In Proceedings of the 2024 International Conference on Development and Application Systems (DAS), Suceava, Romania, 23–25 May 2024. [Google Scholar] [CrossRef]
  18. Su, G.; Ding, C.; Li, S.; Liu, Z.; Gao, Z.; Song, J.; Guo, S.; Tao, M. A Method for Generating True Random Numbers With Multiple Distribution Characteristics. IEEE Access 2023, 11, 81753–81762. [Google Scholar] [CrossRef]
  19. Matuszewski, Ł.; Jessa, M.; Nikonowicz, J. Ring Oscillators with Additional Phase Detectors as a Random Source in a Random Number Generator. Entropy 2025, 27, 15. [Google Scholar] [CrossRef] [PubMed]
  20. Fei, C.; Zhang, X.; Wang, D.; Hu, H.; Huang, R.; Wang, Z. EPRNG: Effective Pseudo-Random Number Generator on the Internet of Vehicles Using Deep Convolution Generative Adversarial Network. Information 2025, 16, 21. [Google Scholar] [CrossRef]
  21. Gentle, J.E. Random Number Generation and Monte Carlo Methods, 2nd ed.; Springer: Greer, SC, USA, 1998; ISBN 0-387-00178-6. [Google Scholar]
  22. García Gómez, J.A.; Martínez de la Cruz, A.; Jauregui Wade, L.; Valles Rivera, D.; Sánchez Vasconcelos, G. Importancia del uso de los generadores de números pseudoaleatorios en los contenidos de la asignatura de simulación del programa académico de ingeniería en sistemas computacionales, del Instituto Tecnológico de Villahermosa. Innovaciín Y Desarro. Tecnológico Rev. Digital 2024, 16, 1358–1362. [Google Scholar]
  23. Kumar Panda, A.; Chandra, R. A Coupled Variable Input LCG Method and its VLSI Architecture for Pseudorandom Bit Generation. IEEE Trans. Instrum. Meas. 2020, 69, 1011–1019. [Google Scholar] [CrossRef]
  24. Tezuka, S. Linear Congruential Generator. In Uniform Random Numbers, 1st ed.; Springer: New York, NY, USA, 1995; pp. 57–82. ISBN 978-0-7923-9572-0. [Google Scholar]
  25. Sujitha, A.; Lakshmi, L.; Mathan, N.; Narmadha, R. Analysis of an Efficient Linear Congruential Generator Architecture for Digital Applications. In Proceedings of the 2023 Fifth International Conference on Electrical, Computer and Communication Technologies (ICECCT), Erode, India, 22–24 February 2023. [Google Scholar] [CrossRef]
  26. Zulfikar, S.; Hubbul, W. Design and Implementations of Linear Congruential Generator into FPGA. Int. J. Electron. Commun. Comput. Eng. 2014, 5, 809–813. [Google Scholar]
  27. Pisharath, J. Linear Congruential Number Generators. Newer Math, Fall. 2023. Available online: https://ow3.math.rutgers.edu/~greenfie/currentcourses/sem090/pdfstuff/jp.pdf (accessed on 11 February 2025).
  28. Van Tilborg, H. Linear Feedback Shift Register. In Encyclopedia of Cryptography and Security; Springer: New York, NY, USA, 2005; pp. 355–357. ISBN 0-387-23483-7. [Google Scholar]
  29. Zaree, M.; Raji, M. FT-LFSR: A Fault Tolerant Architecture for Linear Feedback Shift Registers. In Proceedings of the 26th International Computer Conference, Computer Society of Iran (CSICC), Tehran, Iran, 3–4 March 2021. [Google Scholar] [CrossRef]
  30. Krishna, C.V.; Jas, A.; Touba, N.A. Test vector encoding using partial LFSR reseeding. In Proceedings of the International Test Conference 2021 (Cat. No01CH37260), Baltimore, MD, USA, 1 November 2001. [Google Scholar] [CrossRef]
  31. Grymel, M. New Programmable LFSR Counters with Automatic Encoding and State Extension. Electronics 2024, 13, 405. [Google Scholar] [CrossRef]
  32. Roshni, O.; Merin, K.G.; Sharon, J. Study and Analysis of Various LFSR Architectures. In Proceedings of the 2018 International Conference on Circuits and Systems in Digital Enterprise Technology (ICCSDET), Kottayam, India, 21–22 December 2018. [Google Scholar] [CrossRef]
  33. Wang, L.T. VLSI Test Principles and Architectures Design for Testability; Elsevier: San Francisco, CA, USA, 2006; pp. 272–275. ISBN 9780080474793/0080474799. [Google Scholar]
  34. Teo, T.H.; Xiang, M.; Elsharkawy, M.; Leao, H.R.; Xie, J.; Ek, H.S. Hardware Implementation of Multi-LFSR Pseudo Random Number Generator. In Proceedings of the TENCON 2024–2024 IEEE Region 10 Conference, Singapore, Singapore, 1–4 December 2024; pp. 382–385. [Google Scholar] [CrossRef]
  35. Garzon Gonzalez, J.A.; Rangel-Magdaleno, J.D.J.; Munoz-Pacheco, J.M. FPGA Implementation of a Multi-PRNG Based on a Multiscroll Chaotic Hopfield Neural Network. IEEE Trans. Ind. Inform. 2025, 21, 3097–3106. [Google Scholar] [CrossRef]
  36. Brown, R.G. Dieharder: A Random Number Test Suite. Version 3.31.1. Available online: https://webhome.phy.duke.edu/~rgb/General/dieharder.php (accessed on 11 February 2025).
  37. NIST Technical Series Publications. Available online: https://nvlpubs.nist.gov/nistpubs/legacy/sp/nistspecialpublication800-22r1a.pdf (accessed on 11 February 2025).
  38. Marek, T. Improvements to the Randomness Testing Toolkit. Bachelor’s Thesis, Masaryk University, Brno, Chequia, 2023. [Google Scholar]
  39. Lee, C.Y.; Bharathi, K.; Lansfor, J.; Khatri, S.P. NIST-Lite: Randomness Testing of RNGs on an Energy-Constrained Platform. In Proceedings of the 2021 IEEE 39th International Conference on Computer Design (ICCD), Storrs, CT, USA, 24–27 October 2021. [Google Scholar] [CrossRef]
  40. Rivas Becerra, M.d.L.; Panduro, J.J.R.; Ortega Cisneros, S.; Becerra Álvarez, E.C.; Ríos Arrañaga, J.D. Diseño de un Nuevo Neurogenerador con un Módulo Neuronal para producir Secuencias Pseudoaleatorias y Perfectamente Pseudoaleatorias. Electrónica 2024, 13, 1955. [Google Scholar] [CrossRef]
  41. Chung, K.L. Elementary Probability Theory with Stochastic Processes, 2nd ed.; Gehring, F.W., Ed.; Springer: New York, NY, USA; Berlin/Heidelberg, Germany, 1974; ISBN 978-1-4757-5114-7. [Google Scholar]
  42. Maclaren, N. Cryptographic Pseudo-Random Numbers in Simulation. In Proceedings of the Cambridge Security Workshop on Fast Software Encryption, Cambridge, UK, 9–11 December 1993; R. Anderson: Cambridge, UK, 1993; pp. 185–190. [Google Scholar]
  43. Dickinson Gibbons, J.; Chakraborti, S. Nonparametric Statistical Inference, 6th ed.; CRC Press Taylor & Francis Group: Boca Raton, FL, USA, 2021; ISBN 9781315110479. [Google Scholar]
  44. Marsaglia, G.; Tsay, L.H. Matrices and the Structure of Random Number Sequence. Linear Algebra Its Appl. 1985, 67, 147–156. [Google Scholar] [CrossRef]
  45. Maurer, U.M. A universal statistical test for random bit generators. J. Cryptol. 1992, 5, 89–105. [Google Scholar] [CrossRef]
  46. Van Tilborg, H. Linear Complexity. In Encyclopedia of Cryptography and Security; Springer: New York, NY, USA, 2005; pp. 349–350. ISBN 0-387-23483-7. [Google Scholar]
  47. Massey, J.L. Shift-Register Synthesis and BCH Decoding. IEEE Trans Inf. Theory 1969, 15, 122–127. [Google Scholar] [CrossRef]
  48. Spitzer, F. Principles of Random Walk, 2nd ed.; Springer: New York, NY, USA, 2001; ISBN 0-387-95154-7. [Google Scholar]
  49. Panduro, J.J.R.; Alvarez, E.C.B.; Becerra, M.D.L.R.; Avila, C.A.O.; Valdovinos, M.L.B.; Ortega-Cisneros, S. Design and Implementation in FPGA a Random Number Generator of 10 bits validated by NIST Maurer’s “Universal Statistical” and Binary Matrix Rank tests. In Proceedings of the 2022 International Conference on Mechatronics, Electronics and Automotive Engineering (ICMEAE), Cuernavaca, Mexico, 5–9 December 2022; pp. 158–163. [Google Scholar] [CrossRef]
  50. Rivas Becerra, M.d.L.; Raygoza Panduro, J.J.; Susana, O.C.; Jose, L.G.V. Two new hardware implementations of random number generators on reconfigurable devices. In Proceedings of the 2023 3rd Congreso Iberoamericano de Instrumentación y Ciencias Aplicadas SOMI XXXVII Congreso de Instrumentación, Bogotá, Colombia, 8–10 November 2023; ISSN 2395-8499. [Google Scholar]
  51. Rivas Becerra, M.d.L.; Raygoza Panduro, J.J.; Becerra Alvarez, C.E.; Rios Arrañaga, J.; Jimenez, M.; Ortega Cisneros, S. Impulse Neurons: Phasic Bursts and Tonic Bursts, to Generate Pseudorandom Sequences. In Proceedings of the 2023 IEEE International Autumn Meeting on Power, Electronics and Computing (ROPEC), Ixtapa, Mexico, 18–20 October 2023; pp. 1–6. [Google Scholar] [CrossRef]
  52. Izhikevich, E.M. Which Model to Use for Cortical Spiking Neurons? IEEE Trans. Neural Netw. 2004, 15, 1063–1070. [Google Scholar] [CrossRef] [PubMed]
  53. Salamanca Chavarin, J.A. Diseño e Implementación de una Neurona de Impulsos en Hardware Reconfigurable. Master’s Thesis, Universidad de Guadalajara, Guadalajara, Mexico, September 2017. [Google Scholar]
  54. AMD XILINX. Available online: http://www.xilinx.com (accessed on 13 February 2025).
  55. Xilinx. 7 Series FPGAs Data Sheet: Overview. 2020. Available online: https://docs.amd.com/v/u/en-US/ds180_7Series_Overview (accessed on 13 February 2025).
Figure 1. RNG generator providing the initial or seed data to a PRNG-type generator.
Figure 1. RNG generator providing the initial or seed data to a PRNG-type generator.
Chips 04 00023 g001
Figure 2. LFSR of length L over F q .
Figure 2. LFSR of length L over F q .
Chips 04 00023 g002
Figure 3. System of generators and neuro-generators type PRNG.
Figure 3. System of generators and neuro-generators type PRNG.
Chips 04 00023 g003
Figure 4. PRNG generators of the system: (a) Generator 1 [49]; (b) Generator 2 [50].
Figure 4. PRNG generators of the system: (a) Generator 1 [49]; (b) Generator 2 [50].
Chips 04 00023 g004
Figure 5. Neuro-generators of the system: (a) Neuro-Generator NG 3 [51]; (b) Neuro-Generator NG 4 [40].
Figure 5. Neuro-generators of the system: (a) Neuro-Generator NG 3 [51]; (b) Neuro-Generator NG 4 [40].
Chips 04 00023 g005
Figure 6. Impulse neurons on hardware based on the Izhikevich biological model.
Figure 6. Impulse neurons on hardware based on the Izhikevich biological model.
Chips 04 00023 g006
Figure 7. Loading the initial data to the LFSRs of the generators and neuro-generators of the selection system: (a) External data (external 1 and external 2); (b) Seed data.
Figure 7. Loading the initial data to the LFSRs of the generators and neuro-generators of the selection system: (a) External data (external 1 and external 2); (b) Seed data.
Chips 04 00023 g007
Figure 8. Selection of generators by the system to form the new output sequence.
Figure 8. Selection of generators by the system to form the new output sequence.
Chips 04 00023 g008
Figure 9. Selection of a single generator by the selector to obtain the output sequence: (a) Sequence of Generator 1; (b) Sequence of the neuro-generator NG 4.
Figure 9. Selection of a single generator by the selector to obtain the output sequence: (a) Sequence of Generator 1; (b) Sequence of the neuro-generator NG 4.
Chips 04 00023 g009
Figure 10. Distribution of P-value results of the generators and neuro-generators of the system: (a) Generators and neuro-generators with initial data external 1 and external 2; (b) Generators and neuro-generators with initial seed data.
Figure 10. Distribution of P-value results of the generators and neuro-generators of the system: (a) Generators and neuro-generators with initial data external 1 and external 2; (b) Generators and neuro-generators with initial seed data.
Chips 04 00023 g010
Figure 11. P-value results with the system at 100 MHz: (a) P-value results with the external data loaded to the generators system; (b) P-value results with the seed data loaded to the generators system.
Figure 11. P-value results with the system at 100 MHz: (a) P-value results with the external data loaded to the generators system; (b) P-value results with the seed data loaded to the generators system.
Chips 04 00023 g011
Figure 12. Combinations between the internal generators and neuro-generators of the system to produce new pseudorandom sequences.
Figure 12. Combinations between the internal generators and neuro-generators of the system to produce new pseudorandom sequences.
Chips 04 00023 g012
Table 1. P-value equations of each test proposed by the NIST.
Table 1. P-value equations of each test proposed by the NIST.
TestEquation
Frequency (Monobit) P - v a l u e = e r f c S o b s 2
Frequency within a Block P - v a l u e = i g m c ( N 2 ,   X 2 ( o b s ) 2 )
Runs P - v a l u e = e r f c V n o b s 2 n π ( 1 π ) 2 2 n π ( 1 π )
Longest-Run-of-Ones in a Block P - v a l u e = i g a m c ( K 2 ,   X 2 ( o b s ) 2 )
Binary Matrix Rank P - v a l u e = i g a m c 1 ,   X 2 o b s 2
Discrete Fourier Transform (Spectral) P - v a l u e = e r f c d 2
Non-overlapping Template Matching P - v a l u e = i g a m c ( N 2 ,   X 2 ( o b s ) 2 )
Overlapping Template Matching P - v a l u e = i g a m c ( 5 2 ,   X 2 ( o b s ) 2 )
Maurer’s Universal Statistical P - v a l u e = e r f c f n e x p e c t e d V a l u e ( L ) 2 σ )
Linear Complexity P - v a l u e = i g a m c ( N 2 ,   X 2 ( o b s ) 2 )
Serial P - v a l u e 1 = i g a m c 2 m 2 ,   ψ m 2
P - v a l u e 2 = i g a m c 2 m 3 , 2   ψ m 2
Approximate Entropy P - v a l u e = i g a m c 2 m 1 , x 2 2
Cumulative Sums (Cusums) P - v a l u e = 1   k = ( n z + 1 ) / 4 ( n z 1 ) 4 Φ 4 k + 1 z n Φ 4 k 1 z n + k = ( n z 3 ) / 4 ( n z 1 ) 4 Φ 4 k + 3 z n Φ 4 k + 1 z n
Random Excursions P - v a l u e = i g a m c ( 5 2 ,   X 2 ( o b s ) 2 )
Random Excursions Variant P - v a l u e = e r f c ξ x J 2 J ( 4 x 2
Table 2. Occupancy percentages of the generators and neuro-generators of the generator system in the Virtex 7 xc7vx485T-2FFG1761.
Table 2. Occupancy percentages of the generators and neuro-generators of the generator system in the Virtex 7 xc7vx485T-2FFG1761.
Logic UtilizationAvailableGenerator 1Generator 2NG 3NG 4
Used—Utilization
Slices Registers607,200600.009%600.009%1040.01%1560.025%
Slice LUTs303,600820.02%210.006%2470.08%4090.134%
LUT-FF4295512.82%204.66%8620.04%13631.70%
IOBs70010515%355%669.42%11015.71%
BUFG/BUF GCTRLs3226.25%39.37%39.37%39.37%
RAM/FIFO1030--10.097%----
Table 3. Generators system occupancy rates in Virtex 7 xc7vx485T-2ffg1761.
Table 3. Generators system occupancy rates in Virtex 7 xc7vx485T-2ffg1761.
Logic UtilizationAvailableUsedUtilization
Slices Registers607,2003430.056%
Slice LUTs303,6006670.219%
LUT-FF73427637.602%
IOBs70011516.428%
BUFG/BUF GCTRLs32721.875%
RAM/FIFO103010.097%
Table 4. NIST statistical tests passed on the system’s PRNG generators and neuro-generators.
Table 4. NIST statistical tests passed on the system’s PRNG generators and neuro-generators.
TestGenerator 1Generator 2NG 3NG 4
Frequency (Monobit)X X
Frequency within a Block
RunsX X
Longest-Run-of-Ones in a Block
Binary Matrix RankX
Discrete Fourier Transform (Spectral)
Non-overlapping Template MatchingX
Overlapping Template Matching
Maurer’s Universal StatisticalX
Linear ComplexityX XX
Serial
Approximate EntropyX
Cumulative Sums (Cusums)X
Random ExcursionsXX
Random Excursions VariantXX
Table 5. NIST statistical testing passed the system at 4 kHz frequency.
Table 5. NIST statistical testing passed the system at 4 kHz frequency.
TestLoaded Data4 kHz
P-value
Frequency (Monobit)external0.810078
Frequency within a Blockexternal0.464674
Runsseed0.753905
Longest-Run-of-Ones in a Blockseed0.655972
Table 6. P-value results from the NIST statistical tests Binary Matrix Rank and Linear Complexity when selecting two generators to produce different sequences.
Table 6. P-value results from the NIST statistical tests Binary Matrix Rank and Linear Complexity when selecting two generators to produce different sequences.
TestSelection
Generator 1Generator 2NG 3
Generator 2NG 3NG 4NG 3NG 4NG 4
Binary Matrix Rank0.4726060.8553800.2321870.9086610.0784020.067799
Linear Complexity0.6687050.7949400.9708230.1982280.0819430.338502
Table 7. P-value results of the Random Excursion and Random Excursion Varian tests when selecting neuro-generators NG 3 and NG 4.
Table 7. P-value results of the Random Excursion and Random Excursion Varian tests when selecting neuro-generators NG 3 and NG 4.
TestStateP-value
Random Excursion−40.144909
−30.634359
−20.205829
−10.663797
10.654933
20.359742
30.361715
40.462300
Random Excursion Variant
−90.646087
−80.754622
−70.972531
−60.415538
−50.296039
−40.981281
−30.461922
−20.184810
−10.113429
10.641517
20.389698
30.211564
40.296439
50.346447
60.359074
70.339301
80.214167
90.130250
Table 8. NIST statistical tests passed by the PRNG generators and neuro-generators of the system.
Table 8. NIST statistical tests passed by the PRNG generators and neuro-generators of the system.
TestSystem
Frequency (Monobit)X
Frequency within a BlockX
RunsX
Longest-Run-of-Ones in a BlockX
Binary Matrix RankX
Discrete Fourier Transform (Spectral)
Non-overlapping Template MatchingX
Overlapping Template Matching
Maurer’s Universal StatisticalX
Linear ComplexityX
Serial
Approximate EntropyX
Cumulative Sums (Cusums)X
Random ExcursionsX
Random Excursions VariantX
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.

Share and Cite

MDPI and ACS Style

Becerra, M.d.L.R.; Panduro, J.J.R.; Alvarez, E.C.B.; Cisneros, S.O.; Vidal, J.L.G. Design and Hardware Implementation of a Highly Flexible PRNG System for NIST-Validated Pseudorandom Sequences. Chips 2025, 4, 23. https://doi.org/10.3390/chips4020023

AMA Style

Becerra MdLR, Panduro JJR, Alvarez ECB, Cisneros SO, Vidal JLG. Design and Hardware Implementation of a Highly Flexible PRNG System for NIST-Validated Pseudorandom Sequences. Chips. 2025; 4(2):23. https://doi.org/10.3390/chips4020023

Chicago/Turabian Style

Becerra, María de Lourdes Rivas, Juan José Raygoza Panduro, Edwin Christian Becerra Alvarez, Susana Ortega Cisneros, and José Luis González Vidal. 2025. "Design and Hardware Implementation of a Highly Flexible PRNG System for NIST-Validated Pseudorandom Sequences" Chips 4, no. 2: 23. https://doi.org/10.3390/chips4020023

APA Style

Becerra, M. d. L. R., Panduro, J. J. R., Alvarez, E. C. B., Cisneros, S. O., & Vidal, J. L. G. (2025). Design and Hardware Implementation of a Highly Flexible PRNG System for NIST-Validated Pseudorandom Sequences. Chips, 4(2), 23. https://doi.org/10.3390/chips4020023

Article Metrics

Back to TopTop