Distributed Key Generation and Its Applications by Aniket Pundlik Kate A thesis presented to the University of Waterloo in ful llment of the thesis requirement for the degree of Doctor of Philosophy in Computer Science Waterloo, Ontario, Canada, 2010 c Aniket Pundlik Kate 2010. Distributed key generation (DKG) has been studied extensively in the cryptographic litera-ture. However, it has never been examined outside of the synchronous setting, and the known DKG protocols cannot guarantee safety or liveness over the Internet. In this work, we present the rst realistic DKG protocol for use over the Internet. The distributed generation of private keys. The distributed generation of private keys is accomplished by using multiple FUSION nodes in consensus. Each node only generates and saves part of the private key, and does not transmit and assemble the private key fragments. Jul 04, 2012  Cryptology ePrint Archive: Report 2012/377. Distributed Key Generation in the Wild. Aniket Kate and Yizhou Huang and Ian Goldberg. Abstract: Distributed key generation (DKG) has been studied extensively in the cryptographic literature.However, it has never been examined outside of the synchronous setting, and the known DKG protocols cannot guarantee safety or liveness over the Internet. Although distributed key generation (DKG) has been studied for some time, it has never been examined outside of the synchronous setting. We present the first realistic DKG architecture for use over the Internet. We propose a practical system model and define an.

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 models, distributed key generation does not rely on Trusted Third Parties.[1] Instead, the participation of a threshold of honest parties determines whether a key pair can be computed successfully.[2] 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 contributions to the key calculation.[1]

Distributed Key Generation is commonly used to decrypt shared ciphertexts or create group digital signatures.[2]


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.[3]

In 1999, Rosario Gennaro, Stanislaw Jarecki, Hugo Krawczyk, and Tal Rabin 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.[4] The same group also proposed an updated distributed key generation scheme preventing malicious contributions from impacting the value of the private key.



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.[4]

  1. All parties use Pedersen's verifiable secret sharing protocol to share the results of two random polynomial functions.
  2. 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.
  3. 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.
  4. 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.
  5. The group computes the private key as the product of every qualified contribution (each qualified party's random polynomial evaluated at 0).[4]

Avoiding the Synchrony Assumption[edit]

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


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.[4] 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.[6]

Sparse Evaluated DKG[edit]

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){displaystyle O(nt)} (where n{displaystyle n} is the number of parties and t{displaystyle t} is the threshold of malicious users) to O(log3n){displaystyle O(log^{3}n)}. 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.[7]


Distributed key generation and distributed key cryptography are rarely applied over the internet because of the reliance on synchronous communication.[4]

Distributed key cryptography is useful in key escrow 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.[1]

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.[8][9]

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.[2]


  1. ^ abcKate, Aniket; Goldberg, Ian (2010). Distributed Private-Key Generators for Identity Based Cryptography. Security and Cryptography for Networks. Lecture Notes in Computer Science. 6280. pp. 436–453. CiteSeerX10.1.1.389.4486. doi:10.1007/978-3-642-15317-4_27. ISBN978-3-642-15316-7.
  2. ^ abcBoldyreva, Alexandra (2003). Threshold Signatures, Multisignatures and Blind Signatures Based on the Gap-Diffie-Hellman-Group Signature Scheme(PDF). Public Key Cryptography. Lecture Notes in Computer Science. 2567. pp. 31–46. doi:10.1007/3-540-36288-6_3. ISBN978-3-540-00324-3.
  3. ^Pedersen, T. P. (1992). 'Non-Interactive and Information-Theoretic Secure Verifiable Secret Sharing'. Advances in Cryptology — CRYPTO '91. Lecture Notes in Computer Science. 576. pp. 129–140. doi:10.1007/3-540-46766-1_9. ISBN978-3-540-55188-1.
  4. ^ abcdeGennaro, Rosario; Jarecki, Stanislaw; Krawczyk, Hugo; Rabin, Tal (24 May 2006). 'Secure Distributed Key Generation for Discrete-Log Based Cryptosystems'. Journal of Cryptology. 20 (1): 51–83. CiteSeerX10. doi:10.1007/s00145-006-0347-3.
  5. ^Kate, Aniket; Goldberg, Ian (2006). 'Distributed Key Generation for the Internet'. IEEE ICDCS. doi:10.1109/ICDCS.2009.21.
  6. ^Castelluccia, Claude; Jarecki, Stanisław; Kim, Jihye; Tsudik, Gene (2006). 'Secure acknowledgment aggregation and multisignatures with limited robustness'. Computer Networks. 50 (10): 1639–1652. doi:10.1016/j.comnet.2005.09.021.
  7. ^Canny, John; Sorkin, Steve (2004). Practical Large-scale Distributed Key Generation(PDF). Advances in Cryptography - EUROCRYPT 2004. Lecture Notes in Computer Science. 3027. pp. 138–152. CiteSeerX10. doi:10.1007/978-3-540-24676-3_9. ISBN978-3-540-21935-4.
  8. ^MacKenzie, Philip; Shrimpton, Thomas; Marcus, Jakobsson (2006). 'Threshold Password-authenticated Key Exchange'. Journal of Cryptology. 19 (1): 27–66. CiteSeerX10. doi:10.1007/s00145-005-0232-5.
  9. ^Jarecki, Stanislaw; Kiayias, Aggelos; Krawczyk, Hugo (2014). 'Round-Optimal Password-Protected Secret Sharing and T-PAKE in the Password-Only model'(PDF). Cryptology ePrint Archive. 650. Retrieved 5 November 2014.
Retrieved from 'https://en.wikipedia.org/w/index.php?title=Distributed_key_generation&oldid=919050761'

The private key for a Comodo Code signing certificate is generated by the browser during certificate enrollment. When the submit button is pressed, a key pair of the selected size is generated. The private key is encrypted and stored in the local key database.

Comodo recommends using Internet Explorer 8+ on Windows and Firefox on Mac for certificate enrollment as it is both easy to apply and convenient for the user. To apply for a Code signing certificate, visit the below URL..


1. Microsoft Internet Explorer: IE uses the CertEnroll/XEnroll ActiveX control to generate and install certificates through the browser.

2. Mozilla Firefox: This browser supports key generation and certificate installation by default through the <keygen> function and special certificate file type handling.

Note: While Firefox supports in-browser certificate installation, it uses its own keystore to store the certificate and is not shared with other applications. Installing through Internet Explorer will install the certificate to the Windows Certificate Manager which is used by other applications such as Microsoft Office, Outlook, and Google Chrome. For this reason, Internet Explorer is recommended.

3. Microsoft Edge:Neither the <keygen> nor the CertEnroll/XEnroll ActiveX controls are present in Microsoft's new Edge browser.

4.Google Chrome: As of Chrome 49, the <keygen> function has been disabled by default and digital certificate file types are downloaded instead of installed. While the keygen function can manually be enabled, the custom filetype handling is still removed, therefore installation through Google Chrome is not supported.


Note: From Chromium Version 49, 'Key Generation' feature is no longer supported. So, please DO NOTuse any Chromium based browser for S/MIME certificate enrollment.

Some examples of Chromium Based browsers are, Google Chrome, Yandex Browser, Opera.

In case you mistakenly used Chrome initially to apply for the certificate, then you must ignore the current certificate and go with the replacement option.

Distributed Energy Generation

  • If you are a direct customer of Comodo, Login to your account > Code Signing Certificates > 'Replace'. For this process, you must use Internet Explorer or Firefox just like we mentioned earlier.
  • If you purchased this certificate from one of our re-sellers, then contact them for replacing your certificate.

Distributed Generation Pdf

Related Articles:

Coments are closed
Scroll to top