We broke 92% of SHA-256
Illustration of the many uses of SHA-256 in the security industry

We broke 92% of SHA-256

Full 64 rounds, 43/48 schedule compliance.

Robert Viragh1
State of Utopia
March 27, 2026

1 Email the author at: rviragh@gmail.com

Sponsor

We were sponsored by dataplay.ai - Discovery · Research · Solution · Ship. support us by signing up for free today. Your free signup pays our bills.

Abstract

We broke 92% of SHA-256 across all 64 rounds. This is an unprecedented achievement across a new metric. We wrote a paper about it which was very well-received by leading cryptographers. What this means in practice is that SHA-256 can be expected to fall to collision attacks very soon. We recommend migrating to different hash families. Below, we present the complete write-up and all necessary files to reproduce our results. We separate the research writeup from this presentation to make it easy to link to the files, since links in PDF's are difficult to follow from a browser and in order to make this presentation easier to read quickly. The text below is different from the linked PDF.

Keywords

SHA-256, differential cryptography, collision attack, semi-free-start, message schedule, SAT solving, precomputation, gap placement

Download PDF.
Our full article

1. Introduction

Secure hash functions are used to make a short version of a large file. Ideally, it has several properties including making it infeasible to find two files with the same cryptographic hash. We've just gotten 92% of the way there. This has security ramifications in that other researchers are expected to be able to complete the work through similar methods as explored in the paper. We weren't sure if this was a remarkable result, since it's not a full collision, but we shared the work with the leading cryptographer in the field, who holds the world records in reduced-round attacks, and got great encouragement to proceed to publish it as a paper, so we did so.

2. Methodology

The main approach we used was complex analytical reasoning (i.e. new theorems) combined with low-level C programming. By creating new theorems we were able to uncover new relations and find the rest through a simple search taking minutes. Although our work was hard to produce, it was easy to extend. After starting with the sr=57 finding, we were able to extend it to sr=59 through a gap insertion, and solve the rest in minutes using a solver.

3. Results

As mentioned, we've found a collision across the full 64 rounds with sr=59, corresponding to 43/48 schedule equations. The fact that we were able to achieve a result for which the solver can find a collision after the full 64 rounds is a remarkable and unprecedented one. We don't expect SHA-256 to survive collision-resistance for long after this result.

4. Reproducibility

We encourage others to reproduce our results and are making all the files you need available simply. The exact steps to reproduce the collision are in the paper. Here are the files you need, along with the PDF above:

(I renamed the .py to .py.txt to make sure I'm not running it server-side.)

5. Discussion

Our results are a world record, but importantly, it is a new kind of record: it's highly significant that the collision holds across 64 rounds, because ordinarily, every three rounds or so make the state appear more or less random - so the existing reduced-round records, while admirable, are very far from a 64-round collision. Our results are different in that we've managed to attack the full 64 rounds, and got 92% schedule compliance in doing so.

6. Can we mine bitcoin super fast?

Probably! Bitcoin mining depends on finding hashes below a certain value, called a threshold value. By exploring thousands of theorems across higher algabraic space, together with statistical tricks to cull the search space, it is possible that we'll find relations that carry across the entire double-SHA-256 pipeline and can let us solve the bitcoin proof of work challenge in minutes. If you'd like to be informed of updates along this path, check our page often. You can also sign up with our sponsor (nothing to do with bitcoin) since that will help keep our research funded.

7. Limitations

There are lots of techniques we didn't use in this work yet. Our specific approach didn't even use Wang-style message modifications, or many statistical properties that make pruning the search space far easier. We're working on this now, but with encouragement from leading researchers, we think that it's time to share our findings at this stage.

8. Conclusion

We're very happy with the results we've accomplished, and are optimistic in this research direction set here.

9. Future Work

We'd like to add more algabraic theorems to the mix as well as statistics theorems, and are working on our own version of the kissat solver based on these properties. We have gotten to a 64% solve on the full SR=64, 64-Round collision with kissat, so we think that by building our own version from algabraic and statistical facts about SHA-256 in specific, we'll be able to finish finding a collision. We've already collected 1,950 formally verified lean theorems (some of these were used for the 3.3x speedup in the present work). If we don't succeed at finding a full collision, we expect that someone else will.

10. Have you done this before

We've made an end-to-end full collision of MD5 (an outdated algorithm) based on 2008 research. You can run it on seconds on any phone or computer.

11. How can we support this work?

You can sign up for free with our sponsor dataplay.ai (Discovery · Research · Solution · Ship) to help support this work.

Appendix

You can read some of our work notes here that show great detail about the process we went through, including dates and times. We didn't realize that our results so far had such broad implications until we checked with other cryptographers, so the interim report is rather pessimistic.