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.
源码目录: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.
相关文章推荐
- Android之使用Http协议实现文件上传功能
- 介绍一款信息管理系统的开源框架---jeecg
- 源码被倒卖,大厂薅羊毛,开源真的只能被予取予求?
- 专家解读:开源软件项目是否会被限制出口?
- 专家解读:开源软件项目是否会被限制出口?
- mysql集群之MMM简单搭建
- fuse-dfs的设定手册
- Centos下***(pptpd)的部署
- 书评:《算法之美( Algorithms to Live By )》
- 通晓网络测试常用命令
- 动易2006序列号破解算法公布
- Ruby实现的矩阵连乘算法
- C#插入法排序算法实例分析
- 超大数据量存储常用数据库分表分库算法总结
- C#数据结构与算法揭秘二
- C#冒泡法排序算法实例分析
- 算法练习之从String.indexOf的模拟实现开始
- C#算法之关于大牛生小牛的问题
- C#实现的算24点游戏算法实例分析