https://csrc.nist.gov/

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的更多相关文章

  1. 基于linux下的NIST数字测试包安装过程

    基于linux下的NIST数字测试包安装过程 1. 首先解决windows文件不能粘贴到Ubuntu的问题 选择利用VMware Tools进行解决 打开虚拟机VMware Workstation,启 ...

  2. 自动化测试 selenium 测试软件安装

      一.自动化测试优点 1.对程序的回归测试更方便.在程修改的比较平凡的时候,表现的更明显. 2.可以代替测试人员运行更繁琐的测试,也可以代替测试人员不可能完成的操作(比如连续点击50次) 3.更好的 ...

  3. TestLink测试软件安装条件检查不通过的解决方案

    在第一次安装的时候出现这个错误信息 解决办法: 修改config.inc.php文件里的两个属性值为: $tlCfg->log_path = TL_ABS_PATH . 'logs' . DIR ...

  4. DeepFaceLab小白入门(2):软件安装!

    严格上来说这个软件本身并不需要安装,他唯一需要的就是对应版本的显卡驱动,CUDA和CuDNN都非必须.下面我说一下如何安装正确的驱动版本.我尽量写得简洁清晰,希望大家都能看懂,但是,如果你连基本的电脑 ...

  5. Linux压力测试软件Stress安装及使用指南2

    stress工具使用指南和结果分析 Linux压力测试软件Stress安装及使用指南     一.Stress是什么 stress是一个linux下的压力测试工具,专门为那些想要测试自己的系统,完全高 ...

  6. 2019-9-16:渗透测试,基础学习,Linux下软件安装,环境搭建,笔记

    Centos linux下软件安装yum 通过分析rpm包头数据后,自动解决依赖关系,直接云端下载软件,根据不同版本系统获取不同软件信息,按顺序下载rpm包,安装软件yum search 软件名:搜索 ...

  7. linux命名详解及其软件安装实例

    始于cd,ls命令 好啦,步入正题,我使用的linux连接工具为xshell,mRemoteNG,对两款工具不做介绍啦,你可以百度一下,实在不会入左上方群. 进入之后,便是上面的界面黑乎乎一片,对于初 ...

  8. 软件安装 RPM SRPM YUM

    RPM介绍 RPM是已经编译好的软件安装库.编译是有相应环境相适应的,包括系统,版本等相关信息都要跟编译版本一致才行,否则肯定会出现安装不成功的情况,强制安装的话,也会出现各种各样的问题. 在这种情况 ...

  9. [转载]SharePoint 2013测试环境安装配置指南

    软件版本 Windows Server 2012 标准版 SQL Server 2012 标准版 SharePoint Server 2013 企业版 Office Web Apps 2013 备注: ...

随机推荐

  1. tail -f 在对文件进行动态追踪时失效的问题

    在我是用 tail -f file.txt 对这个文件进行动态追踪时: 我重新打开一个新的终端进行vim编辑这个文件并且保存 这是我们发现,tail -f file.txt'动态追踪的这个文件没有任何 ...

  2. 【AtCoder Beginner Contest 181】A~F题解

    越学越菜系列 于2020.11.2,我绿了(错乱) A - Heavy Rotation 签到题,奇数Black,偶数White. code: #include<bits/stdc++.h> ...

  3. gRPC Load Balancing

    gRPC Load Balancing 翻译自:https://grpc.io/blog/grpc-load-balancing/ 这是gRPC负载均衡的第一篇,后续会给出基于golang XDS服务 ...

  4. 简单监控liunx中cpu、内存、磁盘及发送邮件参考

    shell脚本 vim jk.sh  #命名脚本名   #!/bin/bash time=`date "+%Y-%m-%d %H:%M:%S"`      #定义时间 echo & ...

  5. 本地代码上传GitHub

    0. 登录 git config --global user.name "GitHub用户名" git config --global user.email "GitHu ...

  6. CF175C Geometry Horse 题解

    "日拱一卒,功不唐捐" 写在前面 本人因为没开long long而被迫参考楼下思路重构代码,最后发现这个问题加了long long才得以AC 进入正题 -->这是题面 这是百 ...

  7. LOJ10098

    USACO 2006 Jan. Gold 为了从F个草场中的一个走到另一个,贝茜和她的同伴们不得不路过一些她们讨厌的可怕的树.奶牛们已经厌倦了被迫走某一条路,所以她们想建一些新路,使每一对草场之间都会 ...

  8. 分布式缓存 — kafka

    Kafka是一个分布式.支持分区的(partition).多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于h ...

  9. Web漏洞扫描-AppScan

    Web漏洞扫描-AppScan 一.AppScan简述 二.功能及特点 一.AppScan简述 IBM Security AppScan是一个适合安全专家的Web应用程序和Web服务渗透测试解决方案. ...

  10. Java——I/O,字节流与字符流,BufferedOutputStream,InputStream等(附相关练习代码)

    I/O: I/O是什么? 在程序中,所有的数据都是以流的形式进行传输或者保存. 程序需要数据的时候,就要使用输入流读取数据. 程序需要保存数据的时候,就要使用输出流来完成. 程序的输入以及输出都是以流 ...