Montgomery modular dual exponentiation: r = a1^p1 * a2^p2 mod m.
Declared in <openssl/bn.h>
int
BN_mod_exp2_mont(
BIGNUM* r,
BIGNUM const* a1,
BIGNUM const* p1,
BIGNUM const* a2,
BIGNUM const* p2,
BIGNUM const* m,
BN_CTX* ctx,
BN_MONT_CTX* m_ctx);
1 on success, or 0 on error.
| Name | Description |
|---|---|
| r | Destination. |
| a1 | First base. |
| p1 | First exponent. |
| a2 | Second base. |
| p2 | Second exponent. |
| m | Odd modulus matching m_ctx. |
| ctx | BN_CTX scratch space. |
| m_ctx | Montgomery context for m. |