NAME
BN_rand, BN_pseudo_rand, BN_rand_range, BN_pseudo_rand_range — generate pseudo-random numberSYNOPSIS
#include <openssl/bn.h>BN_rand(BIGNUM *rnd, int bits, int top, int bottom);
BN_pseudo_rand(BIGNUM *rnd, int bits, int top, int bottom);
BN_rand_range(BIGNUM *rnd, BIGNUM *range);
BN_pseudo_rand_range(BIGNUM *rnd, BIGNUM *range);
DESCRIPTION
BN_rand() generates a cryptographically strong pseudo-random number of bits in length and stores it in rnd. If top is -1, the most significant bit of the random number can be zero. If top is 0, it is set to 1, and if top is 1, the two most significant bits of the number will be set to 1, so that the product of two such random numbers will always have 2*bits length. If bottom is true, the number will be odd.<
range. BN_pseudo_rand_range() does the same, but is based on BN_pseudo_rand(), and hence numbers generated by it are not necessarily unpredictable.