Random-Number-Generator

什麼時候不拒絕隨機數生成器?

  • August 2, 2021

我建構了一個真正的隨機數生成器,並將 NIST 隨機性測試套件應用於其結果。我用我的 TRNG 生成了大約 200 個文件,每個文件都是 $ 10^6 $ 位長度。

測試報告如下: TRNG 未通過的一些測試(例如,二進制矩陣秩測試)少於 $ 5 $ 次,即只有 5 個文件 $ 200 $ 未能通過一些測試。然而, $ 20 $ 文件未通過隨機偏移測試。還有,只有 $ 5 $ 文件失敗超過 $ 1 $ 測試。因此,我想知道這個TRNG是否應該被拒絕。

什麼標準決定一個人應該接受還是拒絕 TRNG?如果可能,請提供參考資料。

我對 TRNG 有所了解,20/200 (10%) 似乎有點高。隨機性是隨機的,因此您會期望值的正態分佈。但 $ 1.6\sigma $ 太多了。

正態/高斯分佈:-

圖形

我知道這很愚蠢,但只要看看機率。 $ z=\pm 0.8 $ 把它貼在駝峰下面。非常不可能。有一個名為ent的工具,它很簡單,但卻是設計 TRNG 的第一步。執行它,看看相關係數是多少:-

~$ ent cmix_v17
Entropy = 6.433268 bits per byte.

Optimum compression would reduce the size
of this 687704 byte file by 19 percent.

Chi square distribution for 687704 samples is 7388990.41, and randomly
would exceed this value less than 0.01 percent of the times.

Arithmetic mean value of data bytes is 86.8790 (127.5 = random).
Monte Carlo value for Pi is 3.496968164 (error 11.31 percent).
Serial correlation coefficient is 0.300655 (totally uncorrelated = 0.0).

或者更深入地探勘,您可以在頻域中執行FFT。保持自動更正 $ < 10^{-3} $ . 這會給你 IID 樣本,你可以從中得到一個簡單的 $ H_{\infty} $ 所以熵率。

你說*“真隨機數生成器”*。是這樣嗎?如果是這樣,您可能會看到自相關的效果,簡單地說,這意味著您的採樣速度太快了。見雜訊、混沌和( $ \epsilon,\tau $ )-每單位時間的熵。就像飛行一樣,你會或不會。如果 TRNG 是由電路製成的真正的 TRNG,則不會涉及很多數學。

PS讓我們看看電路。 PPS 在這篇文章中,您的電路出現故障。對不起,但我們可以通過一些工作讓它執行:-)

引用自:https://crypto.stackexchange.com/questions/93356