HOME   Cart(0)   Quotation   About-Us Tax PDFs Standard-List Powered by Google www.ChineseStandard.net Database: 189760 (5 Oct 2024)

GB/T 32915-2016 PDF in English


GB/T 32915-2016 (GB/T32915-2016, GBT 32915-2016, GBT32915-2016)
Standard IDContents [version]USDSTEP2[PDF] delivered inName of Chinese StandardStatus
GB/T 32915-2016English150 Add to Cart 0-9 seconds. Auto-delivery. Information security technology -- Randomness test methods for binary sequence Valid
Standards related to (historical): GB/T 32915-2016
PDF Preview

GB/T 32915-2016: PDF in English (GBT 32915-2016)

GB/T 32915-2016 GB NATIONAL STANDARD OF THE PEOPLE’S REPUBLIC OF CHINA ICS 35.040 L 80 Information security technology - Randomness test methods for binary sequence ISSUED ON. AUGUST 29, 2016 IMPLEMENTED ON. MARCH 01, 2017 Issued by. General Administration of Quality Supervision Inspection and Quarantine of PRC; Standardization Administration of PRC. Table of Contents Foreword ... 5  1 Scope ... 6  2 Terms and definitions ... 6  3 Symbol ... 7  4 Randomness test ... 9  4.1 Single bit frequency test method ... 9  4.1.1 Overview ... 9  4.1.2 Test procedures ... 9  4.1.3 Result determination ... 10  4.2 Block internal frequency test method ... 10  4.2.1 Overview ... 10  4.2.2 Test procedures ... 10  4.2.3 Result determination ... 10  4.3 Poker test method ... 11  4.3.1 Overview ... 11  4.3.2 Test procedures ... 11  4.3.3 Result determination ... 11  4.4 Overlapping subsequence test method ... 11  4.4.1 Overview ... 11  4.4.2 Test procedures ... 12  4.4.3 Result determination ... 12  4.5 Total run number test method ... 13  4.5.1 Overview ... 13  4.5.2 Test procedures ... 13  4.5.3 Result determination ... 13  4.6 Run distribution test method ... 13  4.6.1 Overview ... 13  4.6.2 Test procedures ... 14  4.6.3 Result determination ... 14  4.7 Maximum “1” run test method in block ... 14  4.7.1 Overview ... 14  4.7.2 Test procedures ... 14  4.7.3 Result determination ... 15  4.8 Binary derivation test method ... 15  4.8.1 Overview ... 15  4.8.2 Test procedures ... 15  4.8.3 Result determination ... 16  4.9 Autocorrelation test method... 16  4.9.1 Overview ... 16  4.9.2 Test procedures ... 16  4.9.3 Result determination ... 17  4.10 Matrix rank test method ... 17  4.10.1 Overview ... 17  4.10.2 Test procedures ... 17  4.10.3 Result determination ... 18  4.11 Cumulative sum test methods ... 18  4.11.1 Overview ... 18  4.11.2 Test procedures ... 18  4.11.3 Result determination ... 18  4.12 Approximate entropy test method ... 19  4.12.1 Overview ... 19  4.12.2 Test procedures ... 19  4.12.3 Result determination ... 20  4.13 Linear complexity test method ... 20  4.13.1 Overview ... 20  4.13.2 Test procedures ... 20  4.13.3 Result determination ... 21  4.14 Maurer universal statistical test method ... 21  4.14.1 Overview ... 21  4.14.2 Test procedures ... 21  4.14.3 Result determination ... 22  4.15 Discrete Fourier test method ... 22  4.15.1 Overview ... 22  4.15.2 Test procedures ... 22  4.15.3 Result determination ... 23  5 Random number generator test ... 23  5.1 Overview of random number generator test ... 23  5.2 Collection ... 23  5.3 Testing ... 23  5.4 Judgment ... 24  Appendix A (Informative) Random test principle ... 25  Appendix B (Informative) Randomness test parameter setting table ... 35  Information security technology - Randomness test methods for binary sequence 1 Scope This standard specifies the randomness test indicators and test methods in commercial password applications. This standard applies to the randomness test of binary sequences generated by random number generators. 2 Terms and definitions The following terms and definitions apply to this document. 2.1 Binary sequence A bit string consisting of “0” and “1”. 2.2 Random number generator A device or program that produces a random binary sequence. 2.3 Randomness hypothesis When performing randomness test on a binary sequence, first assume that the sequence is random. This assumption is called the original hypothesis or null hypothesis and is recorded as H0. The hypothesis opposite to the null hypothesis, that this sequence is not random, is called the alternative hypothesis, which is denoted as Hα. 2.4 Randomness test A function or process used for binary sequence test to determine whether to accept the randomness null hypothesis. 2.5 Significance level The probability of erroneously determining a random sequence as a non- random sequence in randomness test, which is represented by α. 2.6 Sample A binary sequence for randomness test, which is called a sample. 2.7 Sample length The number of bits in a sample. 2.8 Sample size The number of samples that are randomly tested. 2.9 Test parameter Parameters that are required to be set for randomness test. 2.10 Run A self-sequence consisting of consecutive “0” or “1” in a sequence, and the preamble and successor elements of the subsequence are different from their own elements. 3 Symbol The following symbols apply to this document. α. Significance level H0. Original hypothesis (null hypothesis) Hα. Alternative hypothesis ε. Sequence to be tested n. Bit length of the sequence to be tested εi. A bit in the sequence to be tested, εi = (0, 1) ε'. A new sequence generated in accordance with certain rules on the basis of Xi. 2εi - 1 m. Bit length of the subsequence Σ. AND symbols *. Multiplication, sometimes omitted ln(x). Natural logarithm of x Log2(x). Logarithm of x with base 2 . The largest integer not greater than x max. Taking the maximum value from several elements Φ(x). Standard normal distribution function V. Statistic value P_value. Complementary error function erfc. A measure of the quality of the sample randomness. igamc. Incomplete gamma function π. The ratio of 1 in the sequence to be tested Vn(obs). Total number of runs in the sequence to be tested ApEn(m). Approximate entropy of sequence to be tested K. Number of L-bit subsequences in the sequence to be tested in universal statistical test L. Length of subsequence in general statistics Li. Linear complexity of subsequences in linear complexity test M. Number of matrixes in matrix rank test 1.5 < Ti ≤ 2.5, v5 plus 1; Ti > 2.5, v6 plus 1. Step 6. Calculate the statistical value . Where πi values are. π0 = 0.010417, π1 = 0.03125, π2 = 0.12500, π3 = 0.5000, π4 = 0.25000, π5 = 0.06250, π6 = 0.020833. Step 7. Calculate 4.13.3 Result determination The P_value result calculated in 4.13.2 is compared to the significance level α. If P_value ≥ α, the sequence to be tested is deemed to pass the linear complexity test. 4.14 Maurer universal statistical test method 4.14.1 Overview The Maurer universal statistical test is used to test whether the sequence to be tested can be losslessly compressed. Since a random sequence cannot be significantly compressed, if the sequence to be tested can be significantly compressed, the sequence is deemed not to be random. 4.14.2 Test procedures The Maurer universal statistical test procedures are as follows. Step 1. Divide the sequence ε to be tested into two parts. the initial sequence and the test sequence. The initial sequence consists of Q L-bit non-overlapping subsequences. The test sequence consists of K L-bit non-overlapping subsequences, discard the extra bits (not enough to form a complete L-bit subsequence), . Step 2. For the initial sequence, create a table with the L-bit value as the index value in the table, Tj (1 ≤ j ≤ 2L) represents the value of the jth element in the table, calculate Tj = i(1 ≤ i ≤ Q), where j is the decimal representation of the ith L-bit subsequence in the initial sequence. Appendix A (Informative) Random test principle A.1 Single bit frequency test Single-bit frequency test is the most basic test used to test whether the number of 0 and 1 in a binary sequence are similar. That is, if a binary sequence of length n is known, it tests whether the sequence has a good 0, 1 balance. Let n0, n1 denote the number of 0 and 1 in the sequence, respectively. For a random sequence, when its length is sufficiently large, its statistical value V shall obey the standard normal distribution. A.2 Intra-block frequency test The intra-block frequency test is used to test whether the number of 1 in the m- bit subsequence of the sequence to be tested is close to m/2. For a random sequence, the number of 1 in an m-bit subsequence of any length shall be close to m/2. The intra-block frequency test divides the sequence to be tested into N subsequences, each of which has a length of m and n = N × m. Of course, if n cannot be divisible by m, there will be extra bits, and the extra bits will be discarded at this time. Calculate the ratio of 1 in each subsequence, set it to , 1 ≤ i ≤ N . The cumulative sum of the ratios of 1 of all N subsequences is taken as a statistical value. This statistic shall obey the χ2 distribution with a degree of freedom of N. A.3 Poker test For any positive integer m, the binary sequence of length m has 2m types. The sequence to be tested is divided into non-superimposed the sequence to be tested obeys the randomness requirement. Let Vn(obs) denote the total number of runs of the sequence to be tested, π denotes the proportion of 1 in the sequence, and Φ(z) is the standard normal distribution, then. obeys the standard normal distribution. A.6 Run distribution test A run of consecutive 1 (or 0) is called a block (or a discontinuity). If the binary sequence to be tested is random, the number of runs of the same length is nearly identical. The expected value of the number of runs of length i in a random binary sequence of length n is . Let k be the largest integer that satisfies ei ≥ 5. Let bi, gi denote the number of “1” runs and “0” runs of length i in a binary sequence, respectively, for each i, 1 ≤ i ≤ k. The statistical value V approximately obeys the χ2 distribution with a degree of freedom of 2k - 2. A.7 Maximum “1” run test in the block The sequence to be tested is divided into N equal-length subsequences, and the randomness of the sequence to be tested is evaluated in accordance with the distribution of the largest 1 run in each subsequence. The sequence to be tested is divided into N subsequences of length m, where n = N × m. In accordance with the size of m, corresponding to (K + 1) sets (related to the size of m), then calculate the length of the largest “1” run of each subsequence and classify it into the corresponding set. Let the number of elements in the (K + 1) sets be v0, v1, v2, ..., vk (v0 + v1 + v2 +...+ vk = N), and the statistical value V shall obey the χ2 distribution with a degree of freedom K. The values of K and πi are related to m. Table A.1, Table A.2 and Table A.3 respectively show the corresponding K value, vi definition and πi value when m takes 8, 128 and 10000 respectively. πl represents the relative frequency of the mode l = (i1, i2, ..., im) appearing in the sequence to be tested; -φ(m) represents the entropy of the relative frequency distribution of all 2m m-bit subsequence modes. The approximate entropy ApEn(m) is defined as. ApEn(m) = φ(m) - φ(m +1), where ApEn(0) = -φ(1). The approximate entropy gives the difference between the frequency between the m-bit overlappable subsequence mode and the (m + 1)-bit overlappable subsequence mode when the subsequence length m is increased by one. Therefore, a small ApEn(m) value indicates that the sequence to be tested is regular and continuous; and a large ApEn(m) value indicates that the sequence to be tested is irregular and discontinuous. For any m, the approximate entropy of the random sequence (irregular sequence) ApEn(m) shall be approximately equal to ln2. Therefore, the statistical value V = 2n[ln2 - ApEn(m)] shall obey the χ2 distribution with a degree of freedom of 2m. A.13 Linear complexity test The sequence to be tested is divided into N subsequences of length M, where n = N × M, then the linear complexity Li of each subsequence is calculated by the Berlekamp-Massey algorithm, and Ti = (-1)M (Li - μ) + 2/9, where μ = M/2 + [9 + (-1) M+1]/36 - 1/2M (M/3 + 2/9). Select (K + 1) disjoint independent sets, then classify the TM of each subsequence in accordance with the set, count the number of TM appearing in each set, which are respectively recorded as v0, v1, ..., vK, obviously v0 + v1 + ... + vK =N. Statistical value shall obey the χ2 distribution with a degree of freedom of K. This standard selects K = 6, set 7 positive integers v0, v1, ..., v6, set the initial values of these 7 positive integers to 0, for all i ∈ [1, N]. If. Ti ≤ -2.5, v0 plus 1; -2.5 < Ti ≤ -1.5, v1 plus 1; -1.5 < Ti ≤ -0.5, v2 plus 1; -0.5 < Ti ≤ 0.5, v3 plus 1; 0.5 < Ti ≤ 1.5, v4 plus 1; 1.5 < Ti ≤ 2.5, v5 plus 1; T > 2.5, v6 plus 1. Wherein, the corresponding πi values are. π0 = 0.010417, π1 = 0.03125, π2 = 0.12500, π3 = 0.5000, π4 = 0.25000, π5 = 0.06250, π6 = 0.020833. A.14 Maurer universal statistical test Maurer general statistics (referred to as general statistics) test mainly tests whether the sequence to be tested can be losslessly compressed. If the sequence to be tested can be significantly compressed, the sequence is considered to be non-random because the random sequence cannot be significantly compressed. Universal statistical testing can be used to test various aspects of the sequence to be tested, but this does not mean that the universal statistical test is the assembly of the previous tests, but the universal statistical test completely adopts a different method from other tests. A sequence can be tested by universal statistical test if and only if the sequence is incompressible. The purpose of universal statistical testing is to test any statistical defects in the sequence to be tested. The universal statistical test requires a large amount of data, which divides the sequence into subsequences of length L, then divides the sequence to be tested into two parts. initial sequence and test sequence. The initial sequence includes Q subsequences, Q shall be greater than or equal to 10 × 2L; the test sequence includes K subsequences, K shall be greater than or equal to 1000 × 2L. Therefore, the sequence length n shall be 10 x 2L + 1000 x 2L, and L shall be in the range of 1 ≤ L ≤ 16, it is recommended that L take a value not less than 6. Obviously, when L = 6, there is n = 387840. When the sequence length n is constant, it should select , Q shall ensure that all 2L modes of the L-bit subsequence appear at least once in the initial sequence. First, traverse the initial sequence (in the unit of blocks) from the beginning, find the position (block number) where each L-bit mode last appears in the initial sequence. If an L-bit mode does not appear in the initial sequence, set its position to 0; thereafter, traversing the test sequence from the beginning, each time will get an L-bit subsequence, calculate the position of the subsequence and the position difference of the last occurrence of the subsequence, that is, the block number is subtracted, and the result of the subtraction is the distance. Then calculate the base 2 logarithm of the distance; finally, add all the results of the logarithm. In this way, it can get the statistical value. ......
 
Source: Above contents are excerpted from the PDF -- translated/reviewed by: www.chinesestandard.net / Wayne Zheng et al.