ndn::random Namespace Reference

Typedefs

using RandomNumberEngine = std::mt19937
 

Functions

void generateSecureBytes (uint8_t *bytes, size_t size)
 Fill bytes of size with cryptographically secure random bytes. More...
 
uint32_t generateSecureWord32 ()
 Generate a cryptographically secure random integer from the range [0, 2^32) More...
 
uint64_t generateSecureWord64 ()
 Generate a cryptographically secure random integer from the range [0, 2^64) More...
 
uint32_t generateWord32 ()
 Generate a non-cryptographically-secure random integer in the range [0, 2^32) More...
 
uint64_t generateWord64 ()
 Generate a non-cryptographically-secure random integer in the range [0, 2^64) More...
 
RandomNumberEnginegetRandomNumberEngine ()
 Returns a reference to a thread-local instance of a properly seeded PRNG. More...
 

Typedef Documentation

◆ RandomNumberEngine

using ndn::random::RandomNumberEngine = typedef std::mt19937

Definition at line 56 of file random.hpp.

Function Documentation

◆ generateSecureBytes()

void ndn::random::generateSecureBytes ( uint8_t *  bytes,
size_t  size 
)

Fill bytes of size with cryptographically secure random bytes.

Exceptions
std::runtime_errorif generation fails.

Definition at line 45 of file random.cpp.

◆ generateSecureWord32()

uint32_t ndn::random::generateSecureWord32 ( )

Generate a cryptographically secure random integer from the range [0, 2^32)

Exceptions
std::runtime_errorif generation fails.

Definition at line 29 of file random.cpp.

◆ generateSecureWord64()

uint64_t ndn::random::generateSecureWord64 ( )

Generate a cryptographically secure random integer from the range [0, 2^64)

Exceptions
std::runtime_errorif generation fails.

Definition at line 37 of file random.cpp.

◆ generateWord32()

uint32_t ndn::random::generateWord32 ( )

Generate a non-cryptographically-secure random integer in the range [0, 2^32)

This version is faster than generateSecureWord32, but it must not be used when cryptographically secure random integers are needed (e.g., when creating signing or encryption keys)

Definition at line 66 of file random.cpp.

◆ generateWord64()

uint64_t ndn::random::generateWord64 ( )

Generate a non-cryptographically-secure random integer in the range [0, 2^64)

This version is faster than generateSecureWord64, but it must not be used when cryptographically secure random integers are needed (e.g., when creating signing or encryption keys)

Definition at line 73 of file random.cpp.

◆ getRandomNumberEngine()

RandomNumberEngine & ndn::random::getRandomNumberEngine ( )

Returns a reference to a thread-local instance of a properly seeded PRNG.

Warning
The returned RandomNumberEngine MUST NOT be used when cryptographically secure random numbers are needed.

Definition at line 54 of file random.cpp.