openwall / openwall/john

Support for bcrypt(md5($p)) on FPGA or --single && --stdout?

Open
#4,261 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement new format
Dominant language
C
Stars
13.6k
Forks
2.6k
PR merge metrics
No merged PRs in 30d

Description

Not a bug but a feature request.

To audit bcrypt hashes, I use an old ZTEX clone board. Works perfect and fast compared to my 'conventional' GPU-rig (big thanks for supporting FPGAs!).

I want to audit a number of bcrypt(md5($p)) hashes now, at full ZTEX speed. The quick workaround is using --format=bcrypt-ztex --wordlist=md5_of_wordlist. However the powerful --single mode doest not work and the combination of --single and --stdout to do the same trick is not working ('Invalid options combination or duplicate option').

I understand that adding new FPGA algorithms is very complex. However, I thought that it might be doable to add format bcryptmd5-ztex where the onchanged bcrypt bitstream is used and MD5 pre and post processing is done by the CPU (since the CPU is by far fast enough to MD5 on the fly to keep the ZTEX busy).

Or more simple: is it possible to add support for --single in combination with --stdout so I can do the MD5 processing myself?

Or perhaps smarter tricks I didn't think of? :) Thank you.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the existing bcrypt-ztex format and the command-line handling for --single and --stdout. Compare the requested bcrypt(md5($p)) workflow with the md5_of_wordlist workaround, then define a testable outcome for FPGA auditing or the option combination.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
cli, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.