在windows环境下,需要安装软件Cygwin
Cygwin官网下载地址:http://www.cygwin.com/
安装使用该软件参考:http://www.programarts.com/cfree_ch/doc/help/UsingCF/CompilerSupport/Cygwin/Cygwin1.htm
1 安装之后,打开Cygwin输入命令进入sts-2.1.2目录
2 将待测试的序列文件(比如a.txt)移到该目录下,NIST标准要求文数据长度至少1 000 000位(1M),如果少于该长度则有些指标测不出来。(本文采用的是长度4M的文件b.txt,测试时间花了好几分钟)
3 输入命令 ./assess 1000000
这里表示将数据段的长度设置为1 000 000位。注意,NIST检验是按数据段来检验的,无论你原始的数据文件多大,都是分成小段,这里一段是一百万个比特位也就是1M。这里每段多长是可变的,但是数据段的长度应该至少大于或者等于1 000 000,因为有些检验要求输入的数据流至少要大于等于1M,不然后面运行会出警告。
4 再输入 0 表示即将输入待测试文件所在的路径
5 由于文件在同一目录中,直接输入 b.txt
6 再输入 1 表示测试全部15项指标
7 这几步都是固定的,直接输入 0
8 待测试文件b.txt数据4 000 000位,第3步选的1 000 000,所以这里输入 4 000 000/1 000 000=4
How many bitstreams? 4
8 最后一步确定文件格式,本文采取的是二进制格式,所以输入 0
如果运行时报错:igamc:UNDERFLOW
那就表示文件格式选错了,这时试试另一种模式
测试正常运行和结束图如下
测试结果最后保存至目录\sts-2_1_2\sts-2.1.2\sts-2.1.2\experiments\AlgorithmTesting
16种NIST随机性测试方法描述参考
https://blog.csdn.net/lafu5137/article/details/79593845