Random-Number-Generator

放射性衰變,高斯還是均勻?

  • April 29, 2021

我試圖理解真正隨機性的本質。我正在使用放射源建構 RNG。基本上,我正在測量連續衰減之間的時間,這在理論上應該是不可預測的。正如我預測的那樣,這些時間測量的分佈顯示出類似高斯的分佈。現在我對真正隨機性的理解需要變數的均勻分佈,即所有變數的可能性均等。如何將高斯分佈轉換為均勻分佈,是否真的需要均勻分佈的隨機位才能擁有一個好的生成器?

您可以按照HotBits上的說明進行操作,這正是您要建構的。它已經執行多年,是網際網路上唯一的放射性 TRNG。它深入探討了基礎核物理、樣本分佈和提取器機制。

雖然不屬於嚴格的密碼學領域,但加州理工學院也有一個很好的計數分析。簡而言之,在低計數率下,點擊率遵循Poisson分佈。但作為平均點擊率 $ (\mu $ ) 增加,它變成一個很好的對稱高斯形狀,這是泊鬆的典型行為,如果 $ \mu > \approx 20 $ .

如果你能得到一個好的管子和一個體面/安全的來源,如果你按照說明去做,那就很簡單了。不用擔心刻度分佈。只需檢測滴答聲並按照以下部分中的去偏過程進行操作:-

vn

這是一個可逆的馮諾依曼提取器。已經寫好了,我就不重複細節了。如果滿足管死時間和飽和水平**(因此不存在自相關)**,您將獲得從去偏算法中彈出的均勻分佈的隨機位。為了讓我們看到 HotBits 的質量,我下載了他們的 91 Mbit 數據集並執行ent了它:-

Entropy = 1.000000 bits per bit.

Optimum compression would reduce the size
of this 91750400 bit file by 0 percent.

Chi square distribution for 91750400 samples is 0.05, and randomly
would exceed this value 81.93 percent of the times.

Arithmetic mean value of data bits is 0.5000 (0.5 = random).
Monte Carlo value for Pi is 3.141486168 (error 0.00 percent).
Serial correlation coefficient is -0.000773 (totally uncorrelated = 0.0).

他們在他們的網站上進行了其他更嚴格的測試,但在這個級別上這是一個乾淨的通過。Chi square還回答了您的*“是否真的需要均勻分佈的隨機位才能擁有良好的生成器?”* 小問題。是的,它們必須是統一隨機的才能用於加密。

所以做HotBits 做的事。


請注意這一點: -

RM-80 靈敏度的提高及其對飽和的免疫能力將 HotBits 的生成速率從每秒約 30 個字節增加到超過 100 個。

它並不快。還有所有高壓的東西。

假設環境參數不變,通常通過指數過程測量放射性衰變。這意味著假設平穩性的衰減之間的平均時間是一個指數隨機變數,其中 $$ Pr[T_i>t]=\exp(-\lambda t) $$ 對於一個常數 $ \lambda. $

如果你知道的話 $ \lambda $ 您可以將時間劃分為長度的間隔 $ T_0 $ 這樣$$ \exp(-\lambda T_0)=1/2 $$ 如果衰減為零,則輸出一。

這可能過於簡單化的原因有很多,再加上環境干擾(自然或惡意)對源統計數據的影響。

所以只是對待 $ \lambda $ 作為未知選擇一些 $ T_0 $ 通過觀察源衰減率,並應用無偏算法,然後通過安全散列函式傳遞足夠長的輸出字元串塊來確定。

如果源衰減率發生顯著變化,您可以調整 $ T_0. $

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