diff options
author | beck <> | 2017-01-25 06:15:44 +0000 |
---|---|---|
committer | beck <> | 2017-01-25 06:15:44 +0000 |
commit | fe6f3fc2532579fc0941a1603d5e19a11a013179 (patch) | |
tree | f47c7a81955397655f194db5ae669044f33423bd /src/lib/libcrypto/rsa/rsa_chk.c | |
parent | 994be17488e885953ca1fef89bbc4d5fb24eba71 (diff) | |
download | openbsd-fe6f3fc2532579fc0941a1603d5e19a11a013179.tar.gz openbsd-fe6f3fc2532579fc0941a1603d5e19a11a013179.tar.bz2 openbsd-fe6f3fc2532579fc0941a1603d5e19a11a013179.zip |
Construct a BN_gcd_nonct, based on BN_mod_inverse_no_branch, as suggested
by Alejandro Cabrera <aldaya@gmail.com> to avoid the possibility of a
sidechannel timing attack during RSA private key generation.
Modify BN_gcd to become not visible under LIBRESSL_INTERNAL and force
the use of the _ct or _nonct versions of the function only within
the library.
ok jsing@
Diffstat (limited to 'src/lib/libcrypto/rsa/rsa_chk.c')
-rw-r--r-- | src/lib/libcrypto/rsa/rsa_chk.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lib/libcrypto/rsa/rsa_chk.c b/src/lib/libcrypto/rsa/rsa_chk.c index 91616d17cb..dd9104f304 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.11 2017/01/21 11:00:47 beck Exp $ */ | 1 | /* $OpenBSD: rsa_chk.c,v 1.12 2017/01/25 06:15:44 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 | * |
@@ -129,7 +129,7 @@ RSA_check_key(const RSA *key) | |||
129 | ret = -1; | 129 | ret = -1; |
130 | goto err; | 130 | goto err; |
131 | } | 131 | } |
132 | r = BN_gcd(m, i, j, ctx); | 132 | r = BN_gcd_ct(m, i, j, ctx); |
133 | if (!r) { | 133 | if (!r) { |
134 | ret = -1; | 134 | ret = -1; |
135 | goto err; | 135 | goto err; |