CoolTest is a randomness-testing tool. It uses first half of provided data to construct a distinguisher based on a histogram construction. Then it evaluates the distinguisher on the second half of the data to evaluate the probability of the data being generated by true random number generator.
This tool is based on our paper published at IFIP SEC 2025.
You can download binaries for the latest release from GitHub releases.
If you have Rust installed on your system, you can install CoolTest with:
cargo install cooltest
Clone the repository:
git clone https://github.com/jirigav/cooltest.git
cd cooltest
Build the project in release mode:
cargo build --release
After building, you can run CoolTest with default parameters using the following command:
cooltest <file>
Replace with the path to the binary file you wish to test.
To view all available options:
cooltest --help
For a more precise p-value computation, the python library SciPy can be used.
Python library SciPy (version 1.7.0 or newer) is required.
Build with:
cargo build --release --features scipy
CoolTest is released under the MIT license. See LICENSE for more information.