diff options
Diffstat (limited to 'src/lib/libcrypto/rsa')
-rw-r--r-- | src/lib/libcrypto/rsa/rsa_chk.c | 10 | ||||
-rw-r--r-- | src/lib/libcrypto/rsa/rsa_eay.c | 10 | ||||
-rw-r--r-- | src/lib/libcrypto/rsa/rsa_gen.c | 8 |
3 files changed, 16 insertions, 12 deletions
diff --git a/src/lib/libcrypto/rsa/rsa_chk.c b/src/lib/libcrypto/rsa/rsa_chk.c index c247a8d80e..efe9431f2d 100644 --- a/src/lib/libcrypto/rsa/rsa_chk.c +++ b/src/lib/libcrypto/rsa/rsa_chk.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: rsa_chk.c,v 1.9 2014/07/10 07:43:11 jsing Exp $ */ | 1 | /* $OpenBSD: rsa_chk.c,v 1.10 2017/01/21 10:38:29 beck Exp $ */ |
2 | /* ==================================================================== | 2 | /* ==================================================================== |
3 | * Copyright (c) 1999 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 1999 The OpenSSL Project. All rights reserved. |
4 | * | 4 | * |
@@ -52,6 +52,8 @@ | |||
52 | #include <openssl/err.h> | 52 | #include <openssl/err.h> |
53 | #include <openssl/rsa.h> | 53 | #include <openssl/rsa.h> |
54 | 54 | ||
55 | #include "bn_lcl.h" | ||
56 | |||
55 | int | 57 | int |
56 | RSA_check_key(const RSA *key) | 58 | RSA_check_key(const RSA *key) |
57 | { | 59 | { |
@@ -132,7 +134,7 @@ RSA_check_key(const RSA *key) | |||
132 | ret = -1; | 134 | ret = -1; |
133 | goto err; | 135 | goto err; |
134 | } | 136 | } |
135 | r = BN_div(k, NULL, l, m, ctx); /* remainder is 0 */ | 137 | r = BN_div_ct(k, NULL, l, m, ctx); /* remainder is 0 */ |
136 | if (!r) { | 138 | if (!r) { |
137 | ret = -1; | 139 | ret = -1; |
138 | goto err; | 140 | goto err; |
@@ -157,7 +159,7 @@ RSA_check_key(const RSA *key) | |||
157 | goto err; | 159 | goto err; |
158 | } | 160 | } |
159 | 161 | ||
160 | r = BN_mod(j, key->d, i, ctx); | 162 | r = BN_mod_ct(j, key->d, i, ctx); |
161 | if (!r) { | 163 | if (!r) { |
162 | ret = -1; | 164 | ret = -1; |
163 | goto err; | 165 | goto err; |
@@ -176,7 +178,7 @@ RSA_check_key(const RSA *key) | |||
176 | goto err; | 178 | goto err; |
177 | } | 179 | } |
178 | 180 | ||
179 | r = BN_mod(j, key->d, i, ctx); | 181 | r = BN_mod_ct(j, key->d, i, ctx); |
180 | if (!r) { | 182 | if (!r) { |
181 | ret = -1; | 183 | ret = -1; |
182 | goto err; | 184 | goto err; |
diff --git a/src/lib/libcrypto/rsa/rsa_eay.c b/src/lib/libcrypto/rsa/rsa_eay.c index 640ed9a0d6..c4da147ddf 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.44 2017/01/21 09:38:59 beck Exp $ */ | 1 | /* $OpenBSD: rsa_eay.c,v 1.45 2017/01/21 10:38:29 beck 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 | * |
@@ -770,7 +770,7 @@ RSA_eay_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx) | |||
770 | BN_init(&c); | 770 | BN_init(&c); |
771 | BN_with_flags(&c, I, BN_FLG_CONSTTIME); | 771 | BN_with_flags(&c, I, BN_FLG_CONSTTIME); |
772 | 772 | ||
773 | if (!BN_mod(r1, &c, rsa->q, ctx)) | 773 | if (!BN_mod_ct(r1, &c, rsa->q, ctx)) |
774 | goto err; | 774 | goto err; |
775 | 775 | ||
776 | /* compute r1^dmq1 mod q */ | 776 | /* compute r1^dmq1 mod q */ |
@@ -784,7 +784,7 @@ RSA_eay_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx) | |||
784 | /* compute I mod p */ | 784 | /* compute I mod p */ |
785 | BN_with_flags(&c, I, BN_FLG_CONSTTIME); | 785 | BN_with_flags(&c, I, BN_FLG_CONSTTIME); |
786 | 786 | ||
787 | if (!BN_mod(r1, &c, rsa->p, ctx)) | 787 | if (!BN_mod_ct(r1, &c, rsa->p, ctx)) |
788 | goto err; | 788 | goto err; |
789 | 789 | ||
790 | /* compute r1^dmp1 mod p */ | 790 | /* compute r1^dmp1 mod p */ |
@@ -813,7 +813,7 @@ RSA_eay_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx) | |||
813 | BN_init(&pr1); | 813 | BN_init(&pr1); |
814 | BN_with_flags(&pr1, r1, BN_FLG_CONSTTIME); | 814 | BN_with_flags(&pr1, r1, BN_FLG_CONSTTIME); |
815 | 815 | ||
816 | if (!BN_mod(r0, &pr1, rsa->p, ctx)) | 816 | if (!BN_mod_ct(r0, &pr1, rsa->p, ctx)) |
817 | goto err; | 817 | goto err; |
818 | 818 | ||
819 | /* | 819 | /* |
@@ -844,7 +844,7 @@ RSA_eay_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx) | |||
844 | */ | 844 | */ |
845 | if (!BN_sub(vrfy, vrfy, I)) | 845 | if (!BN_sub(vrfy, vrfy, I)) |
846 | goto err; | 846 | goto err; |
847 | if (!BN_mod(vrfy, vrfy, rsa->n, ctx)) | 847 | if (!BN_mod_ct(vrfy, vrfy, rsa->n, ctx)) |
848 | goto err; | 848 | goto err; |
849 | if (BN_is_negative(vrfy)) | 849 | if (BN_is_negative(vrfy)) |
850 | if (!BN_add(vrfy, vrfy, rsa->n)) | 850 | if (!BN_add(vrfy, vrfy, rsa->n)) |
diff --git a/src/lib/libcrypto/rsa/rsa_gen.c b/src/lib/libcrypto/rsa/rsa_gen.c index d46f4f2478..817f177e96 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.18 2016/06/30 02:02:06 bcook Exp $ */ | 1 | /* $OpenBSD: rsa_gen.c,v 1.19 2017/01/21 10:38:29 beck 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 | * |
@@ -69,6 +69,8 @@ | |||
69 | #include <openssl/err.h> | 69 | #include <openssl/err.h> |
70 | #include <openssl/rsa.h> | 70 | #include <openssl/rsa.h> |
71 | 71 | ||
72 | #include "bn_lcl.h" | ||
73 | |||
72 | static int rsa_builtin_keygen(RSA *rsa, int bits, BIGNUM *e_value, BN_GENCB *cb); | 74 | static int rsa_builtin_keygen(RSA *rsa, int bits, BIGNUM *e_value, BN_GENCB *cb); |
73 | 75 | ||
74 | /* | 76 | /* |
@@ -202,11 +204,11 @@ rsa_builtin_keygen(RSA *rsa, int bits, BIGNUM *e_value, BN_GENCB *cb) | |||
202 | BN_with_flags(&d, rsa->d, BN_FLG_CONSTTIME); | 204 | BN_with_flags(&d, rsa->d, BN_FLG_CONSTTIME); |
203 | 205 | ||
204 | /* calculate d mod (p-1) */ | 206 | /* calculate d mod (p-1) */ |
205 | if (!BN_mod(rsa->dmp1, &d, r1, ctx)) | 207 | if (!BN_mod_ct(rsa->dmp1, &d, r1, ctx)) |
206 | goto err; | 208 | goto err; |
207 | 209 | ||
208 | /* calculate d mod (q-1) */ | 210 | /* calculate d mod (q-1) */ |
209 | if (!BN_mod(rsa->dmq1, &d, r2, ctx)) | 211 | if (!BN_mod_ct(rsa->dmq1, &d, r2, ctx)) |
210 | goto err; | 212 | goto err; |
211 | 213 | ||
212 | /* calculate inverse of q mod p */ | 214 | /* calculate inverse of q mod p */ |