Hash

雜湊函式碰撞重要性

  • October 9, 2021

假設在某個雜湊函式中發現了衝突,使得 H(x1) = H(x2)

然而,x1 和 x2 都是看似“隨機”的比特集合,它們不能傳達連貫的資訊,也不能以連貫的方式進行干預。

這種衝突是否使散列函式 H 不安全?如果是這樣,即使已知的碰撞沒有傳達一致的資訊,如何利用它?謝謝

我更喜歡將密碼學視為基礎設施。我們應該努力開發基礎設施,以最大限度地減少使用警告的數量。定義應用程序中的“有意義”消息不是密碼學的工作。你能看一下具體的碰撞嗎 $ m_1, m_2 $ 並且可以肯定地說,任何雜湊函式的應用都不會為這些賦予意義 $ m_1 $ 和 $ m_2 $ ?

您更願意使用哪個雜湊函式,一個保證“很難找到任何衝突”,或者一個保證“很難找到衝突,除了有時在沙鼠的 JPG 和莎士比亞的 gzip 文件中的字元串”?我不想駕駛帶有警告標籤的汽車,上面寫著“如果您以 88.1 英里/小時的速度行駛,左轉向信號燈打開並且收音機調到 88.1 FM 時,汽車可能會爆炸”,即使該警告是正確的窄,我也永遠不會同時做這三件事。

這就是為什麼密碼安全定義認為衝突是任何兩個滿足 $ H(x_1) = H(x_2) $ ,任何消息上的簽名偽造都是一種攻擊,任何明文的加密都應該看起來難以區分,等等。如果您希望使用您的密碼學,請確保您爭取讓每個人都放心的安全保證。

關注“非結構化”碰撞的第二個實際原因 $ H $ , 是當找到一個時,擴展技術以找到“結構化”碰撞通常只是時間問題。例如,在隨機函式中查找結構化碰撞(使用經典的 Yuval 碰撞攻擊)與查找非結構化碰撞(使用標準蠻力和生日界限)的難度大致相同。

如果給定 x1 時,H 將是不安全的,它可以通過算法推導出具有相同散列的不同 x2。由於雜湊空間比數據空間小得多,總會有潛在的衝突,問題是我們能否找到它們。

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