Hash

對 MD5 進行第二次原像攻擊可行嗎?

  • July 30, 2013

MD5 wrt second-preimage的實際情況如何?

一段數據的完整性受到 MD5 雜湊的保護,它本身被假定為真實的。攻擊者知道數據(以及雜湊)。攻擊者可以更改數據,並希望在保持雜湊相同的情況下這樣做。將數據大小表示為 $ K $ ,以 512 位塊增量,並假設它可以是相當大的(例如 $ K\approx2^{35} $ ,小於一個大硬碟)。原始數據可能遵循某種模式(例如重複的 512 位塊)。在某種程度上,攻擊者甚至可以選擇原始數據中的一些數據(例如嵌入一些看似無辜的文件中);但我們必須假設攻擊者在註入之前無法預測某些數據,否則現在 針對MD5的經典 碰撞 攻擊適用。

一個通用的第二原像攻擊適用於Merkle-Damgård雜湊,有成本 $ 2^{129-k}+2^{65} $ MD5 的雜湊輪,其中 $ k=\log_2K $ ,但這並不便宜(這歸功於 RD Dean 在他 1999 年的論文第 5.3.1 節中,並且也被 J. Kelsey 和 B. Schneier 在他們 2005 年的論文中公開)。

有沒有更實用的東西浮出水面?

據我所知,在您列出的條件下,沒有實際已知的對 MD5 的第二次原像攻擊。

但是:如果攻擊者可以控制原始的任何部分,我會擔心在此設置中使用 MD5。它在這種情況下的安全性可能很脆弱,並且可能比目前文獻中的任何攻擊都更聰明。如果攻擊者控制了原始圖像的一部分,即使我們假設原始圖像在攻擊者可以控制的部分之前以一些不可預測的東西開始,我也不會驚訝地發現第二次原像攻擊是可能的。

因此,在新系統中以這種方式使用 MD5 是不明智的。(我想我不會告訴你任何你不知道的事情……)

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