diff options
| author | tb <> | 2023-07-28 10:05:16 +0000 |
|---|---|---|
| committer | tb <> | 2023-07-28 10:05:16 +0000 |
| commit | 6cc5955271563c498eb75bea6798690a380d43cf (patch) | |
| tree | 9d9e5e88058fce53bb18a48739125946a2639657 /src/lib/libcrypto/rsa | |
| parent | 8d8ca2c8c440c1df72455fe4055627e4110c3973 (diff) | |
| download | openbsd-6cc5955271563c498eb75bea6798690a380d43cf.tar.gz openbsd-6cc5955271563c498eb75bea6798690a380d43cf.tar.bz2 openbsd-6cc5955271563c498eb75bea6798690a380d43cf.zip | |
Make BN_BLINDING internal
RSA is pretty bad. In my most optimistic moments I dream of a world that
stopped using it. That won't happen during my lifetime, unfortunately.
Blinding is one way of making it a little less leaky. Unfortunately this
side-channel leak mitigation leaked out of the library for no good reason.
Let's at least fix that aspect of it.
ok jsing
Diffstat (limited to 'src/lib/libcrypto/rsa')
| -rw-r--r-- | src/lib/libcrypto/rsa/rsa.h | 3 | ||||
| -rw-r--r-- | src/lib/libcrypto/rsa/rsa_crpt.c | 3 | ||||
| -rw-r--r-- | src/lib/libcrypto/rsa/rsa_lib.c | 3 | ||||
| -rw-r--r-- | src/lib/libcrypto/rsa/rsa_local.h | 4 |
4 files changed, 7 insertions, 6 deletions
diff --git a/src/lib/libcrypto/rsa/rsa.h b/src/lib/libcrypto/rsa/rsa.h index ff88240f04..4fcef3a97c 100644 --- a/src/lib/libcrypto/rsa/rsa.h +++ b/src/lib/libcrypto/rsa/rsa.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: rsa.h,v 1.64 2023/05/05 12:30:40 tb Exp $ */ | 1 | /* $OpenBSD: rsa.h,v 1.65 2023/07/28 10:05: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 | * |
| @@ -321,7 +321,6 @@ int RSA_verify_ASN1_OCTET_STRING(int type, const unsigned char *m, | |||
| 321 | 321 | ||
| 322 | int RSA_blinding_on(RSA *rsa, BN_CTX *ctx); | 322 | int RSA_blinding_on(RSA *rsa, BN_CTX *ctx); |
| 323 | void RSA_blinding_off(RSA *rsa); | 323 | void RSA_blinding_off(RSA *rsa); |
| 324 | BN_BLINDING *RSA_setup_blinding(RSA *rsa, BN_CTX *ctx); | ||
| 325 | 324 | ||
| 326 | int RSA_padding_add_PKCS1_type_1(unsigned char *to, int tlen, | 325 | int RSA_padding_add_PKCS1_type_1(unsigned char *to, int tlen, |
| 327 | const unsigned char *f, int fl); | 326 | const unsigned char *f, int fl); |
diff --git a/src/lib/libcrypto/rsa/rsa_crpt.c b/src/lib/libcrypto/rsa/rsa_crpt.c index ea79280b15..15108e24f0 100644 --- a/src/lib/libcrypto/rsa/rsa_crpt.c +++ b/src/lib/libcrypto/rsa/rsa_crpt.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: rsa_crpt.c,v 1.22 2023/07/08 12:26:45 beck Exp $ */ | 1 | /* $OpenBSD: rsa_crpt.c,v 1.23 2023/07/28 10:05: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 | * |
| @@ -229,4 +229,3 @@ err: | |||
| 229 | 229 | ||
| 230 | return ret; | 230 | return ret; |
| 231 | } | 231 | } |
| 232 | LCRYPTO_ALIAS(RSA_setup_blinding); | ||
diff --git a/src/lib/libcrypto/rsa/rsa_lib.c b/src/lib/libcrypto/rsa/rsa_lib.c index 8831253b9f..fbd2c2274c 100644 --- a/src/lib/libcrypto/rsa/rsa_lib.c +++ b/src/lib/libcrypto/rsa/rsa_lib.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: rsa_lib.c,v 1.47 2023/07/08 12:26:45 beck Exp $ */ | 1 | /* $OpenBSD: rsa_lib.c,v 1.48 2023/07/28 10:05: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 | * |
| @@ -67,6 +67,7 @@ | |||
| 67 | #include <openssl/lhash.h> | 67 | #include <openssl/lhash.h> |
| 68 | #include <openssl/rsa.h> | 68 | #include <openssl/rsa.h> |
| 69 | 69 | ||
| 70 | #include "bn_local.h" | ||
| 70 | #include "evp_local.h" | 71 | #include "evp_local.h" |
| 71 | #include "rsa_local.h" | 72 | #include "rsa_local.h" |
| 72 | 73 | ||
diff --git a/src/lib/libcrypto/rsa/rsa_local.h b/src/lib/libcrypto/rsa/rsa_local.h index b4e90abd94..e4c3040b6f 100644 --- a/src/lib/libcrypto/rsa/rsa_local.h +++ b/src/lib/libcrypto/rsa/rsa_local.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: rsa_local.h,v 1.3 2023/07/21 15:26:51 tb Exp $ */ | 1 | /* $OpenBSD: rsa_local.h,v 1.4 2023/07/28 10:05: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,4 +153,6 @@ int RSA_padding_check_X931(unsigned char *to, int tlen, | |||
| 153 | const unsigned char *f, int fl, int rsa_len); | 153 | const unsigned char *f, int fl, int rsa_len); |
| 154 | int RSA_X931_hash_id(int nid); | 154 | int RSA_X931_hash_id(int nid); |
| 155 | 155 | ||
| 156 | BN_BLINDING *RSA_setup_blinding(RSA *rsa, BN_CTX *ctx); | ||
| 157 | |||
| 156 | __END_HIDDEN_DECLS | 158 | __END_HIDDEN_DECLS |
