summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/libcrypto/dh/dh_key.c16
-rw-r--r--src/lib/libcrypto/dsa/dsa_key.c12
2 files changed, 7 insertions, 21 deletions
diff --git a/src/lib/libcrypto/dh/dh_key.c b/src/lib/libcrypto/dh/dh_key.c
index 3920a00d09..dd3a3af3ab 100644
--- a/src/lib/libcrypto/dh/dh_key.c
+++ b/src/lib/libcrypto/dh/dh_key.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: dh_key.c,v 1.29 2018/06/12 15:33:18 sthen Exp $ */ 1/* $OpenBSD: dh_key.c,v 1.30 2018/11/05 23:46:16 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 *
@@ -153,17 +153,9 @@ generate_key(DH *dh)
153 } 153 }
154 } 154 }
155 155
156 { 156 if (!dh->meth->bn_mod_exp(dh, pub_key, dh->g, priv_key, dh->p, ctx,
157 BIGNUM prk; 157 mont))
158 158 goto err;
159 BN_init(&prk);
160 BN_with_flags(&prk, priv_key, BN_FLG_CONSTTIME);
161
162 if (!dh->meth->bn_mod_exp(dh, pub_key, dh->g, &prk, dh->p, ctx,
163 mont)) {
164 goto err;
165 }
166 }
167 159
168 dh->pub_key = pub_key; 160 dh->pub_key = pub_key;
169 dh->priv_key = priv_key; 161 dh->priv_key = priv_key;
diff --git a/src/lib/libcrypto/dsa/dsa_key.c b/src/lib/libcrypto/dsa/dsa_key.c
index cb95e1369c..b2d08e5e0c 100644
--- a/src/lib/libcrypto/dsa/dsa_key.c
+++ b/src/lib/libcrypto/dsa/dsa_key.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: dsa_key.c,v 1.23 2017/01/21 09:38:59 beck Exp $ */ 1/* $OpenBSD: dsa_key.c,v 1.24 2018/11/05 23:46:16 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 *
@@ -104,14 +104,8 @@ dsa_builtin_keygen(DSA *dsa)
104 } else 104 } else
105 pub_key=dsa->pub_key; 105 pub_key=dsa->pub_key;
106 106
107 { 107 if (!BN_mod_exp_ct(pub_key, dsa->g, priv_key, dsa->p, ctx))
108 BIGNUM prk; 108 goto err;
109
110 BN_with_flags(&prk, priv_key, BN_FLG_CONSTTIME);
111
112 if (!BN_mod_exp_ct(pub_key, dsa->g, &prk, dsa->p, ctx))
113 goto err;
114 }
115 109
116 dsa->priv_key = priv_key; 110 dsa->priv_key = priv_key;
117 dsa->pub_key = pub_key; 111 dsa->pub_key = pub_key;