[][src]Struct nazgul::sag::SAG

pub struct SAG { /* fields omitted */ }

Spontaneous Anonymous Group (SAG) signatures

This non-linkable ring signature that allows spontaneous groups, provided here for conceptual clarity

Please read tests at the bottom of the source code for this module for examples on how to use it

Trait Implementations

impl Sign<Scalar, Vec<RistrettoPoint>> for SAG[src]

fn sign<Hash: Digest<OutputSize = U64> + Clone, CSPRNG: CryptoRng + RngCore + Default>(
    k: Scalar,
    ring: Vec<RistrettoPoint>,
    message: &Vec<u8>
) -> SAG
[src]

To sign you need k your private key, and ring which is the public keys of everyone except you. You are signing the message

impl Verify for SAG[src]

fn verify<Hash: Digest<OutputSize = U64> + Clone>(
    signature: SAG,
    message: &Vec<u8>
) -> bool
[src]

To verify a signature you need the message too

Auto Trait Implementations

impl RefUnwindSafe for SAG

impl Send for SAG

impl Sync for SAG

impl Unpin for SAG

impl UnwindSafe for SAG

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.