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. [Usaco2008 Mar]Cow Travelling游荡的奶牛

    题目描述 奶牛们在被划分成N行M列(2 <= N <= 100; 2 <= M <= 100)的草地上游走,试图找到整块草地中最美味的牧草.Farmer John在某个时刻看见 ...

  2. 如何创建一个验证请求的API框架

    ​开发一款成功软件的关键是良好的架构设计.优秀的设计不仅允许开发人员轻松地编写新功能,而且还能丝滑的适应各种变化. 好的设计应该关注应用程序的核心,即领域. 不幸的是,这很容易将领域与不属于这一层的职 ...

  3. bootstrap 轮播图带缩列图两端对齐,并自动换行然后左对齐!

    禁止自动轮播 data-interval="false" 完整代码如下: 1 <!DOCTYPE html> 2 <html> 3 4 <head&g ...

  4. SpringBoot深入理解

    SpringBoot深入理解 项目打包SpringBoot启动过程 当使用打包时,会下载org-springframework-boot-loader的jar,并且不会放在lib存放的第三方jar包文 ...

  5. Simple decorator that intercepts connection errors and ignores these if settings specify this.

    django-redis/cache.py at master · jazzband/django-redis https://github.com/jazzband/django-redis/blo ...

  6. # Functions are First-Class Citizens in Python 一等公民

    # Functions are First-Class Citizens in Python 一等公民https://cn.bing.com/search?form=MOZSBR&pc=MOZ ...

  7. Java 学习之路 -- day00

    Java 学习之路 -- day00 Typora 快捷键操作 标题:#+空格 2. *斜体* 3. **加粗** 4. **斜体加粗*** 5. ~~删除线~~ 6. > 引用 7. ···分 ...

  8. 高性能缓存 Caffeine 原理及实战

    一.简介 Caffeine 是基于Java 8 开发的.提供了近乎最佳命中率的高性能本地缓存组件,Spring5 开始不再支持 Guava Cache,改为使用 Caffeine. 下面是 Caffe ...

  9. 使用session实现网站N天免登陆()

    问题描述: 一些网站的N天之内免登陆实现方式. 方式一: 首先想到的是使用cookie保存用户登录信息,设置有效期,在用户下次访问时免去登录环节,直接通过cookie获取用户信息. 方式二: 方式二: ...

  10. Pytest(10)assert断言

    前言 断言是写自动化测试基本最重要的一步,一个用例没有断言,就失去了自动化测试的意义了.什么是断言呢? 简单来讲就是实际结果和期望结果去对比,符合预期那就测试pass,不符合预期那就测试 failed ...