The Distributed Privacy Guard (DKGPG) implements Distributed Key
Generation (DKG) and Threshold Cryptography for OpenPGP. The
generated public keys are RFC4880 compatible and can be used by e.g.
GnuPG. The main purpose of this software is distributing power among
multiple parties, eliminating single points of failure, and
increasing the difficulty of side-channel attacks on private key
DKGPG consists of a number of command-line programs. The current implementation
is in experimental state and should NOT be used in production environments.
A shared private key and a common public key (currently only
DSA/ElGamal) are generated. Further interactive protocols perform the
private operations like decryption and signing of files, provided
that a previously defined threshold of parties/devices take part in
the distributed computation. Due to the interactiveness of the
protocols, a lot of messages between participating parties have to be
exchanged in a secure way. GNUnet's mesh-routed CADET srvice is used
to establish private and broadcast channels for this message
exchange. A TCP/IP-based service is included as an alternative. It
may be combined with torsocks and NAT of a local hidden service.