← Back to Explore

Development of a Machine Learning Algorithm for Generating Random Numbers

ISEF · 2019 Robotics and Intelligent Machines

Overview

Individuals, governments, and businesses use cryptography extensively to protect data and prevent theft. Cryptographic security relies heavily on truly random numbers. Various components of cryptography use a random number to make every communication unique. These numbers must be truly random, because even a slight pattern may be reproducible by an attacker. That individual could then gain access to future communications. Because computers are by nature deterministic, it is difficult and time consuming to develop truly random number generators. Thus, a novel solution was approached using machine learning. Neuroevolution of Augmenting Topologies (NEAT) was used with the dieharder suite to develop neural networks capable of generating random numbers. These networks proved competitive against traditional cryptographically secure random number generators on the birthdays test, the only test used in the fitness function in this experiment. This approach proves promising because new algorithms can be developed quickly from existing fitness functions, lowering development costs for new generators.

Competition history

  • ISEF 2019 Robotics and Intelligent Machines · Entry ROBO054

Resources

Related projects

Closest projects by meaning, across every fair and year in the corpus.

Source: Regeneron International Science and Engineering Fair

Save projects to your library

Sign in with Google to keep track of projects you find interesting, organized into folders. Browsing stays public.

Continue with Google