Skip to content

RNG Test Bench in V for evaluating internal and external PRNGs.

Notifications You must be signed in to change notification settings

hungrybluedev/rng_testbench

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RNG Test Bench

Brief Summary

Order of operations:

  1. Generate a ~700MB file of random bytes for each generator, for each iteration.
  2. Run ent on the file.
  3. Run all specified dieharder tests on the file if ent passes.
  4. Burn 5 billion bytes from each generator, for each iteration. Record the timings and calculate throughput.
  5. Run one final suite of classical tests on the generator.

Prerequisites

  1. It needs to be run on a system that can install ent and dieharder. time is also recommended, but not necessary.
  2. Install ent and dieharder from the package manager if available. Otherwise, refer to their respective repositories: ent and dieharder.
  3. Install zip if you do not have it.
  4. Optionally create a config.toml file based on the sample provided if any of the settings need to be changed.

Usage

Testing all generators

Uncomment the required generators in the enabled_generators array in src/main.v.

It is recommended to use v -prod . to compile the program.

Then run it using time ./rng_testbench --mode runall

NOTE: If all iterations are set, each RNG takes over 10 minutes to test (using -prod).

If the email API key is set, it will attempt to send an email after the test has concluded.

Showing the summary/summaries

Just run v run . after at least one test is run.

About

RNG Test Bench in V for evaluating internal and external PRNGs.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages