Cryptology ePrint Archive: Report 2022/061

A remark on the NIST 800-22 Binary Matrix Rank Test

Nicu Neculache and Vlad-Andrei Petcu and Emil Simion

Abstract: Statistical testing is a mechanism that has been included in various domains or fields, providing a method for making quantitative decisions about a particular sample. The statistical testing plays a big role in selecting and testing random and pseudorandom generators whose output may be used in the field of cryptography, specifically for the encryption, decryption and the keys or sub-keys generation. In this paper we study one of the NIST 800-22 random number generation tests. We give an overview for the statistical testing and its importance for cryptography, then we focus on one of the tests, specifically the Binary Matrix Rank Test. We provide a logical schema and a new code implementation in Python 3. Further we evaluate the test, by running it on a collection of well chosen test samples and gathering the results based on which we do an assumption. More exactly, we validate if the binary sequence input can be classified as random or not depending on the bits density.

Category / Keywords: implementation / statistical testing, random bit generator, bits density, binary matrix rank, P-value

Date: received 17 Jan 2022, last revised 19 Jan 2022

Contact author: petcuvlad92 at gmail com, nnicu8 at gmail com, emil simion at upb ro

Available format(s): PDF | BibTeX Citation

Version: 20220119:194602 (All versions of this report)

Short URL: ia.cr/2022/061


[ Cryptology ePrint archive ]