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.