五项基本检测包括
- 频数检验(F-检验)
- 序偶检验(S-检验)
- 扑克检验(P-检验)
- 游程检验(R-检验)
- 自相关检验(A-检验)
1. 频数检验(F-检验)
目的:F-检验用来保证"0"和"1"的个数大致相同
输入:n比特序列样本Z,显著性水平α
输出:检验通过或检验失败
步骤:(参见文[1]的5.4.4节)
1. 在此序列截断中统计比特“0”和“1”的个数,分别记为和。
2. 计算检验统计量
(该检验统计量服从自由度为1的开方分布)
3. 计算。如果,则认为待检序列通过本检验。
注1:步骤3和也可改为比较验统计量V与其对应的临界值B(显著性水平α与临界值B的部分取值如下表),即,如果,则认为待检序列通过本检验。
表1 F-检验的显著性水平与临界值B的部分取值
显著性水平α | 临界值B |
0.05 | 3.841 |
0.01 | 6.635 |
0.001 | 10.828 |
0.0001 | 15.137 |
2. 序偶检验(S-检验)
目的:F-检验用来保证合理的转移概率:连续码彼此相同或相异的概率大致相
等,即每个比特都独立于它前面的比特。
输入:n比特序列样本Z,显著性水平α
输出:检验通过或检验失败
步骤:(参见文[1]的5.4.4节)
1. 在此序列截断中统计比特串“00”、“01”、“10”、“11”的个数,分别记为n00,n01,n10,n11;统计比特“0”和“1”的个数,分别记为n0,n1。
2. 计算检验统计量
(该检验统计量近似服从自由度为2的开方分布)
3. 计算。如果,则认为待检序列通过本检验。
注1:步骤3和也可改为比较验统计量V与其对应的临界值B(显著性水平α、临界值B的部分取值如下表),即,如果,则认为待检序列通过本检验。
表2 S-检验的显著性水平α与临界值B的部分取值
显著性水平α | 临界值B |
0.05 | 5.991 |
0.01 | 9.210 |
0.001 | 13.816 |
0.0001 | 18.421 |
3. 扑克检验(P-检验)
同GM/T 0005-2012《随机性检测规范》的扑克检测。
算法描述略。
表3 S-检验的显著性水平α与临界值B的部分取值
显著性水平α | 临界值B (m=4) | 临界值B (m=8) |
0.05 | 24.996 | 293.248 |
0.01 | 30.578 | 310.457 |
0.001 | 37.697 | 330.520 |
0.0001 | 44.263 | 347.654 |
4. 游程检验(R-检验)
同GM/T 0005-2012《随机性检测规范》的扑克检测。
算法描述略。
表4 R-检验的显著性水平α与临界值B的部分取值
显著性水平 | 临界值B |
0.05 | 1.96 |
0.01 | 2.58 |
0.001 | 3.29 |
0.0001 | 3.89 |
5. 自相关检验(A-检验)
同GM/T 0005-2012《随机性检测规范》的扑克检测。
算法描述略。自相关的统计量服从正态分布,表略。
参考文献
- A. Menezes, P. van Oorschot, S. Vanstone. Handbook of Applied Cryptography[M]. CRC Press, 1996.
- GM/T 0005-2012 随机性检测规范.