最近由于科研需要,在搞一些随机数的测试的事情,众所周知 随机数测试我们可以使用NIST的软件进行多大15项的随机测试,我也在网上查找了很多大牛的博客,但是都是年代久远,很多的链接现在都是物是人非,都是不能直接使用了,今天顺便抽点时间更新一下这个NIST软件的下载及使用。
我们首先讲一下该软件的下载:
1.我们直接取NIST的官网(https://csrc.nist.gov/)下载即可 ;链接如下:下载链接
界面如下所示:
点击Download,直接下载 下载最新的版本。
2.由于考虑到我们大部分经常使用的是Windows系统,所以主要讲解一下Windows系统下的安装,当然Linux下的就是比较简单了,直接make就行了。
由于该软件上是基于Linux开发的,所以我们要想在Windows系统下使用,我们还需要下载另外一个软件来辅助。就是cygwin这个软件。
下载链接:点击下载
根据你的系统需要,选择你的合适的版本。
下载完成后,先安装这个Cygwin这个软件。
下载完成后,运行setup.exe程序,出现安装画面。直接点“下一步”,出现安装模式的对话框,如下图所示:
我们看到有三种安装模式:
Install from Internet,这种模式直接从Internet安装,适合网速较快的情况;
Download Without Installing,这种模式只从网上下载Cygwin的组件包,但不安装;
Install from Local Directory,这种模式与上面第二种模式对应,当你的Cygwin组件包已经下载到本地,则可以使用此模式从本地安装Cygwin。
从上述三种模式中选择适合你的安装模式,这里我们选择第一种安装模式,直接从网上安装,当然在下载的同时,Cygwin组件也保存到了本地,以便以后能够再次安装。选中后,点击“下一步”,
这一步选择Cygwin的安装目录,以及一些参数的设置。默认的安装位置是C:\NIST\cygwin\,你也可以选择自己的安装目录,然后选择“下一步”
这一步我们可以选择安装过程中从网上下载的Cygwin组件包的保存位置,选择完以后,点击“下一步”
这一步选择连接的方式,选择你的连接方式,选择直接连接这个选项就OK了,然后点击下一步,会出现选择下载站点的对话框,如下图所示,
在这一步,需要注意,为了获得最快的下载速度,我们首先在列表中寻找Cygwin中国镜像的地址:http://www.cygwin.cn,如果找到就选中这个地址;如果找不到这个地址,就在下面手动输入中国镜像的地址:http://www.cygwin.cn/pub/,再点击“Add”,然后再在列表中选中。选择完成后,点击“下一步”,
以上红字就是我在参考别人的安装,但是我发现按照上面的操作我们是不能继续下去的,总会出现unable之类的错误,所以经过查阅资料,此步骤找到这个镜像,只是为了更好的下载速度,没有找到也没有关系,我直接使用第一个镜像链接,当然很多都是用了163 的镜像,说速度更快,但是估计影响不是那么的大。
由于我已经安装成功,以下部分截图来自这个网址,
这一步,我们选择需要下载安装的组件包,为了使我们安装的Cygwin能够编译程序,我们需要安装gcc编译器,默认情况下,gcc并不会被安装,我们需要选中它来安装。为了安装gcc,我们用鼠标点开组件列表中的“Devel”分支,在该分支下,有很多组件,我们必须的是:
很多组件,不知道选择哪个,我是直接搜索gcc,然后会出现几个选项,分别点开加号,会出现类似循环的标志:
我们把所有的循环标志都勾选上。
选完以后,我们选择下一步,进入安装过程,如下图所示
安装的时间依据你选择的组件以及网络情况而定。安装完成后,安装程序会提示是否在桌面上创建Cygwin图标等,点击完成退出安装程序
软件安装完成以后,开始安装NIST sts-2.1.2这个软件包
运行Cygwin,通过命令行进入该软件包中sts-2.1.2中包含 Makefile文件的文件夹,输入make命令,该软件就会安装了,按成之后会在文件夹中多一个文件,assess.exe可执行文件,有了它意味着我们的软件就安装成功了,
但是按照以上的操作步骤,当我make的时候出现了:
查找了一下原因,是我们在选择模块的时候,可能没有选择make的模块,解决办法如下:
下载最新的make工具包:
下载链接:点击打开链接
下载到cygwin文件夹下,并解压
下载make-4-2包,解压后放在了cygwin下,使用命令进入到解压后的文件夹中; 输入以下命令进行安装
./configure
./build.sh
这里也是需要一些时间的,
在编译完后,在当前文件中就会生成了make.exe ,把它移动到/bin 下就可以在任何一个目录下使用make了
第一个命令如图所示:
然后第二个命令:
然后你在make就行了:
出现如上界面就 说明你安装彻底成功了。
接下来就是NIST软件的使用了,这个教程网上一堆,在这里简单的讲解一下就好了,
1.输入./assess.exe
2.
输入./assess.exe 1000000,回车。表示将数据段的长度设置1000000(bits)=1M(bits)。
注意,输入此选项的数据可变,但是数据的长度应该至少大于1M(bits)。
3.接下来就是,输入0,输入待测试文件所在的路径,注意:这里的路径是绝对路径
4.然后选择要测试的项目,我们输入1 ,回车,对上述显示的所在项目进行测试
5.接下来,程序询问我们是否选择默认的参数设置,输入0,回车。表示接受默认的参数设置。紧接着,程序要求我们输入要测试的数据流的长度,也即测试多少个长度为第一步中输入的数据段,这里我们输入100。具体如下图所示:
6.接下来,程序询问我们待测数据的存放各式。由于我的数据文件格式是二进制,所以输入1,回车。当然了,如果你保存的文件格式是ASCII格式,就输入0,回车
7.之后,测试工具在屏幕上输出一行英文提示:统计测试进行中........。
接下来,请您耐心等待。
当数据测试完成后,会在测试包所在目录的experiments->AlgorithmTesting目录下生成两个测试报告文件,他们分别是finalAnalysisReport.txt和freq.txt。