Skip to content

Conformance test tool of random numbers based on BSI AIS 20 / AIS 31. Written in C++ by using proven libraries.

License

Notifications You must be signed in to change notification settings

g-g-sakura/AnotherAIS31TestTool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AnotherAIS31TestTool

This tool provides tests based on A Proposal for Functionality Classes for Random Number Generators - Version 3.0, which provides the cryptographic basis for BSI AIS 20 / AIS 31.

Test tool supporting AIS 20 / 31 version 2011

Please refer to version 1 branch.

To Do

debugging

Features

  • Automatic report generation with graphs
    • Supports report generation capability, in XeLaTeX source file (see -x option), where relevant intermediate results are also contained to gain confidence and support characterization of input data (or of entropy source).

Usage

.\AIS31TestTool.exe --input <file name for tests through T4> [-w <number of bits per sample>] [-x] [--MSb|--LSb]
  • --input specifies the file name of the input data. The file path must be relative path to a binary file with at least 4,080,000 bits. In order to support max 2 trials, the value is twice the specified value by A Proposal for Functionality Classes for Random Number Generators - Version 3.0.
  • -w specifies the number of bits per sample. This shall be between 1-8, inclusive. By default, this value is 8.
  • -x requests to generate a XeLaTeX source file of entropy estimation report, in the same folder as the specified acquisition data (see --input).
  • --MSb specifies the conversion from sample to bitstring in Most Significant bit first (default).
  • --LSb specifies the conversion from sample to bitstring in Least Significant bit first.

Examples of test results

test_report_v3_sample_input_data_for_T1-T4.pdf

System equirements for runtime environment

  • OS : Windows 10 or newer with 64-bit
  • RAM : 8GB or more main memory
  • TeX Live (optional for compiling automatically generated XeLaTeX source file)

System requirements for development environment

Compiler

Visual Studio 2019 or newer, or Intel oneAPI compiler

Prerequisite libraries

  • Boost C++ libraries
    • Boost.Filesystem for manipulation of file path.
    • Boost.Histogram for autocorrelation test.
    • Boost.Multi-Index for disjointness test.
    • Boost.Program Options for parsing command line options.
  • Blitz++ library
    • for array indexing, referencing subarray

About

Conformance test tool of random numbers based on BSI AIS 20 / AIS 31. Written in C++ by using proven libraries.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages