openwall / openwall/john

Single mode performance

Open
#3,467 17 comments 3 reactions 1 assignee View on GitHub

@magnumripper is already working on this.

Since Nov 22, 2018.

enhancement RFC / discussion
Dominant language
C
Stars
13.6k
Forks
2.6k
PR merge metrics
No merged PRs in 30d

Description

Single mode is one of JtR's most important features and AFAIK no other cracker has anything near it. But it's very relatively slow, mostly (or solely) due to rules processing. The fact GPU formats normally can't be used doesn't help, of course.

I intend to have a look-see & brainstorm for improvements. NOTE: The rules engine is a separate issue #3468.

  • Perhaps some minor redesign could make it better suited for GPU?
  • Audit / profile for bottlenecks. Jumbo may well have some bottleneck that John proper doesn't have.
  • Perhaps optionally (opt-in) have word triples in addition to word pairs. This could dramatically increase the number of words produced. New rules commands needed would obviously include 3 for referencing the third word, put possibly also some others: We have + now, for "the concatenation of both" but perhaps it's enough to just change that to "for concatenation of all". We also have a -p reject flag "reject this rule unless word pair commands are currently allowed" so we'd add a -t flag for "reject this rule unless word triple commands are currently allowed" (note that this would also early-reject when word triples are not opted-in by some option).

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.