Presentation on theme: "1 A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Application This contribution discusses some aspects of testing."— Presentation transcript:
1 A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Application This contribution discusses some aspects of testing random and pseudorandom number generators. A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications (NIST Special Publication) is presented. The software implementation of the test suite with output protocols and presents experiences from testing some random and pseudorandom generators. Jiří Sobotík and Václav Plátěnka Jiri.Sobotik@vabo.cz Department of Special Communication Systems Military Academy in Brno Brno, Czech Republic and The Military Technical Institute of Electronic Prague, Czech Republic
2 The test suite should be applied in the first steps of an evaluation process of generator. If the generator or other primitives do not pass the test suite then they are not suitable for cryptographic application. Tests Suite cannot substitute a detailed cryptanalysis. Applicability Cryptographic applications lay great emphasis on the statistical properties of random and pseudorandom number generators. The sequences generated by these generators must be indistinguishable from the sequences generated by “true random generators”. Any non-randomness in the generated sequences rapidly degrades the security of cryptographic systems as a whole.
3 The NIST Test Suite consists of 16 statistical tests that were developed to test the randomness of binary sequences. 1.The Frequency (Monobit) Test 2.Frequency Test within a Block 3.The Runs Tests 4.Test for the Longest-Run-of-Ones in a Block 5.The Binary Matrix Rank Test 6.The Discrete Fourier Transform (Spectral) Test 7.The Non-overlapping Template Matching Test 8.The Overlapping Template Matching Test 9.Maurer’s “Universal Statistical” Test 10.The Lempel-Ziv Compression Test 11.The linear Complexity Test 12.The Serial Test 13.The approximate Entropy Test 14.The Cumulative Sums (Cusums) Test 15.The Random Excursion Test 16.The Random Excursion Variant Test
4 The General Structure of the Statistical Test Each test is based on a calculated test statistic value, which is a function of the testing sequence. The test statistic value is use to calculate a Pvalue P value is the probability that the perfect random number generator would have produced a sequence less random than the sequence that was tested. Statistic: If P value then accept otherwise reject. Decision rule: Example (Frequency test): P value : Complemntary error function Summationa statistic Significant level [0.001 – 0.01] The hypothesis about randomness of tested sequences is accepted on significant level . The hypothesis about randomness of tested sequences is rejected on significant level .
5 Software Implementation of Test Suite In publication, each test from the test suite is described in detail and an elementary example is done. The verification examples of tests of known sequences (binary expansion of e number, number, ) are included so that it is not difficult to program the all tests in mathematically-oriented programming languages; e.g. MATLAB, MATHCAD or MATEMATICA.