Hash

散列函式的二和三表示法的冪

  • April 6, 2015

我在無線感測器網路安全論文中發現,加密雜湊函式被提升到 2 次方和 3 次方的操作(即 $ h^2(x) $ 和 $ h^3(x) $ ).

這可能是一個非常簡單的問題,但我在其他文獻中沒有找到這個符號。我想知道:這種表示法是否意味著您需要計算雜湊兩次或三次(即 $ h(h(x)) $ 和 $ h(h(h(x))) $ ?

在論文中, $ h $ 被定義為無衝突的單向雜湊函式。

是的,這些符號似乎總是意味著H^n(x)(或 $ H^n(x) $ 在數學符號中)意味著 $ x $ 是第一個輸入,下一個輸出是前一個輸出的雜湊:

H^0(x) = x           // just defined as x below
H^1(x) = H(x)
H^2(x) = H(H^1(x)) = H(H(x))
H^3(x) = H(H^2(x)) = ... = H(H(H(x)))
H^4(x) = ............... = H(H(H(H(x))))
...

所以另一種定義它的方法是 $ H^n(x)=H(H^{n-1}(x)) $ 在哪裡 $ H^0(x)=x $ . 我使用了大寫H,因為這似乎更常見。

該構造似乎符合抽象代數中的冪運算屬性,因為(散列)函式的函式組合只需要較弱的冪關聯性(請注意 - 數學網站上的答案需要一些數學背景)。


通常這種結構用於按鍵拉伸;一種從包含工作因子的密碼(或其他低熵秘密)計算密鑰的方法。換句話說,使用者和攻擊者都需要執行許多操作,這使得攻擊密碼變得更加困難。

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