ucommon::Random Class Reference

Cryptographically 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.
static String uuid (void)
static void uuid (char *string)
 Create 36 character random uuid string.

Detailed Description

Cryptographically relevant random numbers.

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

Author:
David Sugar <dyfet@gnutelephony.org>

Definition at line 522 of file secure.h.


Member Function Documentation

static size_t ucommon::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 ucommon::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 ucommon::Random::get ( void   )  [static]

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

Returns:
random integer.
static size_t ucommon::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 ucommon::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 ucommon::Random::real ( void   )  [static]

Get a pseudo-random floating point value.

Returns:
psudo-random value 0 to 1.
static bool ucommon::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 ucommon::Random::status ( void   )  [static]

Determine if we have sufficient entropy to return random values.

Returns:
true if sufficient entropy.
static void ucommon::Random::uuid ( char *  string  )  [static]

Create 36 character random uuid string.

Parameters:
string to write uuid into, must be 37 bytes or more.

The documentation for this class was generated from the following file:
Generated on Thu Jul 14 16:35:20 2011 for ucommon by  doxygen 1.6.3