Skip to content

Class Ase::KeccakCryptoRng

ClassList > Ase > KeccakCryptoRng

More...

  • #include <randomhash.hh>

Inherits the following classes: Ase::KeccakRng

Public Types inherited from Ase::KeccakRng

See Ase::KeccakRng

Type Name
typedef uint64_t result_type
Integral type of the KeccakRng generator results.

Public Functions

Type Name
KeccakCryptoRng ()
Initialize and seed the generator from a system specific nondeterministic random source.
KeccakCryptoRng (SeedSeq & seed_sequence)
Initialize and seed the generator from seed_sequence .

Public Functions inherited from Ase::KeccakRng

See Ase::KeccakRng

Type Name
KeccakRng (const KeccakRng &) = default
KeccakRng (uint16_t hidden_state_capacity, uint16_t n_rounds)
Create an unseeded Keccak PRNG with specific capacity and number of rounds, for experts only.
void auto_seed ()
Seed the generator from a system specific nondeterministic random source.
size_t bit_capacity () const
Amount of bits used to store hidden random number generator state.
void discard (unsigned long long count)
void forget ()
void generate (RandomAccessIterator begin, RandomAccessIterator end)
Fill the range [begin, end) with random unsigned integer values.
result_type max () const
Maximum of the result type, for uint64_t that is 18446744073709551615.
result_type min () const
Minimum of the result type, for uint64_t that is 0.
size_t n_nums () const
Amount of 64 bit random numbers per generated block.
result_type operator() ()
Generate uniformly distributed 32 bit pseudo random number.
uint64_t random ()
void seed (uint64_t seed_value=1)
Reinitialize the generator state using a 64 bit seed_value .
void seed (const uint64_t * seeds, size_t n_seeds)
Reinitialize the generator state using a nuber of 64 bit seeds .
void seed (SeedSeq & seed_sequence)
Seed the generator state from a seed_sequence .
void xor_seed (const uint64_t * seeds, size_t n_seeds)
~KeccakRng ()
The destructor resets the generator state to avoid leaving memory trails.

Detailed Description

KeccakCryptoRng - A KeccakF1600 based cryptographic quality pseudo-random number generator. The quality of the generated pseudo random numbers is comaparable to the hash output of SHAKE128.

Public Functions Documentation

function KeccakCryptoRng [1/2]

inline explicit Ase::KeccakCryptoRng::KeccakCryptoRng () 

function KeccakCryptoRng [2/2]

template<class SeedSeq>
inline explicit Ase::KeccakCryptoRng::KeccakCryptoRng (
    SeedSeq & seed_sequence
) 


The documentation for this class was generated from the following file /__w/anklang/anklang/ase/randomhash.hh