【问题标题】:How to test randomness of RNG using RNG test suite?如何使用 RNG 测试套件测试 RNG 的随机性?
【发布时间】:2013-02-27 12:58:25
【问题描述】:

我开发了一个 RNG 算法并生成随机数,现在我想测试我生成的输出的随机性。我从 nist(sts) 下载了一个测试套件。可以选择提供输入二进制文件来测试随机性。但我不知道如何生成这些二进制文件。我的 RNG 输出 64 位长度。我如何堆叠此输出以生成二进制文件。测试套件中只有序列长度输入。如何在测试套件中将 RNG 输出指定为 64 位?

【问题讨论】:

  • 输出元素的大小应该无关紧要。如果您的随机数很好,那么您如何对这些位进行分组并不重要。只需以二进制形式写入数字(每个元素 8 个字节)。你用的是什么编程语言?
  • C 编程,在 GCC 中。

标签: algorithm random statistics


【解决方案1】:

输出元素的大小应该无关紧要。如果您的随机数很好,那么您如何对这些位进行分组并不重要。只需以二进制形式写入数字(每个元素 64 位 == 8 个字节)。测试服将尝试这些位的不同分组。

【讨论】:

  • 谢谢@comocomocomocomo,我会试试的。
  • 我试过你上面提到的。但它要求比特流的序列长度。我的程序生成了 100 个 64 位数。我将此数字写入二进制文件。这个配置的序列长度是多少?
  • 简单:6400 位。 800 字节。
  • 你好@comocomocomocomo,我给定了 6400 作为序列长度并选择了二进制文件,为给定的二进制文件选择了所有测试,然后测试套件询问“有多少比特流?”我给了 64 并运行了测试。它显示“igamc:UNDERFLOW”错误。我该如何克服这个错误
  • 我不知道“比特流”是什么意思,但我会尝试回答 1 个比特流。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多