Skip to content

Randomness testing toolkit automates running and evaluating statistical testing batteries

License

Notifications You must be signed in to change notification settings

crocs-muni/randomness-testing-toolkit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Randomness Testing Toolkit

Randomness testing toolkit (RTT) is a tool that unites execution of various statistical batteries used for testing that random data generated are without significant defects. It aims to detect non-randomness in given binary data in simple, automated manner while providing support for both small-scale testing and massive high-speed testing. RTT also post-processes outputs of batteries so one does not need to cope vith various output formats these batteries use.

RTT currently implements support for the following statistical tools:

To be implemented in the future:

Related repositories

This repository contains backend part of Randomness Testing Toolkit. For other parts see following repositories.

  • Statistical batteries GitHub
    Set of updated and modified statistical batteries compatible with RTT.
  • Service deployment automation GitHub
    RTT can be deployed on single or multiple servers as a service. Scripts in this repository automates the process of deployment.
  • Web interface GitHub
    The web interface is working on top of the deployed service and allow users to analyze data and view the analysis results through their browsers.

Installation and usage

For instructions on how to install and use Randomness Testing Toolkit, please refer to our wiki.

Future plans

We run RTT for several years connected to high-speed computational resource called Metacentrum and used during various research activities. RTT is now very close to be dockerized for easy deployment locally if you want to just interactively upload one file for analysis.

Authors

The framework is developed at the Centre for Research on Cryptography and Security (formerly Laboratory of Security and Applied Cryptography), Masaryk University, Brno, Czech Republic since 2015, with parts of randomness testing reaching well back to 2005.

License

Randomness Testing Toolkit is licenced under MIT Licence, Copyright (c) 2015-2017 Centre for Research on Cryptography and Security. For details on MIT Licence, see file LICENSE.

Third party libraries

Some sub-parts of the project have their own licencing conditions. The brief list of such sub-parts follows.

  • Easylogging++ Home page
    Simple header C++ logging library. Released under MIT license.

  • JSON for modern C++ Home page
    JSON parser for C++. Released under MIT license.

  • C++17 std::variant for C++11/14/17 Home page
    Implementation of variant object from C++17 standard.