SecureRand.hpp File Reference

#include "blocxx/BLOCXX_config.h"
#include "blocxx/Exception.hpp"
#include <cstdlib>
#include "blocxx/Types.hpp"

Go to the source code of this file.

Namespaces

namespace  BLOCXX_NAMESPACE
namespace  BLOCXX_NAMESPACE::Secure
namespace  BLOCXX_NAMESPACE::Secure::Impl

Classes

class  BLOCXX_NAMESPACE::SecureRandException
struct  BLOCXX_NAMESPACE::Secure::Impl::assert_unsigned_integer_type< unsigned char >
struct  BLOCXX_NAMESPACE::Secure::Impl::assert_unsigned_integer_type< unsigned short >
struct  BLOCXX_NAMESPACE::Secure::Impl::assert_unsigned_integer_type< unsigned int >
struct  BLOCXX_NAMESPACE::Secure::Impl::assert_unsigned_integer_type< unsigned long >
struct  BLOCXX_NAMESPACE::Secure::Impl::assert_unsigned_integer_type< unsigned long long >
struct  BLOCXX_NAMESPACE::Secure::Impl::assert_integer_type< char >
struct  BLOCXX_NAMESPACE::Secure::Impl::assert_integer_type< signed char >
struct  BLOCXX_NAMESPACE::Secure::Impl::assert_integer_type< short >
struct  BLOCXX_NAMESPACE::Secure::Impl::assert_integer_type< int >
struct  BLOCXX_NAMESPACE::Secure::Impl::assert_integer_type< long >
struct  BLOCXX_NAMESPACE::Secure::Impl::assert_integer_type< long long >
struct  BLOCXX_NAMESPACE::Secure::Impl::assert_integer_type< unsigned char >
struct  BLOCXX_NAMESPACE::Secure::Impl::assert_integer_type< unsigned short >
struct  BLOCXX_NAMESPACE::Secure::Impl::assert_integer_type< unsigned int >
struct  BLOCXX_NAMESPACE::Secure::Impl::assert_integer_type< unsigned long >
struct  BLOCXX_NAMESPACE::Secure::Impl::assert_integer_type< unsigned long long >
struct  BLOCXX_NAMESPACE::Secure::Impl::assert_float_type< float >
struct  BLOCXX_NAMESPACE::Secure::Impl::assert_float_type< double >
struct  BLOCXX_NAMESPACE::Secure::Impl::assert_float_type< long double >

Functions

template<typename UnsignedInt>
UnsignedInt BLOCXX_NAMESPACE::Secure::Impl::rand_uint_lt (UnsignedInt n)
template<typename Integer>
Integer BLOCXX_NAMESPACE::Secure::Impl::rand_range (Integer min_value, Integer max_value)
template<typename Real>
Real BLOCXX_NAMESPACE::Secure::Impl::rand_unit_interval ()
void BLOCXX_NAMESPACE::Secure::rand_init ()
 Initializes and seeds the cryptographic PRNG, if this has not been done already.
void BLOCXX_NAMESPACE::Secure::rand_save_state ()
unsigned char * BLOCXX_NAMESPACE::Secure::rand (unsigned char *buf, std::size_t n)
 Generates n cryptographically secure pseudo-random bytes and stores them in buf.
template<typename UnsignedInt>
UnsignedInt BLOCXX_NAMESPACE::Secure::rand_uint ()
template<typename UnsignedInt>
UnsignedInt BLOCXX_NAMESPACE::Secure::rand_uint_lt (UnsignedInt n)
template<typename Integer>
Integer BLOCXX_NAMESPACE::Secure::rand_range (Integer min_val, Integer max_val)
template<typename Real>
Real BLOCXX_NAMESPACE::Secure::rand_unit_interval ()
::pid_t BLOCXX_NAMESPACE::Secure::fork_reseed ()
 Forks and reseeds the PRNG so that a compromise of the child cannot compromise the parent's PRNG state, and a compromise of the parent cannot compromise the child's PRNG state.


Generated on Wed Feb 25 19:05:00 2009 for blocxx by  doxygen 1.5.6