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 备注: ...
随机推荐
- tail -f 在对文件进行动态追踪时失效的问题
在我是用 tail -f file.txt 对这个文件进行动态追踪时: 我重新打开一个新的终端进行vim编辑这个文件并且保存 这是我们发现,tail -f file.txt'动态追踪的这个文件没有任何 ...
- Cisco IOS
IOS Internetwork Operating System 互联网操作系统(基于UNIX系统) Cisco IOS 软件提供多种网络服务进而支持各种网络应用. Cisco IOS用户界面的基本 ...
- JVM调优 jdk版本 机器配置 建议jvm参数 备注
https://juejin.im/post/5b091ee35188253892389683 大型跨境电商JVM调优经历 前提:某大型跨境电商业务发展非常快,线上机器扩容也很频繁,但是对于线上机器的 ...
- 如何在windows下切换node版本
安装nvm 最近的项目中,一个是用vue项目开发,一个是使用react开发,但是ant design pro使用了umi框架,所需要的node版本>10.0.0,vue那个项目中又不兼容node ...
- Java——Math,Set,List,map相关练习
声明一个Set集合,只能保存Double类型的数据, 保存10个随机100以内的数, 找出最大值和最小值,打印输出. public static void main(String[] args) { ...
- Kubernetes (yaml 文件详解)
# yaml格式的pod定义文件完整内容:apiVersion: v1 #必选,版本号,例如v1kind: Pod #必选,Podmetadata: #必选,元数据 ...
- HttpURLConnection下载文件流
package com.loan.modules; import sun.net.www.protocol.file.Handler; import java.io.*; import java.ne ...
- php之PDOStatement::execute数组参数带有键值会出错
当预处理的SQL语句是用问号占位符时,如果是用数组传参的,数组里不要带有键值,否则无法执行SQL. 出错的代码如下: $test = new PDODB(); $param=["d" ...
- 敏捷史话(五):敏捷已逝 —— Dave Thomas
" 敏捷已逝,但敏捷精神长存.因为所谓的敏捷专家卖给你的是方法论,而不是价值."当多数人都在从"敏捷"身上榨取利益时, Dave Thomas 成为了一位逆行者 ...
- sentinel流控规则校验之源码分析
前言: 上节给大家把sentinel流控整个执行大致过了,但涉及到最核心的流控算法还没有讲,先提前说明一下 sentinel用的流控算法是令牌桶算法,参考了Guava的RateLimiter,有读过R ...