Anklang 0.3.0-460-gc4ef46ba
ASE — Anklang Sound Engine (C++)

« « « Anklang Documentation
Loading...
Searching...
No Matches
Public Member Functions | List of all members
Ase::KeccakCryptoRng Class Reference

#include "randomhash.hh"

Inheritance diagram for Ase::KeccakCryptoRng:
[legend]

Public Member Functions

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

Additional Inherited Members

- Public Types inherited from Ase::KeccakRng
typedef uint64_t result_type
 Integral type of the KeccakRng generator results.
 

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.

Definition at line 370 of file randomhash.hh.

Constructor & Destructor Documentation

◆ KeccakCryptoRng() [1/2]

Ase::KeccakCryptoRng::KeccakCryptoRng ( )
explicit

Initialize and seed the generator from a system specific nondeterministic random source.

Definition at line 373 of file randomhash.hh.

References Ase::KeccakRng::auto_seed().

◆ KeccakCryptoRng() [2/2]

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

Initialize and seed the generator from seed_sequence.

Definition at line 376 of file randomhash.hh.

References Ase::KeccakRng::seed().


The documentation for this class was generated from the following file: