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/bn/bn_blind.c | |
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/bn/bn_blind.c')
-rw-r--r-- | src/lib/libcrypto/bn/bn_blind.c | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/src/lib/libcrypto/bn/bn_blind.c b/src/lib/libcrypto/bn/bn_blind.c index 07cd359e7e..7332df2b56 100644 --- a/src/lib/libcrypto/bn/bn_blind.c +++ b/src/lib/libcrypto/bn/bn_blind.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: bn_blind.c,v 1.23 2023/07/08 12:21:58 beck Exp $ */ | 1 | /* $OpenBSD: bn_blind.c,v 1.24 2023/07/28 10:05:16 tb Exp $ */ |
2 | /* ==================================================================== | 2 | /* ==================================================================== |
3 | * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. |
4 | * | 4 | * |
@@ -169,7 +169,6 @@ err: | |||
169 | BN_BLINDING_free(ret); | 169 | BN_BLINDING_free(ret); |
170 | return (NULL); | 170 | return (NULL); |
171 | } | 171 | } |
172 | LCRYPTO_ALIAS(BN_BLINDING_new); | ||
173 | 172 | ||
174 | void | 173 | void |
175 | BN_BLINDING_free(BN_BLINDING *r) | 174 | BN_BLINDING_free(BN_BLINDING *r) |
@@ -183,7 +182,6 @@ BN_BLINDING_free(BN_BLINDING *r) | |||
183 | BN_free(r->mod); | 182 | BN_free(r->mod); |
184 | free(r); | 183 | free(r); |
185 | } | 184 | } |
186 | LCRYPTO_ALIAS(BN_BLINDING_free); | ||
187 | 185 | ||
188 | int | 186 | int |
189 | BN_BLINDING_update(BN_BLINDING *b, BN_CTX *ctx) | 187 | BN_BLINDING_update(BN_BLINDING *b, BN_CTX *ctx) |
@@ -217,14 +215,12 @@ err: | |||
217 | b->counter = 0; | 215 | b->counter = 0; |
218 | return (ret); | 216 | return (ret); |
219 | } | 217 | } |
220 | LCRYPTO_ALIAS(BN_BLINDING_update); | ||
221 | 218 | ||
222 | int | 219 | int |
223 | BN_BLINDING_convert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx) | 220 | BN_BLINDING_convert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx) |
224 | { | 221 | { |
225 | return BN_BLINDING_convert_ex(n, NULL, b, ctx); | 222 | return BN_BLINDING_convert_ex(n, NULL, b, ctx); |
226 | } | 223 | } |
227 | LCRYPTO_ALIAS(BN_BLINDING_convert); | ||
228 | 224 | ||
229 | int | 225 | int |
230 | BN_BLINDING_convert_ex(BIGNUM *n, BIGNUM *r, BN_BLINDING *b, BN_CTX *ctx) | 226 | BN_BLINDING_convert_ex(BIGNUM *n, BIGNUM *r, BN_BLINDING *b, BN_CTX *ctx) |
@@ -253,14 +249,12 @@ BN_BLINDING_convert_ex(BIGNUM *n, BIGNUM *r, BN_BLINDING *b, BN_CTX *ctx) | |||
253 | 249 | ||
254 | return ret; | 250 | return ret; |
255 | } | 251 | } |
256 | LCRYPTO_ALIAS(BN_BLINDING_convert_ex); | ||
257 | 252 | ||
258 | int | 253 | int |
259 | BN_BLINDING_invert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx) | 254 | BN_BLINDING_invert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx) |
260 | { | 255 | { |
261 | return BN_BLINDING_invert_ex(n, NULL, b, ctx); | 256 | return BN_BLINDING_invert_ex(n, NULL, b, ctx); |
262 | } | 257 | } |
263 | LCRYPTO_ALIAS(BN_BLINDING_invert); | ||
264 | 258 | ||
265 | int | 259 | int |
266 | BN_BLINDING_invert_ex(BIGNUM *n, const BIGNUM *r, BN_BLINDING *b, BN_CTX *ctx) | 260 | BN_BLINDING_invert_ex(BIGNUM *n, const BIGNUM *r, BN_BLINDING *b, BN_CTX *ctx) |
@@ -280,28 +274,24 @@ BN_BLINDING_invert_ex(BIGNUM *n, const BIGNUM *r, BN_BLINDING *b, BN_CTX *ctx) | |||
280 | 274 | ||
281 | return (ret); | 275 | return (ret); |
282 | } | 276 | } |
283 | LCRYPTO_ALIAS(BN_BLINDING_invert_ex); | ||
284 | 277 | ||
285 | CRYPTO_THREADID * | 278 | CRYPTO_THREADID * |
286 | BN_BLINDING_thread_id(BN_BLINDING *b) | 279 | BN_BLINDING_thread_id(BN_BLINDING *b) |
287 | { | 280 | { |
288 | return &b->tid; | 281 | return &b->tid; |
289 | } | 282 | } |
290 | LCRYPTO_ALIAS(BN_BLINDING_thread_id); | ||
291 | 283 | ||
292 | unsigned long | 284 | unsigned long |
293 | BN_BLINDING_get_flags(const BN_BLINDING *b) | 285 | BN_BLINDING_get_flags(const BN_BLINDING *b) |
294 | { | 286 | { |
295 | return b->flags; | 287 | return b->flags; |
296 | } | 288 | } |
297 | LCRYPTO_ALIAS(BN_BLINDING_get_flags); | ||
298 | 289 | ||
299 | void | 290 | void |
300 | BN_BLINDING_set_flags(BN_BLINDING *b, unsigned long flags) | 291 | BN_BLINDING_set_flags(BN_BLINDING *b, unsigned long flags) |
301 | { | 292 | { |
302 | b->flags = flags; | 293 | b->flags = flags; |
303 | } | 294 | } |
304 | LCRYPTO_ALIAS(BN_BLINDING_set_flags); | ||
305 | 295 | ||
306 | BN_BLINDING * | 296 | BN_BLINDING * |
307 | BN_BLINDING_create_param(BN_BLINDING *b, const BIGNUM *e, BIGNUM *m, | 297 | BN_BLINDING_create_param(BN_BLINDING *b, const BIGNUM *e, BIGNUM *m, |
@@ -373,4 +363,3 @@ err: | |||
373 | 363 | ||
374 | return ret; | 364 | return ret; |
375 | } | 365 | } |
376 | LCRYPTO_ALIAS(BN_BLINDING_create_param); | ||