diff options
-rw-r--r-- | src/lib/libcrypto/bn/bn.h | 7 | ||||
-rw-r--r-- | src/lib/libcrypto/bn/bn_mont.c | 8 |
2 files changed, 13 insertions, 2 deletions
diff --git a/src/lib/libcrypto/bn/bn.h b/src/lib/libcrypto/bn/bn.h index 4bfb81d32e..af4dd41bd5 100644 --- a/src/lib/libcrypto/bn/bn.h +++ b/src/lib/libcrypto/bn/bn.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: bn.h,v 1.48 2021/12/04 16:02:44 tb Exp $ */ | 1 | /* $OpenBSD: bn.h,v 1.49 2021/12/04 16:05:46 tb Exp $ */ |
2 | /* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -609,8 +609,13 @@ BN_MONT_CTX *BN_MONT_CTX_new(void ); | |||
609 | void BN_MONT_CTX_init(BN_MONT_CTX *ctx); | 609 | void BN_MONT_CTX_init(BN_MONT_CTX *ctx); |
610 | int BN_mod_mul_montgomery(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, | 610 | int BN_mod_mul_montgomery(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, |
611 | BN_MONT_CTX *mont, BN_CTX *ctx); | 611 | BN_MONT_CTX *mont, BN_CTX *ctx); |
612 | #if defined(LIBRESSL_OPAQUE_BN) || defined(LIBRESSL_CRYPTO_INTERNAL) | ||
613 | int BN_to_montgomery(BIGNUM *r, const BIGNUM *a, BN_MONT_CTX *mont, | ||
614 | BN_CTX *ctx); | ||
615 | #else | ||
612 | #define BN_to_montgomery(r,a,mont,ctx) BN_mod_mul_montgomery(\ | 616 | #define BN_to_montgomery(r,a,mont,ctx) BN_mod_mul_montgomery(\ |
613 | (r),(a),&((mont)->RR),(mont),(ctx)) | 617 | (r),(a),&((mont)->RR),(mont),(ctx)) |
618 | #endif | ||
614 | int BN_from_montgomery(BIGNUM *r, const BIGNUM *a, | 619 | int BN_from_montgomery(BIGNUM *r, const BIGNUM *a, |
615 | BN_MONT_CTX *mont, BN_CTX *ctx); | 620 | BN_MONT_CTX *mont, BN_CTX *ctx); |
616 | void BN_MONT_CTX_free(BN_MONT_CTX *mont); | 621 | void BN_MONT_CTX_free(BN_MONT_CTX *mont); |
diff --git a/src/lib/libcrypto/bn/bn_mont.c b/src/lib/libcrypto/bn/bn_mont.c index eeac046826..45e312a3a6 100644 --- a/src/lib/libcrypto/bn/bn_mont.c +++ b/src/lib/libcrypto/bn/bn_mont.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: bn_mont.c,v 1.26 2017/01/21 11:00:46 beck Exp $ */ | 1 | /* $OpenBSD: bn_mont.c,v 1.27 2021/12/04 16:05:46 tb Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -175,6 +175,12 @@ err: | |||
175 | return (ret); | 175 | return (ret); |
176 | } | 176 | } |
177 | 177 | ||
178 | int | ||
179 | BN_to_montgomery(BIGNUM *r, const BIGNUM *a, BN_MONT_CTX *mont, BN_CTX *ctx) | ||
180 | { | ||
181 | return BN_mod_mul_montgomery(r, a, &mont->RR, mont, ctx); | ||
182 | } | ||
183 | |||
178 | #ifdef MONT_WORD | 184 | #ifdef MONT_WORD |
179 | static int | 185 | static int |
180 | BN_from_montgomery_word(BIGNUM *ret, BIGNUM *r, BN_MONT_CTX *mont) | 186 | BN_from_montgomery_word(BIGNUM *ret, BIGNUM *r, BN_MONT_CTX *mont) |