Sortix cross-nightly manual
This manual documents Sortix cross-nightly. You can instead view this document in the latest official manual.
NAME
BN_rand, BN_rand_range, BN_pseudo_rand, BN_pseudo_rand_range — generate pseudo-random numberSYNOPSIS
#include <openssl/bn.h>BN_rand(BIGNUM *rnd, int bits, int top, int bottom);
BN_rand_range(BIGNUM *rnd, const BIGNUM *range);
DESCRIPTION
BN_rand() generates a cryptographically strong pseudo-random number of bits in length and stores it in rnd. If top is BN_RAND_TOP_ANY, the most significant bit of the random number can be zero. If top is BN_RAND_TOP_ONE, the most significant bit is set to 1, and if top is BN_RAND_TOP_TWO, 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 BN_RAND_BOTTOM_ODD, the number will be odd; if it is BN_RAND_BOTTOM_ANY, it can be odd or even. The value of bits must be zero or greater. If bits is +1 then top cannot be BN_RAND_TOP_TWO.<
range.