Random and Pseudo-Random Number Generation Methods

Authors

  • Karimov Madjit Malikovich Agency for Assessment of knowledge and competences under the ministry of Higher Education, Science and Innovation of the Republic of Uzbekistan, Tashkent, Uzbekistan
  • Komil Tashev Department of Cryptology, Tashkent University of Information Technologies named after Muhammad al-Khwarizmi, Tashkent, Uzbekistan
  • Nuriddin Safoev Tashkent University of Information Technologies named after Muhammad al-Khwarizmi, Tashkent, Uzbekistan
  • Tashmatova Shaxnoza Sabirovna Tashkent State Technical University named after Islam Karimov, Tashkent, Uzbekistan
  • Qurbonova Kabira Erkinovna Tashkent State Technical University named after Islam Karimov, Tashkent, Uzbekistan
  • Fayziraxmonov Boburjon Baxtiyorjon o‘g‘li Tashkent University of Information Technologies named after Muhammad al-Khwarizmi, Tashkent, Uzbekistan

DOI:

https://doi.org/10.37547/ajast/Volume05Issue05-16

Keywords:

Random number generation, pseudo-random number generation, entropy

Abstract

Random number generation is a fundamental aspect of computer science, cryptography, simulations, and statistical sampling. This paper explores the definitions, classifications, and implementations of random and pseudo-random number generators (RNGs and PRNGs). We examine true random number generators (TRNGs), which derive randomness from physical phenomena, and pseudo-random number generators (PRNGs), which use deterministic algorithms to produce sequences that mimic randomness. Case studies, including Random.org, HotBits, laser-based RNGs, and the Linux random number generator, illustrate practical implementations. We also discuss vulnerabilities, security considerations, and the importance of entropy in generating unpredictable sequences.

References

Chan, W. K. (2009). Random Number Generation in Simulation.

Gutterman, Z., Pinkas, B., & Reinman, T. (2006). Analysis of the Linux Random Number Generator.

Haahr, M. (2011). Introduction to Randomness and Random Numbers.

Marsaglia, G. (2005). Random Number Generators.

Schneier, B. (2007). Dual_EC_DRBG: A Case Study in Backdoors.

Sunar, B., Martin, W., & Stinson, D. (2006). A Provably Secure True Random Number Generator.

Barker, E., & Kelsey, J. (2015). Recommendation for Random Number Generation Using Deterministic Random Bit Generators (Revised). NIST Special Publication 800-90A Rev. 1. https://doi.org/10.6028/NIST.SP.800-90Ar1

Eastlake, D., Schiller, J., & Crocker, S. (2005). Randomness Requirements for Security. RFC 4086. https://www.rfc-editor.org/rfc/rfc4086

Microsoft. (2023). Cryptography API: Next Generation. Microsoft Docs. https://learn.microsoft.com/en-us/windows/win32/seccng/cng-portal

Microsoft. (2023). BCryptGenRandom function (bcrypt.h). Microsoft Docs. https://learn.microsoft.com/en-us/windows/win32/api/bcrypt/nf-bcrypt-bcryptgenrandom

Linux Kernel Documentation. (2023). Random Number Generator. https://www.kernel.org/doc/html/latest/admin-guide/dev-random.html

Linux man-pages project. (2023). getrandom(2) – Linux manual page. https://man7.org/linux/man-pages/man2/getrandom.2.html

Apple Developer Documentation. (2023). SecRandomCopyBytes. https://developer.apple.com/documentation/security/1399291-secrandomcopybytes

Apple. (2020). Platform Security Guide. https://support.apple.com/guide/security/welcome/web

Gutterman, Z., Pinkas, B., & Reinman, T. (2006). Analysis of the Linux Random Number Generator. IEEE Symposium on Security and Privacy. https://doi.org/10.1109/SP.2006.26

Dorrendorf, L., Gutterman, Z., & Pinkas, B. (2007). Cryptanalysis of the Random Number Generator of the Windows Operating System. ACM CCS. https://doi.org/10.1145/1315245.1315274

Lacharme, P. (2012). Security flaws in Linux's /dev/random. https://eprint.iacr.org/2012/251

BSD Unix. (2022). arc4random and related APIs. https://man.openbsd.org/arc4random

Kelsey, J., Schneier, B., Ferguson, N. (1999). Yarrow-160: Notes on the Design and Analysis of the Yarrow Cryptographic Pseudorandom Number Generator. https://www.schneier.com/paper-yarrow.pdf

Dodis, Y., et al. (2013). Security Analysis of Pseudorandom Number Generators with Input: /dev/random is not Robust. ACM CCS. https://doi.org/10.1145/2508859.2516661

Intel Corporation. (2014). Intel® Digital Random Number Generator (DRNG) Software Implementation Guide. https://www.intel.com/content/www/us/en/content-details/671488/intel-digital-random-number-generator-drng-software-implementation-guide.html

National Institute of Standards and Technology. (2012). A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications. NIST SP 800-22 Rev. 1a. https://doi.org/10.6028/NIST.SP.800-22r1a

Müller, T. (2013). Security of the OpenSSL PRNG. International Journal of Information Security, 12(4), 251–265. https://doi.org/10.1007/s10207-013-0213-7

Debian Security Advisory. (2008). Debian OpenSSL Predictable PRNG Vulnerability (DSA-1571). https://www.debian.org/security/2008/dsa-1571

Downloads

Published

2025-05-21

How to Cite

Karimov Madjit Malikovich, Komil Tashev, Nuriddin Safoev, Tashmatova Shaxnoza Sabirovna, Qurbonova Kabira Erkinovna, & Fayziraxmonov Boburjon Baxtiyorjon o‘g‘li. (2025). Random and Pseudo-Random Number Generation Methods. American Journal of Applied Science and Technology, 5(05), 70–73. https://doi.org/10.37547/ajast/Volume05Issue05-16

Most read articles by the same author(s)