- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
目录
一、NIST简介
二、博主错误记录
三、测试程序
四、NIST的使用
一、NIST简介
NIST是评判伪随机序列随机性的一种方法,包含16个测试,测试内容看这篇
/lafu5137/article/details因为NIST需要在Linux环境下运行,所以我们需要下载Cygwin去模拟LInux环境,下载教程看这几篇
NIST下载教程(比较新)
Cygwin安装教程(比较全)
NIST下载、安装及使用(比较全)
二、博主错误记录
标注一个自己下载过程中出现的错误:在下载完Cygwin和NIST后,在Cygwin终端运行NIST,一定要输入正确的地址,我当时直接cd+win中make.file的路径直接复制然后回车,会提示:Nosuchfileordirectory的错误,然后百度无果,认为是安装两软件出现问题,然后查询相关解决办法,又认为自己是没有安装make文件并且又去官网下载最新的文件,发现问题还是没有解决,又认为是Cygwin需要编译环境,又去安装gcc编译环境,问题依然没有解决,最后突然发现我们这块要输入不是cdD:\cygwin64\sts-2.1.2\sts-2.1.2,而是cdD:/cygwin64/sts-2.1.2/sts-2.1.2,看到差异了吗\和/,前者是windows中直接复制的,后者是需要我们全部替换的可以在linux中识别的路径
在以上输入正确路径后,我们再输入make命令,NIST软件就会安装,这时候在相同路径下会产生一个asses.exe可执行文件,这意味着NIST安装成功。
三、测试程序
1.为了测试该程序是否正常工作,需要生成一个测试序列,博主使用matlab随手生成了一个二进制伪随机序列
tent_ode.m
functionret=tent_ode(x,u,M)
ret=zeros(M,1);
ret(1)=x;
fori=2:M
ifret(i-1)0.5
ret(i)=2uret(i-1);
end
ifret(i-1)=0.5
ret(i)=2u(1-ret(i-1));
end
end
tent_out.m
closeall;clear;
M=102400;
ret=tent_ode(0.1,0.99,M);
rand_bin_stream=floor(mod(ret100,2));
fid=fopen(rbs,w);
tmp=0;
fori=1:M
if(mod(i,8))
tmp=tmp+rand_bin_stream(i)power(2,8-(mod(i,8)));
else
tmp=tmp+rand_bin_stream(i);
fwrite(fid,tmp);
tmp=0;
end
end
fclose(fid);
2.博主使用的是帐篷映射来产生伪随机序列,为了尽可能的去除序列中的相关性,博主又截取了小数点后面若干位作为二进制伪随机序列,这里会生成一个102400长度的二进制伪随机序列。
这段代码里面需要注意的是,伪随机序列是一个二进制比特流,这也是NIST唯一支持的格式。博主这里使用的是二进制方式保存二进制比特流,NIST也支持以ASCII方式保存的二进制比特流
运行这段代码,打开输出的rbs文件
3.如图,脚本生成了102400长度的伪随机二进制序列,且正确保存在了rbs中(注意,这个长度只能是32的整数倍,否则会出现一大堆igamc:underflow报错,有能力的可以看一下NIST原码,找一下原因)(此处存疑,应该是输入数据长度不够导致的)
4.将rbs文件复制到linux下的当前目录中去(也可以是别的目录,NIST支持绝对路径),在终端中输入命令
5.需要注意的是assess的参数,博主计划将该数据分为十组进行测试,102400/10=10240,因此assess的参数是10240,这个10240就是./assess长度的参数。
6、EnterChoice:0
输入0,该命令告诉app从文件中获取测试数据
UserPrescribedInputFile:rbs
输入rbs,告诉app测试数据在那个文件中
7、EnterChoice:1
选1
8、SelectTest(0tocontinue):0
选0
9、Howmanybitstreams?10
这里的参数就是你想让你的测试数据分成多少次参与测试,博主将数据分成10组,因此这个参数就是10.这里的输入数值与assess的输入参数相乘需要等于测试数据的总长度
10、选择输入文件的格式,博主的测试数据是二进制保存的,因此选1
11、计算结果分析
四、NIST的使用
1.输入
.
您可能关注的文档
- 中考数学计算题集锦.doc
- 2013年广西南宁中考-普通用卷.docx
- 2014年广西南宁市中考数学试卷-普通用卷.docx
- 2015年广西南宁市中考数学试卷-普通用卷.docx
- 2016年广西南宁市中考数学试卷-普通用卷.docx
- 2017年广西南宁市中考数学试卷-普通用卷.docx
- 2018年广西南宁市中考数学试卷-普通用卷.docx
- 2019年广西南宁市中考数学试卷-普通用卷.docx
- 2021年广西南宁市中考数学试卷-普通用卷.docx
- 2022年广西南宁市中考数学试卷-普通用卷.docx
- YY/T 0648-2025测量、控制和实验室用电气设备的安全要求 第2-101部分:体外诊断(IVD)医用设备的专用要求.pdf
- 《GB/T 3048.13-2025电线电缆电性能试验方法 第13部分:冲击电压试验》.pdf
- GB/T 3048.13-2025电线电缆电性能试验方法 第13部分:冲击电压试验.pdf
- JJF 2356-2025计量器具软件标识通用要求.pdf
- 计量规程规范 JJF 2356-2025计量器具软件标识通用要求.pdf
- 《JJF 2356-2025计量器具软件标识通用要求》.pdf
- JJF 2357-2025计量器具数据网络传输要求.pdf
- 计量规程规范 JJF 2357-2025计量器具数据网络传输要求.pdf
- 《JJF 2357-2025计量器具数据网络传输要求》.pdf
- 《GB/T 18015.31-2025数字通信用对绞或星绞多芯对称电缆 第31部分:工作区布线电缆 空白详细规范》.pdf
原创力文档


文档评论(0)