Transcript

Trait Transcript 

Source
pub trait Transcript<D: Domain> {
    const IS_PROVER: bool = false;

    // Required methods
    fn input(&mut self) -> Wire<D>;
    fn reconstruct(&mut self, mask: D::Share) -> D::Recon;
    fn correction(&mut self, corr: D::Recon) -> D::Recon;
    fn zero_check(&mut self, recon: D::Recon);
    fn new_mask(&mut self) -> D::Share;
    fn online_hash(&self) -> [Hash; 8];
    fn preprocess_hash(&self) -> [Hash; 8];

    // Provided method
    fn hash(&self) -> [Hash; 8] { ... }
}

Provided Associated Constants§

Source

const IS_PROVER: bool = false

Required Methods§

Source

fn input(&mut self) -> Wire<D>

Source

fn reconstruct(&mut self, mask: D::Share) -> D::Recon

Reconstructs the share:

§Proving

The transcript records the mask (each share send by each party)

§Verifying (Online)

The transcript adds the missing share for the unopened players

§Verifying (Preprocessing)

Nop, just return zero.

Source

fn correction(&mut self, corr: D::Recon) -> D::Recon

Record correction:

§Proving

The transcript records the correction

§Verifying (Online)

The transcript provides the next correction (ignoring the input)

§Verifying (Preprocessing)

The transcript records the correction

Source

fn zero_check(&mut self, recon: D::Recon)

Record if the reconstructed value is zero

§Proving

Check if zero: if not the witness was invalid and the prover aborts

§Verifying (Online)

Check if zero: if zero the proof is invalid.

§Verifying (Preprocessing)

Nop. Ignore the input.

Source

fn new_mask(&mut self) -> D::Share

Source

fn online_hash(&self) -> [Hash; 8]

Return the commitment to the online phase

Source

fn preprocess_hash(&self) -> [Hash; 8]

Return the commitment to the preprocessing phase

Provided Methods§

Source

fn hash(&self) -> [Hash; 8]

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§