Ase::KeccakCryptoRng class

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.

Base classes

class KeccakRng

Public types

using result_type = uint64_t
Integral type of the KeccakRng generator results.

Constructors, destructors, conversion operators

KeccakCryptoRng() explicit
Initialize and seed the generator from a system specific nondeterministic random source.
template <class SeedSeq>
KeccakCryptoRng(SeedSeq& seed_sequence) explicit
Initialize and seed the generator from seed_sequence.

Public functions

void auto_seed()
Seed the generator from a system specific nondeterministic random source.
auto bit_capacity() const →  size_t
Amount of bits used to store hidden random number generator state.
void discard(unsigned long long count)
void forget()
template <typename RandomAccessIterator>
void generate(RandomAccessIterator begin, RandomAccessIterator end)
Fill the range [begin, end) with random unsigned integer values.
auto max() const →  result_type
Maximum of the result type, for uint64_t that is 18446744073709551615.
auto min() const →  result_type
Minimum of the result type, for uint64_t that is 0.
auto n_nums() const →  size_t
Amount of 64 bit random numbers per generated block.
auto operator()() →  result_type
Generate uniformly distributed 32 bit pseudo random number.
auto random() →  uint64_t
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.
template <class SeedSeq>
void seed(SeedSeq& seed_sequence)
Seed the generator state from a seed_sequence.
void xor_seed(const uint64_t* seeds, size_t n_seeds)