Md5

常見的雜湊算法已經死了嗎?

  • October 13, 2020

我有一個誠實的問題:我們如何對使用常見的雜湊算法如此自信(現在有這麼多破解工具的頁面:crackstation、gpuhash 等)?我們是否迷失在我們身後的政府?有人對一種新的可能的安全算法有新的想法嗎?為什麼如果有人像我這樣有算法,整個社區都關門了?感謝您的時間。真誠地,一位迷失的加密雜湊程序員。

MD5 和 SHA-1 被破壞了,因為我們可以與它們發生衝突,甚至選擇前綴衝突。

但是,像 SHA-2 和 SHA-3 這樣的雜湊函式並沒有死。相反,他們活得很好。

事實上(在問題中提到)從雜湊值或使用該雜湊值作為密鑰的密文中很容易(並且越來越容易)找到通用密碼,這不是雜湊值的問題。這是一個設計不良的系統直接散列密碼並依靠它來確保安全的問題。這是一個經常犯的嚴重設計錯誤。在 1990 年,這已經是一個糟糕的選擇,而在今天,這是一個災難性的選擇(人類選擇好密碼的能力沒有提高,電腦有)。密碼散列的適當原語不是像 SHA-2 或 SHA-3 這樣的加密散列,而是故意緩慢熵拉伸 記憶體硬密碼的密鑰派生函式或散列(例如Argon2或更早版本)scrypt ) 加鹽和充足的工作量。

SHA-3 滿足可用作隨機預言機實例的現代密碼散列的所有標準,其簡化目標是:快速、可公開計算並且在其他方​​面表現得像 $ {0,1}^*\to{0,1}^w $ , 在哪裡 $ w $ 是雜湊的輸出寬度。SHA-2 也滿足了這一點,除了表現出眾所周知且很少涉及的長度擴展屬性,我們可以接受。變體與 $ k=512 $ 即使對於可用於密碼分析的假設量子電腦,-bit 也可能是安全的。


誰決定了現代雜湊的標準?

密碼學社區。

這些標準隨著時間的推移而演變。最初(1980 年代末和 1990 年代初)主要標準是速度、抗碰撞性和第一+第二原像抗性,並應用於 RSA 簽名。MD2MD4MD5、 SHA 、SHA-1,甚至SHA-2(本質上是 SHA-1,經過改進並且對已知攻擊有更大的餘地)都來自這個時代。然後出現了隨機預言的概念。(參見 Mihir Bellare 和 Phillip Rogaway 的開創性隨機預言是實用的:設計高效協議的範式,最初在 CCS 1993 的會議記錄中;或介紹,這個非常受歡迎的答案)。雜湊函式的目標變成了隨機預言機的具體實現。這個目標暗示了早期的抗碰撞和抗原像概念。

重要的是,密碼散列(如 SHA-512)的速度目標與密碼散列或密鑰派生函式(如 Argon2)的目標直接相反,後者包括強制緩慢。不幸的是,名字如此相似,這導致了很多混亂。

誰能證明 SHA-3 的隨機性?

SHA-3 是確定性的(任何雜湊都必須如此)。因此,它充其量只能表現得像一個隨機函式。而且我們不知道如何證明它確實存在,或者俱有抗碰撞性等。但是,從 SHA-2 開始,設計雜湊的藝術似乎已經改進到其原理和參數化合理的程度。這允許做出合理的預測。到 2020 年,一個 200 位的雜湊值可能會通過暴力破解(使用 ASIC 技術,如比特幣探勘)。幾十年來,它一直以每年大約 5 位的速度增長。按照這個速度,一個 512 位的雜湊值可以安全使用 60 年,而且幾乎沒有任何電子行業趨勢的觀察者押注這個速度可以持續這麼久。

好的,所以我把它作為建議,社區判斷算法,隨機性是眼睛相信的。

因此,我將發布我自己測試雜湊函式的一些隨機性的結果,我為您提供了連結:

https://softwareengineering.stackexchange.com/questions/416849/testing-uniform-insertion-on-a-fixed-length-hash-table

非常感謝您的參與。

問候。

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