MD4和MD5是1990年代初提出的基本加密哈希功能。MD4由48个步骤组成,并产生一个128位哈希,给出了任意有限大小的信息。MD5是MD4的更安全的64步扩展。MD4和MD5都容易受到实际碰撞攻击的影响,但是倒置它们仍然不现实,即找到给定的消息的消息。在2007年,MD4的39个步骤版本通过减少SAT和应用CDCL求解器以及所谓的Dobbertin的约束而反转。至于MD5,在2012年,其28步版本通过CDCL求解器倒置,用于指定的哈希,而无需添加任何额外的约束。在这项研究中,将立方体构孔(CDCL和LookAhead的组合)应用于MD4和MD5的逐步减少版本。为此,提出了两种算法。第一个通过逐渐修改多伯丁的约束来为MD4产生反问题。第二算法尝试具有不同截止阈值的立方体和固定的固定阶段,以找到具有征服阶段最小运行时估计值的一个。该算法以两种模式运行:(i)估计给定命题布尔公式的硬度; (ii)不完整的SAT解决给定的令人满意的命题布尔公式。虽然第一种算法专注于倒数降级MD4,但第二个算法不是特定区域的,因此适用于各种类别的硬式SAT实例。在这项研究中,首次通过第一种算法和第二算法的估计模式倒入40-、41-,42-和43步MD4。另外,通过第二算法的不完整的SAT求解模式将28步MD5倒入四个哈希。对于其中的三个哈希,这是第一次完成。
主要关键词