CoolTest
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.
How to use CoolTest
Prerequisites
- Rust: Ensure you have Rust installed. If not, install it from rust-lang.org.
Build Instructions
Clone the repository:
git clone https://github.com/jirigav/cooltest.git
cd cooltest
Build the project in release mode:
cargo build --release
Run the tool
After building, you can run CoolTest with default parameters using the following command:
./target/release/cooltest <file>
Replace with the path to the binary file you wish to test.
To view all available options:
./target/release/cooltest --help
Alternative p-value computation
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
License
CoolTest is released under the MIT license. See LICENSE for more information.