基于linux下的NIST数字测试

基于linux下的NIST数字测试

1. 首先解决windows文件不能粘贴到Ubuntu的问题

选择利用VMware Tools进行解决
https://img2020.cnblogs.com/blog/1927205/202003/1927205-20200316155435595-785260665.png打开虚拟机VMware Workstation,启动Ubuntu系统,菜单栏 - 虚拟机 - 安装VMware Tools


(提示客户机操作系统已将 CD-ROM 门锁定,并且可能正在使用 CD-ROM,这可能会导致客户机无法识别介质的更改。如果可能,请在断开连接之前从客户机内部弹出 CD-ROM。确实要断开连接并覆盖锁定设置吗?
操作:虚拟机——>设置——>CD/DVD(SATA)——>连接中选择“使用ISO映像文件”,点击后面的浏览按钮,选择VMware软件安装目录下的linux.iso文件,点击OK后退出设置。
详细参考 
https://www.cnblogs.com/dengyungao/p/8663436.html
设置完成后安装VMware Tools,显示上述提示,点击是
https://img2020.cnblogs.com/blog/1927205/202003/1927205-20200316160037024-346537232.png
此时,会发现虚拟机设备下多了VMware Tools这一项,点开发现有一个VMwareTools…tar.gz文件
https://img2020.cnblogs.com/blog/1927205/202003/1927205-20200316160435650-1587031043.png
(截图为完成安装后的显示,图标有些差异)
将该文件粘贴到桌面
快捷键Ctrl+Alt+T,启动命令框,然后切换到root用户(切换命令为:sudo su,回车然后会提示你输入当前登录用户的密码,输入成功后即可进入root用户)
依次输入以下命令
命令:cd 桌面 (把WMwareTools安装压缩包拷贝出来到桌面)
命令:tar -xzvf VMwareTools-10.1.15-6627299.tar.gz (然后打开终端解压)
命令:cd vmware-tools-distrib (进入解压后的目录)
命令:./vmware-install.pl
接下来按提示选择安装位置,以及yes no,直到出现Enjoy
https://img2020.cnblogs.com/blog/1927205/202003/1927205-20200316161243810-1972811038.png
最后重启虚拟机,发现安装VMware Tools变成了“重新安装”字眼,表明VMware Tools已经安装成功
https://img2020.cnblogs.com/blog/1927205/202003/1927205-20200316161407217-1722977114.png
安装了VMware Tools后,虚拟机与主机就可以通过“拖拽”来传文件

2.下载NIST数字测试套件到虚拟机

从CSDN下载sts-2.1.2压缩包,该渠道不是免费,也可以通过其他学习渠道进行下载
将sts-2.1.2压缩包拷贝到ubuntu目录

https://img2020.cnblogs.com/blog/1927205/202003/1927205-20200316162139477-2031858967.png
进入到解压缩的该目录下(输入命令cd 文件名)
输入make进行编译makefile文件
但是make失败
https://img2020.cnblogs.com/blog/1927205/202003/1927205-20200316165905013-1410282928.png
按着提示操作,还是不成功
https://img2020.cnblogs.com/blog/1927205/202003/1927205-20200316165954684-202758764.png
输入命令 sudo apt-get update (先更新找到ubuntu-make,此时需要连接外网-将网络适配切换成NAT模式)
https://img2020.cnblogs.com/blog/1927205/202003/1927205-20200316170158778-1355457429.png
输入命令 sudo apt-get install ubuntu-make(下载make)
https://img2020.cnblogs.com/blog/1927205/202003/1927205-20200316200427174-1475746449.png
安装成功后继续按照make下的操作执行
https://img2020.cnblogs.com/blog/1927205/202003/1927205-20200316201046125-1408131915.png
https://img2020.cnblogs.com/blog/1927205/202003/1927205-20200316201154117-414535842.png
输入make

出错,显示make: /usr/bin/gcc: Command not found
https://img2020.cnblogs.com/blog/1927205/202003/1927205-20200316202125740-1105770156.png
检查安装gcc
https://img2020.cnblogs.com/blog/1927205/202003/1927205-20200316203121181-1090362203.png
安装后继续make
https://img2020.cnblogs.com/blog/1927205/202003/1927205-20200316212936628-1093769055.png
在该目录下输入./assess ,datalength为测试的数据长度
以32000为例
https://img2020.cnblogs.com/blog/1927205/202003/1927205-20200316213046957-2063675791.png
至此,NIST数字测试包安装完成

 

 

接下来进行Linux下随机数的NIST测试:把随机数矩阵的文本suijishu.txt复制到ubuntu 的NIST数字测试目录下
https://img2020.cnblogs.com/blog/1927205/202003/1927205-20200317170013775-1101282842.png

2.准备环境,进行测试

https://img2020.cnblogs.com/blog/1927205/202003/1927205-20200317170642520-1910862531.png
按着提示进行选择,并且输入文件名
https://img2020.cnblogs.com/blog/1927205/202003/1927205-20200317170626706-319241435.png
选择测试类型
https://img2020.cnblogs.com/blog/1927205/202003/1927205-20200317171001132-1334396227.png
分别对应以下15种测试类型
1.频率(单比特)测试
2.块内频数测试(Frequency Test within a Block)
3.累积和测试
4.动向(Run)测试
5.最大游程检测
6.二进制矩阵秩(Binary Matrix Rand)测试
7.频谱测试
8.非重叠字匹配测试
9.重叠字匹配测试
10.Maurer通用统计检测
11.近似熵测试
12.随机游程(Random Excursions)测试
13.随机游程变量(Random Excursions Variant)测试
14.系列(Serial)测试
15.线性复杂度测试
https://img2020.cnblogs.com/blog/1927205/202003/1927205-20200317174405425-1706176921.png
(Enter choice 1,测试全部)

3.打开该目录下的experiments/AlgorithmTesting下的测试目录查看结果

https://img2020.cnblogs.com/blog/1927205/202003/1927205-20200317174651973-885619369.png
每种算法目录下都有stats.txt 以及结果文档,文件中描述的是P-value值
https://img2020.cnblogs.com/blog/1927205/202003/1927205-20200317175007906-372800287.png

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
NIST测试是对随机生成的二进制序列进行统计测试的方法。您可以使用Matlab来进行NIST测试。具体步骤如下: 1. 确保您拥有混沌的simulink文件(即.mdl文件),然后运行它。 2. 使用师兄的Matlab程序来运行测试,注意修改程序中的相关内容,例如要运行的.mdl文件和要生成序列的文件路径。此时,您将生成一个用于测试的文件,例如testdata.txt。您也可以使用其他仿真软件生成的序列作为测试文件。 3. 打开Cygwin终端,输入cd d:/NIST_ceshibao/sts(这里是您的.assess文件所在的位置)。 4. 输入./assess 长度(例如1000000)。注意,这个长度是一组的长度,所以要确保序列的位数足够多,以完成测试。在MATLAB中生成的界面中,您会看到m1和n,这两个数相乘就是输入的总长度,但您可以根据需要进行更改。 5. 选择0,表示要输入测试的文件。 6. 输入要测试的序列文件的位置,例如d:/NIST_ceshibao/sts/data/data_out.txt。 7. 输入1,表示选择测试15项。 8. 输入0,表示设置为默认参数。 9. 输入组个数,这是将序列分组进行测试的数量,例如10,即将序列分为10组,每组长度是1000000(即上面输入的长度)。 10. 输入0,选择2进制(选择1可能会出现UNDERFLOW问题)。 11. 耐心等待结果,在D:\NIST_ceshibao\sts\experiments\AlgorithmTesting目录下查看。 12. 结果将在D:\NIST_ceshibao\sts\experiments\AlgorithmTesting目录中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值