pub struct InequalityProtocol<'a, G: AffineRepr> {
pub id: usize,
pub inequal_to: G::ScalarField,
pub comm_key: &'a PedersenCommitmentKey<G>,
pub comm: Option<G>,
pub inequality_protocol: Option<DiscreteLogInequalityProtocol<G>>,
pub sp: Option<SchnorrProtocol<'a, G>>,
}Fields§
§id: usize§inequal_to: G::ScalarFieldThe public value with which the inequalty is being proven
comm_key: &'a PedersenCommitmentKey<G>§comm: Option<G>§inequality_protocol: Option<DiscreteLogInequalityProtocol<G>>§sp: Option<SchnorrProtocol<'a, G>>Implementations§
Source§impl<'a, G: AffineRepr> InequalityProtocol<'a, G>
impl<'a, G: AffineRepr> InequalityProtocol<'a, G>
pub fn new( id: usize, inequal_to: G::ScalarField, comm_key: &'a PedersenCommitmentKey<G>, ) -> Self
pub fn init<R: RngCore>( &mut self, rng: &mut R, comm_key_as_slice: &'a [G], message: G::ScalarField, blinding: Option<G::ScalarField>, ) -> Result<(), ProofSystemError>
pub fn challenge_contribution<W: Write>( &self, writer: W, ) -> Result<(), ProofSystemError>
pub fn gen_proof_contribution<E: Pairing<G1Affine = G>>( &mut self, challenge: &G::ScalarField, ) -> Result<StatementProof<E>, ProofSystemError>
pub fn verify_proof_contribution( &self, challenge: &G::ScalarField, proof: &InequalityProof<G>, comm_key_as_slice: &[G], resp_for_message: G::ScalarField, ) -> Result<(), ProofSystemError>
pub fn compute_challenge_contribution<W: Write>( comm_key_as_slice: &[G], proof: &InequalityProof<G>, inequal_to: &G::ScalarField, comm_key: &PedersenCommitmentKey<G>, writer: W, ) -> Result<(), ProofSystemError>
Trait Implementations§
Source§impl<'a, G: Clone + AffineRepr> Clone for InequalityProtocol<'a, G>where
G::ScalarField: Clone,
impl<'a, G: Clone + AffineRepr> Clone for InequalityProtocol<'a, G>where
G::ScalarField: Clone,
Source§fn clone(&self) -> InequalityProtocol<'a, G>
fn clone(&self) -> InequalityProtocol<'a, G>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<'a, G: Debug + AffineRepr> Debug for InequalityProtocol<'a, G>where
G::ScalarField: Debug,
impl<'a, G: Debug + AffineRepr> Debug for InequalityProtocol<'a, G>where
G::ScalarField: Debug,
Source§impl<'a, G: PartialEq + AffineRepr> PartialEq for InequalityProtocol<'a, G>where
G::ScalarField: PartialEq,
impl<'a, G: PartialEq + AffineRepr> PartialEq for InequalityProtocol<'a, G>where
G::ScalarField: PartialEq,
impl<'a, G: AffineRepr> StructuralPartialEq for InequalityProtocol<'a, G>
Auto Trait Implementations§
impl<'a, G> Freeze for InequalityProtocol<'a, G>
impl<'a, G> RefUnwindSafe for InequalityProtocol<'a, G>
impl<'a, G> Send for InequalityProtocol<'a, G>
impl<'a, G> Sync for InequalityProtocol<'a, G>
impl<'a, G> Unpin for InequalityProtocol<'a, G>
impl<'a, G> UnwindSafe for InequalityProtocol<'a, G>
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> Upcastable for T
impl<T> Upcastable for T
Source§fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
Source§fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref