Title: onod 3000 Date: 2025-01-18 23:00 Category: software 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)