pub trait Transcript<C: CurveAffine, E: EncodedChallenge<C>> {
    // Required methods
    fn squeeze_challenge(&mut self) -> E;
    fn common_point(&mut self, point: C) -> Result<()>;
    fn common_scalar(&mut self, scalar: C::Scalar) -> Result<()>;

    // Provided method
    fn squeeze_challenge_scalar<T>(&mut self) -> ChallengeScalar<C, T> { ... }
}
Expand description

Generic transcript view (from either the prover or verifier’s perspective)

Required Methods§

source

fn squeeze_challenge(&mut self) -> E

Squeeze an encoded verifier challenge from the transcript.

source

fn common_point(&mut self, point: C) -> Result<()>

Writing the point to the transcript without writing it to the proof, treating it as a common input.

source

fn common_scalar(&mut self, scalar: C::Scalar) -> Result<()>

Writing the scalar to the transcript without writing it to the proof, treating it as a common input.

Provided Methods§

source

fn squeeze_challenge_scalar<T>(&mut self) -> ChallengeScalar<C, T>

Squeeze a typed challenge (in the scalar field) from the transcript.

Implementors§

source§

impl<R: Read, C: CurveAffine> Transcript<C, Challenge255<C>> for Blake2bRead<R, C, Challenge255<C>>where C::Scalar: FromUniformBytes<64>,

source§

impl<W: Write, C: CurveAffine> Transcript<C, Challenge255<C>> for Blake2bWrite<W, C, Challenge255<C>>where C::Scalar: FromUniformBytes<64>,