Struct fungtaai::Fortuna
[−]
[src]
pub struct Fortuna<P: Prf, H: Hash, T: Time> { /* fields omitted */ }
9.5 Accumulator
The accumulator collects real random data from various sources and uses it to reseed the generator.
Methods
impl<P, H, T> Fortuna<P, H, T> where
P: Prf,
H: Hash,
T: Time,
[src]
P: Prf,
H: Hash,
T: Time,
fn new(clock: T) -> Self
[src]
9.5.4 Initialization
Initialization is, as always, a simple function. So far we’ve only talked about the generator and the accumulator, but the functions we are about to define are part of the external interface of Fortuna. Their names reflect the fact that they operate on the whole prng.
fn random_data(&mut self, r: &mut [u8]) -> Result<(), Error>
[src]
9.5.5 Getting Random Data
This is not quite a simple wrapper around the generator component of the prng, because we have to handle the reseeds here.
fn add_random_event(&mut self, s: u8, i: usize, e: &[u8])
[src]
9.5.6 Add an Event
Random sources call this routine when they have another random event. Note that the random sources are each uniquely identified by a source number. We will not specify how to allocate the source numbers because the solution depends on the local situation.