Struct ark_transcript::Reader
source · pub struct Reader(_);
Expand description
Shake128 transcript style XoF reader, used for both Fiat-Shamir challenges and witnesses.
Implementations§
source§impl Reader
impl Reader
sourcepub fn read_bytes(&mut self, buf: &mut [u8])
pub fn read_bytes(&mut self, buf: &mut [u8])
Read bytes from the transcript into the buffer.
sourcepub fn read_byte_array<const N: usize>(&mut self) -> [u8; N]
pub fn read_byte_array<const N: usize>(&mut self) -> [u8; N]
Read bytes from the transcript. Always succeed fully.
sourcepub fn read_uniform<T: UniformRand>(&mut self) -> T
pub fn read_uniform<T: UniformRand>(&mut self) -> T
Sample a T
using ark_std:::UniformRand
Arkworks always does rejection sampling so far, so constant-time-ness depends the object being sampled.
sourcepub fn read_reduce<F: Field>(&mut self) -> F
pub fn read_reduce<F: Field>(&mut self) -> F
Sample a field element using reduction mod the order.
Trait Implementations§
source§impl Read for Reader
impl Read for Reader
Read bytes from the transcript. Always succeed fully.
Auto Trait Implementations§
impl RefUnwindSafe for Reader
impl Send for Reader
impl Sync for Reader
impl Unpin for Reader
impl UnwindSafe for Reader
Blanket Implementations§
source§impl<R> Rng for Rwhere
R: RngCore + ?Sized,
impl<R> Rng for Rwhere R: RngCore + ?Sized,
source§fn gen<T>(&mut self) -> Twhere
Standard: Distribution<T>,
fn gen<T>(&mut self) -> Twhere Standard: Distribution<T>,
source§fn gen_range<T, R>(&mut self, range: R) -> Twhere
T: SampleUniform,
R: SampleRange<T>,
fn gen_range<T, R>(&mut self, range: R) -> Twhere T: SampleUniform, R: SampleRange<T>,
Generate a random value in the given range. Read more
source§fn sample<T, D>(&mut self, distr: D) -> Twhere
D: Distribution<T>,
fn sample<T, D>(&mut self, distr: D) -> Twhere D: Distribution<T>,
Sample a new value, using the given distribution. Read more
source§fn sample_iter<T, D>(self, distr: D) -> DistIter<D, Self, T>where
D: Distribution<T>,
Self: Sized,
fn sample_iter<T, D>(self, distr: D) -> DistIter<D, Self, T>where D: Distribution<T>, Self: Sized,
Create an iterator that generates values using the given distribution. Read more
source§fn gen_bool(&mut self, p: f64) -> bool
fn gen_bool(&mut self, p: f64) -> bool
Return a bool with a probability
p
of being true. Read moresource§fn gen_ratio(&mut self, numerator: u32, denominator: u32) -> bool
fn gen_ratio(&mut self, numerator: u32, denominator: u32) -> bool
Return a bool with a probability of
numerator/denominator
of being
true. I.e. gen_ratio(2, 3)
has chance of 2 in 3, or about 67%, of
returning true. If numerator == denominator
, then the returned value
is guaranteed to be true
. If numerator == 0
, then the returned
value is guaranteed to be false
. Read more