Typedefs | |
using | RandomNumberEngine = std::mt19937 |
Functions | |
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... | |
void | generateSecureBytes (uint8_t *bytes, size_t size) |
Fill bytes of size with cryptographically secure random bytes. More... | |
RandomNumberEngine & | getRandomNumberEngine () |
Returns a reference to a thread-local instance of a properly seeded PRNG. 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... | |
using ndn::random::RandomNumberEngine = typedef std::mt19937 |
Definition at line 56 of file random.hpp.
uint32_t ndn::random::generateSecureWord32 | ( | ) |
Generate a cryptographically secure random integer from the range [0, 2^32)
std::runtime_error | if generation fails. |
Definition at line 29 of file random.cpp.
References generateSecureBytes().
uint64_t ndn::random::generateSecureWord64 | ( | ) |
Generate a cryptographically secure random integer from the range [0, 2^64)
std::runtime_error | if generation fails. |
Definition at line 37 of file random.cpp.
References generateSecureBytes().
Referenced by ndn::security::tpm::BackEnd::constructAsymmetricKeyName().
void ndn::random::generateSecureBytes | ( | uint8_t * | bytes, |
size_t | size | ||
) |
Fill bytes
of size
with cryptographically secure random bytes.
std::runtime_error | if generation fails. |
Definition at line 45 of file random.cpp.
References NDN_THROW, and ndn::to_string().
Referenced by generateSecureWord32(), and generateSecureWord64().
RandomNumberEngine & ndn::random::getRandomNumberEngine | ( | ) |
Returns a reference to a thread-local instance of a properly seeded PRNG.
Definition at line 54 of file random.cpp.
Referenced by nfd::fw::RandomStrategy::afterReceiveInterest(), nfd::fw::NccStrategy::doPropagate(), generateWord32(), generateWord64(), nfd::fw::asf::ProbingModule::isProbingNeeded(), and nfd::rib::randomizeTimer().
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.
References getRandomNumberEngine().
Referenced by ndn::Interest::getNonce(), and ndn::Interest::refreshNonce().
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.
References getRandomNumberEngine().
Referenced by ndn::security::CommandInterestPreparer::prepareCommandInterestName().