[−][src]Trait schnorr::BatchVerification
Trait for a batch verification of signatures.
If you are only verifying signatures, without other proofs, you can use
concrete implementation BatchVerifier
without rolling out your own.
Required methods
fn append<I, J>(
&mut self,
basepoint_scalar: I::Item,
dynamic_scalars: I,
dynamic_points: J
) where
I: IntoIterator<Item = Scalar>,
I::Item: Borrow<Scalar>,
J: IntoIterator<Item = Option<RistrettoPoint>>,
&mut self,
basepoint_scalar: I::Item,
dynamic_scalars: I,
dynamic_points: J
) where
I: IntoIterator<Item = Scalar>,
I::Item: Borrow<Scalar>,
J: IntoIterator<Item = Option<RistrettoPoint>>,
Adds scalar for multiplying by a base point and pairs of dynamic scalars/points. The API admits variable-length iterators of scalars/points for compatibility with multi-key signatures (see Musig). It is responsibility of the caller to provide iterators of scalars and points with matching lengths.
Implementors
impl BatchVerification for SingleVerifier
[src]
fn append<I, J>(
&mut self,
basepoint_scalar: I::Item,
dynamic_scalars: I,
dynamic_points: J
) where
I: IntoIterator,
I::Item: Borrow<Scalar>,
J: IntoIterator<Item = Option<RistrettoPoint>>,
[src]
&mut self,
basepoint_scalar: I::Item,
dynamic_scalars: I,
dynamic_points: J
) where
I: IntoIterator,
I::Item: Borrow<Scalar>,
J: IntoIterator<Item = Option<RistrettoPoint>>,
impl<R: RngCore + CryptoRng> BatchVerification for BatchVerifier<R>
[src]
fn append<I, J>(
&mut self,
basepoint_scalar: I::Item,
dynamic_scalars: I,
dynamic_points: J
) where
I: IntoIterator,
I::Item: Borrow<Scalar>,
J: IntoIterator<Item = Option<RistrettoPoint>>,
[src]
&mut self,
basepoint_scalar: I::Item,
dynamic_scalars: I,
dynamic_points: J
) where
I: IntoIterator,
I::Item: Borrow<Scalar>,
J: IntoIterator<Item = Option<RistrettoPoint>>,