Mutual Correlation of NIST Statistical Randomness Tests and

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.