首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sts NIST测试的解释

sts NIST测试的解释
EN

Stack Overflow用户
提问于 2015-07-16 18:24:15
回答 2查看 324关注 0票数 2

我生成了一个随机的比特序列(121000比特),并使用NIST测试对该序列进行了分析,但我无法理解结果:在某些情况下,我有一个很好的比例,但P值=0.000000,就像Rank测试一样,比例是54/55,而P值=0.000000。对于所有的NonOverlappingTemplate和LinearComplexity测试也是如此。

你有什么意见建议??谢谢

EN

回答 2

Stack Overflow用户

发布于 2016-07-19 18:37:57

对于未来的读者:

documentation的4.2.2节中对其进行了描述。比例54/55意味着55个序列中有54个序列的p值在预期区间内,因此所有54个序列都单独通过。但最终得到的P值是“p值的p值”,如果它是零,那么当将它们放在一起评估时,这些p值就有些奇怪。也许它们都在预期的区间内,但它们都在顶部端点附近。或者中间一个都没有。或者一些更微妙的东西,但从统计学的角度来看仍然值得怀疑。

我的建议是: 1)尝试使用更多的序列。55个序列被声明为有意义的结果的最小值,所以即使有一个好的生成器,偶尔出现坏结果的概率也可能仍然是不可忽略的。还要注意不要无意中向生成器提供重复的序列。

2)使用更长的序列。虽然121000对于等级测试来说已经足够了,但是对于LinearComplexity测试,建议至少使用10^6。这意味着(除了其他事情外)代码可能不会针对如此短的序列进行测试,并且可能会给出数字上微妙的倾斜结果-然后在计算最终p值时检测到这些结果。

或者是发电机坏了。但还没有坏到仅仅通过一个简单的单独测试就可以揭示出来的程度,这些测试将指出简单、明显的原因(如果您的计划是修复它,这将是个坏消息)。

票数 0
EN

Stack Overflow用户

发布于 2019-11-28 20:02:26

补充@JJZ的答案:

阅读documentation的第2部分,特别是每个测试的“输入大小建议”。您将看到,在大多数情况下,您需要长度至少为100万位的序列。还要确保在运行某些测试之前调整了它们的参数(当您运行NIST的包时,您可以这样做)。

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

https://stackoverflow.com/questions/31451595

复制
相关文章

相似问题

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