Skip to main content

binius_transcript/fiat_shamir/
mod.rs

1// Copyright 2024-2025 Irreducible Inc.
2
3mod buffer;
4mod hasher_challenger;
5mod sampling;
6
7pub use buffer::*;
8use bytes::{Buf, BufMut};
9pub use hasher_challenger::HasherChallenger;
10pub use sampling::*;
11
12/// A Fiat-Shamir challenger that can observe prover messages and sample verifier randomness.
13pub trait Challenger {
14	/// Returns an infinite buffer for reading pseudo-random bytes.
15	fn sampler(&mut self) -> &mut impl Buf;
16
17	/// Returns and infinite buffer for writing data that the challenger observes.
18	fn observer(&mut self) -> &mut impl BufMut;
19}