1. 程式人生 > >nist隨機數測試演算法使用記錄

nist隨機數測試演算法使用記錄

網上找到開源的的nist演算法,make之後發現演算法太專業,不知道怎麼用,經過一段時間摸索,弄清楚的寫下來。

原始碼目錄:nist/sts-2.1.2/;  

編譯make

我的隨機數包是128M的二進位制檔案,執行所有運算大概耗時3個小時。

1.執行./assess  1073741824(128M位長度  bit)
2.0 匯入檔案
3.輸入隨機數檔名
4.輸入1選擇15項全部測試
5.輸入0預設引數
6.How many bitstreams? 輸入流個數;這個流個數和第一步中的檔案位長度存在這樣關係:

位長度*bitstreamsnum=檔案總位長度。一般隨機數檔案在32M以內(2G記憶體支援),bitstreamsnum預設輸入1,第一步輸入檔案總bit長度。如果檔案超過32M那麼計算過 程中內從不足,因此需要第一步輸入檔案總長度的1/8、1/16...,然後在此處輸入8、16,等價於把原始檔劃分為等長的幾條流,來做隨機性檢查。
7.輸入1選擇二進位制檔案
8.測試結果在:      /experiments/AlgorithmTesting/results.txt 每種演算法目錄下都有results.txt 檔案中描述的是P-value值,在ALPHA = 0.0100條件下(預設值),貌似這個值大於0.01就表示差不多隨機,越大越好。

備註:

我測試128M隨機數包,資料量太大,因此分成8條流計算,得出結果15條演算法中滿足12條,剩餘3條部分不滿足,這3條基本上都是分段檢測隨機性的,主要有:

NonOverlappingTemplate、OverlappingTemplate、RandomExcursionsVariant.

時隔兩年,重新測試一次(電腦配置i3) 8G記憶體+256G固態硬碟,測試資料138MB二進位制隨機數包,1個流,耗時2h。

相關推薦

nist隨機數測試演算法使用記錄

網上找到開源的的nist演算法,make之後發現演算法太專業,不知道怎麼用,經過一段時間摸索,弄清楚的寫下來。 原始碼目錄:nist/sts-2.1.2/;   編譯make 我的隨機數包是128M的二進位制檔案,執行所有運算大概耗時3個小時。 1.執行./ass

NIST隨機數測試軟體下載、安裝、及使用教程

PS:本文大部分轉載了這篇文章,修改了其中一些不恰當的地方,對部分容易出錯的地方做了解釋說明。 最近由於科研需要,在搞一些隨機數的測試的事情,眾所周知 隨機數測試我們可以使用NIST的軟體進行多大15項的隨機測試,我也在網上查找了很多大牛的部落格,但是都是年代久遠,很多的連結

目前最新NIST隨機數測試軟體下載、安裝、及使用教程

最近由於科研需要,在搞一些隨機數的測試的事情,眾所周知 隨機數測試我們可以使用NIST的軟體進行多大15項的隨機測試,我也在網上查找了很多大牛的部落格,但是都是年代久遠,很多的連結現在都是物是人非,都是不能直接使用了,今天順便抽點時間更新一下這個NIST軟體的下載及使用。我們

ubuntu配置 測試環境 記錄

ctrl ive 本地文件 version note some 虛擬環境 div provide 1 更新源 進入 /etc/apt/sources.list sudo vim進入, 更改為如下源 # See http://help.ubuntu.com/communit

軟件測試初學記錄——第七章

區域 clas 易用性 如果 本地化 方式 插件 本地 標記語言 網站測試囊括許多領域,包括配置測試、兼容性測試、易用性測試、文檔測試、安全測試、 性能測試、數據庫驅動等,如果網站面向全球還會包括本地化測試。 網頁是一個有文字、圖片、聲音、視頻和超級鏈接組成的文檔,由HTM

RAKsmart香港服務器速度和線路測試測評記錄

Raksmart服務器 香港服務器 香港VPS 我們有些網站業務需要,必須要求速度較好的服務器,一般我們會選擇香港、日本、新加坡等亞洲機房,對於國內的速度是比較好的。RAKsmart有提供香港服務器業務,月900元,16GB內存,而且目前促銷活動是2個獨立IP地址。 這裏找到一個

關於實施自動化測試的一點測試思路記錄

一點 ava 好的 代碼 參數化 實施 sel 用戶 測試的 在之前的博文上我使用的自動化是java.util+java+selenium實施的,驗證斷言是通過excel來進行維護的,操作麻煩且不利於後期的維護,近期學習了解到可以如下進行:例如一個用戶登錄與用戶註冊的自動化

演算法記錄——pallard rho(大整數分解)

