Go Back   Exetools > General > Source Code


Thread Tools Display Modes
Old 08-02-2020, 07:11
chants chants is offline
Join Date: Jul 2016
Posts: 594
Rept. Given: 10
Rept. Rcvd 35 Times in 21 Posts
Thanks Given: 535
Thanks Rcvd at 867 Times in 405 Posts
chants Reputation: 35
SHA1 preimage SAT solver

SHA1-SAT translated for Windows: https://github.com/vegard/sha1-sat
Espresso heuristic logic minimizer translated for Windows: https://src.fedoraproject.org/lookaside/extras/espresso-ab/espresso-ab-1.0.tar.gz/
Python script that gives an idea how to use the output - with IDA Pro 7.2 known password example, and 3 other unknown password examples already ready.

The projects are included (SHA1-SAT requires boost to build), with binaries for SHA1-SAT and espresso, but I also provide some rather large SAT instance files already generated. The python script can then be used if the SAT instance files (.cnf) are locatable.

Unfortunately, it needs real work to get it able to beat hashcat which is already too slow. 7*12=84 unknown bits (since high bit is always 0 for printable characters). It can easily hand 7, 14 or 21 unknown bits. After that it starts to get really slow.

Would be interesting if some properties of the Boolean equations allowed for finding anything in the preimage such as equivalence of certain bits, or if bad prefixes could be found quickly to narrow it down. SAT solvers have a particularly difficult time on crypto hash algorithms as is well known though. It is probably out of reach without further research.

Thought I would share in case anyone is interested.
Reply With Quote
The Following 4 Users Say Thank You to chants For This Useful Post:
chessgod101 (08-02-2020), Mendax47 (08-03-2020), p4r4d0x (08-03-2020), yoza (08-02-2020)

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On

Similar Threads
Thread Thread Starter Forum Replies Last Post
SHA1 Collider TechLord General Discussion 0 03-01-2017 07:06
SHA1 has been broken! Anticode General Discussion 9 02-17-2005 07:13

All times are GMT +8. The time now is 16:59.

Always Your Best Friend: Aaron, JMI, ahmadmansoor, ZeNiX
( 1998 - 2021 )