Cryptanalysis

使用 MD5 初始化隨機數生成器是否安全?

  • October 20, 2022

對於散列算法的大多數應用程序,MD5 算法不再被認為是安全的。但是,通過密碼初始化 PRNG 是否安全?

如果不是,它怎麼能被利用呢?

,使用密碼的MD5雜湊初始化(CS)PRNG是不安全的。

這對於 MD5 來說不是問題,因為它是使用可以快速計算的密碼功能初始化 PRNG 的問題。SHA-256幾乎一樣糟糕。將密碼轉換為密鑰/種子時,我們需要使用密鑰/熵拉伸,為此使用具有合理參數的Argon2記憶硬函式否則,我們將面臨密碼破解的風險。

此外,函式的輸入應盡可能包含(例如使用者名、電子郵件、文件名)。


怎麼可能被利用?

攻擊者將散列一個常用密碼字典,並使用結果初始化 PRNG,生成一些 PRNG 輸出,並測試該輸出是否正確。該測試取決於 PRNG 的使用情況。例如,如果 PRNG 用作流密碼的流生成器​​,並且已知的明文/密文對可用,則測試歸結為將 PRNG 輸出與適當長度的明文和密文的 XOR 進行比較。如果只有密文可用,但正確的明文是可辨識的(例如高度冗餘),攻擊仍然可能。

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