This repository contains an implementation of an algorithm for randomness testing presented by Chatterjee et al. [1]
You need to have Rust and Python library SciPy (version 1.7.0 or newer) installed.
Compile using cargo build --release
Use ./target/release/maxtest <BLOCK_SIZE> <DATA>
The tool divides the provided data into halves, on the first half, it finds a distinguisher producing maximum Z-score and then evaluates the distinguisher on the second half.
[1] https://link.springer.com/chapter/10.1007/978-3-031-22912-1_21