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_chk.c10
-rw-r--r--src/lib/libcrypto/rsa/rsa_eay.c10
-rw-r--r--src/lib/libcrypto/rsa/rsa_gen.c8
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
55int 57int
56RSA_check_key(const RSA *key) 58RSA_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
72static int rsa_builtin_keygen(RSA *rsa, int bits, BIGNUM *e_value, BN_GENCB *cb); 74static 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 */