Universal distributed key generation on two-party computation in cryptographic networks
Implementations of the present disclosure are directed to a universal distributed key generation (DKG) between computing devices for private key sharing in cryptographic networks. The universal DKG of the present disclosure overcomes deficiencies of traditional approaches to DKG in generating key pairs. The universal DKG provides time- and resource-efficient generation of cryptographic keys for multiple elliptic curves to enable entities to transact in multiple cryptographic networks. More particularly, the universal DKG simplifies management of cryptographic keys, while accelerating the key generation process without compromising security.
1 . A computer-implemented method for universal distributed key generation (DKG) between computing devices for cryptographic transactions in multiple cryptographic networks, comprising:
defining a set of elliptic curves comprising two or more elliptic curves corresponding to a set of cryptographic networks, each elliptic curve being associated with a respective cryptographic network;
receiving, by a first computing device, a first sub-set of parameters of a first set of parameters and a second sub-set of parameters of a second set of parameters generated by a second computing device using the set of elliptic curves, the first sub-set of parameters comprising a commitment and the second sub-set of parameters comprising a first verification value;
determining, by the first computing device, a third set of parameters and a fourth set of parameters using the set of elliptic curves;
transmitting, by the first computing device and to the second computing device, a third sub-set of parameters of the third set of parameters and a fourth sub-set of parameters of the fourth set of parameters, the third sub-set of parameters comprising a first set of public key shares and the fourth sub-set of parameters comprising a first set of verification parameters and a set of verification values, the first set of public key shares being generated by the first computing device using a first private key share;
receiving, by the first computing device, a fifth sub-set of parameters of the first set of parameters and a sixth sub-set of parameters of the second set of parameters, the fifth sub-set of parameters comprising a second set of public key shares and the sixth sub-set of parameters comprising a second set of verification parameters and a second verification value, the second set of public key shares being generated by the second computing device using a second private key share; and
determining, by the first computing device, a set of shared public keys, the first computing device using the first private key share to generate signatures in any of cryptographic network in the set of cryptographic networks.
2 . The computer-implemented method of claim 1 , wherein determining, by the first computing device, a set of shared public keys is executed in response to determining that a set of verifications is successful, the set of verifications being executed based on the fifth sub-set of parameters and the sixth sub-set of parameters.
3 . The computer-implemented method of claim 2 , wherein a verification in the set of verifications comprises calculating, by the first computing device, an expected commitment and comparing the expected commitment to the commitment received from the second computing device.
4 . The computer-implemented method of claim 1 , wherein the second computing device transmits the fifth sub-set of parameters and the sixth sub-set of parameters in response to determining that a set of verifications is successful, the set of verifications being executed based on the third sub-set of parameters and the fourth sub-set of parameters.
5 . The computer-implemented method of claim 1 , wherein the second computing device uses the second private key share to generate signatures in any of cryptographic network in the set of cryptographic networks.
6 . The computer-implemented method of claim 1 , further comprising:
generating, by the first computing device, a first partial signature in a first cryptographic network of the set of cryptographic networks using the first private key share; and
generating, by the second computing device, a second partial signature in the first cryptographic network using the second private key share, the first partial signature and the second partial signature being combined within the first cryptographic network to provide a first signature.
7 . The computer-implemented method of claim 6 , further comprising:
generating, by the first computing device, a third partial signature in a second cryptographic network of the set of cryptographic networks using the first private key share; and
generating, by the second computing device, a fourth partial signature in the first cryptographic network using the second private key share, the third partial signature and the fourth partial signature being combined within the second cryptographic network to provide a second signature.
8 . The computer-implemented method of claim 1 , wherein the commitment is generated as a hash of the second set of public key shares.
9 . The computer-implemented method of claim 1 , wherein the first verification value is generated as a hash of the second set of public key shares and the second set of verification parameters.
10 . The computer-implemented method of claim 1 , wherein a verification value of the set of verification values is generated as a hash of the first set of public key shares and the first set of verification parameters.