Sha-1

是否可以使用長度擴展攻擊但使用不同的雜湊類型來計算雜湊?

  • January 8, 2017

例如,我有:

  • 未知:一個秘密變數,我們稱之為secret,我不知道
  • 已知: 的長度secret(假設為 128 字節)
  • 已知:hash1 中 的雜湊secret(假設 hash1 是 sha512,這是問題的重要部分,因為 hash1 不是 hash2)

我的目標是獲取 hash2(secret || data_that_I_know),但 hash2 與 hash1 不同,(假設 hash2 是 sha1)。

根據我目前對長度擴展攻擊的理解,我相信我可以獲得 hash1(secret || data_that_I_know) 的摘要,但是,是否可以從另一種雜湊類型(如 sha256、md5 等)中獲取摘要?

這在一般情況下是不可能的,對於 SHA1 和 SHA512 的特定情況也是不可能的。長度擴展是有效的,因為 MD 雜湊迭代相同的函式,所以知道輸出你也知道一些相關的較長輸入的中間狀態。

現在有一些“不同”雜湊的情況是可能的。那是當雜湊相關時。像 SHA512 -> SHA512/500 或其他使用相同 IV 和壓縮函式的截斷散列。

在這種情況下,您可以使用正常長度擴展攻擊並截斷最終輸出。

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