Skip to content
This is a Python implementation of NIST's A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea Initial commit Dec 31, 2017
data Bug Fixed. Jan 17, 2018
result Sample result. Jan 17, 2018
ApproximateEntropy.py Initial commit Dec 31, 2017
BinaryMatrix.py Initial commit Dec 31, 2017
Complexity.py Initial commit Dec 31, 2017
CumulativeSum.py Initial commit Dec 31, 2017
FrequencyTest.py Bug Fix Jan 8, 2018
GUI.py Bug Fix Jan 8, 2018
Main.py Bug Fixed. Jan 17, 2018
Matrix.py
OLD_Main.py GUI Related Codes Jan 7, 2018
README README File Jan 12, 2018
RandomExcursions.py Bug Fix Jan 7, 2018
RunTest.py Initial commit Dec 31, 2017
Serial.py Bug Fix Jan 3, 2018
Spectral.py Initial commit Dec 31, 2017
TemplateMatching.py
Tools.py Modified string_to_binary() method Jan 23, 2018
Universal.py Initial commit Dec 31, 2017
test_e.py Bug Fix Jan 7, 2018
test_pi.py Test file and Test Data for PI (Binary expansion) Dec 31, 2017
test_sqrt2.py Modify Random Recursion Test Dec 31, 2017
test_sqrt3.py Add Test file for SQRT(3) Dec 31, 2017
test_url_01.py Bug Fix Jan 7, 2018

README

Environment Requirements:
    1. Python 3.6
    2. Python package - Numpy (pip3 install numpy)
    3. Python package - SciPy (pip3 install scipy)



1.  You can start the program using your IDE feature (like run) to run Main.py or execute the following command in command prompt:
    python3 Main.py

2.  Once you saw the interface, you can start using the test suite.

3.  Input Data - Input Data contains Binary Data, Binary Data File and String Data File
    Binary Data - You can only enter a BINARY STRING here (ex:1100100100001111110110101010001000100001011010001100001000110100110001001100011001100010100010111000)
    Binary Data File - This will open a file dialog where you can select a file to be read by program.
                       The file you selected should contain only one set of data in BINARY FORM.  (For example, please refer to data/data.e)
    String Data File - This will open a file dialog where you can select a file to be read by program.
                       The file you selected can contain multiple set of data in STRING FORM.  (For example, please refer to data/test_data_01.txt)

4.  You can select the type of test you want to perform by clicking the corresponding checkbox or press "Select All Test" to select everything
5.  You can cancele the selection by clicking the corresponding checkbox or press "De-Select All Test" to cancel everything
6.  Once you have your data ready and selected the test you want to perform, then you can press "Execute Test" button to execute the test
7.  The result will be displayed after the test done.
    7.1  There are multiple result for Random Excursion Test.  Initially the program will displayed state '+1'.  You can chechk the other resuld
         by changing the state (using drop down) and press "Update" button
    7.2  There are multiple result for Random Excursion Variant Test.  Initially the program will displayed state '-1.0'.  You can chechk the other resuld
         by changing the state (using drop down) and press "Update" button
8.  You can see your data on the top of "Randomness Testing" (Input Data Drop down) if you have multiple input data.
    You can select the data and press "Change Data" button.  This will update the GUI and display the result of the data you selected.
9.  You can save the result to a text file by pressing "Save as Text File" button.
    This will display a file dialog where you can enter the file name for your result.
    You can check the text file after the result is saved.
10. "Reset" button will clear all input and variables.  It is strongly suggested you use this feature if you want to execute test for another set of data
11. "Exit" button will close this program
You can’t perform that action at this time.