BN_mod_inverse
—
compute inverse modulo m
#include
<openssl/bn.h>
BIGNUM *
BN_mod_inverse
(BIGNUM *r,
const BIGNUM *a, const BIGNUM
*m, BN_CTX *ctx);
BN_mod_inverse
()
computes the inverse of a modulo
m and places the result in r, so
that r satisfies a * r == 1 (mod
m)
. If r is NULL
, a new
BIGNUM is allocated.
If the flag BN_FLG_CONSTTIME
is set on
a or m, it operates in constant
time.
ctx is a previously allocated
BN_CTX used for temporary variables.
r may be the same BIGNUM as
a or m.
BN_mod_inverse
() returns the
BIGNUM containing the inverse, or
NULL
on error. The error codes can be obtained by
ERR_get_error(3).
BN_mod_inverse
() first appeared in SSLeay
0.5.1 and has been available since OpenBSD 2.4.
The r argument was added in SSLeay 0.9.1 and
OpenBSD 2.6.