mainDistributed Privacy Guard - Summary

Membership Info
Project Admin:
1 active member

Group identification
Id: #11776
System Name: dkgpg
Name: Distributed Privacy Guard
Group Type: non-GNU software and documentation

Search in this Group


This project is not part of the GNU Project.

The Distributed Privacy Guard implements Distributed Key Generation (DKG) and Threshold Cryptography for OpenPGP. The generated public keys are compatible with the standard and thus can be used by any RFC4880-compliant application (e.g. GnuPG). The main purposes of this software are

  • distributing power among multiple parties,
  • eliminating single points of failure, and
  • increasing the difficulty of side-channel attacks on private key material.

Due to the interactiveness of the protocols a lot of messages between participating parties have to be exchanged in a secure way. We employ GNUnet, and in particular its mesh routed CADET service, to establish private and broadcast channels for this message exchange. A reliable broadcast protocol from LibTMCG is used as mechanism to achieve some validity, consistency, and totality in a most likely asynchronous communication environment. However, there are still some limitations due to the predefined timeout values. Such problems may be recognized by looking for timeout error messages on STDERR.

Please note that for building dkg-generate, dkg-sign and the interactive version of dkg-decrypt the development files for a very recent GNUnet version (at least v0.11.x, which is when writing these lines still not yet released) must be present at configure-time resp. compile-time of DKGPG. However, as alternative to GNUnet a simple TCP/IP based service for message exchange is included. With torsocks and port-forwarding of a hidden service this allows running the interactive programs over the well-known Tor network.

The package depends on following free software libraries:

  • LibTMCG - providing the advanced cryptographic protocols for DKG and Threshold Cryptography,
  • GNU Crypto Library (libgcrypt) - providing basic cryptographic primitives (e.g. randomness, message digests, and symmetric ciphers),
  • GNU Multiple Precision Arithmetic Library (libgmp) - providing basic mathematical operations on large integers.

Registration Date: Sun 24 Sep 2017 12:45:44 PM UTC
License: GNU General Public License v2 or later
Development Status: 4 - Beta


Latest News rss feed
Distributed Privacy Guard 1.0.5 released
     posted by stamer, Fri 09 Feb 2018 03:43:33 PM UTC - 0 replies

Major improvements have been achieved in this release: For signing of a OpenPGP public key (certification) the program dkg-keysign was added. With dkg-keycheck and the option "-r" some basic checks on RSA keys can be performed. Two new ...

[Read more]
Distributed Privacy Guard 1.0.4 released
     posted by stamer, Sun 24 Dec 2017 08:37:45 AM UTC - 0 replies

Since this release not required OpenPGP packets will be ignored.

Distributed Privacy Guard 1.0.3 released
     posted by stamer, Sun 10 Dec 2017 11:22:36 AM UTC - 0 replies

Only small bugfixes are included in this release. However, the most recent version of LibTMCG is required to recognize some important library changes (e.g. increased S2K count for secret key encryption).

Distributed Privacy Guard 1.0.2 released
     posted by stamer, Sun 03 Dec 2017 09:38:05 AM UTC - 0 replies

This release brings small improvements for dkg-keyinfo and fixes some bugs and memory leaks. It also adjusts the flags of shared DSA keys generated with dkg-generate due to a hidden RFC 4880 requirement. DKGPG now additionally contains the program dkg-keycheck for analyzing public DSA and ElGamal keys w.r.t. some basic properties.

[Submit News]
[6 news in archive]

Back to the top

Powered by Savane 3.1-cleanup1