pub struct Blake3Transcript { /* private fields */ }Expand description
A cryptographic transcript implementation using the BLAKE3 hash function. Used for Fiat-Shamir transformations in zero-knowledge proof systems.
Implementations§
Trait Implementations§
Source§impl Clone for Blake3Transcript
impl Clone for Blake3Transcript
Source§fn clone(&self) -> Blake3Transcript
fn clone(&self) -> Blake3Transcript
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for Blake3Transcript
impl Debug for Blake3Transcript
Source§impl Default for Blake3Transcript
impl Default for Blake3Transcript
Source§impl Transcript for Blake3Transcript
impl Transcript for Blake3Transcript
Source§fn get_challenge<T: ConstTranscribable>(&mut self) -> T
fn get_challenge<T: ConstTranscribable>(&mut self) -> T
Generates a pseudorandom transcribable value as a challenge based on the
current transcript state, updating it.
fn get_prime<R: ConstIntSemiring + ConstTranscribable, T: PrimalityTest<R>>( &mut self, ) -> R
Source§fn absorb_inner(&mut self, v: &[u8])
fn absorb_inner(&mut self, v: &[u8])
Absorbs a byte slice into the hash sponge.
This updates the internal state of the hasher with the provided data.
Should not be used directly.
fn get_field_challenge<F: PrimeField>(&mut self, cfg: &F::Config) -> Fwhere
F::Inner: ConstTranscribable,
Source§fn get_field_challenges<F: PrimeField>(
&mut self,
n: usize,
cfg: &F::Config,
) -> Vec<F>where
F::Inner: ConstTranscribable,
fn get_field_challenges<F: PrimeField>(
&mut self,
n: usize,
cfg: &F::Config,
) -> Vec<F>where
F::Inner: ConstTranscribable,
Generates a pseudorandom transcribable values as challenges based on the
current transcript state, updating it.
Source§fn get_challenges<T: ConstTranscribable>(&mut self, n: usize) -> Vec<T>
fn get_challenges<T: ConstTranscribable>(&mut self, n: usize) -> Vec<T>
Generates a pseudorandom transcribable values as challenges based on the
current transcript state, updating it.
fn get_random_field_cfg<F, FMod, T>(&mut self) -> F::Configwhere
F: PrimeField,
FMod: ConstTranscribable + ConstIntSemiring,
F::Modulus: FromRef<FMod>,
T: PrimalityTest<FMod>,
Source§fn absorb_slice(&mut self, buf: &[u8])
fn absorb_slice(&mut self, buf: &[u8])
Absorbs a byte slice into the transcript.
Source§fn absorb_random_field<F>(&mut self, v: &F, buf: &mut [u8])where
F: PrimeField,
F::Inner: Transcribable,
F::Modulus: Transcribable,
fn absorb_random_field<F>(&mut self, v: &F, buf: &mut [u8])where
F: PrimeField,
F::Inner: Transcribable,
F::Modulus: Transcribable,
Absorbs a field element into the transcript.
Delegates to the field element’s implementation of
absorb_into_transcript.
Source§fn absorb_random_field_slice<F>(&mut self, v: &[F], buf: &mut [u8])where
F: PrimeField,
F::Inner: Transcribable,
F::Modulus: Transcribable,
fn absorb_random_field_slice<F>(&mut self, v: &[F], buf: &mut [u8])where
F: PrimeField,
F::Inner: Transcribable,
F::Modulus: Transcribable,
Absorbs a slice of field element into the transcript.
Delegates to the field element’s implementation of
absorb_into_transcript.
Auto Trait Implementations§
impl Freeze for Blake3Transcript
impl RefUnwindSafe for Blake3Transcript
impl Send for Blake3Transcript
impl Sync for Blake3Transcript
impl Unpin for Blake3Transcript
impl UnsafeUnpin for Blake3Transcript
impl UnwindSafe for Blake3Transcript
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more