Random-Number-Generator

一個好的 PRNG 能有很長的周期嗎?

  • January 27, 2021

我正在考慮將密碼或單獨的密碼輪評估為 PRNG。一般來說,我們可以對連續的自然數進行加密,並通過一些隨機性測試來檢查它們。但是 PRNG 不是這樣工作的。他們使用他們的輸出就像一個新的輸入。

在這樣的測試中,密碼不應該有很長的周期嗎?他們有很長的時期嗎?如果不是,它們不應該被認為是好的 PRNG,對嗎?加密安全的 PRNG 是否有可能對某些輸入有很短的時間?

他們使用他們的輸出就像一個新的輸入。

這是不正確的,通常 CS-PRNG 會保留一個狀態並使用單獨的位(或者可能是通過 PRF 執行的狀態)作為輸出。

在這樣的測試中,密碼不應該有很長的周期嗎?

是的,CS-PRNG 也是如此。是的,如果您可以觸發 CS-PRNG 以重複足夠長的模式,那麼就有問題了。當然,PRNG 損壞的原因還有很多。例如,它可能是有偏見的,或者攻擊者如何恢復狀態。請注意,密碼不一定是 CS-PRNG。

加密安全的 PRNG 是否有可能對某些輸入有很短的時間?

當正確播種時,它們應該具有不可預測的輸出。如果您可以根據規範播種並且進入一個循環在計算上仍然是可行的,那麼不,那麼它不會是密碼安全的。

通常,只要種子是唯一的,您就不應該得到重複的輸出。安全散列函式通常用於實現此目的。

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