基于linux下的NIST数字测试
基于linux下的NIST数字测试
1. 首先解决windows文件不能粘贴到Ubuntu的问题
选择利用VMware Tools进行解决打开虚拟机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,显示上述提示,点击是
此时,会发现虚拟机设备下多了VMware Tools这一项,点开发现有一个VMwareTools…tar.gz文件
(截图为完成安装后的显示,图标有些差异)
将该文件粘贴到桌面
快捷键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
最后重启虚拟机,发现安装VMware Tools变成了“重新安装”字眼,表明VMware Tools已经安装成功
安装了VMware Tools后,虚拟机与主机就可以通过“拖拽”来传文件
2.下载NIST数字测试套件到虚拟机
从****下载sts-2.1.2压缩包,该渠道不是免费,也可以通过其他学习渠道进行下载
将sts-2.1.2压缩包拷贝到ubuntu目录
进入到解压缩的该目录下(输入命令cd 文件名)
输入make进行编译makefile文件
但是make失败
按着提示操作,还是不成功
输入命令 sudo apt-get update (先更新找到ubuntu-make,此时需要连接外网-将网络适配切换成NAT模式)
输入命令 sudo apt-get install ubuntu-make(下载make)
安装成功后继续按照make下的操作执行
输入make
出错,显示make: /usr/bin/gcc: Command not found
检查安装gcc
安装后继续make
在该目录下输入./assess ,datalength为测试的数据长度
以32000为例
至此,NIST数字测试包安装完成
接下来进行Linux下随机数的NIST测试:把随机数矩阵的文本suijishu.txt复制到ubuntu 的NIST数字测试目录下
2.准备环境,进行测试
按着提示进行选择,并且输入文件名
选择测试类型
分别对应以下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.线性复杂度测试
(Enter choice 1,测试全部)
3.打开该目录下的experiments/AlgorithmTesting下的测试目录查看结果
每种算法目录下都有stats.txt 以及结果文档,文件中描述的是P-value值