Trait vsss_rs::FeldmanVerifierSet

source ·
pub trait FeldmanVerifierSet<G: Group + GroupEncoding + Default>: Sized {
    // Required methods
    fn empty_feldman_set_with_capacity(size_hint: usize, generator: G) -> Self;
    fn generator(&self) -> G;
    fn verifiers(&self) -> &[G];
    fn verifiers_mut(&mut self) -> &mut [G];

    // Provided methods
    fn feldman_set_with_generator_and_verifiers(
        generator: G,
        verifiers: &[G]
    ) -> Self { ... }
    fn verify_share<I: ShareIdentifier, S: Share<Identifier = I>>(
        &self,
        share: &S
    ) -> VsssResult<()> { ... }
}
Expand description

Objects that represent the ability to verify shamir shares using Feldman verifiers

Required Methods§

source

fn empty_feldman_set_with_capacity(size_hint: usize, generator: G) -> Self

Create a new verifier set

source

fn generator(&self) -> G

The generator used for the verifiers

source

fn verifiers(&self) -> &[G]

The verifiers

source

fn verifiers_mut(&mut self) -> &mut [G]

The verifiers as writeable

Provided Methods§

source

fn feldman_set_with_generator_and_verifiers( generator: G, verifiers: &[G] ) -> Self

Create a verifier set from an existing set of verifiers and generator

source

fn verify_share<I: ShareIdentifier, S: Share<Identifier = I>>( &self, share: &S ) -> VsssResult<()>

Verify a share with this set

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<G: Group + GroupEncoding + Default> FeldmanVerifierSet<G> for Vec<G>

source§

fn empty_feldman_set_with_capacity(size_hint: usize, generator: G) -> Self

source§

fn generator(&self) -> G

source§

fn verifiers(&self) -> &[G]

source§

fn verifiers_mut(&mut self) -> &mut [G]

source§

impl<G: Group + GroupEncoding + Default, L: ArrayLength> FeldmanVerifierSet<G> for GenericArray<G, L>

source§

fn empty_feldman_set_with_capacity(_size_hint: usize, generator: G) -> Self

source§

fn generator(&self) -> G

source§

fn verifiers(&self) -> &[G]

source§

fn verifiers_mut(&mut self) -> &mut [G]

source§

impl<G: Group + GroupEncoding + Default, const L: usize> FeldmanVerifierSet<G> for [G; L]

source§

fn empty_feldman_set_with_capacity(_size_hint: usize, generator: G) -> Self

source§

fn generator(&self) -> G

source§

fn verifiers(&self) -> &[G]

source§

fn verifiers_mut(&mut self) -> &mut [G]

Implementors§