openwall / openwall/john

openssl-enc: Warn about the ASCII percentage feature

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

Nobody has claimed this yet.

enhancement
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

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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.