This manual provides detailed information about how to use the NIST SP 800-22 Randomness Test Tool, including explanations of each test, input parameters, and how to interpret the results.
The NIST SP 800-22 Randomness Test Tool is designed to evaluate the randomness of binary sequences using a comprehensive set of statistical tests. To begin using the tool:
This parameter determines the size of each sequence to be tested. The recommended value is 1,000,000 bits. This value should be large enough to provide statistically significant results.
This parameter specifies how many sequences will be tested. The recommended value is greater than 100. More sequences provide more reliable statistical results.
Some tests require specific block sizes for their analysis. The application includes recommended values for these parameters:
| Test | Default Block Size |
|---|---|
| Block Frequency | 128 |
| Non Overlapping Template | 9 |
| Overlapping Template | 9 |
| Approximate Entropy | 10 |
| Serial Test | 16 |
| Linear Complexity | 500 |
The tool includes the following statistical tests:
For each test, the tool provides:
| Metric | Description |
|---|---|
| X² Test | Chi-square statistic for the test |
| KS-Test | Kolmogorov-Smirnov test statistic |
| Sequences | Number of sequences tested |
| Approved | Number of sequences that passed |
| Proportion | Ratio of approved to total sequences |
| Pass Rate | Overall pass rate for the test |
| Status | Final status (PASS/FAIL) |
The tool includes entropy tests that measure the randomness of the sequence using different entropy metrics. These tests provide additional insights into the quality of the random number generator.
You can export the test results in two formats:
Provides comprehensive information about each test
Exports a simplified CSV format of the results
The activity log shows real-time information about the test execution:
You can clear the log using the trash icon next to the "Activity log" heading.
This tool uses the Fast NIST implementation from Zdenek Říha (zriha@fi.muni.cz) and Marek Sýs (syso@mail.muni.cz) as a backend application. The frontend and Python interface was developed by Juan C. Castillo E.