pub trait SVoleReceiver
where Self: Sized,
{ type Msg: FF; // Required methods fn init<C: AbstractChannel, RNG: CryptoRng + Rng>( channel: &mut C, rng: &mut RNG, lpn_setup: LpnParams, lpn_extend: LpnParams ) -> Result<Self, Error>; fn delta(&self) -> Self::Msg; fn receive<C: AbstractChannel, RNG: CryptoRng + Rng>( &mut self, channel: &mut C, rng: &mut RNG, out: &mut Vec<Self::Msg> ) -> Result<(), Error>; fn duplicate<C: AbstractChannel, RNG: CryptoRng + Rng>( &mut self, channel: &mut C, rng: &mut RNG ) -> Result<Self, Error>; }
Expand description

Trait for an sVOLE receiver.

Required Associated Types§

source

type Msg: FF

Finite field for which sVOLEs are generated.

Required Methods§

source

fn init<C: AbstractChannel, RNG: CryptoRng + Rng>( channel: &mut C, rng: &mut RNG, lpn_setup: LpnParams, lpn_extend: LpnParams ) -> Result<Self, Error>

Runs any one-time initialization.

source

fn delta(&self) -> Self::Msg

Returns delta.

source

fn receive<C: AbstractChannel, RNG: CryptoRng + Rng>( &mut self, channel: &mut C, rng: &mut RNG, out: &mut Vec<Self::Msg> ) -> Result<(), Error>

Generates sVOLEs.

source

fn duplicate<C: AbstractChannel, RNG: CryptoRng + Rng>( &mut self, channel: &mut C, rng: &mut RNG ) -> Result<Self, Error>

Duplicates the receiver’s state.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<FE: FiniteField> SVoleReceiver for Receiver<FE>

§

type Msg = FE