Submitted:
13 June 2025
Posted:
17 June 2025
You are already at the latest version
Abstract
Keywords:
1. Introduction
- A unified PUF-TRNG architecture that reuses more than 95% of the functionality of the stand-alone PUF architecture. The architecture includes a mode switch that changes the behavior of the challenge generation and the data post-processing operations associated with the PUF and TRNG functions.
- A novel soft-data based sponge construction that enables the use of both static and dynamic sources of entropy by the TRNG, while eliminating all traces of correlation from the static source.
- A Global Process and Environmental Variation (GPEV) post-processing module that adds resilience to temperature-voltage attacks.
- Experimental results validating the TRNG design and acceptance testing in four of the most popular random number test tools.
2. Related Work
3. System Overview
3.1. Source of Static and Dynamic Entropy
3.2. Phase 1 - Boot-Strap and DV Generation Operations
3.3. Phase 2 - Data Post-Processing and Random Bit Generation
3.3.1. Differencing
3.3.2. Temperature and Voltage Compensation
3.3.3. Spread-Factor (SF) Chaining
3.3.4. Bit Generation
3.4. Analysis of Correlation With and without SF Chaining
3.5. Sponge Construction
4. Experimental Results
4.1. NIST SP 800-22 Statistical Test Results
4.2. NIST SP 800-90B Statistical Test Results
4.3. AIS 31 Statistical Test Results
4.4. DieHarder Statistical Test Results
4.5. Statistical Analysis of Dynamic Entropy
4.6. Analysis of RC and TCC SiRF PUF-TRNG Parameters
4.7. Comparison with other TRNGs
4.8. SiRF PUF-TRNG Bit Generation Rate and Resource Utilization
5. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Maiti, A.; Nagesh, R.; Reddy, A.; Schaumont, P. Physical Unclonable Function and True Random Number Generator: A Compact and Scalable Implementation. In Proceedings of the GLSVLSI; 2009; pp. 425–428. [Google Scholar]
- Martínez-Gómez, C.; Baturone, I. Calibration of Ring Oscillator PUF and TRNG. In Proceedings of the ECCTD; 2020; p. 1. [Google Scholar]
- Larimian, S.; Mahmoodi, M.R.; Strukov, D.B. Lightweight Integrated Design of PUF and TRNG Security Primitives Based on eFlash Memory in 55-nm CMOS. Trans. on Electron Devices 2020, 67, 1586–1592. [Google Scholar] [CrossRef]
- Taneja, S.; Rajanna, V.K.; Alioto, M. 36.1 Unified In-Memory Dynamic TRNG and Multi-Bit Static PUF Entropy Generation for Ubiquitous Hardware Security. Proceedings of the ISSCC 2021, 64, 498–500. [Google Scholar]
- Charles, W.; O’Donnell, G.E.S.; Devadas, S. PUF-Based Random Number Generation. In Proceedings of the MIT CSAIL CSG TM 481, 2004, pp. 1 – 4.
- Plusquellic, J. Shift Register, Reconvergent-Fanout (SiRF) PUF Implementation on an FPGA. Cryptography 2022, 6. [Google Scholar] [CrossRef]
- Cao, Y.; Liu, W.; Zheng, Y.; Chen, S.; Ye, J.; Qian, L.; Chang, C.H. A New Reconfigurable True Random Number Generator and Physical Unclonable Function Unified Chip With On-Chip Auto-Calibration. IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS I-REGULAR PAPERS 2023. [Google Scholar] [CrossRef]
- Liu, B.; Ma, J.; Tai, H.H.; Verma, D.; Sahoo, M.; Chang, Y.F.; Liang, H.; Feng, S.; Li, L.J.; Hou, T.H.; et al. Memristive True Random Number Generator with Intrinsic Two-Dimensional Physical Unclonable Function. ACS APPLIED ELECTRONIC MATERIALS 2023. [Google Scholar] [CrossRef]
- Pratihar, K.; Chatterjee, U.; Alam, M.; Mukhopadhyay, D.; Chakraborty, R.S. A Tale of Twin Primitives: Single-chip Solution for PUFs and TRNGs. Cryptology ePrint Archive, Paper 2021/1067, 2021.
- Sánchez-Solano, S.; Rojas-Muñoz, L.F.; Martínez-Rodríguez, M.C.; Brox, P. Hardware-Efficient Configurable Ring-Oscillator-Based Physical Unclonable Function/True Random Number Generator Module for Secure Key Management. Sensors 2024, 24, 5674. [Google Scholar] [CrossRef] [PubMed]
- Satpathy, S.K.; Mathew, S.K.; Kumar, R.; Suresh, V.; Anders, M.A.; Kaul, H.; Agarwal, A.; Hsu, S.; Krishnamurthy, R.K.; De, V. An All-Digital Unified Physically Unclonable Function and True Random Number Generator Featuring Self-Calibrating Hierarchical Von Neumann Extraction in 14-nm Tri-gate CMOS. 2019; 54, 1074–1085. [Google Scholar]
- Vatajelu, E.I.; Di Natale, G.; Prinetto, P. Security primitives (PUF and TRNG) with STT-MRAM. In Proceedings of the VTS, 2016, pp. 1–4.
- Khan, M.N.I.; Cheng, C.Y.; Lin, S.H.; Ash-Saki, A.; Ghosh, S. A Morphable Physically Unclonable Function and True Random Number Generator using a Commercial Magnetic Memory. In Proceedings of the ISQED, 2020, pp. 197–197.
- Zalivako, S.S.; Ivaniuk, A.A. The use of physical unclonable functions for true random number sequences generation. Automatic Control and Computer Sciences 2013, 47, 156–164. [Google Scholar] [CrossRef]
- Sadr, A.; Zolfaghari-Nejad, M. Physical Unclonable Function (PUF) Based Random Number Generator. Advanced Computing: An International Journal 2012, 3, 139–145. [Google Scholar] [CrossRef]
- Cambou, B.F. Design of True Random Numbers Generators with Ternary Physical Unclonable Functions. Advances in Science, Technology and Engineering Systems Journal 2018, 3, 15–29. [Google Scholar]
- Grujić, M.; Verbauwhede, I. TROT: A Three-Edge Ring Oscillator Based True Random Number Generator With Time-to-Digital Conversion. IEEE Transactions on Circuits and Systems I: Regular Papers 2022, 69, 2435–2448. [Google Scholar] [CrossRef]
- Luo, Y.; Wang, W.; Best, S.; Wang, Y.; Xu, X. A High-Performance and Secure TRNG Based on Chaotic Cellular Automata Topology. IEEE Transactions on Circuits and Systems I: Regular Papers 2020, 67, 4970–4983. [Google Scholar] [CrossRef]
- Bertoni, G.; Daemen, J.; Peeters, M.; Van Assche, G. Sponge-Based Pseudo-Random Number Generators. In Proceedings of the Cryptographic Hardware and Embedded Systems, CHES 2010; Mangard, S., Standaert, F.X., Eds.; Berlin, Heidelberg, 2010; pp. 33–47. [Google Scholar]
- Rukhin, A.; Soto, S.; Nechvatal, J.; Smid, M.; Barker, E.; Leigh, S.; Levenson, M.; Vangel, M.; Banks, D.; Heckert, N.; et al. A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications. Special Publication 800-22 Revision 1a, National Institute of Standards and Technology, 2010.
- Turan, M.; Barker, E.; Kelsey, J.; McKay, K.; Baish, M.; Boyle, M. Recommendation for the Entropy Sources Used for Random Bit Generation. Special Publication 800-90B, National Institute of Standards and Technology, 2018. [CrossRef]
- Killman, W.; Schindler, W. A Proposal for: Functionality Classes for Random Number Generators. Technical guideline, Bundesamt für Sicherheit in der Informationstechnik (BSI), Sept. 2011.
- Brown, R.G.; Eddelbuettel, D.; Bauer, D. DieHarder: A Random Number Test Suite. Available online: https://webhome.phy.duke.edu/~rgb/General/dieharder.php.
- ZYBO Reference Manual, 2014.








