统计随机性测试的独立性与敏感性解析
1. 随机性测试概述
在分析随机数生成器的强度时,统计测试起着至关重要的作用。为了设计一个有效的测试套件,需要从众多随机性测试中进行谨慎选择。因为许多生成器可能在某些测试中表现出随机性,但在其他测试中却并非如此,所以测试套件中的测试种类和覆盖范围要足够高。同时,包含相关的测试可能会对生成器得出错误的结论。
两个测试 (T_1) 和 (T_2) 若满足其测试统计量 (t_1) 和 (t_2)(以及相应的 (p) 值)的分布相互独立,即 (Pr(t_1|t_2) = Pr(t_1)) 且反之亦然,则认为这两个测试是独立的。
2. 常用的一级测试
考虑了十种适用于短序列测试的一级测试,给定长度为 (n) 的序列 ((s_1, s_2, …, s_n)),各测试的统计量定义如下:
- 频率测试 :测试统计量是序列的权重,即 (t = s_1 + … + s_n),取值范围在 (0) 到 (n) 之间。
- 重叠模板测试 :测试统计量是 (m) 位模式 (a) 在整个序列中出现的次数,即 (t = |{i|(s_i, …, s_{i+m - 1}) = a, 1 ≤ i ≤ n - m + 1}|)。在实验中,(a) 选择为 (111)。
- 最长连续 1 测试 :测试统计量是序列中最长连续 1 的长度,即 (t = max{m|s_i = s_{i + 1} … = s_{i + m} = 1, 1 ≤ i ≤ n}),取值范围在 (0) 到 (n) 之间。
-
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



