[#BN_mod_exp_mont_consttime_x2] = BN_mod_exp_mont_consttime_x2 :mrdocs: Compute two constant‐time Montgomery modular exponentiations together. == Synopsis Declared in `<openssl/bn.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- int BN_mod_exp_mont_consttime_x2( xref:BIGNUM.adoc[BIGNUM]* rr1, xref:BIGNUM.adoc[BIGNUM] const* a1, xref:BIGNUM.adoc[BIGNUM] const* p1, xref:BIGNUM.adoc[BIGNUM] const* m1, xref:BN_MONT_CTX.adoc[BN_MONT_CTX]* in_mont1, xref:BIGNUM.adoc[BIGNUM]* rr2, xref:BIGNUM.adoc[BIGNUM] const* a2, xref:BIGNUM.adoc[BIGNUM] const* p2, xref:BIGNUM.adoc[BIGNUM] const* m2, xref:BN_MONT_CTX.adoc[BN_MONT_CTX]* in_mont2, xref:BN_CTX.adoc[BN_CTX]* ctx); ---- == Return Value 1 on success, or 0 on error. == Parameters [cols="1,4"] |=== | Name| Description | *rr1* | Destination for (a1 ˆ p1) mod m1. | *a1* | First base. | *p1* | First exponent. | *m1* | First odd modulus. | *in_mont1* | Optional Montgomery context for `m1,` or NULL. | *rr2* | Destination for (a2 ˆ p2) mod m2. | *a2* | Second base. | *p2* | Second exponent. | *m2* | Second odd modulus. | *in_mont2* | Optional Montgomery context for `m2,` or NULL. | *ctx* | BN_CTX for temporary storage. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#