<pre style='margin:0'>
Clemens Lang (neverpanic) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/56972a0fee5653095a828f7ab4e6e80461c21096">https://github.com/macports/macports-ports/commit/56972a0fee5653095a828f7ab4e6e80461c21096</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 56972a0fee5653095a828f7ab4e6e80461c21096
</span>Author: Clemens Lang <cal@macports.org>
AuthorDate: Wed Feb 12 17:16:57 2025 +0100

<span style='display:block; white-space:pre;color:#404040;'>    openssl3: Update to 3.4.1, fixes CVE-2024-12797
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Upstream advisory is at
</span><span style='display:block; white-space:pre;color:#404040;'>      https://openssl-library.org/news/secadv/20250211.txt
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    CVE: CVE-2024-12797
</span>---
 devel/openssl3/Portfile                            |  17 +--
 .../5549fcd4783cb6c2a7f07e74505a2eea4939e5b1.patch |  32 ------
 .../77c608f4c8857e63e98e66444e2e761c9627916f.patch | 121 ---------------------
 3 files changed, 5 insertions(+), 165 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/openssl3/Portfile b/devel/openssl3/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 9879fdce45f..43c4d2ab6f0 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/openssl3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/openssl3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -12,14 +12,14 @@ legacysupport.newest_darwin_requires_legacy 8
</span> set major_v         3
 # For former rollback to 3.1.x release where needed. Must now stay.
 epoch               1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-github.setup        openssl openssl ${major_v}.4.0 openssl-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        openssl openssl ${major_v}.4.1 openssl-
</span> name                openssl3
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span> 
 github.tarball_from releases
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  d300c74dce877d7099bd59fa82d8f0691f13cc97 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  e15dda82fe2fe8139dc2ac21a36d4ca01d5313c75f99f46c4e8a27709b7294bf \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    18320899
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  0ed35dcf4a93ad96e1844c03e655c89e08fe3340 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  002a2d6b30b58bf4bea46c43bdd96365aaf8daa6c428782aa4feee06da197df3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    18346056
</span> 
 # Please revbump these ports when updating the openssl3 version/revision
 #  - freeradius (#43461)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -94,13 +94,6 @@ if {${os.platform} eq "darwin" && ${os.major} < 18 && ${os.major} > 8} {
