Fast Software Implementation of Serial Test and Approximate Entropy Test of Binary Sequence

In many cryptographic applications, random numbers and pseudorandom numbers are required. Many cryptographic protocols require using random or pseudorandom numbers at various points, e.g., for auxiliary data in digital signatures or challenges in authentication protocols. In NIST SP800-22, the focus is on the need for randomness for encryption purposes and describes how to apply a set of statistical randomness tests. These tests can be used to evaluate the data generated by cryptographic algorithms. This paper will study the fast software implementation of the serial test and the approximate entropy test and propose two types of fast implementations of these tests. The first method is to follow the basic steps of these tests and replace bit operations with byte operations. Through this method, compared with the implementation of Fast NIST STS, the efficiency of the serial test and approximate entropy test is increased by 2.164 and 2.100 times, respectively. The second method is based on the first method, combining the statistical characteristics of subsequences of different lengths and further combining the two detections with different detection parameters. In this way, compared to the individual implementation of these tests, the efficiency has been significantly improved. Compared with the implementation of Fast NIST STS, the efficiency of this paper is increased by 4.078 times.

[1]  Riccardo Rovatti,et al.  Second-level NIST Randomness Tests for Improving Test Reliability , 2007, 2007 IEEE International Symposium on Circuits and Systems.

[2]  Limin Fan,et al.  Corrected runs distribution test for pseudorandom number generators , 2016 .

[3]  Riccardo Rovatti,et al.  On Statistical Tests for Randomness Included in the NIST SP800-22 Test Suite and Based on the Binomial Distribution , 2012, IEEE Transactions on Information Forensics and Security.

[4]  Vincent Rijmen,et al.  The Design of Rijndael , 2002, Information Security and Cryptography.

[5]  Lawrence E. Bassham,et al.  Randomness Testing of the Advanced Encryption Standard Finalist Candidates , 2000 .

[6]  Feng Xiu-tao ZUC Algorithm:3GPP LTE International Encryption Standard , 2011 .

[7]  C. F. Chong,et al.  Tuning the Collision Test for Power , 2004, ACSC.

[8]  Eric Filiol,et al.  A New Statistical Testing for Symmetric Ciphers and Hash Functions , 2002, ICICS.

[9]  Hua Chen,et al.  A new discrete Fourier transform randomness test , 2019, Science China Information Sciences.

[10]  John Kelsey,et al.  Recommendation for Random Number Generation Using Deterministic Random Bit Generators , 2014 .

[11]  Werner Schindler,et al.  Random Number Generators for Cryptographic Applications , 2009, Cryptographic Engineering.

[12]  B. Ya. Ryabko,et al.  “Book Stack” as a New Statistical Test for Random Numbers , 2004, Probl. Inf. Transm..

[13]  Marek Sýs,et al.  Faster Randomness Testing with the NIST Statistical Test Suite , 2014, SPACE.

[14]  Toshinobu Kaneko,et al.  Correction of Overlapping Template Matching Test Included in NIST Randomness Test Suite , 2007, IEICE Trans. Fundam. Electron. Commun. Comput. Sci..