new content

This commit is contained in:
randogoth 2025-12-20 22:28:48 +02:00
parent 8338b702b4
commit dc22c58f0c
9 changed files with 138 additions and 0 deletions

View file

@ -0,0 +1,29 @@
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 Walkers 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)