您的位置:首页 > 其它

nist随机数测试算法使用记录

2016-06-03 09:30 316 查看
网上找到开源的的nist算法,make之后发现算法太专业,不知道怎么用,经过一段时间摸索,弄清楚的写下来。

源码目录:nist/sts-2.1.2/

编译make

我的随机数包是128M的二进制文件,执行所有运算大概耗时3个小时。

1.运行./assess  1073741824(128M位长度)

2.0 导入文件

3.输入随机数文件名

4.输入1选择15项全部测试

5.输入0默认参数

6.How many bitstreams? 输入流个数;这个流个数和第一步中的文件位长度存在这样关系:

位长度*bitstreamsnum=文件总位长度。一般随机数文件在32M以内(2G内存支持),bitstreamsnum默认输入1,第一步输入文件总bit长度。如果文件超过32M那么计算过
程中内从不足,因此需要第一步输入文件总长度的1/8、1/16...,然后在此处输入8、16,等价于把源文件划分为等长的几条流,来做随机性检查。

7.输入1选择二进制文件

8.测试结果在:      /experiments/AlgorithmTesting/results.txt 每种算法目录下都有results.txt 文件中描述的是P-value值,在ALPHA = 0.0100条件下(默认值),貌似这个值大于0.01就表示差不多随机,越大越好。

备注:

我测试128M随机数包,数据量太大,因此分成8条流计算,得出结果15条算法中满足12条,剩余3条部分不满足,这3条基本上都是分段检测随机性的,主要有:

NonOverlappingTemplate、OverlappingTemplate、RandomExcursionsVariant.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息