Skip to content

jenkins-one-at-a-time bruteforcer using a meet-in-the-middle attack

Notifications You must be signed in to change notification settings

0x1F9F1/joaat-in-the-middle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Joaat Meet-In-The-Middle Attack

An implementation of a meet-in-the-middle attack on the jenkins-one-at-a-time hashing algorithm. For some more information, see my blog post.

The code is focused more on using fast algorithms, rather than micro-optimisations. This includes:

  • Using a meet-in-the-middle attack.
  • Sorting the pre-computed hashes using a multi-threaded in-place hybrid MSD-radix/insertion sort, while maintaining a mapping between the sorted hashes and their original position.
  • Reducing memory usage by compressing hashes into buckets.
  • Discarding invalid hashes using a 232-bit bitset (this could have used a bloom filter, but as the number of hashes increases, the target size of a bloom filter becomes larger than 232 bits anyway).
  • SIMD hashing
  • Multi-threaded hashing and matching
  • Using the original position of the hash to encode its string value (avoiding the need to store the string representation of each hash).
>jitm.exe $1F9F1 results.txt alphanum.txt alphanum.txt alphanum.txt alphanum.txt alphanum.txt alphanum.txt alphanum.txt alphanum.txt alphanum.txt alphanum.txt alphanum.txt
Loading hashes
Compiling...
<...>
Found 42569552 results in 15695 ms

About

jenkins-one-at-a-time bruteforcer using a meet-in-the-middle attack

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages