首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带偏置PRNG的NIST测试集

带偏置PRNG的NIST测试集
EN

Cryptography用户
提问于 2020-11-04 17:14:26
回答 1查看 135关注 0票数 0

是否有一种直接的方法来使用NIST统计测试套件来测试有偏差的生成器(例如,0.6概率为1)?直截了当地说,我指的是不需要修改非平凡代码的代码。

EN

回答 1

Cryptography用户

回答已采纳

发布于 2020-11-05 01:45:03

  1. 请注意,官方的测试套件很长时间没有维护,并且被认为是错误的,与它的文档不完全一致等等。有一些重新实现(我可以推荐大卫约翰斯顿在Python中的重新实现,但也许其他的更好),这可能是应该走的路。
  2. AFAIK测试主要是为了验证在给定的方式中使用的输入数字在给定的范围内给出的结果,对于真正的随机数来说,大部分结果都是预期的。您可以使用完全相同的测试,只需输入另一个预期的结果范围,对于有偏见的生成器来说,预期范围是不同的。从程序员的角度来看,这是简单的修改,但实际上是计算(或者仅仅是通过模拟测量?)什么是新的适当范围可能是一个相当大的(数学?)工作。
  3. 当然,关键的问题是为什么要实际使用测试套件,以及为什么您认为NIST选择的测试应该用于评估生成器。今天的共识是,当涉及到密码RNG时,“通用”测试套件的用途有限,因为它们中的任何一个都可以检查有限数量的可能的非随机模式。电池中包含的测试只是试图涵盖大多数常见的非随机性,所以你可以毫不费力地证明许多设计糟糕的发电机确实很糟糕。一旦你尝试了更多的东西,比如证明一些生成器实际上是好的,或者试图更好地理解一些生成器,情况就不一样了。你应该已经知道一些关于你的生成器的非普适性的东西(比如它是有偏见的,至少有一些假设它是有偏见的),你应该根据你的知识来设计你自己的测试,并且检查NIST套件仅仅是为了获得灵感。
票数 0
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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