Random-Number-Generator

SHA-1 用於實現 PRNG 時是否安全

  • May 17, 2020

我讀到 SHA-1 仍然是一個安全的散列函式,到目前為止沒有發現衝突。然而,有人想出這樣的碰撞或攻擊只是時間問題。因此,在新項目中,建議使用 SHA-256。SHA-512 更好。

在 Java 中,我們仍然使用類中的"SHA1PRNG"算法SecureRandom來生成 IV(比如說 CBC)。

SHA-1 作為 PRNG 中的雜湊函式是否足夠安全,可以為 CBC 生成不可預測的 IV?還是推薦使用 SHA-256,即使是 PRNG?

我讀到 SHA1 仍然是一個安全的散列函式,到目前為止沒有發現任何衝突。

您閱讀了舊文本,自從 SHA-1 被SHAttered 後,情況不再如此。

在 Java 中,我們仍然在類中使用 SHA1PRNG 算法SecureRandom來生成 IV(比如說 CBC)。

作為為 CBC 生成不可預測 IV 的 PRNG,它是否足夠安全?甚至對於 PRNG,推薦使用 SHA256?

SHA-1 仍然適用於密鑰派生、HMAC、基於 MGF1 的填充以及隨機生成以及許多其他不受衝突攻擊的案例。

也就是說,攻擊只會變得更好,永遠不會更糟,因此始終建議使用更現代的雜湊。但是,當涉及到隨機數生成時,播種更有可能出現問題,您絕對應該確保您的系統 RNG 正常執行。

而且,當涉及到 Java 時SecureRandom,您可能需要考慮我在 StackOverflow 上的回答,而根本不使用(或至少表明"SHA1PRNG"

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