openssl-enc: Warn about the ASCII percentage feature
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 13.6k
- Forks
- 2.6k
- PR merge metrics
- No merged PRs in 30d
Description
Our openssl-enc format suffers from producing lots of false positives. Indeed, by default we only check the padding, and we require 1+ byte of padding, which means we get one false positive per approx. every 255.75 passwords tested.
Our openssl2john.py has a command-line option to specify the required ASCII percentage in the last AES block for detecting a correct guess. Unfortunately, this won't work right on encrypted binary files, and on the other hand this feature is obscure - someone getting the false positives wouldn't know to use it. For both of these aspects, we should probably print warnings, respectively, about the risk of false negatives in case the file's last encryption block is non-ASCII and about considering use of this feature if it is not enabled.
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 tracing the openssl-enc handling and the openssl2john.py option for the required ASCII percentage. Determine where warnings can distinguish a non-ASCII final encryption block from an unset ASCII-percentage check; done means both risks are clearly reported without misrepresenting binary files.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, python
- Domain
- cryptography, security
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100