随机数分析

roo*_*ook 8 matlab cryptography r

给定一系列随机生成的数据,我怎么能弄清楚它实际上是多么随机?R-lang是这个matlab的好工具吗?这些工具可以回答有关随机生成的数据的其他问题吗?还有其他更好的工具吗?

Dir*_*tel 10

DieHarder测试电池由罗伯特·布朗---它重新实现和扩展了马尔萨利亚等老DIEHARD -已经被包裹成将R包RDieHarder您可以下手.

请注意,RDieHarder版本需要他们特别匹配的DieHarder版本 - 我们还没有针对后者的最新开发版本.

编辑此外,对于密码学测试的子集,NIST套件(包含在DieHarder中)应该是合适的,因为它是它的设计目的.


Joh*_*ook 5

首先,您需要确定您正在测试的随机性类型.您是否考虑过在某个范围内的均匀分布?这通常是人们的想法,尽管你可能有一些其他的随机性,如正态分布.

获得候选分发后,您可以测试该分布的适合度.Kolmogorov-Smirnov检验是一项很好的通用检验.我相信它ks.test在R中被称为.但是我也相信它假定了不同的值,所以如果你从这么小的值中取样,那么同一个值出现不止一次就会出现问题.

S. Lott 在评论中提到了Knuth的Seminumerical Algorithms.那本书很好地介绍了卡方检验和Kolmogorov-Smirnov检验的拟合度.

如果你怀疑你有统一的随机值,那么Dirk Eddelbuettel提到的DIEHARD测试就是标准测试.