The RAVA Diagnostics app introduces a test suite designed to evaluate the statistical properties of randomness produced by the RAVA circuit. It comprises three distinct sub-applications:
-
Quick Tests: Conducted on relatively small samples generated in real-time to detect significant errors within the RAVA circuit.
-
Acquisition: Generation of large files comprising pulse counts, bytes, or numbers extracted from an RAVA device. (This sub-app is imported from the RAVA Python Driver package).
-
Detailed Tests: Analyzes the statistical distribution of bias and correlation metrics associated with the random bytes obtained through the Acquisition module. Moreover, it explores the normality of pulse count distributions across different sampling intervals. Additionally, it implements a visualization of the reports generated by the NIST Tests, offering an insightful representation of its results. Lastly, a reporting feature generates a PDF file summarizing the information from the Detailed Tests. This document is designed to facilitate the quality assessment of a specific instance of the RAVA circuit.
The Diagnostics suite is an open-source implementation of the tests outlined in the article presenting the RAVA circuit. For more details, refer to IEEE Access, DOI: 10.1109/ACCESS.2023.3327325.
The diagnostics code is available as the rng_rava_diag PyPI package. To install it, run:
pip install rng_rava_diag
Requirements: rng_rava, numpy, matplotlib, scipy, lmfit
To run the diagnostics app, execute:
python3 -m rng_rava_diag
Regarding the RAVA Python Driver:
- Driver v1.1.0 to latest is compatible with Diagnostics from v1.0.0 to latest
gabrielguerrer [at] gmail [dot] com