frost_ristretto255::keys::dkg

Function part3

source
pub fn part3(
    round2_secret_package: &SecretPackage,
    round1_packages: &BTreeMap<Identifier, Package>,
    round2_packages: &BTreeMap<Identifier, Package>,
) -> Result<(KeyPackage, PublicKeyPackage), Error>
Expand description

Performs the third and final part of the distributed key generation protocol for the participant holding the given round2::SecretPackage, given the received round1::Packages and round2::Packages received from the other participants.

round1_packages must be the same used in part2().

round2_packages maps the identifier of each other participant to the round2::Package they sent to the current participant (the owner of secret_package). These identifiers must come from whatever mapping the coordinator has between communication channels and participants, i.e. they must have assurance that the round2::Package came from the participant with that identifier.

It returns the KeyPackage that has the long-lived key share for the participant, and the PublicKeyPackages that has public information about all participants; both of which are required to compute FROST signatures.