INNER CODE UNIT · Rust

challenge

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

fn challenge<C>(
    R: &Element<C>,
    verifying_key: &VerifyingKey<C>,
    msg: &[u8],
) -> Result<Challenge<C>, Error<C>>
where
    C: Ciphersuite,
{
    let mut preimage = Vec::new();

    preimage.extend_from_slice(<C::Group>::serialize(R)?.as_ref());
    preimage.extend_from_slice(<C::Group>::serialize(&verifying_key.to_element())?.as_ref());
    preimage.extend_from_slice(msg);

    Ok(Challenge(C::H2(&preimage[..])))
}

/// Generates a random nonzero scalar.

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…