Randomness

Java 中的 BigInteger 和隨機性

  • June 11, 2014

我正在尋找一些 PRNG,並且 - 由於我已經使用 Java 很長時間了 - 我認為BitInteger該類和Random該類都可以生成一些大的偽隨機數。

這些世代背後的算法是加密安全的,還是只是某種a + (b - c) mod d或類似的操作?

假設這個文件是正確的,答案是否定的,這些數字在密碼學上是不安全的。Random 類使用具有 48 位種子的線性同餘公式。對於大多數用途,即使您只需要 48 位安全性也是不夠的。給定 LCG 的輸出數量相當少,即使每次種子迭代只使用幾個比特,也有可能推導出種子。這個問題已經在這裡回答了。

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