AcquireRandomInfoGetEntropyFromReservoirGetPseudoRandomValueGetRandomKeyGetRandomSecretKeyGetRandomValueSaveEntropyToReservoirSetRandomKeySetRandomSecretKeySetRandomTrueRandom

AcquireRandomInfo

AcquireRandomInfo() allocates the RandomInfo structure.

The format of the AcquireRandomInfo method is:

RandomInfo *AcquireRandomInfo(const RandomType hash)

A description of each parameter follows:

hash
the hash type.

GetEntropyFromReservoir

GetEntropyFromReservoir() gets entropy from the random reservoir on disk.

The format of the GetEntropyFromReservoir method is:

StringInfo *GetEntropyFromReservoir(RandomInfo *random_info,
  ExceptionInfo *exception)

A description of each parameter follows:

random_info
the random reservoir info.
exception
Return any errors or warnings in this structure.

GetPseudoRandomValue

GetPseudoRandomValue() is a Xoshiro generator that returns a non-negative double-precision floating-point value uniformly distributed over the interval [0.0, 1.0) with a 2 to the 256th-1 period.

The format of the GetPseudoRandomValue method is:

double GetPseudoRandomValue(RandomInfo *randon_info)

A description of each parameter follows:

random_info
the random info.

GetRandomKey

GetRandomKey() gets a random key from the reservoir.

The format of the GetRandomKey method is:

StringInfo *GetRandomKey(RandomInfo *random_info,const size_t length)

A description of each parameter follows:

random_info
the random info.
length
the key length.

GetRandomSecretKey

GetRandomSecretKey() returns the random secet key.

The format of the GetRandomSecretKey method is:

unsigned long GetRandomSecretKey(const RandomInfo *random_info)

A description of each parameter follows:

random_info
the random info.

GetRandomValue

GetRandomValue() return a non-negative double-precision floating-point value uniformly distributed over the interval [0.0, 1.0) with a 2 to the 128th-1 period (not cryptographically strong).

The format of the GetRandomValue method is:

double GetRandomValue(void)

SaveEntropyToReservoir

SaveEntropyToReservoir() saves entropy to the reservior on disk.

The format of the SaveEntropyToReservoir method is:

WizardBooleanType SaveEntropyToReservoir(RandomInfo *random_info,
  ExceptionInfo *exception)

A description of each parameter follows:

random_info
the random info.
exception
Return any errors or warnings in this structure.

SetRandomKey

SetRandomKey() sets a random key from the reservoir.

The format of the SetRandomKey method is:

void SetRandomKey(RandomInfo *random_info,const size_t length,
  unsigned char *key)

A description of each parameter follows:

random_info
the random info.
length
the key length.
key
the key.

SetRandomSecretKey

SetRandomSecretKey() sets the pseudo-random number generator secret key.

The format of the SetRandomSecretKey method is:

void SetRandomSecretKey(const unsigned long key)

A description of each parameter follows:

key
the secret key.

SetRandomTrueRandom

SetRandomTrueRandom() declares your intentions to use true random numbers. True random numbers are encouraged but may not always be practical because your application may block while entropy is gathered from your environment.

The format of the SetRandomTrueRandom method is:

void SetRandomTrueRandom(const WizardBooleanType true_random)

A description of each parameter follows:

true_random
declare your intentions to use true-random number.