pub trait WordIPProverChannel<F: Field>: IPProverChannel<F> {
type Word: Clone + From<Word> + Shr<u32, Output = Self::Word>;
// Required methods
fn observe_words(&mut self, words: &[Self::Word]);
fn sample_bits(&mut self, bits: usize) -> Self::Word;
}Expand description
A prover channel whose protocol carries 64-bit words alongside field elements.
The prover-side counterpart of
WordIPVerifierChannel. It carries only the
operations both parties perform — lifting constants, observing, shifting and sampling — since
the arithmetic over a word’s bits is the verifier’s alone.
Required Associated Types§
Required Methods§
Sourcefn observe_words(&mut self, words: &[Self::Word])
fn observe_words(&mut self, words: &[Self::Word])
Feeds words into the Fiat-Shamir state, each as eight little-endian bytes.
Sourcefn sample_bits(&mut self, bits: usize) -> Self::Word
fn sample_bits(&mut self, bits: usize) -> Self::Word
Samples a uniform word of the given bit width, matching what the verifier samples.
The result is masked to bits bits.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".