首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NIST SP 800-22中每种测试的输入大小排序

NIST SP 800-22中每种测试的输入大小排序
EN

Cryptography用户
提问于 2022-04-13 10:18:43
回答 1查看 274关注 0票数 2

我正在使用NIST SP 800-22来评估随机数发生器的性能.

NIST SP 800-22共进行了15次测试.在每个测试中,它都有一个关于测试序列大小的建议。例如,在离散傅里叶变换(谱)测试中:“建议测试的每个序列至少包含1000位(即n≥1000)。”因此,这意味着,每个被测试序列的大小必须大于1000。

  • 我选择了n= 1,000,000位和位流数= 100。在进行离散傅里叶变换(谱)测试后,得到了一个失败的结果(比例: 95/100)。
  • 然而,当我选择n= 100,000位和位流的数量= 100。在进行离散傅里叶变换(谱)测试后,得到了一个通过的结果(比例: 96/100)。

那么,我应该选择哪个n的值呢?为了确认随机数发生器通过了离散傅里叶变换(谱)检验,随机数发生器是否总是通过n≥1000的所有值?

EN

回答 1

Cryptography用户

发布于 2022-04-13 12:37:06

1,250位x10个流工作:-

代码语言:javascript
复制
    ------------------------------------------------------------------------------
RESULTS FOR THE UNIFORMITY OF P-VALUES AND THE PROPORTION OF PASSING SEQUENCES
------------------------------------------------------------------------------
   generator is <Blum-Blum-Shub>
------------------------------------------------------------------------------
 C1  C2  C3  C4  C5  C6  C7  C8  C9 C10  P-VALUE  PROPORTION  STATISTICAL TEST
------------------------------------------------------------------------------
  0   0   2   2   2   1   1   2   0   0  0.534146     10/10      FFT


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

因为上面是一个很好的传球。

假设您的RNG是好的,只运行FFT是不确定的。当随机性令人讨厌时,您经常会遇到孤立的测试失败,特别是当样本越来越小的时候。随机性在很大程度上是样本大小的函数。这就是为什么测试“套件”有各种各样非常简单和非常复杂的测试。因此,“随机数生成器是否总是以n≥1000的所有值传递(Sic)”。

我也会对100位流保持警惕。从经验再看,10似乎是一个不错的数量,并允许一个像样的p值被确定。在>> 10比特流之后,你会遇到收益递减的情况。因此,执行10位流(每个1,000,000位(1.25 MB ))来运行所有测试。对于RandomExcursions(变体)测试,您不会得到任何p值,但是您将从通过率中得到成功的指示。

但是在此之前,如果您已经设计了自己的TRNG (可能还有随机抽取器),那么运行恩特。表面上这是最稳健的随机性测试。使用500 kB。如果您的样本不合格ent,那么您的TRNG是坏的。

票数 0
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/99654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档