NIST随机数测试软件下载、安装、及使用教程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014593570/article/details/80869419

PS:本文大部分转载了这篇文章,修改了其中一些不恰当的地方,对部分容易出错的地方做了解释说明。

最近由于科研需要,在搞一些随机数的测试的事情,众所周知 随机数测试我们可以使用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”分支,将循环标志变为install。

选完以后,我们选择下一步,进入安装过程,如下图所示


安装的时间依据你选择的组件以及网络情况而定。安装完成后,安装程序会提示是否在桌面上创建Cygwin图标等,点击完成退出安装程序


软件安装完成以后,开始安装NIST sts-2.1.2这个软件包

运行Cygwin,通过命令行进入该软件包中sts-2.1.2中包含 Makefile文件的文件夹,输入make命令,该软件就会安装了,按成之后会在文件夹中多一个文件,assess.exe可执行文件,有了它意味着我们的软件就安装成功了,


出现如上界面就 说明你安装彻底成功了。整个安装下来,接近11GB。


接下来就是NIST软件的使用了,这个教程网上一堆,在这里简单的讲解一下就好了,

1.输入./assess.exe


2.

输入./assess.exe 1000000,回车。表示将数据段的长度设置1000000(这里要注意,这里输入的长度不是总bit长度。而是总bit长度除以段数得到的每一个数据段的长度)。
注意,输入此选项的数据可变,但是数据的长度应该至少大于1M(bits)。

3.接下来就是,输入0,输入待测试文件所在的路径,注意:这里的路径是绝对路径


4.然后选择要测试的项目,我们输入1 ,回车,对上述显示的所在项目进行测试


5.接下来,程序询问我们是否选择默认的参数设置,输入0,回车。表示接受默认的参数设置。紧接着,程序要求我们输入要测试的数据流的长度,也即测试多少个长度为第一步中输入的数据段(这里就是数据段的个数),这里我们输入100(段数)。具体如下图所示:


6.接下来,程序询问我们待测数据的存放各式。由于我的数据文件格式是二进制,所以输入1,回车。当然了,如果你保存的文件格式是ASCII格式,就输入0,回车(这里要注意,有可能输入1的话,会出现igamc:underflow的情况)


7.之后,测试工具在屏幕上输出一行英文提示:统计测试进行中……..。
接下来,请您耐心等待。

当数据测试完成后,会在测试包所在目录的experiments->AlgorithmTesting目录下生成两个测试报告文件,他们分别是finalAnalysisReport.txt和freq.txt。


如何查看分析很简单,这里推荐两篇博客:

博客1

博客2

猜你喜欢

转载自blog.csdn.net/u014593570/article/details/80869419