Collision-Resistance

以下哪個雜湊函式是抗衝突的?

  • May 17, 2015

讓 $ H: M \to T\ $ 是一個抗衝突的雜湊函式。以下哪項是抗碰撞的: $ 1.H’(m) = H(m \big| m) $

$ 2.H’(m) = H(m) \big| H(0) $

$ 3.H’(m) = H(m) \oplus H(m) $

$ 4.H’(m) = H(H(m)) $

$ 5.H’(m) = H(0) $

$ 6.H’(m) = H(|m|) $

$ 7.H’(m) = H(m)[0,\ldots,31] $ (即輸出散列的前 32 位)

答案函式是 1、(2) 和 4 嗎?

  1. 看起來它是抗碰撞的,因為散列消息“兩次”
  2. 是抗碰撞的,因為摘要的一部分是抗碰撞的。
  3. 總是 $ 0 $ , 所以不耐碰撞
  4. 防碰撞,因為它對消息進行兩次散列並輸出有效消息的有效散列(消息的散列)
  5. 總是一樣。不耐碰撞
  6. 對於相同長度的消息總是相同的。不耐碰撞。
  7. 取決於您對防撞的定義。它本身是抗衝突雜湊函式的子集,如果子集足夠大,它就是抗衝突的。因此,從理論的角度來看,沒有比暴力破解更快的攻擊來找到衝突,使其成為抗衝突的 32 位雜湊函式。從實際的角度來看,或者如果您認為它是一個 n 位雜湊函式,其中 n 的摘要大小為 $ H $ 它不是抗碰撞的,因為人們可以找到一個 $ 2^{16} $ 雜湊函式呼叫。

所以答案是 1、2、4,也許是 7。

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