Struct ocelot::edabits::ProverConv
source · pub struct ProverConv<FE: FiniteField> { /* private fields */ }
Expand description
Prover for the edabits conversion protocol
Implementations§
source§impl<FE: FiniteField<PrimeField = FE>> ProverConv<FE>
impl<FE: FiniteField<PrimeField = FE>> ProverConv<FE>
sourcepub fn init<C: AbstractChannel, RNG: CryptoRng + Rng>(
channel: &mut C,
rng: &mut RNG,
lpn_setup: LpnParams,
lpn_extend: LpnParams
) -> Result<Self, Error>
pub fn init<C: AbstractChannel, RNG: CryptoRng + Rng>( channel: &mut C, rng: &mut RNG, lpn_setup: LpnParams, lpn_extend: LpnParams ) -> Result<Self, Error>
initialize the prover
sourcepub fn random_edabits<C: AbstractChannel, RNG: CryptoRng + Rng>(
&mut self,
channel: &mut C,
rng: &mut RNG,
nb_bits: usize,
num: usize
) -> Result<Vec<EdabitsProver<FE>>, Error>
pub fn random_edabits<C: AbstractChannel, RNG: CryptoRng + Rng>( &mut self, channel: &mut C, rng: &mut RNG, nb_bits: usize, num: usize ) -> Result<Vec<EdabitsProver<FE>>, Error>
generate random edabits
sourcepub fn random_triples<C: AbstractChannel, RNG: CryptoRng + Rng>(
&mut self,
channel: &mut C,
rng: &mut RNG,
num: usize,
out: &mut Vec<(MacProver<F40b>, MacProver<F40b>, MacProver<F40b>)>
) -> Result<(), Error>
pub fn random_triples<C: AbstractChannel, RNG: CryptoRng + Rng>( &mut self, channel: &mut C, rng: &mut RNG, num: usize, out: &mut Vec<(MacProver<F40b>, MacProver<F40b>, MacProver<F40b>)> ) -> Result<(), Error>
Generate random triples
sourcepub fn conv<C: AbstractChannel, RNG: CryptoRng + Rng>(
&mut self,
channel: &mut C,
rng: &mut RNG,
num_bucket: usize,
num_cut: usize,
edabits_vector: &[EdabitsProver<FE>],
bucket_channels: Option<Vec<SyncChannel<BufReader<TcpStream>, BufWriter<TcpStream>>>>,
with_quicksilver: bool
) -> Result<(), Error>
pub fn conv<C: AbstractChannel, RNG: CryptoRng + Rng>( &mut self, channel: &mut C, rng: &mut RNG, num_bucket: usize, num_cut: usize, edabits_vector: &[EdabitsProver<FE>], bucket_channels: Option<Vec<SyncChannel<BufReader<TcpStream>, BufWriter<TcpStream>>>>, with_quicksilver: bool ) -> Result<(), Error>
conversion checking
Auto Trait Implementations§
impl<FE> Freeze for ProverConv<FE>where
<<<<FE as FiniteField>::PrimeField as IsSubFieldOf<FE>>::DegreeModulo as AnyArrayLength>::OutputArrayLength<FE> as ArrayLength<FE>>::ArrayType: Freeze,
impl<FE> RefUnwindSafe for ProverConv<FE>where
FE: RefUnwindSafe,
<<<<FE as FiniteField>::PrimeField as IsSubFieldOf<FE>>::DegreeModulo as AnyArrayLength>::OutputArrayLength<FE> as ArrayLength<FE>>::ArrayType: RefUnwindSafe,
<FE as FiniteField>::PrimeField: RefUnwindSafe,
impl<FE> Send for ProverConv<FE>
impl<FE> Sync for ProverConv<FE>
impl<FE> Unpin for ProverConv<FE>
impl<FE> UnwindSafe for ProverConv<FE>where
FE: UnwindSafe,
<<<<FE as FiniteField>::PrimeField as IsSubFieldOf<FE>>::DegreeModulo as AnyArrayLength>::OutputArrayLength<FE> as ArrayLength<FE>>::ArrayType: UnwindSafe,
<FE as FiniteField>::PrimeField: UnwindSafe,
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