pub struct Proof(pub [u8; 80]);Expand description
pi_string = Gamma || c || s.
Tuple Fields§
§0: [u8; 80]Implementations§
Source§impl Proof
impl Proof
Sourcepub fn verify(
&self,
public_key: &PublicKey,
alpha: &[u8],
) -> Result<Output, Error>
pub fn verify( &self, public_key: &PublicKey, alpha: &[u8], ) -> Result<Output, Error>
RFC 9381 §5.3, ECVRF_verify with validate_key = TRUE. Returns
beta_string on success.
Syscall budget: 2 two-term multiscalar multiplications
(U = s·B - c·Y, V = s·H - c·Gamma), 6 additions (8·H', 8·Gamma),
plus one validation per try-and-increment attempt. Y and Gamma are
not validated separately: the multiscalar multiplications decompress
them and fail on a bad encoding, so an explicit check would only add a
syscall each. The small-order check on Y is a table lookup.
Trait Implementations§
impl Copy for Proof
impl Eq for Proof
impl StructuralPartialEq for Proof
Auto Trait Implementations§
impl Freeze for Proof
impl RefUnwindSafe for Proof
impl Send for Proof
impl Sync for Proof
impl Unpin for Proof
impl UnsafeUnpin for Proof
impl UnwindSafe for Proof
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more