</span> #
 patchfiles-append   patch-use-timegm.diff
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Backport fix for negative caching issue with 3rd party providers, see
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://trac.macports.org/ticket/71760
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append   5549fcd4783cb6c2a7f07e74505a2eea4939e5b1.patch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# CVE-2024-13176
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append   77c608f4c8857e63e98e66444e2e761c9627916f.patch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> if {${os.platform} eq "darwin" && ${os.major} < 11} {
     # Having the stdlib set to libc++ on 10.6 causes a dependency on a
     # macports-clang compiler to be added, which would be a dep cycle.
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/openssl3/files/5549fcd4783cb6c2a7f07e74505a2eea4939e5b1.patch b/devel/openssl3/files/5549fcd4783cb6c2a7f07e74505a2eea4939e5b1.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index bba85601a3a..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/openssl3/files/5549fcd4783cb6c2a7f07e74505a2eea4939e5b1.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,32 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 5549fcd4783cb6c2a7f07e74505a2eea4939e5b1 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Dmitry Belyavskiy <beldmit@gmail.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Wed, 18 Dec 2024 21:28:14 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH] Take into account no_store when pushing algorithm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-When we put algorithm to the store, we have a fallback to the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-OSSL_LIB_CTX level store when store is NULL.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Reviewed-by: Matt Caswell <matt@openssl.org>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Reviewed-by: Tomas Mraz <tomas@openssl.org>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(Merged from https://github.com/openssl/openssl/pull/26197)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit b3bb214720f20f3b126ae4b9c330e9a48b835415)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Upstream-Status: Backport [https://github.com/openssl/openssl/commit/5549fcd4783cb6c2a7f07e74505a2eea4939e5b1]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- crypto/core_fetch.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 1 insertion(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/crypto/core_fetch.c b/crypto/core_fetch.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index d311158d77589..70715e7d6a99c 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./crypto/core_fetch.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./crypto/core_fetch.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -120,7 +120,7 @@ static void ossl_method_construct_this(OSSL_PROVIDER *provider,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      * It is *expected* that the put function increments the refcnt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      * of the passed method.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    data->mcm->put(data->store, method, provider, algo->algorithm_names,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    data->mcm->put(no_store ? data->store : NULL, method, provider, algo->algorithm_names,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    algo->property_definition, data->mcm_data);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     /* refcnt-- because we're dropping the reference */
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/openssl3/files/77c608f4c8857e63e98e66444e2e761c9627916f.patch b/devel/openssl3/files/77c608f4c8857e63e98e66444e2e761c9627916f.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index be1967f6d00..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/openssl3/files/77c608f4c8857e63e98e66444e2e761c9627916f.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,121 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 77c608f4c8857e63e98e66444e2e761c9627916f Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Tomas Mraz <tomas@openssl.org>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Wed, 15 Jan 2025 18:27:02 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH] Fix timing side-channel in ECDSA signature computation
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-There is a timing signal of around 300 nanoseconds when the top word of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-the inverted ECDSA nonce value is zero. This can happen with significant
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-probability only for some of the supported elliptic curves. In particular
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-the NIST P-521 curve is affected. To be able to measure this leak, the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-attacker process must either be located in the same physical computer or
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-must have a very fast network connection with low latency.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Attacks on ECDSA nonce are also known as Minerva attack.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Fixes CVE-2024-13176
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Reviewed-by: Tim Hudson <tjh@openssl.org>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Reviewed-by: Neil Horman <nhorman@openssl.org>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Reviewed-by: Paul Dale <ppzgs1@gmail.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(Merged from https://github.com/openssl/openssl/pull/26429)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 63c40a66c5dc287485705d06122d3a6e74a6a203)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- crypto/bn/bn_exp.c  | 21 +++++++++++++++------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- crypto/ec/ec_lib.c  |  7 ++++---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- include/crypto/bn.h |  3 +++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 3 files changed, 22 insertions(+), 9 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/crypto/bn/bn_exp.c b/crypto/bn/bn_exp.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index b876edbfac36e..af52e2ced6914 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./crypto/bn/bn_exp.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./crypto/bn/bn_exp.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -606,7 +606,7 @@ static int MOD_EXP_CTIME_COPY_FROM_PREBUF(BIGNUM *b, int top,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  * out by Colin Percival,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  * http://www.daemonology.net/hyperthreading-considered-harmful/)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--int BN_mod_exp_mont_consttime(BIGNUM *rr, const BIGNUM *a, const BIGNUM *p,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int bn_mod_exp_mont_fixed_top(BIGNUM *rr, const BIGNUM *a, const BIGNUM *p,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                               const BIGNUM *m, BN_CTX *ctx,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                               BN_MONT_CTX *in_mont)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -623,10 +623,6 @@ int BN_mod_exp_mont_consttime(BIGNUM *rr, const BIGNUM *a, const BIGNUM *p,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     unsigned int t4 = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    bn_check_top(a);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    bn_check_top(p);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    bn_check_top(m);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (!BN_is_odd(m)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         ERR_raise(ERR_LIB_BN, BN_R_CALLED_WITH_EVEN_MODULUS);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1146,7 +1142,7 @@ int BN_mod_exp_mont_consttime(BIGNUM *rr, const BIGNUM *a, const BIGNUM *p,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             goto err;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     } else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (!BN_from_montgomery(rr, &tmp, mont, ctx))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (!bn_from_mont_fixed_top(rr, &tmp, mont, ctx))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         goto err;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     ret = 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  err:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1160,6 +1156,19 @@ int BN_mod_exp_mont_consttime(BIGNUM *rr, const BIGNUM *a, const BIGNUM *p,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     return ret;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int BN_mod_exp_mont_consttime(BIGNUM *rr, const BIGNUM *a, const BIGNUM *p,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                              const BIGNUM *m, BN_CTX *ctx,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                              BN_MONT_CTX *in_mont)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    bn_check_top(a);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    bn_check_top(p);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    bn_check_top(m);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (!bn_mod_exp_mont_fixed_top(rr, a, p, m, ctx, in_mont))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    bn_correct_top(rr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    return 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int BN_mod_exp_mont_word(BIGNUM *rr, BN_ULONG a, const BIGNUM *p,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                          const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *in_mont)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/crypto/ec/ec_lib.c b/crypto/ec/ec_lib.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 284fc05951b92..d9a6510d55cce 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./crypto/ec/ec_lib.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./crypto/ec/ec_lib.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -21,6 +21,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <openssl/opensslv.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <openssl/param_build.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "crypto/ec.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include "crypto/bn.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "internal/nelem.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "ec_local.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1265,10 +1266,10 @@ static int ec_field_inverse_mod_ord(const EC_GROUP *group, BIGNUM *r,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (!BN_sub(e, group->order, e))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         goto err;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     /*-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--     * Exponent e is public.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--     * No need for scatter-gather or BN_FLG_CONSTTIME.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     * Although the exponent is public we want the result to be
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     * fixed top.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (!BN_mod_exp_mont(r, x, e, group->order, ctx, group->mont_data))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (!bn_mod_exp_mont_fixed_top(r, x, e, group->order, ctx, group->mont_data))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         goto err;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     ret = 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/include/crypto/bn.h b/include/crypto/bn.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 47d9b44f879f0..bdee28625ce60 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./include/crypto/bn.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./include/crypto/bn.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -73,6 +73,9 @@ int bn_set_words(BIGNUM *a, const BN_ULONG *words, int num_words);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int bn_mul_mont_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                           BN_MONT_CTX *mont, BN_CTX *ctx);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int bn_mod_exp_mont_fixed_top(BIGNUM *rr, const BIGNUM *a, const BIGNUM *p,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                              const BIGNUM *m, BN_CTX *ctx,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                              BN_MONT_CTX *in_mont);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int bn_to_mont_fixed_top(BIGNUM *r, const BIGNUM *a, BN_MONT_CTX *mont,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                          BN_CTX *ctx);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int bn_from_mont_fixed_top(BIGNUM *r, const BIGNUM *a, BN_MONT_CTX *mont,
</span></pre><pre style='margin:0'>

</pre>