Distributed Privacy Guard - Summary
This group 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, dkg-keysign, dkg-revoke, dkg-refresh, dkg-timestamp, and the interactive version of dkg-decrypt with GNUnet support 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,
- zlib Compression Library (libz) - providing functions to decompress ZIP/GZIP data, and
- optional Library for data compression (libbzip2) - providing functions to decompress BZIP2 data.
Registration Date: Sun 24 Sep 2017 12:45:44 PM UTC
License: GNU General Public License v2 or later
Development Status: 4 - Beta
posted by stamer, Sun 02 Jun 2019 10:53:22 AM UTC
This release adds a lot of features to some programs: two new options ("-K" and "-f") allow dkg-keysign to read the certification key from a keyring instead of a single key block file. Moreover, with option "-a" an interactive confirmation by the user is required for each signature. Passive support of V5 keys (cf. [...]
posted by stamer, Sun 28 Apr 2019 11:43:52 AM UTC
Some small improvements have been applied for dkg-generate: Two new options ("-u" and "-N") allow providing the initial user ID and to disable the passphrase at command line. Moreover, since this release dkg-timestamp and dkg-timestamp-verify require a special key usage flag from a recent draft RFC 4880bis to select so-called [...]
posted by stamer, Sun 09 Dec 2018 05:51:13 PM UTC
In this release AEAD support (cf. draft RFC 4880bis) has been added for dkg-encrypt and dkg-decrypt. Please note that it requires LibTMCG version >= 1.3.16 and at least libgcrypt version >= 1.7.0 for OCB mode. Moreover, if dkg-generate is called with the new option "--timestamping" then a corresponding key usage flag from draft RFC 4880bis is set. Other changes are marginal.
posted by stamer, Mon 12 Nov 2018 04:37:44 PM UTC
This release improves the possibilities of DKGPG further. With the new programs dkg-adduid and dkg-revuid an user ID can be added and revoked, respectively. The program dkg-revoke now supports a human-readable reason for revocation (by option "-R") and dkg-decrypt verifies an included signature according to a given keyring (option "-k"). Last but not least, by the program dkg-addrevoker an external revocation key can be specified.
![](/images/Savannah.theme/contexts/admin.png)
![](/images/Savannah.theme/contexts/admin.png)
![](/images/Savannah.theme/contexts/admin.png)
- Browse open items
Submit a new item
Powered by Savane 3.13-7f26.
Corresponding source code