Dieharder 如何使我的輸入文件適合 Dieharder?
我創建了我的隨機數並將它們保存到一個 txt 文件中。我的輸入文件只包含 0 和 1。這是我的文件的連結
我當然在問這個問題之前閱讀了一些答案,但我不明白如何為頑固分子創建輸入文件。頑固分子是否有一些準備好的評論來為自己轉換我們的輸入文件,或者我們應該手動完成?如果我們應該怎麼做?我看到太多參數,例如生成器,請參閱 type count numbit …您能幫幫我嗎?
更新:我實際上回答了這個問題,但是我的帳戶遇到了一些問題,所以答案失去了,所以我再次寫信
- 非常感謝您的回答我認為它終於可以解決了
- 只是為了確定:什麼是d?當我查看其他範例時,有時會看到 b 而不是 d
- 我只有 0 和 1,所以我猜 numbit 應該是 1,對吧?
- 你寫了一些數字,它們實際上是隨機數,對吧?(在我的情況下,它只是 0 和 1 而不是 3129711816 85411969 2545911541)
- 我想用這個文件和這個程式碼腳本測試我的數字有多少是隨機的,對嗎?
- 此外,當我嘗試不將文件更改為標頭檔時,它與以下程式碼腳本一起使用:dieharder -af your-file.txt,thos 腳本是什麼意思?好的,但是我不能像標頭檔一樣更改我的文件,我不知道這意味著什麼
更新 - - - - - - - - - - - - - - - - - - - - - - - - - ————
你好,我在賬戶匹配方面還有一些問題,所以我在這裡更新
1)也祝你聖誕快樂!
我沒有bin文件!為什麼你這麼想。我正在嘗試生成量子隨機數,我的數字將是 1 或 0,在生成它們之後,我將其保存為 txt 文件!txt文件有什麼問題。我真的不明白你的意思。和頑固的人一起研究我至少應該有多少個數字?200萬還不夠??其他技術是什麼
2)如果你看到他們像什麼是 d 或者我的標頭檔是否正確,你能解釋一下我的問題嗎?…
3)如何將我的txt文件轉換為二進製文件???
- 測試我的數字隨機程度的其他技術是什麼?NIST可以嗎?
5)例如我用這條線來轉換bin文件
perl -ne 'print pack("B32", $_)' < instructions.txt > instructions.bin
可以嗎?我使用了 10000000 個數據並將其轉換為二進製文件,速度非常快。我認為它應該一直很慢?重要提示:我使用的是 dieharder 3.31.1 版本
就我個人而言,我從不打擾 ASCII,只是使用二進制,因為它更容易,但就這樣吧。這個頁面上有很多好東西,但本質上你需要做的是……
一。
To use it with an ascii formatted file: dieharder -g 202 -f your-file.txt -a (your-file.txt should consist of a header such as: #================================================================== # generator I did it myself #================================================================== type: d count: 100000 numbit: 32 3129711816 85411969 2545911541 etc...
二。
請閱讀https://crypto.stackexchange.com/a/61546/23115。這個很重要。頑固分子是個貪吃者,渴望大量數據。2,500,000 個 ASCII 字元太少了,除了失敗之外,結果將毫無意義。連結答案中的範例吸收了 246 GB 的二進制位,以免倒帶數據樣本。這不僅僅是 1 TB 的 ASCII。
提示。
隨機性是樣本大小的函式。您的數據集的大小表示替代測試,例如原始
diehard
測試或 NIST 的隨機測試套件。後者在現代 RNG 設計的文獻中很常見,我更喜歡它。
dieharder -a -g 201 -f your-file.bin
以二進制形式進行,而無需所有標題廢話。