#include "randomhash.hh"
Public Member Functions | |
KeccakGoodRng () | |
template<class SeedSeq > | |
KeccakGoodRng (SeedSeq &seed_sequence) | |
![]() | |
void | auto_seed () |
size_t | bit_capacity () const |
void | discard (unsigned long long count) |
void | forget () |
template<typename RandomAccessIterator > | |
void | generate (RandomAccessIterator begin, RandomAccessIterator end) |
KeccakRng (const KeccakRng &)=default | |
KeccakRng (uint16_t hidden_state_capacity, uint16_t n_rounds) | |
result_type | max () const |
result_type | min () const |
size_t | n_nums () const |
result_type | operator() () |
uint64_t | random () |
void | seed (const uint64_t *seeds, size_t n_seeds) |
template<class SeedSeq > | |
void | seed (SeedSeq &seed_sequence) |
void | seed (uint64_t seed_value=1) |
void | xor_seed (const uint64_t *seeds, size_t n_seeds) |
~KeccakRng () | |
Additional Inherited Members | |
![]() | |
typedef uint64_t | result_type |
KeccakGoodRng - A KeccakF1600 based good quality pseudo-random number generator. This class provides very good random numbers, using the KeccakF1600 algorithm without the extra security margins applied for SHA3 hash generation. This improves performance significantly without noticably trading random number quality. For cryptography grade number generation KeccakCryptoRng should be used instead.
|
explicit |
Initialize and seed the generator from a system specific nondeterministic random source.
|
explicit |
Initialize and seed the generator from seed_sequence.