ucc::Random Class Reference

Crytographically relevant random numbers. More...

#include <secure.h>

Static Public Member Functions

static size_t fill (unsigned char *memory, size_t size)
 Fill memory with pseudo-random values.
static int get (int min, int max)
 Get a pseudo-random integer in a preset range.
static int get (void)
 Get a pseudo-random integer, range 0 - 32767.
static size_t key (unsigned char *memory, size_t size)
 Get high-entropy random data.
static double real (double min, double max)
 Get a pseudo-random floating point value in a preset range.
static double real (void)
 Get a pseudo-random floating point value.
static void seed (void)
 Re-seed pseudo-random generation and entropy pools.
static bool seed (const unsigned char *buffer, size_t size)
 Push entropic seed.
static bool status (void)
 Determine if we have sufficient entropy to return random values.

Detailed Description

Crytographically relevant random numbers.

This is used both to gather entropy pools and pseudo-random values.

Author:
David Sugar <dyfet@gnutelephony.org>

Definition at line 436 of file secure.h.


Member Function Documentation

static size_t ucc::Random::fill ( unsigned char *  memory,
size_t  size 
) [static]

Fill memory with pseudo-random values.

This is used as the basis for all get and real operations and does not depend on seed entropy.

Parameters:
memory buffer to fill.
size of buffer to fill.
Returns:
number of bytes set.
static int ucc::Random::get ( int  min,
int  max 
) [static]

Get a pseudo-random integer in a preset range.

Parameters:
min value of random integer.
max value of random integer.
Returns:
random value from min to max.
static int ucc::Random::get ( void   )  [static]

Get a pseudo-random integer, range 0 - 32767.

Returns:
random integer.
static size_t ucc::Random::key ( unsigned char *  memory,
size_t  size 
) [static]

Get high-entropy random data.

This is often used to initialize keys. This operation may block if there is insufficient entropy immediately available.

Parameters:
memory buffer to fill.
size of buffer.
Returns:
number of bytes filled.
static double ucc::Random::real ( double  min,
double  max 
) [static]

Get a pseudo-random floating point value in a preset range.

Parameters:
min value of random floating point number.
max value of random floating point number.
Returns:
random value from min to max.
static double ucc::Random::real ( void   )  [static]

Get a pseudo-random floating point value.

Returns:
psudo-random value 0 to 1.
static bool ucc::Random::seed ( const unsigned char *  buffer,
size_t  size 
) [static]

Push entropic seed.

Parameters:
buffer of random data to push.
size of buffer.
Returns:
true if successful.
static bool ucc::Random::status ( void   )  [static]

Determine if we have sufficient entropy to return random values.

Returns:
true if sufficient entropy.

The documentation for this class was generated from the following file:
Generated on Tue Jul 6 08:22:40 2010 for UCommon by  doxygen 1.6.3