Hash

密碼學中的“防碰撞”和“綁定承諾”概念相似嗎?

  • February 9, 2022

我發現密碼學中有兩個令人困惑且相關的概念“防碰撞”和“**承諾中的計算綁定”。**我發現維基百科的解釋令人困惑。並且沒有資源澄清它們的區別

特別是,我發現我無法區分這兩個概念的共同思想,即給定某些輸入,特定雜湊函式的****輸出不超過一個

它們是相關的,但取決於對手和計劃;

雜湊送出

  • 如果您是惡意的並做出雜湊承諾。然後 $ commit = H(c) $ 那麼你可能會尋求兩個送出的衝突 $ c_1 $ 和 $ c_2 $ 這樣 $ commit = H(c_1) = H(c_2) $ . 這對於 MD5 和 SHA-1 來說很容易,但對於 SHA-2、SHA-3、BLAKE2 等來說很難。

你可能是一名秘書並給予 $ c_1 $ 向您的老闆送出,然後聲稱該送出 $ c_2 $ 你的優勢在哪裡 $ c_2 $ 高於 $ c_1 $ .

  • 如果你是惡意的並且有人給了你一個雜湊承諾。 $ commit = H(c) $ 你想擁有優勢,那麼你必須看到另一個 $ c’ $ 這樣 $ commit = H(c) = H(c’) $ . 這是對雜湊函式的第二次原像攻擊。

鍵控雜湊送出

如果一個人使用一把鑰匙 $ k $ 承諾喜歡 $ commit = HMAC(k,c) $ 那麼雜湊函式的抗碰撞性不再是問題,因為 HMAC 不依賴底層雜湊函式的抗碰撞性,只有 PRF 就足夠了。

  • 如果你是惡意的並且做出一個鍵控散列承諾。然後再次碰撞;您需要在同一密鑰下找到兩條具有相同 HMAC 值的消息。
  • 如果你是惡意的並且有人給了你一個雜湊承諾。這次你的攻擊是暴力破解密鑰,然後在同一個密鑰下找到第二個預映像。

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