| Test Name | Evaluation Criteria |
|---|---|
| Excursion | Measures how far the running sum of sample values deviates from its average value at each point in the bit sequence |
| Number of Directional Runs |
Counts the number of runs of 0s and 1s across consecutive samples |
| Length of Directional Runs |
Computes the length of the longest run across consecutive samples |
| Number of Increases and Decreases |
Counts the maximum number of increases or decreases between consecutive sample values |
| Number of Runs Based on the Median |
Counts the number of runs that are constructed with respect to the median of the input data |
| Length of Runs Based on Median |
Determines the length of the longest run that is constructed with respect to the median of the input data |
| Average Collision | Counts the number of successive sample values until a duplicate is found |
| Maximum Collision | Counts the maximum number of successive sample values until a duplicate is found |
| Periodicity | Determine the number of periodic structures in the data |
| Covariance | Measures the strength of the lagged correlation |
| Compression | Length of the compressed sequence (bit sequence is first encoded) |
| Estimator | Min Entropy | ||||
|---|---|---|---|---|---|
| C58 | C60 | C61 | C62 | C63 | |
| Most Common Value | 0.99949 | 0.99954 | 0.99949 | 0.99947 | 0.99958 |
| Collision | 0.97489 | 0.97731 | 0.97237 | 0.95915 | 0.97095 |
| Markov | 0.99986 | 0.99995 | 0.99988 | 0.99964 | 0.99984 |
| Compression | 0.94808 | 0.94156 | 0.94419 | 0.96217 | 0.94891 |
| t-Tuple | 0.94499 | 0.94499 | 0.94219 | 0.94358 | 0.94643 |
| LRS | 0.99119 | 0.99895 | 0.97301 | 0.99707 | 0.99845 |
| Multi MCW Prediction | 0.99989 | 0.99978 | 0.99979 | 0.99992 | 0.99958 |
| Lag Prediction | 0.99947 | 0.99964 | 0.99961 | 0.99926 | 0.99926 |
| MultiMMC Prediction | 0.99970 | 0.99984 | 0.99954 | 0.99953 | 0.99941 |
| LZ78Y Prediction | 0.96743 | 0.99983 | 0.99956 | 0.99938 | 0.99948 |
| Test Name | Evaluation Criteria |
|---|---|
| NIST SP 800-90B | |
| Most Common Value | Measures the frequency of the most common value |
| Collision | Measures the frequency of repeated values (collisions) |
| Markov | Measures the degree of predictability based on past output values |
| Compression | Measures the degree of compression possible |
| t-Tuple | Evaluates how often sequences of t consecutive symbols repeat |
| LRS | Detects redundancy by finding the longest repeated substring |
| MultiMCW Prediction | Evaluates predictability by analyzing symbol patterns using multiple "Most Common in Window" predictors |
| Lag Prediction | Analyzes the ability to predict output based on previous outputs at different lags |
| MultiMMC Prediction | Considers multiple Markov chains and evaluates how well they can predict future values |
| LZ78Y Prediction | Uses the LZ78 compression method to measure predictability of the sequence |
| AIS-31 | |
| Disjointness | Ensures outputs from the entropy source are independent across multiple tests |
| Monobit | Verifies the balance of 0s and 1s in the bitstream |
| Poker | Analyzes frequency distributions to identify patterns in the data |
| Runs | Checks the randomness of bit sequences by analyzing runs of consecutive 0s and 1s |
| Long Run | Identifies overly long runs of consecutive 0s or 1s |
| Autocorrelation | Evaluates the dependency between bits separated by fixed lags |
| Uniform Distribution | Checks if output values follow a uniform distribution |
| Homogeneity | Tests consistency of symbol distributions across subsets of data |
| Entropy Estimation | Measures the unpredictability of the source output |
| Test | Pass rate | Result |
|---|---|---|
| T0 - Disjointness test | 1/1 | Pass |
| T1 - Monobit test | 257/257 | Pass |
| T2 - Poker test | 257/257 | Pass |
| T3 - Runs test | 257/257 | Pass |
| T4 - Long run test | 257/257 | Pass |
| T5 - Autocorrelation test | 257/257 | Pass |
| Test | Test statistic / Pass condition | Result |
| T6 - Uniform distribution test | Pass | |
| T7 - Test for homogeneity | Pass | |
| T8 - Entropy estimation | Pass |
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. |
© 2025 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/).