HOME

TheInfoList



OR:

Distributed key generation (DKG) is a cryptographic process in which multiple parties contribute to the calculation of a shared public and private key set. Unlike most
public key encryption Public-key cryptography, or asymmetric cryptography, is the field of cryptographic systems that use pairs of related keys. Each key pair consists of a public key and a corresponding private key. Key pairs are generated with cryptographic al ...
models, distributed key generation does not rely on Trusted Third Parties. Instead, the participation of a
threshold Threshold may refer to: Architecture * Threshold (door), the sill of a door Media * ''Threshold'' (1981 film) * ''Threshold'' (TV series), an American science fiction drama series produced during 2005-2006 * "Threshold" (''Stargate SG-1''), ...
of honest parties determines whether a key pair can be computed successfully. Distributed key generation prevents single parties from having access to a private key. The involvement of many parties requires Distributed key generation to ensure secrecy in the presence of
malicious Malicious may refer to: Films and video games * ''Malicious'' (1973 film) (''Malizia''), an Italian comedy starring Laura Antonelli * ''Malicious'' (1995 film), an American thriller starring Molly Ringwald * ''Malicious'' (2018 film), an Americ ...
contributions to the key calculation. Distributed Key Generation is commonly used to decrypt shared ciphertexts or create group
digital signature A digital signature is a mathematical scheme for verifying the authenticity of digital messages or documents. A valid digital signature, where the prerequisites are satisfied, gives a recipient very high confidence that the message was created b ...
s.


History

Distributed key generation protocol was first specified by Torben Pedersen in 1991. This first model depended on the security of the Joint-Feldman Protocol for verifiable secret sharing during the secret sharing process. In 1999, Rosario Gennaro, Stanislaw Jarecki, Hugo Krawczyk, and
Tal Rabin Tal Rabin ( Hebrew: טל רבין, born 1962) is a computer scientist and Professor of Computer and Information Science at the University of Pennsylvania. She was previously the head of Research at the Algorand Foundation and the head of the c ...
produced a series of security proofs demonstrating that Feldman verifiable secret sharing was vulnerable to malicious contributions to Pedersen's distributed key generator that would leak information about the shared private key. The same group also proposed an updated distributed key generation scheme preventing malicious contributions from impacting the value of the private key.


Methods

The distributed key generation protocol specified by Gennaro, Jarecki, Krawczyk, and Rabin assumes that a group of players has already been established by an honest party prior to the key generation. It also assumes the communication between parties is synchronous. # All parties use Pedersen's verifiable secret sharing protocol to share the results of two random polynomial functions. # Every party then verifies all the shares they received. If verification fails, the recipient broadcasts a complaint for the party whose share failed. Each accused party then broadcasts their shares. Each party then has the opportunity to verify the broadcast shares or disqualify accused parties. All parties generate a common list of non-disqualified parties. # Each non-disqualified party broadcasts a set of values constructed by raising a common generator to the power of each value used in one polynomial in Part 1. # These broadcast values are verified by each party similarly to as in Part 2. When a verification fails, the party now broadcasts both the values received in Part 1 and the values received in Part 3. For each party with verifiable complaints, all other parties reconstruct their own value sets in order to eliminate disqualified contributions. # The group computes the private key as the product of every qualified contribution (each qualified party's random polynomial evaluated at 0).


Avoiding the Synchrony Assumption

In 2009, Aniket Kate and Ian Goldberg presented a Distributed key generation protocol suitable for use over the Internet. Unlike earlier constructions, this protocol does not require a broadcast channel or the synchronous communication assumption, and
ready-to-use library
is available.


Robustness

In many circumstances, a robust distributed key generator is necessary. Robust generator protocols can reconstruct public keys in order to remove malicious shares even if malicious parties still remain in the qualified group during the reconstruction phase. For example, robust multi-party digital signatures can tolerate a number of malicious users roughly proportionate to the length of the modulus used during key generation.


Sparse Evaluated DKG

Distributed key generators can implement a sparse evaluation matrix in order to improve efficiency during verification stages. Sparse evaluation can improve run time from O(nt) (where n is the number of parties and t is the threshold of malicious users) to O(log^3n). Instead of robust verification, sparse evaluation requires that a small set of the parties verify a small, randomly picked set of shares. This results in a small probability that the key generation will fail in the case that a large number of malicious shares are not chosen for verification.


Applications

Distributed key generation and distributed key cryptography are rarely applied over the internet because of the reliance on synchronous communication. Distributed key cryptography is useful in
key escrow Key escrow (also known as a "fair" cryptosystem) is an arrangement in which the keys needed to decrypt encrypted data are held in escrow so that, under certain circumstances, an authorized third party may gain access to those keys. These third pa ...
services where a company can meet a threshold to decrypt a ciphertext version of private key. This way a company can require multiple employees to recover a private key without giving the escrow service a plaintext copy. Distributed key generation is also useful in server-side password authentication. If password hashes are stored on a single server, a breach in the server would result in all the password hashes being available for attackers to analyze offline. Variations of distributed key generation can authenticate user passwords across multiple servers and eliminate
single points of failure A single point of failure (SPOF) is a part of a system that, if it fails, will stop the entire system from working. SPOFs are undesirable in any system with a goal of high availability or reliability, be it a business practice, software ap ...
. Distributed key generation is more commonly used for group digital signatures. This acts as a form of voting, where a threshold of group members would have to participate in order for the group to digitally sign a document.


References

{{Cryptography navbox , public-key Public-key cryptography