pub struct LabradorVerifier<'a> {
pub pp: &'a PublicPrams,
pub st: &'a Statement,
pub tr: &'a Challenges,
}
Fields§
§pp: &'a PublicPrams
§st: &'a Statement
§tr: &'a Challenges
Implementations§
Source§impl<'a> LabradorVerifier<'a>
impl<'a> LabradorVerifier<'a>
pub fn new(pp: &'a PublicPrams, st: &'a Statement, tr: &'a Challenges) -> Self
Sourcepub fn verify(
&self,
proof: &Proof,
ep: &EnvironmentParameters,
) -> Result<bool, VerifierError>
pub fn verify( &self, proof: &Proof, ep: &EnvironmentParameters, ) -> Result<bool, VerifierError>
All check conditions are from page 18
Sourcepub fn check_relation(
a_primes: &[PolyVector],
b_primes: &PolyRing,
g: &[PolyVector],
h: &[PolyVector],
) -> bool
pub fn check_relation( a_primes: &[PolyVector], b_primes: &PolyRing, g: &[PolyVector], h: &[PolyVector], ) -> bool
line 18, page 18: check if \sum(a_{ij} * g_{ij}) + \sum(h_{ii}) - b ?= 0 in the verifier process, page 18 from the paper.
param: a_primes: a_{ij}^{‘’(k)} param: b_primes: b^{‘’(k)} param: g: g_{ij} param: h: h_{ii}
return: true if the relation holds, false otherwise
Auto Trait Implementations§
impl<'a> Freeze for LabradorVerifier<'a>
impl<'a> RefUnwindSafe for LabradorVerifier<'a>
impl<'a> Send for LabradorVerifier<'a>
impl<'a> Sync for LabradorVerifier<'a>
impl<'a> Unpin for LabradorVerifier<'a>
impl<'a> UnwindSafe for LabradorVerifier<'a>
Blanket Implementations§
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