BN_rand_ex

Generate a cryptographically strong public random BIGNUM with explicit strength.

Synopsis

Declared in <openssl/bn.h>

int
BN_rand_ex(
    BIGNUM* rnd,
    int bits,
    int top,
    int bottom,
    unsigned int strength,
    BN_CTX* ctx);

Return Value

1 on success, or 0 on failure.

Parameters

NameDescription
rndDestination BIGNUM (allocated/resized as needed).
bitsDesired bit length of the result.
topBN_RAND_TOP_* controlling the most-significant bits.
bottomBN_RAND_BOTTOM_* controlling the least-significant bit.
strengthRequested security strength in bits for the DRBG draw.
ctxBN_CTX scratch, or NULL.