Title:Fast Implementation of Chinese Randomness Test Specification
VOLUME: 9 ISSUE: 3
Author(s):Yang Xian-Wei, Zhan Xue-Qiu, Kang Hong-Juan and Luo Ying
Affiliation:Wuxi Institute of Technology, Wuxi Jiangsu
Keywords:Random sequence, randomness test, Berlekamp-Massey algorithm, linear complexity, optimization
implementation, NCA randomness test specifications.
Abstract:Background: The need for random and pseudorandom numbers arises in many cryptographic
applications. Many cryptographic protocols require random or pseudorandom numbers at various
points, e.g., for auxiliary data used in digital signatures, or challenges in authentication protocols. In
NIST SP800-22 and Chinese randomness test specification, the focus is on those applications where
randomness is required for cryptographic purposes and a set of statistical tests for randomness is
described. In practice, these tests can be used to evaluate data generated by cryptographic algorithms. It
is studied that the fast software implementations of Chinese randomness test specification in this paper.
Methods: In this paper, the experiments show that the detection time of linear complexity test accounts
for about two-third of all the testing time. We propose a type of fast implementation of the linear
complexity test. The method is to follow the basic steps according to the test, replacing bit operations
with word operations, where a word can be 32/64/128/256 bits, according to CPU processing power.
Results: When the word width is set to 32, the improvement of the linear complexity test is much more
significant compared with the basic implementation. Through the method, the efficiency of Chinese
randomness test suit is increased by 2.41 times, compared with the basic implementation.
Conclusion: we study the fast software implementation of Chinese randomness test specification. The
hotspot item is detected and a type of fast implementation method of this test item is proposed in this
paper. Through this method, the efficiency has been improved relative to the basic implementation. The
method also can be used to NIST randomness test suit which has the same bottleneck item.