NIST随机数测试软件安装与使用 && igamc:UNDERFLOW
https://csrc.nist.gov/projects/random-bit-generation/documentation-and-software
https://wenku.baidu.com/view/dc0ada02eff9aef8941e0644.html
https://blog.csdn.net/zkkzpp258/article/details/82685404
https://blog.csdn.net/zhaomengszu/article/details/79384050
https://blog.csdn.net/lafu5137/article/details/79593845 随机数测试的参数范围
另外 官方有使用文档
igamc:UNDERFLOW的原因:
1. size* bitstrems > sizeof(file) 例如: 就是./assess 10000, 然后bitstreams 100 100*10000 > 你的文件大小 (bytes)(采用ascii 的0,1串,那单位就是byte)
2. 数据过于 不随机 。一开始用一个seed,利用7位LFSR,生成127个0,1,然后换另一个seed,就一直 underflow。然后换成一个seed生成10个数,就可以成功测试。(虽然结果还是错的)
Linux安装

下载,解压

在ubuntu安装
复制到home

make

得assess文件

测试文件拷贝

测试
(我的randsme.txt含10000000个ascii 0,1)
这里 ./assess 1000000 。1000000*10=10000000
然后 0,选择输入文件方式

输入1,做是上面的全部测试

这里how many bitstreams和文件大小和一开始输入的 ./assess XXX有关
XXX * bitstreams num = 文件大小。因为我的测试文件是10000000个0,1 =1000000 * 10,所以输入10

然后因为是ascii形式的0,1(用 ofstream,写入了string "0" "1"),所以选择ascii。
分析完成。

测试结果 在

结果分析:
Freq.txt文件记录着0和1出现的频数。
有十组,就是我们上面输入的10组bitstream

先看测试种类。一共15种。
对应分析结果有15个文件夹


以其中Appro ..为例
打开有两个文件 result和stats。
分析stats
上面表明了测试种类为APPROXIMATE
然后分成了10组(对应上面的十组bitstream)
每组 一个p-VALUE.pvalue一般是>0.01 (1%)就是通过 (前面的sussess) (一般是这样,见下面的分析)

汇总到 finalanalysisreport

1.C1,C2...
这里,因为pvalue的范围是0-1,将0-1分为10个区间,每个区间0.1,C1,C2...就是统计落到各自区间的pvalue的数量。(比如我这里是10个bitstream,那么他们各自,对应一个测试,有一个Pvalue,所以每个测试的C1,C2+..C10 加起来应该等于10)。
[0.0-0.1 ) 左闭右开,应该是
[0.1,0.2)
...
最终的PVALUE 由卡方分布统计(在别人的blog上看到的,没有验证)
2.文档下方有解释

这里就是说对于这些统计性的测试 8/10组,4/5组就算通过。
比如下面这样意思应该就是5组中通过了5组或4组,10组中通过了10组。

3.失败的形式
对于某个测试失败后在这个txt内会有 '*' 号标识
比如这是我之前做的另外一个测试,可见有一个错误
100组中只有94组通过,没有达到96组
注意文档里数据对应的是下方的文字



然后这个universal的错误表面上看是100/100,100组全部合格,其实打开对应文件夹下面的stats发现全是error。那么应该这100组都是默认的0.5.都在C6下面
所以表面上100/100通过了,其实没通过,故后面有 '*' 号


