Skip to content

arthaud/gpg-algorithms

Repository files navigation

GPG-algorithms

GPG-algorithms is a repository for tools working on all GPG keys. GPG-algorithms is based on sks-keyserver

For now :

  • listall can display all GPG keys
  • gcd can compute the gcd of each pair of GPG keys, see below

Build

To build the project, you need ocaml, cryptokit, GMP and SFML.

On Archlinux, simply run yaourt -S ocaml gmp sfml ocaml-cryptokit

After, you just have to run make dep and then make all

You may need to update COMMONCAMLFLAGS in the Makefile to set the path for cryptokit.

Fetch all GPG keys

To run on all GPG keys, you need a keydump.

These keydumps are available on some key servers, and are updated about each week. The complete keydump is around 4GB large.

Quoting sks-keyserver wiki :

You can use fetchall to easily fetch a keydump.

GCD

When you have a flaw in a random number generator and that you are generating RSA keys, it is possible that you choose twice the same p. That makes your keys vulnerable, because someone could compute the gcd of each pair of keys and find this p, and so break our keys.

The idea here is to compute the gcd of each pair of RSA keys.

  • First, make a dump of all RSA keys by running ./exportrsa *.pgp > dump_rsa
  • Then, run ./gcd dump_rsa

A distributed version is available, see ./gcd_server.py -h and ./gcd_client -h

TODO

  • graph to generate a graph of all of the signature relationships in GPG

About

Tools working on all GPG keys

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published