pgp suffix finder

brute force pgp key id suffixes of arbitrary length

read me


pgp-suffix-finder

Brute force PGP key ID suffixes of arbitrary length.

this project started on the unix.chat irc when someone said we all needed k-rad hexspeak gpg keys. before we were done discussing it maze had already coded a tool in go for us. he's recently been mia and i wanted to mirror this cool tool in case he ghosts.

:rotating_light: Warning! :rotating_light:

This tool can brute force any (short) PGP key suffix, use it for good; e.g. creating vanity key IDs. Don't use it to generate collisions and annoy other PGP users. Thanks

Requirements

A recent Go version will give you the SIMD variant of the SHA1 algorithm. ~~You need GnuPG available as gpg.~~ Versions 1.4.20 & 2.0.30 are tested and work properly, 2.1.x and above do not work!

the code has been updated to use a binary called gpg1 (use this aur package {,as your guide}) to allow version 1.4.x and the newest to co-exist on your system.

if you do install an appropriate binary named gpg update lines 267 and 299 in main.go as necessary.

Building

Prepare a Go environment if you haven't done so already, for more information refer to https://golang.org/doc/install

Install using go get:

$ go get github.com/xero/pgp-suffix-finder
$ go build github.com/xero/pgp-suffix-finder

Otherwise, clone into $GOPATH:

$ mkdir -p $GOPATH/github.com/xero
$ git clone https://github.com/xero/pgp-suffix-finder \
    $GOPATH/github.com/xero/pgp-suffix-finder
$ go build github.com/xero/pgp-suffix-finder

References

OpenPGP specification

https://tools.ietf.org/html/rfc4880

Short key IDs are bad news

http://www.asheesh.org/note/debian/short-key-ids-are-bad-news.html

Stop it with those short PGP key IDs!

http://gwolf.org/node/4070