summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/rsa
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/rsa')
-rw-r--r--src/lib/libcrypto/rsa/rsa_eay.c3
-rw-r--r--src/lib/libcrypto/rsa/rsa_gen.c5
2 files changed, 6 insertions, 2 deletions
diff --git a/src/lib/libcrypto/rsa/rsa_eay.c b/src/lib/libcrypto/rsa/rsa_eay.c
index 33201a8a8b..e9fc67349b 100644
--- a/src/lib/libcrypto/rsa/rsa_eay.c
+++ b/src/lib/libcrypto/rsa/rsa_eay.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: rsa_eay.c,v 1.51 2019/11/02 13:52:31 jsing Exp $ */ 1/* $OpenBSD: rsa_eay.c,v 1.52 2021/12/26 15:16:50 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 *
@@ -753,6 +753,7 @@ RSA_eay_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx)
753 goto err; 753 goto err;
754 754
755 /* compute I mod p */ 755 /* compute I mod p */
756 BN_init(&c);
756 BN_with_flags(&c, I, BN_FLG_CONSTTIME); 757 BN_with_flags(&c, I, BN_FLG_CONSTTIME);
757 758
758 if (!BN_mod_ct(r1, &c, rsa->p, ctx)) 759 if (!BN_mod_ct(r1, &c, rsa->p, ctx))
diff --git a/src/lib/libcrypto/rsa/rsa_gen.c b/src/lib/libcrypto/rsa/rsa_gen.c
index 596eb8eb78..1c37d8ef21 100644
--- a/src/lib/libcrypto/rsa/rsa_gen.c
+++ b/src/lib/libcrypto/rsa/rsa_gen.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: rsa_gen.c,v 1.22 2017/01/29 17:49:23 beck Exp $ */ 1/* $OpenBSD: rsa_gen.c,v 1.23 2021/12/26 15:16:50 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 *
@@ -194,12 +194,14 @@ rsa_builtin_keygen(RSA *rsa, int bits, BIGNUM *e_value, BN_GENCB *cb)
194 if (!BN_mul(r0, r1, r2, ctx)) /* (p-1)(q-1) */ 194 if (!BN_mul(r0, r1, r2, ctx)) /* (p-1)(q-1) */
195 goto err; 195 goto err;
196 196
197 BN_init(&pr0);
197 BN_with_flags(&pr0, r0, BN_FLG_CONSTTIME); 198 BN_with_flags(&pr0, r0, BN_FLG_CONSTTIME);
198 199
199 if (!BN_mod_inverse_ct(rsa->d, rsa->e, &pr0, ctx)) /* d */ 200 if (!BN_mod_inverse_ct(rsa->d, rsa->e, &pr0, ctx)) /* d */
200 goto err; 201 goto err;
201 202
202 /* set up d for correct BN_FLG_CONSTTIME flag */ 203 /* set up d for correct BN_FLG_CONSTTIME flag */
204 BN_init(&d);
203 BN_with_flags(&d, rsa->d, BN_FLG_CONSTTIME); 205 BN_with_flags(&d, rsa->d, BN_FLG_CONSTTIME);
204 206
205 /* calculate d mod (p-1) */ 207 /* calculate d mod (p-1) */
@@ -211,6 +213,7 @@ rsa_builtin_keygen(RSA *rsa, int bits, BIGNUM *e_value, BN_GENCB *cb)
211 goto err; 213 goto err;
212 214
213 /* calculate inverse of q mod p */ 215 /* calculate inverse of q mod p */
216 BN_init(&p);
214 BN_with_flags(&p, rsa->p, BN_FLG_CONSTTIME); 217 BN_with_flags(&p, rsa->p, BN_FLG_CONSTTIME);
215 if (!BN_mod_inverse_ct(rsa->iqmp, rsa->q, &p, ctx)) 218 if (!BN_mod_inverse_ct(rsa->iqmp, rsa->q, &p, ctx))
216 goto err; 219 goto err;