Optionally distribute salts with --node, --fork, MPI
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 13.6k
- Forks
- 2.6k
- PR merge metrics
- No merged PRs in 30d
Description
We might want to introduce a mode where we'd distribute salts rather than candidate password ranges across nodes, or where they'd do both at once.
This is for the reasons given in #4035 and to improve scalability in cases when salt count is large but candidate password count alone isn't large enough to fully use the available compute resources when working on just one salt at a time. Distributing both salts and candidate passwords may also be needed when neither count alone is large enough to fully use the resources (and the hashes are so slow to compute that this matters despite of the low candidate password count).
(Historically, Crack included scripts to distribute salts across nodes. For good efficiency, this requires node count to be [much] greater than [remaining] salt count. We opted to distribute candidate passwords instead, which doesn't have that requirement, but it has other limitations as noted above. We might want to get the best of both worlds.)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue does not identify source files, tests, or entry points; begin by tracing the existing --node, --fork, and MPI candidate-distribution paths. Define the scope for optional salt distribution and combined salt/candidate distribution, then verify that the selected work is balanced across available resources and preserves existing modes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- distributed-systems, performance, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 18/100