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

    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];

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

Provided Associated Constants

Required Methods

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.

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

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.

Return the commitment to the online phase

Return the commitment to the preprocessing phase

Provided Methods

Implementors