Mutual Correlation of NIST Statistical Randomness Tests and Comparison of Their Sensitivities to Transformed Sequences Ali DOĞANAKSOY,Fatih SULAK,Muhiddin UĞUZ,Okan ŞEKER,Ziya AKCENGİZ Introduction Main Text Randomness testing is an essential part of security evaluation of a cryptographic algorithm and it is done by statistical randomness tests. Each statistical randomness test is designed to evaluate a different characteristic of the sequence. There exists a number of statistical test suites to test the randomness. The test suite should be large enough to obtain reliable results. We propose a method for analysis of statistical randomness tests. Pearson correlation coefficient is used in order to measure the correlation between the tests. Also five new transformation methods are defined to observe the sensitivity of the tests. Transformation Methods: The purpose of this study is to observe the results given by the tests when a transformation is applied to the tested sequences. Therefore, if the results of two tests for the transformed sequences are similar, then it can be said that there is a structural similarity between these tests. The simplest level of transformations is used to observe how the tests results vary with the transformations. If complex transformations are applied, the relations between the tests can be found. However, this causes the results to be misled because there always exists a relation between tests. The methods are; Reversing (In this transformation, the order of the sequences is reversed), Binary Derivative (In this transformation, a new sequence is generated by XORing two consecutive bits), t-Rotation (In this transformation, the place of first t bits of the sequence is changed. They are cyclically shifted from the beginning and added at the end), Masking Bits (To mask a sequence means to XOR a mask bitwise to ), Swapping (In this Longest Run of Serial1 Ones Appr. Cusum1 Entropy TESTS Frequency Block Frequency Runs Frequency 1,000 0,281 0,006 0,280 0,002 0,000 0,198 0,767 0,768 Block Frequency 0,281 1,000 0,001 0,107 0,005 0,001 0,082 0,465 0,466 Runs 0,006 0,001 1,000 0,079 0,004 -0,001 0,191 0,006 0,007 Longest Run of Ones 0,280 0,107 0,079 1,000 0,005 0,001 0,231 0,244 0,247 Serial1 0,002 0,005 0,004 0,005 1,000 0,681 0,020 0,005 0,001 Serial2 0,000 0,001 -0,001 0,001 0,681 1,000 0,002 0,000 -0,001 Appr. Entropy 0,198 0,082 0,191 0,231 0,020 0,002 1,000 0,176 0,177 Cusum1 0,767 0,465 0,006 0,244 0,005 0,000 0,176 1,000 0,723 Cusum2 0,768 0,466 0,007 0,247 0,001 -0,001 0,177 0,723 1,000 Serial2 Cusum2 Table 1: Mutual correlation of randomness tests that can be applied to short sequences TESTS Frequency Frequency CUSUM1 CUSUM2 1 0.796 0.769 1 0.796 1 0.752 CUSUM2 0.769 0.752 1 CUSUM TESTS Serial 1 Serial TESTS Random excursion R. exc. variant 2 Random excursion 1 R. exc. variant 0.690 0.690 1 App.entropy Serial 1 1 0.648 0.676 Serial 2 0.648 1 0.001 App.entropy 0.676 0.001 1 Table 2: Correlated randomness tests that can be applied long sequnces transformation, for an -bit sequence, we swap exactly sequence), Flipping In this transformation the bits of the frequency block frequency runs long run binary matrix non-overlapp(8 bit) non-overlapp(9 bit) overlapping universal linear complexity serial1 serial2 app entropy cusum1 cusum2 random excursion r.excursion variant original reversing bin. der. t-rotation t-rotation Mask0 Mask1 Mask2 Mask4 Mask8 swapping flipping 1,000 1,000 0,007 1,000 1,000 1,000 0,002 0,003 -0,005 -0,001 1,000 0,991 1,000 1,000 0,013 0,965 0,758 1,000 -0,007 -0,009 -0,008 -0,006 1,000 0,996 1,000 1,000 0,001 0,996 1,000 0,961 0,961 0,001 0,166 0,427 0,973 0,992 1,000 1,000 0,038 0,299 1,000 0,058 0,032 0,035 0,014 0,183 0,984 0,993 1,000 1,000 0,112 -0,130 -0,035 0,153 0,129 0,036 0,156 0,089 0,998 0,998 1,000 1,000 0,377 1,000 1,000 0,016 -0,084 -0,013 0,367 0,115 1,000 1,000 1,000 0,321 0,071 1,000 1,000 -0,086 0,028 0,119 0,335 -0,022 1,000 1,000 1,000 0,789 -0,015 0,984 0,977 0,059 0,034 -0,074 -0,053 -0,010 1,000 1,000 1,000 -0,004 0,229 0,277 -0,125 1,000 0,125 0,048 0,076 -0,045 1,000 0,749 1,000 -0,060 0,364 0,024 -0,151 0,327 0,103 0,128 0,028 -0,106 0,998 0,999 1,000 1,000 0,459 1,000 1,000 1,000 0,484 0,239 0,114 0,055 0,932 0,965 1,000 1,000 -0,012 1,000 1,000 1,000 0,480 0,236 0,121 0,059 0,927 0,962 1,000 1,000 0,472 1,000 1,000 1,000 0,471 0,232 0,111 0,079 0,983 0,987 1,000 1,000 0,009 0,816 0,817 0,907 -0,002 -0,001 -0,003 -0,002 0,815 0,811 1,000 1,000 0,010 0,813 0,805 0,907 -0,002 -0,001 0,003 -0,002 0,815 0,811 1,000 -0,055 -0,141 0,805 0,610 0,499 0,093 0,084 -0,066 0,002 0,987 0,553 1,000 1,000 -0,025 0,867 0,851 0,528 0,011 -0,072 0,060 -0,012 0,995 0,752 Figure 1: Correlation results of transformed sequences bit of the sequence is flipped. Mutual Correlations of Randomness Tests We give the correlation results of 16 statistical randomness tests, which are included in NIST [1] test suite. First, we divide tests into two parts, tests that can be applied to short sequences and tests that can be applied long sequences.For short sequences the sets “Frequency Test and Cumulative Sum Tests”, Serial1 and Serial2 Tests are found correlated. For long sequences the sets “Serial1 and Approximate Entropy Tests”, “Random excursion and random excursion variant tests” are found correlated. Moreover, the other correlation results for short sequences are valid. Experimental Transformation Results Using tranformation methods, we generate transformed sequences and each sequence is tested. In order to find transformation results, test results of original sequences and transformed sequences are compared and correlation coefficients are generated for each transformation. After getting the correlations, we compared the row values in the figure 1 for each test. The sets “frequency, frequency test within a block, cumulative sum tests” and “runs, serial1 and serial2, approximate entropy test” are found related. Conclusion We suggest a new approach to find correlations of randomness tests and we apply them to 14 tests in the NIST test suite. We measure the direct correlation of each pair of test in the suite. Furthermore, we define simple transformations methods to classify the tests according to their reactions to these transformations. Namely, for each test, we find the correlations of the test result for the original sequences with the test results for the transformed sequence. As a future work, new transformation methods can be defined. The methods described in this paper can be applied to other statistical test suites. Moreover, new methods can be proposed to classify the statistical randomness tests. References: [1] Bassham LE, Rukhin AL, Soto J, Nechvatal JR, Smid ME, Barker EB, Leigh SD, Levenson M, Vangel M, Banks DL, Heckert NA, Dray JF, and Vol ,S Sp 800-22 rev. 1a. A Statistical Test Suite For Random And Pseudorandom Number Generators For Cryptographic Applications, Technical report, NIST, Gaithersburg, MD, United States, 2010.
© Copyright 2024