NIST随机数检测软件使用
NIST是評判偽隨機序列隨機性的一種方法,包含16個測試,測試內(nèi)容看這篇
https://blog.csdn.net/lafu5137/article/details/79593845
因為NIST需要在Linux環(huán)境下運行,所以我們需要下載Cygwin去模擬LInux環(huán)境,下載教程看這幾篇
NIST下載教程(比較新)
Cygwin安裝教程(比較全)
NIST下載、安裝及使用(比較全)
標注一個自己下載過程中出現(xiàn)的錯誤:在下載完Cygwin和NIST后,在Cygwin終端運行NIST,一定要輸入正確的地址,我當時直接cd+win中make.file的路徑直接復(fù)制然后回車,會提示:No such file or directory的錯誤,然后百度無果,認為是安裝兩軟件出現(xiàn)問題,然后查詢相關(guān)解決辦法,又認為自己是沒有安裝make文件并且又去官網(wǎng)下載最新的文件,發(fā)現(xiàn)問題還是沒有解決,又認為是Cygwin需要編譯環(huán)境,又去安裝gcc編譯環(huán)境,問題依然沒有解決,最后突然發(fā)現(xiàn)我們這塊要輸入不是cd D:\cygwin64\sts-2.1.2\sts-2.1.2,而是cd D:/cygwin64/sts-2.1.2/sts-2.1.2,看到差異了嗎 \和/,前者是windows中直接復(fù)制的,后者是需要我們?nèi)刻鎿Q的可以在linux中識別的路徑
?在以上輸入正確路徑后,我們再輸入make命令,NIST軟件就會安裝,這時候在相同路徑下會產(chǎn)生一個asses.exe可執(zhí)行文件,這意味著NIST安裝成功。
然后進入NIST的使用
1.輸入
./assess.exe?2.輸入
./assess.exe 1000000表示將數(shù)據(jù)段的長度設(shè)置為1000000(bits)=1M(bits)。
注意,NIST檢驗是按數(shù)據(jù)段來檢驗的,無論你原始的數(shù)據(jù)文件多大,都是分成小段,這里一段是一百萬個比特位也就是1M。比如128M的數(shù)據(jù)就分成128段,30M的數(shù)據(jù)就分成30段。這里每段多長是可變的,但是數(shù)據(jù)段的長度應(yīng)該至少大于1M(bits),因為有些檢驗要求輸入的數(shù)據(jù)流至少要大于等于1M,不然后面運行會出警告。
?3.輸入0,再輸入待測試文件所在的路徑(這里是絕對路徑,也就是直接到達目標位置)
04.選擇要測試的項目,輸入1,回車,表示16個NIST測試都要進行
?
5.?
接下來,程序詢問我們是否選擇默認的參數(shù)設(shè)置,這里無所謂,如果你的數(shù)據(jù)足夠大的話,[1]對應(yīng)的那個128可以變大些,直接輸1然后回車就可以更改,博主改成了20000,當然不改也可以。
非常重要的是這里有個 How many bitstreams這個問題,這里一定要與之前的數(shù)據(jù)段長度對應(yīng),之前數(shù)據(jù)段是1M,那128M的數(shù)據(jù)就就是128個比特流,30M的數(shù)據(jù)就是30個流。
128M的數(shù)據(jù)就就是128個比特流,這里就可以選一個比128小的數(shù),比如100,代表只檢驗前100M數(shù)據(jù)的隨機性。
6.接下來,程序詢問我們待測數(shù)據(jù)的存放各式。由于我的數(shù)據(jù)文件格式是二進制,數(shù)據(jù)文件里只有0和1,所以輸入0
7.具在屏幕上輸出一行英文提示:統(tǒng)計測試進行中…。
接下來,耐心等待即可,運算時間與數(shù)據(jù)量有關(guān)。
8.當數(shù)據(jù)測試完成后,會在測試包所在目錄的experiments->AlgorithmTesting目錄下生成兩個測試報告文件,他們分別是finalAnalysisReport.txt和freq.txt。
?9.查看finalAnalysisReport.txt和freq.txt??首先前面16個文件夾分別對應(yīng)16個檢驗,每個文件夾里都有各自的檢驗結(jié)果
?
?結(jié)果如下,有兩個文件
stats.txt文件里會給出每個數(shù)據(jù)段通過此檢驗的情況,success或者failure
?finalAnalysisReport.txt文件是總的檢驗結(jié)果
?打開之后,如下所示
?
PROPORTION是所有數(shù)據(jù)段中通過檢驗的比例。右邊那個是檢驗的名稱,其中Non開頭那個比較特殊,它雖然是一個檢驗,但會出現(xiàn)多個P-value值。當然也是大于0.01認為隨機。
所有P-value都大于等于0.01即可認為通過了NIST檢驗。
?10.NIST軟件使用過程中可能的出錯
?
?
?
總結(jié)
以上是生活随笔為你收集整理的NIST随机数检测软件使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 看战争片有感
- 下一篇: 遭遇裁员,如何渡过心理危机?