Sortix 1.1dev ports manual
This manual documents Sortix 1.1dev ports. You can instead view this document in the latest official manual.
BN_RAND(3) | Library Functions Manual | BN_RAND(3) |
NAME
BN_rand, BN_rand_range, BN_pseudo_rand, BN_pseudo_rand_range — generate pseudo-random numberSYNOPSIS
#include <openssl/bn.h> intBN_rand(BIGNUM *rnd, int bits, int top, int bottom); int
BN_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 isBN_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
.
BN_rand_range() generates a cryptographically
strong pseudo-random number rnd in the range
0 <= rnd <
range.
BN_pseudo_rand() is a deprecated alias for
BN_rand(), and
BN_pseudo_rand_range() for
BN_rand_range().
RETURN VALUES
The functions return 1 on success, 0 on error. The error codes can be obtained by ERR_get_error(3).SEE ALSO
BN_new(3)HISTORY
BN_rand() first appeared in SSLeay 0.5.1 and has been available since OpenBSD 2.4. The top == -1 case and the function BN_rand_range() first appeared in OpenSSL 0.9.6a and have been available since OpenBSD 3.0.September 10, 2021 | Debian |