mlsanityData to 14 Oct 2026

Inverting Cryptographic Hash Functions via Cube-and-Conquer

arXiv 2212.02405 ↗First posted 5 Dec 2022cs.CR cs.AIcited by 1

Not on the map. Why?

Abstract (arXiv)

MD4 and MD5 are fundamental cryptographic hash functions proposed in the early 1990s. MD4 consists of 48 steps and produces a 128-bit hash given a message of arbitrary finite size. MD5 is a more secure 64-step extension of MD4. Both MD4 and MD5 are vulnerable to practical collision attacks, yet it is still not realistic to invert them, i.e., to find a message given a hash. In 2007, the 39-step version of MD4 was inverted by reducing to SAT and applying a CDCL solver along with the so-called Dobbertin's constraints. As for MD5, in 2012 its 28-step version was inverted via a CDCL solver for one specified hash without adding any extra constraints. In this study, Cube-and-Conquer (a combination of CDCL and lookahead) is applied to invert step-reduced versions of MD4 and MD5. For this purpose, two algorithms are proposed. The first one generates inverse problems for MD4 by gradually modifying the Dobbertin's constraints. The second algorithm tries the cubing phase of Cube-and-Conquer with different cutoff thresholds to find the one with the minimum runtime estimate of the conquer phase. This algorithm operates in two modes: (i) estimating the hardness of a given propositional Boolean formula; (ii) incomplete SAT solving of a given satisfiable propositional Boolean formula. While the first algorithm is focused on inverting step-reduced MD4, the second one is not area-specific and is therefore applicable to a variety of classes of hard SAT instances. In this study, 40-, 41-, 42-, and 43-step MD4 are inverted for the first time via the first algorithm and the estimating mode of the second algorithm. Also, 28-step MD5 is inverted for four hashes via the incomplete SAT solving mode of the second algorithm. For three hashes out of them, it is done for the first time.

Key facts. Cited by 1 paper in the map (data through 14 Oct 2026). Builds on 12 of its 108 references that are in the map. First posted on arXiv 5 Dec 2022.

Builds on

12 of 108 references.

References · 12

  1. 2016Solving and Verifying the boolean Pythagorean Triples problem via Cube-and-Conquercited by 23
  2. 2019The Resolution of Keller's Conjecturecited by 8
  3. 2018On Cryptographic Attacks Using Backdoors for SATcited by 6
  4. 2018Using Automatic Generation of Relaxation Constraints to Improve the Preimage Attack on 39-step MD4cited by 3
  5. 2018Translation of Algorithmic Descriptions of Discrete Functions to SAT with Applications to Cryptanalysis Problemscited by 3
  6. 2020A SAT-based Resolution of Lam's Problemcited by 3
  7. 2015Using Monte Carlo method for searching partitionings of hard variants of Boolean satisfiability problemcited by 2
  8. 2016Encoding Cryptographic Functions to SAT Using Transalg Systemcited by 2
  9. 2016Adaptive Restart and CEGAR-based Solver for Inverting Cryptographic Hash Functionscited by 2
  10. 2020CDCL(Crypto) SAT Solvers for Cryptanalysiscited by 2
  11. 2014Computer-Aided Proof of Erdos Discrepancy Propertiescited by 1
  12. 2019Constructing Minimal Perfect Hash Functions Using SAT Technologycited by 1

Built on by

Cited by year (2026 to 14 Oct)

Citing papers per year: 2026: 1.

1 paper.