要解決的問題很簡單,對一個整數進行分解質因數。 首先還是效率非常低的暴力演算法,相信大家都會,不多提。 和上次一樣,當數達到非常大的時候,分解將變得非常困難。於是這次又帶來一個提升分解速度的“非完美”演算法。之所以打引號,是因為這次不完美的不是結果,而是時間效率。 Pollard Rho

演算法是什麼(一)陣列的演算法記錄

演算法是什麼(一)陣列的演算法記錄   liuyuhang原創,未經允許禁止轉載     從入門一個一個來吧,先說陣列的演算法:   1、求極值   int[] arr01 = { 1, 3, 5, 76, 23, 44

LCG(linear congruential generator): 一種簡單的隨機數生成演算法

目錄 LCG演算法 python 實現 LCG演算法 LCG(linear congruential generator)線性同餘演算法,是一個古老的產生隨機數的演算法。由以下引數組成: 引數 m a c X

web常用測試記錄

輸入框 1、字元型輸入框: 單行文字輸入框:英文全形、英文半形、數字、空或者空格、特殊字元“~!@#¥%……&*?[]{}”,特別要注意單引號和&符號。如果禁止直接輸入特殊字元時,使用“貼上、拷貝”功能嘗試輸入。 長度檢查:最小長度、最大長度、最小長度-1、最大長度+1、輸

Postman-Tests模塊測試方法記錄

ase ade 試用 seh parameter request assume arc 腳本 用Postman的時候大多數測試結果是可以用Tests模塊的測試方法來代替人工檢查的,測試方法本質上是JavaScript代碼,我們可以通過運行測試用例(測試腳本是在發送請求之後並

隨機數生成演算法-梅森旋轉(Mersenne Twister/MT)

今天主要是來研究梅森旋轉演算法,它是用來產生偽隨機數的,實際上產生偽隨機數的方法有很多種,比如線性同餘法, 平方取中法等等。但是這些方法產生的隨機數質量往往不是很高,而今天介紹的梅森旋轉演算法可以產生高質量的偽隨 機數,並且效率高效,彌補了傳統偽隨機數生成器的不足。梅森旋轉演算法的最長週期取自一個梅森素數

演算法記錄:擊鼓傳花問題c語言實現

題目描述 學校聯歡晚會的時候,為了使每一個同學都能參與進來,主持人常常會帶著同學們玩擊鼓傳花的遊戲。遊戲規則是這樣的:n個同學坐著圍成一個圓圈,指定一個同學手裡拿著一束花,主持人在旁邊背對著大家開始擊鼓,鼓聲開始之後拿著花的同學開始傳花,每個同學都可以把花傳給自己左右的兩個同學中的一

壓力測試工具記錄

Siege Siege官網: https://www.joedog.org/siege-home/ Siege是一個Linux系統下多執行緒http負載測試和基準測試工具。 使用理由:可跟蹤詳細請求資訊,資訊比較全。 安裝 wget http://download.joedog.o

常見排序演算法記錄(基於java語言實現)

桶排序 public class TongPaiXu1 { public static void main(String[] args) { // 桶排序 int[] m = {1, 3, 6, 3, 4,

Jmeter效能測試使用記錄

使用背景   由於最近公司要求對一批介面做效能測試,所以重拾了一些對於Jmeter的使用,現將部分過程做記錄,以便以後回溯。 介面引數化   資料引數檔案使用了excel儲存出的csv檔案,dat格式的檔案也有使用。 使用CSV Data Set Config原件實現引

Miller-Rabin隨機性素數測試演算法

大佬部落格 個人比較菜會用板子就好了。 送上例題hdu 2138 雖然暴力可以過但是還是用來學演算法吧。 #include<cstdio> #include<cstring

米勒-拉賓(MillerRabbin)素性測試演算法詳解

寫在前面 網上有很多關於米勒拉賓素性測試演算法的部落格  但是大多數都是轉載,或者只有模板程式碼沒有分析講解的,甚至還有的分析的都是錯的。花了一早上,借鑑了幾十篇部落格,總算是把這個演算法理解了差不多,並且詳細整理了一下我的理解。 講解很細,篇幅較長,要是想看,準備好耐心。

千萬級高效簡便判斷是否為素數,若為合數,向左右搜尋最近的素數。(非米勒羅賓素數測試演算法

現在ZRain要讓n個孩子變成天使,每個孩子都有一個RP值,當RP值為一個質數時孩子就能變成天使。但是改變孩子的RP值是有代價的,比如rp從x改到y需要付出|x-y|的代價。ZRain真的太喜歡這些孩子了,他希望這些孩子都變成可愛的天使,但又希望付出最小的代價。   &nbs