openwall / openwall/john

Add support for cracking very old GPG keys

Open
#3,273 6 comments 2 reactions 1 assignee View on GitHub

@kholia is already working on this.

Since Jun 19, 2018.

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

Description

Links,

Quick notes,

On CentOS 7,

$ gpg --homedir . --s2k-cipher-algo idea --s2k-mode 0 --simple-sk-checksum --gen-key

$ pgpdump secring.gpg
...
Old: Secret Key Packet(tag 5)(931 bytes)
	Ver 4 - new
	Public key creation time - Tue Jun 19 15:04:57 IST 2018
	Pub alg - RSA Encrypt or Sign(pub 1)
	RSA n(2048 bits) - ...
	RSA e(17 bits) - ...
	Sym alg - IDEA(sym 1)
	Simple string-to-key(s2k 0):
		Hash alg - SHA1(hash 2


$ pgpdump newold.asc
Old: Secret Key Packet(tag 5)(928 bytes)
	Ver 3 - old
	Public key creation time - Tue Jun 19 00:59:57 IST 2018
	Valid days - 0[0 is forever]
	Pub alg - RSA Encrypt or Sign(pub 1)
	RSA n(2048 bits) - ...
	RSA e(5 bits) - ...
	Sym alg - IDEA(sym 1)
	Simple string-to-key for IDEA
	IV - 4c 24 29 7b 7d fe f2 3d
	Encrypted RSA d(2046 bits) - ...
	Encrypted RSA p(1024 bits) - ...
	Encrypted RSA q(1024 bits) - ...
	Encrypted RSA u(1022 bits) - ...
	Checksum - 52 27


It seems that we don't support this (i.e. Simple string-to-key for IDEA) S2K yet.

Note: Rejecting such keys and avoiding false negatives would be helpful for now.

CC @solardiz.

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.