Hash

AES-CBC 雜湊函式抗碰撞性

  • November 4, 2021

我使用 AES-CBC 作為加密長度為 n 的塊的雜湊函式。塊,m = (m1, m2, …, mn)。IV 為一個塊長,加密密鑰長度為 128、192 或 256 位。

我會發生碰撞嗎?如果是這樣,我怎麼能找到例子?

我希望每 2^(n/2) 個雜湊找到一次沖突,但我不認為這會讓我在接下來的 10000000 年內找到任何匹配項。

我使用 AES-CBC 作為加密長度為 n 的塊的雜湊函式。塊,m = (m1, m2, …, mn)。IV 為一個塊長,加密密鑰長度為 128、192 或 256 位。

問題:

  • 關鍵是什麼?是提前確定的,還是有什麼秘密?順便說一句:如果它是“秘密”,則您沒有標準的雜湊函式(整個解密都是公開的;您可能有一個 MAC,但見下文)。
  • 什麼是雜湊輸出?它是整個加密消息,還是只是最後一個塊。

以下是可能性:

  • 如果密鑰是預先固定的,並且雜湊是整個加密消息,那麼您當然永遠不會發生衝突(因為您可以解密並取回原始消息 - 如果發生衝突,您將無法這樣做) . 當然,與原始消息一樣長的散列並不是很有趣。
  • 如果事先確定了密鑰,並且雜湊是最後一個塊,那麼很容易產生衝突(和原像)——攻擊者生成原像所需要做的就是製定消息(除了一個塊),插入已知的開始狀態(IV)和最終狀態(目標雜湊),並朝著中間工作 - 可以很容易地找到那個未指定塊的必要狀態。
  • 如果密鑰未知並且雜湊是最後一個塊,這實際上是稱為 CBC-MAC 的構造。對於固定長度的消息,這是一個不錯的消息身份驗證程式碼 - 但是,如果攻擊者可以改變消息長度,他就可以提出偽造和衝突。

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