[][src]Struct sigma_fun::CompactProof

pub struct CompactProof<S: Sigma> {
    pub challenge: GenericArray<u8, S::ChallengeLength>,
    pub response: S::Response,
}

A proof produced by FiatShamir.

It is called "compact" becasue it includes the challenge instead of all the announcements. It is advantageous to include the announcements instead if you are implementing batch verification for the underlying group's Sigma protocol but this isn't implemented yet.

Fields

challenge: GenericArray<u8, S::ChallengeLength>

C

response: S::Response

R

Trait Implementations

impl<S: Clone + Sigma> Clone for CompactProof<S> where
    S::ChallengeLength: Clone,
    S::Response: Clone
[src]

impl<S: Debug + Sigma> Debug for CompactProof<S> where
    S::ChallengeLength: Debug,
    S::Response: Debug
[src]

impl<'de, S: Sigma> Deserialize<'de> for CompactProof<S> where
    S::Response: Deserialize<'de>, 
[src]

impl<S: PartialEq + Sigma> PartialEq<CompactProof<S>> for CompactProof<S> where
    S::ChallengeLength: PartialEq,
    S::Response: PartialEq
[src]

impl<S: Sigma> Serialize for CompactProof<S> where
    S::Response: Serialize
[src]

impl<S: Sigma> StructuralPartialEq for CompactProof<S>[src]

Auto Trait Implementations

impl<S> RefUnwindSafe for CompactProof<S> where
    <<S as Sigma>::ChallengeLength as ArrayLength<u8>>::ArrayType: RefUnwindSafe,
    <S as Sigma>::Response: RefUnwindSafe
[src]

impl<S> Send for CompactProof<S> where
    <S as Sigma>::ChallengeLength: ArrayLength<u8>,
    <S as Sigma>::Response: Send
[src]

impl<S> Sync for CompactProof<S> where
    <S as Sigma>::ChallengeLength: ArrayLength<u8>,
    <S as Sigma>::Response: Sync
[src]

impl<S> Unpin for CompactProof<S> where
    <<S as Sigma>::ChallengeLength as ArrayLength<u8>>::ArrayType: Unpin,
    <S as Sigma>::Response: Unpin
[src]

impl<S> UnwindSafe for CompactProof<S> where
    <<S as Sigma>::ChallengeLength as ArrayLength<u8>>::ArrayType: UnwindSafe,
    <S as Sigma>::Response: UnwindSafe
[src]

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> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

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

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

impl<T> Mark for T[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,