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.