=pod =head1 NAME BN_rand, BN_pseudo_rand - generate pseudo-random number =head1 SYNOPSIS #include int BN_rand(BIGNUM *rnd, int bits, int top, int bottom); int BN_pseudo_rand(BIGNUM *rnd, int bits, int top, int bottom); =head1 DESCRIPTION BN_rand() generates a cryptographically strong pseudo-random number of B bits in length and stores it in B. If B is true, 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*B length. If B is true, the number will be odd. BN_pseudo_rand() does the same, but pseudo-random numbers generated by this function are not necessarily unpredictable. They can be used for non-cryptographic purposes and for certain purposes in cryptographic protocols, but usually not for key generation etc. The PRNG must be seeded prior to calling BN_rand(). =head1 RETURN VALUES BN_rand() and BN_pseudo_rand() return 1 on success, 0 on error. The error codes can be obtained by L. =head1 SEE ALSO L, L, L, L, L =head1 HISTORY BN_rand() is available in all versions of SSLeay and OpenSSL. BN_pseudo_rand() was added in OpenSSL 0.9.5. =cut