INNER CODE UNIT · Rust

aggregate_custom

ZcashFoundation/frost · frost-core/src/lib.rs:596

pub fn aggregate_custom<C>(
    signing_package: &SigningPackage<C>,
    signature_shares: &BTreeMap<Identifier<C>, round2::SignatureShare<C>>,
    pubkeys: &keys::PublicKeyPackage<C>,
    cheater_detection: CheaterDetection,
) -> Result<Signature<C>, Error<C>>
where
    C: Ciphersuite,
{
    // Check if signing_package.signing_commitments and signature_shares have
    // the same set of identifiers, and if they are all in pubkeys.verifying_shares.
    if signing_package.signing_commitments().len() != signature_shares.len() {
        return Err(Error::UnknownIdentifier);
    }

    if let Some(min) = pubkeys.min_signers() {
        if signature_shares.len() < min as usize {
            return Err(Error::IncorrectNumberOfShares);

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…