Pseudorandom Number Generator

Summary

In 1982, Oishi and Inoue developed the first Pseudo-Random Number Generator (PRNG) based on chaotic behavior. Since then, mathematicians and computer scientists have modeled chaos to create new versions of pseudo-random number generators. A pseudo-random number is a string of binary digits that are produced from known initial conditions. The initial conditions are used in an algorithm to produce and reproduce a pseudo-random series. An example of an initial condition is a seed. A seed is an initial value that typically comes in the form of a password.  Because the algorithm can reproduce the pseudo-random series it is not entirely random; therefore we use the term “pseudo.” Having the ability to create pseudo-randomness, while maintaining its unpredictability, is essential for computer simulations, scientific research, cybersecurity, and cryptography. Modeling chaos has proven to be a successful method to produce pseudo-random strings. If an attacker were to discover the pseudo-random number and the initial conditions (seed or password), then it would be possible for the attacker to recreate the PRNG. As a result, new PRNGs are in high demand. For my senior research project, I developed a new version of a PRNG that is modeled after statistically random behavior. The generator was coded entirely in C#, first with the visual tool Unity and then in Visual Studio. This generator has the capability to be applied to a secure AES encryption system.

A chart picturing how the pseudo-random numbers are used to create an even more random number.

Undergraduate Researcher

Publications/Presentations

  • Chloe Dunmire, Amber Wagner. Modeling Particle Randomness: A Pseudorandom Number Generator. ACM Southeast Conference (ACMSE). Virtual Event. April 2023.
  • BSC Applied Computer Science Capstone Presentation
  • BSC Undergraduate Research Symposium