Hash
MD5 - 選擇前綴衝突攻擊
給定 2 條消息 $ m_1 $ 和 $ m_2 $ ,在選擇前綴攻擊中,我們想要找到 $ s_1 $ 和 $ s_2 $ 這樣:
$ \text{MD5}(m_1 || s_1) = \text{MD5}(m_2 || s_2) $
是 $ s_1 $ 和 $ s_2 $ 通過蠻力找到或有一些規則可以建構 $ s_1 $ 和 $ s_2 $ 基於 $ m_1 $ 和 $ m_2 $ ?
答案是由於史蒂文斯等人。人的工作;
- MD5 和應用程序的選擇前綴衝突,2012。
他們表明,大約 $ 2^{39} $ 呼叫 MD5 壓縮函式,對於任何選擇的 $ m_1 $ 和 $ m_2 $ ,構造 $ s_1 $ 和 $ s_2 $ 這樣$$ \text{MD5} (m_1\mathbin|s_1) = \text{MD5} (m_2\mathbin|s_2) $$
他們還給出了衝突文件、軟體完整性檢查等的範例……