Add native yescrypt support
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 13.6k
- Forks
- 2.6k
- PR merge metrics
- No merged PRs in 30d
Description
Although we have and use yescrypt in the tree, we currently only use it to provide scrypt (for several formats), but not native yescrypt. For Linux distros that have started to use native yescrypt hashes via libxcrypt (ALT Linux, Kali Linux) and for those that support them (Fedora 29+), these hashes can currently be cracked by using --format=crypt. However, this is suboptimal (memory is getting (de)allocated all the time, which slows things down) and non-portable (the hashes cannot be cracked on a system that doesn't have yescrypt support in its libcrypt). We should add the support into JtR itself, possibly in the same format with scrypt. (A next task then would be also supporting yescrypt ROM.)
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
Start by reading the existing yescrypt and scrypt implementation and the crypt format handling in John the Ripper. Determine how native yescrypt hashes are represented and how support can avoid relying on the system's libcrypt. Done means native yescrypt hashes can be cracked portably and efficiently, while ROM support remains a separate follow-up.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- cryptography, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100