Make BN_mod_exp_simple() internal
authortb <tb@openbsd.org>
Sat, 2 Mar 2024 09:24:59 +0000 (09:24 +0000)
committertb <tb@openbsd.org>
Sat, 2 Mar 2024 09:24:59 +0000 (09:24 +0000)
This function is very slow and useful for testing purposes only. It
should never have been part of the public API. Remove it from there.

ok jsing

lib/libcrypto/Symbols.list
lib/libcrypto/Symbols.namespace
lib/libcrypto/bn/bn.h
lib/libcrypto/bn/bn_exp.c
lib/libcrypto/bn/bn_local.h
lib/libcrypto/hidden/openssl/bn.h

index 19f88c6..c439138 100644 (file)
@@ -411,7 +411,6 @@ BN_mod_exp2_mont
 BN_mod_exp_mont
 BN_mod_exp_mont_consttime
 BN_mod_exp_mont_word
-BN_mod_exp_simple
 BN_mod_inverse
 BN_mod_lshift
 BN_mod_lshift1
index e976291..772fb18 100644 (file)
@@ -2223,7 +2223,6 @@ _libre_BN_exp
 _libre_BN_mod_exp_mont_consttime
 _libre_BN_mod_exp_mont_word
 _libre_BN_mod_exp2_mont
-_libre_BN_mod_exp_simple
 _libre_BN_mask_bits
 _libre_BN_print_fp
 _libre_BN_print
index e00953e..39a5180 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: bn.h,v 1.75 2023/07/31 05:04:06 tb Exp $ */
+/* $OpenBSD: bn.h,v 1.76 2024/03/02 09:24:59 tb Exp $ */
 /* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
  * All rights reserved.
  *
@@ -396,8 +396,6 @@ int BN_mod_exp_mont_word(BIGNUM *r, BN_ULONG a, const BIGNUM *p,
 int    BN_mod_exp2_mont(BIGNUM *r, const BIGNUM *a1, const BIGNUM *p1,
     const BIGNUM *a2, const BIGNUM *p2, const BIGNUM *m,
     BN_CTX *ctx, BN_MONT_CTX *m_ctx);
-int    BN_mod_exp_simple(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
-    const BIGNUM *m, BN_CTX *ctx);
 
 int    BN_mask_bits(BIGNUM *a, int n);
 int    BN_print_fp(FILE *fp, const BIGNUM *a);
index 8293ae5..e4e06db 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: bn_exp.c,v 1.50 2023/10/19 10:27:27 tb Exp $ */
+/* $OpenBSD: bn_exp.c,v 1.51 2024/03/02 09:24:59 tb Exp $ */
 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
  * All rights reserved.
  *
@@ -304,7 +304,6 @@ BN_mod_exp_simple(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m,
 
        return ret;
 }
-LCRYPTO_ALIAS(BN_mod_exp_simple);
 
 /* BN_mod_exp_mont_consttime() stores the precomputed powers in a specific layout
  * so that accessing any of these table values shows the same access pattern as far
index a9ce466..e5c4cdd 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: bn_local.h,v 1.38 2023/08/09 09:23:03 tb Exp $ */
+/* $OpenBSD: bn_local.h,v 1.39 2024/03/02 09:24:59 tb Exp $ */
 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
  * All rights reserved.
  *
@@ -308,6 +308,9 @@ int BN_div_ct(BIGNUM *q, BIGNUM *r, const BIGNUM *n, const BIGNUM *d,
 int BN_mod_ct(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx);
 int BN_mod_nonct(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx);
 
+int BN_mod_exp_simple(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
+    const BIGNUM *m, BN_CTX *ctx);
+
 BIGNUM *BN_mod_inverse_ct(BIGNUM *ret, const BIGNUM *a, const BIGNUM *n,
     BN_CTX *ctx);
 BIGNUM *BN_mod_inverse_nonct(BIGNUM *ret, const BIGNUM *a, const BIGNUM *n,
index 9942cf6..1aa5b10 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: bn.h,v 1.4 2023/07/29 03:13:38 tb Exp $ */
+/* $OpenBSD: bn.h,v 1.5 2024/03/02 09:24:59 tb Exp $ */
 /*
  * Copyright (c) 2023 Bob Beck <beck@openbsd.org>
  *
@@ -99,7 +99,6 @@ LCRYPTO_USED(BN_exp);
 LCRYPTO_USED(BN_mod_exp_mont_consttime);
 LCRYPTO_USED(BN_mod_exp_mont_word);
 LCRYPTO_USED(BN_mod_exp2_mont);
-LCRYPTO_USED(BN_mod_exp_simple);
 LCRYPTO_USED(BN_mask_bits);
 LCRYPTO_USED(BN_print_fp);
 LCRYPTO_USED(BN_print);