Cryptanalysis

md5中使用的隧道

  • October 27, 2013

我正在閱讀論文“消息自由在 MD4 和 MD5 衝突中:應用到 APOP ”,該論文是關於為涉及隧道概念的 MD5 雜湊算法查找衝突,如“雜湊函式中的隧道:一分鐘內的 MD5 衝突”中所述。

但是我無法理解驗證點和選擇點之間的區別。他們不一樣嗎?

搜尋 MD4/MD5 衝突涉及許多不同的概念。為簡單起見,選擇差分路徑並找到消息,以便滿足差分路徑導致衝突的內部狀態值的條件。

隧道是對消息的轉換,在某些步驟之前不會影響這些條件的狀態 $ p_v-1 $ 算法,其中 $ p_v $ 被稱為驗證點:如果它們對消息 M 滿足,它們也對轉換後的消息滿足。

現在隧道很好,但還需要找到合適的消息來應用隧道。Leurent 的技術旨在找到具有特定形狀的碰撞消息,因此具有一些額外的約束。因此,他以非正統的方式建構資訊(與以前的作品如 Klima 的作品相比),以便它們僅滿足條件 $ p_c-1 $ 他將選擇點稱為算法的值 $ p_c $ . 步之間 $ p_c $ 和 $ p_v-1 $ 機率在起作用,到目前為止建構的消息中的一些自由用於等待剩餘的條件得到滿足。

首先,這取決於你如何設計雜湊函式

你可以去Hash Collisions (The Poisoned Message Attack) “愛麗絲和她的老闆的故事”了解更多。

更重要的是,我真的不明白驗證點和選擇點之間的區別。至少,這些單詞或片語不在 PDF 上下文中。

您必須考慮使用此類技術甚至使用其他算法(例如 RSA 和 AES 密鑰)的目的。MD5 本身是一種單向加密。關鍵是除非再次呼叫加密方法,否則很難找回原始密碼和其他敏感資訊。使用帶有對稱密鑰的加密更好。

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