| CPC H04L 9/0825 (2013.01) [H04L 9/0866 (2013.01); H04L 9/3247 (2013.01)] | 20 Claims |

|
1. A computer-implemented method for creating and using a secret zero by a plurality of participants in a group, the secret zero representative of a master secret that protects a plurality of other secrets, the method comprising:
creating, by a computing device of each participant from among the plurality of participants, a first asymmetric key pair comprising a first public key and a first private key, wherein the first public key is broadcasted to the group;
computing, by the computing device of each participant, a second asymmetric key pair comprising a second public key and a second private key after all other participants have completed broadcasting their first public keys to the group;
computing, by the computing device of each participant, (i) a plurality of private key shares from a polynomial, (ii) a commitment to the polynomial, and (iii) a plurality of signatures for respective ones of the private key shares;
assigning, by the computing device of each participant, the plurality of private key shares among the group such that the corresponding participant retains one private key share from among the plurality of private key shares and each of the other participants in the group is assigned one private key share that is encrypted using the first public keys of the corresponding participants;
creating, by the computing device of each participant, a symmetric key and a commitment for the symmetric key;
creating, by the computing device of each participant, a message comprising the second public key, the commitment to the polynomial, the plurality of encrypted private key shares assigned to the other participants, the plurality of signatures associated with the private key shares assigned to the other participants, and the commitment of the symmetric key;
encrypting, by the computing device of each participant, the message with the corresponding symmetric key;
broadcasting, by the computing device of each participant, the encrypted message to the group of participants; and
broadcasting, by the computing device of each participant, the corresponding symmetric key to the group after all other participants have completed broadcasting their messages.
|