首页 > 其他分享 >NIST随机性测试套件下载,安装,实验

NIST随机性测试套件下载,安装,实验

时间:2023-01-14 17:33:05浏览次数:66  
标签:随机性 选择 套件 step 测试 txt 安装 NIST

参考博客

NIST随机性测试
美国国家标准与技术研究所提供的测试,一共包括16种测试手段,具体内容可参考此博客

NIST下载与安装
环境:Windows 11
下载
NIST 官网链接
image
点击download下载安装包

Cygwin 官网链接
image
点击setup-x86_64.exe下载安装包

安装
NIST下载得到sts-2.1.2的压缩包,直接解压到文件夹。
Cygwin下载的setup-x86_64.exe,双击进行安装
step 1 点击下一页
image
step 2 选择 Install from Internet,下一页
image
step 3 选择安装目录,下一页
image
step 4 选择组件包位置,下一页
image
step 5 选择Direct Connection,下一页
image
step 6 选择下载站点,我这里用了第三行,下载速度很快
image
step 7 选择组件包,View处选择Category,点击All前的加号,找到Devel,在里面选择binutils,gcc,gcc-mingw,gdb,make,由于我也没有找到gcc-mingw,于是把所有gc开头的包都选择上。
找到对应的文件名,双击skip自动选择最新版本,也可以点击下拉选择自己需要的版本,然后在src?一栏打勾。
全部选择完毕后,点击下一页,等待安装完成。
image
image

NIST测试
安装完成后进行一个简单的测试
实验数据:由matlab生成的0,1序列,存为txt文件
代码:

x = round (rand (1,100000000));%生成随机的01序列
fp = fopen ('testfornist.txt', 'a');
fprintf (fp,'%d',x);
fclose (fp);

将该txt文件放到sts-2.1.2目录下
运行 Cygwin的setup目录下的Cygwin
image
step 1 输入cd sts-2.1.2的文件目录,注意反斜杠修改为斜杠
step 2 输入make,没有问题即可进行下一步,此处没有图片,与参考博客中的图片一样
step 3 输入./assess.exe
step 4 输入./assess.exe 100000
数字表示设置检验的长度为100000个bit,NIST测试会将数据切分成小段进行检验,此数据可以进行调整,但是注意不要超过待检验数据的总长度,否则会出错,NIST官网说最好设置为1000000,即1M数据
step 5 Enter Choice:0 回车后输入待测试txt文件的绝对路径
如果路径出错,可以重复step 4
image
step 6 Enter Choice:1 选择1表示测试全部进行
image
step 7 Select Test:0
step 8 How many bitstreams? 80
这一步选择有多少数据流,可以由数据总长度除以step 4中设置的长度,然后取整,只要比这个数字小就可以,否则会出现underflow的错误。
step 9 Select input mode:0
等待测试结束,出现Statistical Testing Complete!!!!!!
再次使用时从cd目录开始,但不用make,make仅在第一次确认安装好即可

在sts-2.1.2的目录下选择experiments,打开后选择Algorithm Testing,里面一共有15个文件夹,两个txt文件。
(虽然NIST测试一共有16个测试,但是此软件只有15个测试项,具体测试项见此链接
每个文件夹中包含results.txt和stats.txt两个文件,results.txt中是一列p_value数据,stats.txt中有更详细的数据,如果检测通过会显示success。
两个txt文件是对待检测文件总体的测试结果。

标签:随机性,选择,套件,step,测试,txt,安装,NIST
From: https://www.cnblogs.com/onelemon/p/17052253.html

相关文章

  • CCSP学习笔记-NIST 800-145
    本文英文版来自美国国家标准与技术实验室的文档SpecialPublication800-145《TheNISTDefinitionofCloudComputing》September2011版本。一 云计算概念定义Clo......
  • C语言--unistd.h
    在此随手记录一些unistd.h文件中的函数dup声明:intdup(intoldfd)功能:复制文件描述符,重定向输入输出返回值:成功返回当前系统可用的最小整数值,否则返回-1dup2声明:int......
  • 将tensorflow训练好的模型移植到Android (MNIST手写数字识别)
    将tensorflow训练好的模型移植到Android(MNIST手写数字识别)​项目​​Github​​下载地址:​​https://github.com/PanJinquan/Mnist-tensorFlow-AndroidDemo​​,麻烦给个......
  • pytorch的FashionMNIST
    目录pytorch的FashionMNIST项目从加载数据到训练模型评估到模型保存模型加载及预测importtorchfromtorchimportnnfromtorch.utils.dataimportDataLoaderfromtorchvi......
  • NIST宣布推出前4种抗量子加密算法
    近日,美商务部技术研究院(NIST)选择了第一套抗量子加密算法,旨在“抵御未来量子计算机的攻击”。后量子密码学(PQC)技术包括用于通用加密的CRYSTALS-Kyber算法,以及用于数字签名......
  • Movavi视频套件2022功能简介
    Movavi视频套件2022多合一的视频制作工具:编辑器、转换器、屏幕录像机等。非常适合远程工作和远程学习。  产品功能01、编辑视频和音频使用......
  • TensorFlow高阶 API: keras教程-使用tf.keras搭建mnist手写数字识别网络
    TensorFlow高阶API:keras教程-使用tf.keras搭建mnist手写数字识别网络目录​​TensorFlow高阶API:keras教程-使用tf.keras搭建mnist手写数字识别网络​​​​1、Keras​​​......
  • 自己动手,编写神经网络程序,解决Mnist问题,并网络化部署-6CBIR模拟问题
    一、CBIR技术简介传统的图像检索过程,先通过人工对图像进行文字标注,再利用关键字来检索图像,这种依据图像描述的字符匹配程度提供检索结果的方法,简称“以字找图”,既耗......
  • 自己动手,编写神经网络程序,解决Mnist问题,并网络化部署-12网络化部署深化下...
    网络化部署一直是我非常想做的,现在已经基本看到了门路。今天早上实验,发现在手机上的支持也非常好(对于相机的支持还差一点),证明B/S结构的框架是非常有生命力的。下一步就是要......
  • outlook 设置 organistaion
    请查看步骤图:         设置完之后马上可以在teams看见,但是oulook同步需要等待相当一段时间,而且本地outlook需要同步的话还需要清楚通讯录缓存。  ......