Mac

這個散列函式幾乎是異或通用的嗎?

  • May 25, 2016

考慮這個雜湊函式:

鑰匙 $ K $ 是 $ 2^n $ 位。訊息 $ M $ 分為 $ 2^n $ 位塊。算術是模執行的 $ 2^{n+1} $ . 雜湊定義為:

  • $ H_0 = 1 $ .
  • $ H_{i+1} = (2M_i + H_i)\times (2K + 1) $ 其中 K 是(秘密)散列密鑰。
  • 輸出 $ H’ = \frac{H_{|M|/2^n}}2 $

這個雜湊(迭代的)幾乎是異或通用的嗎?

這個散列幾乎是異或通用的嗎?

不。

考慮兩個 1 塊消息 $ M = {0} $ 和 $ M’ = {2^{n-1}} $ .

我們有:

$$ H(M) = ((2\cdot 0 + 1)(2K+1) \bmod 2^{n+1}) /2 = K $$ 和

$$ H(M’) = ((2\cdot 2^{n-1} + 1)(2K+1) \bmod 2^{n+1})/ 2 = K + 2^{n-1} \bmod 2^n $$ 作為 $ H(M) \oplus H(M’) = 2^{n-1} $ 具有非平凡的真實機率, $ H $ 不是幾乎異或通用的。

類似的邏輯(使用兩條消息 $ {0, 2^{n-1}} $ 和 $ {2^{n-1}, 0} $ ) 將表明 $ H $ 甚至不是幾乎普遍的。

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