NIST随机数测试软件安装与使用 && igamc:UNDERFLOW的更多相关文章
- 基于linux下的NIST数字测试包安装过程
基于linux下的NIST数字测试包安装过程 1. 首先解决windows文件不能粘贴到Ubuntu的问题 选择利用VMware Tools进行解决 打开虚拟机VMware Workstation,启 ...
- 自动化测试 selenium 测试软件安装
一.自动化测试优点 1.对程序的回归测试更方便.在程修改的比较平凡的时候,表现的更明显. 2.可以代替测试人员运行更繁琐的测试,也可以代替测试人员不可能完成的操作(比如连续点击50次) 3.更好的 ...
- TestLink测试软件安装条件检查不通过的解决方案
在第一次安装的时候出现这个错误信息 解决办法: 修改config.inc.php文件里的两个属性值为: $tlCfg->log_path = TL_ABS_PATH . 'logs' . DIR ...
- DeepFaceLab小白入门(2):软件安装!
严格上来说这个软件本身并不需要安装,他唯一需要的就是对应版本的显卡驱动,CUDA和CuDNN都非必须.下面我说一下如何安装正确的驱动版本.我尽量写得简洁清晰,希望大家都能看懂,但是,如果你连基本的电脑 ...
- Linux压力测试软件Stress安装及使用指南2
stress工具使用指南和结果分析 Linux压力测试软件Stress安装及使用指南 一.Stress是什么 stress是一个linux下的压力测试工具,专门为那些想要测试自己的系统,完全高 ...
- 2019-9-16:渗透测试,基础学习,Linux下软件安装,环境搭建,笔记
Centos linux下软件安装yum 通过分析rpm包头数据后,自动解决依赖关系,直接云端下载软件,根据不同版本系统获取不同软件信息,按顺序下载rpm包,安装软件yum search 软件名:搜索 ...
- linux命名详解及其软件安装实例
始于cd,ls命令 好啦,步入正题,我使用的linux连接工具为xshell,mRemoteNG,对两款工具不做介绍啦,你可以百度一下,实在不会入左上方群. 进入之后,便是上面的界面黑乎乎一片,对于初 ...
- 软件安装 RPM SRPM YUM
RPM介绍 RPM是已经编译好的软件安装库.编译是有相应环境相适应的,包括系统,版本等相关信息都要跟编译版本一致才行,否则肯定会出现安装不成功的情况,强制安装的话,也会出现各种各样的问题. 在这种情况 ...
- [转载]SharePoint 2013测试环境安装配置指南
软件版本 Windows Server 2012 标准版 SQL Server 2012 标准版 SharePoint Server 2013 企业版 Office Web Apps 2013 备注: ...
随机推荐
- Table controls and tabstrip controls
本文转载自http://www.cnblogs.com/clsoho/archive/2010/01/21/1653268.html ONTROLS Syntax Forms Declaration ...
- php 换行符
PHP 中换行可以用 PHP_EOL 来替代,以提高代码的源代码级可移植性: unix系列用 \n windows系列用 \r\n mac用 \r 总结:在一些大文本域中换行的文本可以用这个来进行切割 ...
- STL_string容器
一.string概念 string是STL的字符串类型,通常用来表示字符串.而在使用string之前,字符串通常是用char*表示的.string与char*都可以用来表示字符串,那么二者有什么区别. ...
- Spring Boot(IDEA,Gradle)超详细用户管理项目(一)——Hello World
1.构建工具的配置(Gradle):自定义-所有设置:构建.执行.部署-构建工具-Gradle: 设置Gradle用户主目录:(该目录相当于仓库,gradle将下载所需依赖到此目录下),此目录下可新建 ...
- Python格式化处理json数据的方式
1.问题 在遇到json数据的过程中,我们经常需要获取json数据中某个值的操作,如果是用get方法去取比较繁琐,接下来介绍两种方式来取值. 2.jsonpath来格式化处理json数据 2.1介绍 ...
- spark开窗函数
源文件内容示例: http://bigdata.beiwang.cn/laoli http://bigdata.beiwang.cn/laoli http://bigdata.beiwang.cn/h ...
- 为什么MySQL索引使用B+树
为什么MySQL索引使用B+树 聚簇索引与非聚簇索引 不同的存储引擎,数据文件和索引文件位置是不同的,但是都是在磁盘上而不是内存上,根据索引文件.数据文件是否放在一起而有了分类: 聚簇索引:数据文件和 ...
- Connection Pool
MySQL :: MySQL Connector/NET Developer Guide :: 4.3 Managing a Connection Pool in Connector/NET http ...
- 邮件解析 CNAME记录 A记录 NS记录 MX记录
域名配置 示例发信配置请至域名 service.i-test.cn DNS服务提供商处添加TXT记录,并保持SPF记录正确,否则会无法发信.*1.所有权验证类型 主机记录 主域名 记录值 状态TXT ...
- springboot开启多线程配置
一.配置线程池参数 @EnableAsync @Configuration public class TaskExecutorConfig { @Bean public TaskExecutor ta ...