BN_MOD_INVERSE(3)

NAME
BN_mod_inverse - compute inverse modulo n

SYNOPSIS
 #include <openssl/bn.h>

 BIGNUM *BN_mod_inverse(BIGNUM *r, BIGNUM *a, const BIGNUM *n,
                        BN_CTX *ctx);

DESCRIPTION
BN_mod_inverse() computes the inverse of a modulo n places the result in r ("(a*r)%n==1"). If r is NULL, a new BIGNUM is created.

ctx is a previously allocated BN_CTX used for temporary variables. r may be the same BIGNUM as a.

NOTES
It is an error to use the same BIGNUM as n.

RETURN VALUES
BN_mod_inverse() returns the BIGNUM containing the inverse, and NULL on error. The error codes can be obtained by ERR_get_error(3).

SEE ALSO
ERR_get_error(3), BN_add(3)

COPYRIGHT
Copyright 2000-2023 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.