29 lines
1.5 KiB
Markdown
29 lines
1.5 KiB
Markdown
|
|
Title: onod 3000
|
|||
|
|
Date: 2025-01-18 23:00
|
|||
|
|
Category: code
|
|||
|
|
Slug: onod3000
|
|||
|
|
Summary: Rust port of the ent 3000 randomness testing suite for TRNG Makers.
|
|||
|
|
|
|||
|
|
Rust port of Paul Uszak's new randomness testing suite for TRNG Makers generating in the sub 1 MB space. Successor to John Walker’s venerable *ent*.
|
|||
|
|
|
|||
|
|
*Onod3000* provides multiple randomness tests, each outputting a statistic, a z-score andd a p-value to assess the conformity of the data to random behavior.
|
|||
|
|
|
|||
|
|
## Testing Methodology
|
|||
|
|
|
|||
|
|
All tests have been carefully ported from [Paul Uszak's Java code](http://www.reallyreallyrandom.com/gitbucketlabhub/) (ent3000-0.6.0-beta). Java libraries were substituted with Rust crate equivalents when possible. The suite includes the following tests:
|
|||
|
|
|
|||
|
|
- **Monobit Test**: Evaluates the balance of 0s and 1s.
|
|||
|
|
- **Chi-Square Tests**: Tests the uniformity of bits and bytes.
|
|||
|
|
- **MeanByte Test**: Checks if the mean byte value aligns with expected randomness.
|
|||
|
|
- **Kolmogorov-Smirnov (KS) Test**: Assesses uniformity of data distribution.
|
|||
|
|
- **Pi Test**: Uses Monte Carlo methods to approximate π.
|
|||
|
|
- **Shells Test**: Analyzes distances in 3D space.
|
|||
|
|
- **Gaps Test**: Measures gaps between occurrences of a specific value.
|
|||
|
|
- **Avalanche Test**: Analyzes bit-level changes in data chunks.
|
|||
|
|
- **Runs and RunUps Tests**: Checks for sequential patterns in data.
|
|||
|
|
- **Prediction Test**: Assesses the predictability of next bits.
|
|||
|
|
- **UnCorrelation Test**: Evaluates correlation between shifted data.
|
|||
|
|
|
|||
|
|
## Repository
|
|||
|
|
|
|||
|
|
* [onod3000](https://codeberg.org/randogoth/onod3000)
|