pgp suffix finder

brute force pgp key id suffixes of arbitrary length

read me


Brute force PGP key ID suffixes of arbitrary length.

this project started on the 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


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.


Prepare a Go environment if you haven't done so already, for more information refer to

Install using go get:

$ go get
$ go build

Otherwise, clone into $GOPATH:

$ mkdir -p $GOPATH/
$ git clone \
$ go build


OpenPGP specification

Short key IDs are bad news

Stop it with those short PGP key IDs!