Sortix volatile manual
This manual documents Sortix volatile, a development build that has not been officially released. You can instead view this document in the latest official manual.
NAME
BN_set_flags, BN_get_flags — enable and inspect flags on BIGNUM objectsSYNOPSIS
#include <openssl/bn.h>BN_set_flags(BIGNUM *b, int flags);
BN_get_flags(const BIGNUM *b, int flags);
DESCRIPTION
BN_set_flags() enables the given flags on b. The flags argument can contain zero or more of the following constants OR'ed together:- BN_FLG_CONSTTIME
-
If this flag is set on the divident a or the divisor d in BN_div(3), on the exponent p in BN_mod_exp(3), or on the divisor a or the modulus n in BN_mod_inverse(3), these functions select algorithms with an execution time independent of the respective numbers, to avoid exposing sensitive information to timing side-channel attacks.
- BN_FLG_MALLOCED
- If this flag is set, BN_free(3) and BN_clear_free(3) will not only clear and free the components of b, but also b itself. This flag is set internally by BN_new(3). Setting it manually on an existing BIGNUM object is usually a bad idea and can cause calls to free(3) with bogus arguments.
- BN_FLG_STATIC_DATA
- If this flag is set, BN_clear_free(3) will neither clear nor free the memory used for storing the number. Consequently, setting it manually on an existing BIGNUM object is usually a terrible idea that can cause both disclosure of secret data and memory leaks. This flag is automatically set on the constant BIGNUM object returned by BN_value_one(3).