From 82d3f1e8240748a133e1f9ff72861f37a8f0f1de Mon Sep 17 00:00:00 2001 From: Tom Cosgrove Date: Tue, 23 Aug 2022 12:01:39 +0100 Subject: [PATCH] Remove bignum_internal.h, moving contents to bignum_core.h Signed-off-by: Tom Cosgrove --- library/bignum.c | 1 - library/bignum_core.h | 21 ++++++++++++++++ library/bignum_internal.h | 50 --------------------------------------- library/ecp_curves.c | 5 +--- 4 files changed, 22 insertions(+), 55 deletions(-) delete mode 100644 library/bignum_internal.h diff --git a/library/bignum.c b/library/bignum.c index acf620f9a2..1c5ef8cb13 100644 --- a/library/bignum.c +++ b/library/bignum.c @@ -38,7 +38,6 @@ #if defined(MBEDTLS_BIGNUM_C) #include "mbedtls/bignum.h" -#include "bignum_internal.h" #include "bignum_core.h" #include "bn_mul.h" #include "mbedtls/platform_util.h" diff --git a/library/bignum_core.h b/library/bignum_core.h index 434f52b5ee..1e159a7e9a 100644 --- a/library/bignum_core.h +++ b/library/bignum_core.h @@ -155,4 +155,25 @@ int mbedtls_mpi_core_write_be( const mbedtls_mpi_uint *A, #define GET_BYTE( X, i ) \ ( ( (X)[(i) / ciL] >> ( ( (i) % ciL ) * 8 ) ) & 0xff ) +/** Perform a known-size multiply accumulate operation + * + * Add \p b * \p s to \p d. + * + * \param[in,out] d The pointer to the (little-endian) array + * representing the bignum to accumulate onto. + * \param d_len The number of limbs of \p d. This must be + * at least \p s_len. + * \param[in] s The pointer to the (little-endian) array + * representing the bignum to multiply with. + * This may be the same as \p d. Otherwise, + * it must be disjoint from \p d. + * \param s_len The number of limbs of \p s. + * \param b A scalar to multiply with. + * + * \return c The carry at the end of the operation. + */ +mbedtls_mpi_uint mbedtls_mpi_core_mla( mbedtls_mpi_uint *d, size_t d_len , + const mbedtls_mpi_uint *s, size_t s_len, + mbedtls_mpi_uint b ); + #endif /* MBEDTLS_BIGNUM_CORE_H */ diff --git a/library/bignum_internal.h b/library/bignum_internal.h deleted file mode 100644 index 8677dcf1f0..0000000000 --- a/library/bignum_internal.h +++ /dev/null @@ -1,50 +0,0 @@ -/** - * Internal bignum functions - * - * Copyright The Mbed TLS Contributors - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef MBEDTLS_BIGNUM_INTERNAL_H -#define MBEDTLS_BIGNUM_INTERNAL_H - -#include "common.h" - -#if defined(MBEDTLS_BIGNUM_C) -#include "mbedtls/bignum.h" -#endif - -/** Perform a known-size multiply accumulate operation - * - * Add \p b * \p s to \p d. - * - * \param[in,out] d The pointer to the (little-endian) array - * representing the bignum to accumulate onto. - * \param d_len The number of limbs of \p d. This must be - * at least \p s_len. - * \param[in] s The pointer to the (little-endian) array - * representing the bignum to multiply with. - * This may be the same as \p d. Otherwise, - * it must be disjoint from \p d. - * \param s_len The number of limbs of \p s. - * \param b A scalar to multiply with. - * - * \return c The carry at the end of the operation. - */ -mbedtls_mpi_uint mbedtls_mpi_core_mla( mbedtls_mpi_uint *d, size_t d_len , - const mbedtls_mpi_uint *s, size_t s_len, - mbedtls_mpi_uint b ); - -#endif /* MBEDTLS_BIGNUM_INTERNAL_H */ diff --git a/library/ecp_curves.c b/library/ecp_curves.c index 51956cd5b7..7b142370dd 100644 --- a/library/ecp_curves.c +++ b/library/ecp_curves.c @@ -26,7 +26,7 @@ #include "mbedtls/error.h" #include "bn_mul.h" -#include "bignum_internal.h" +#include "bignum_core.h" #include "ecp_invasive.h" #include @@ -4969,9 +4969,6 @@ static inline void sub32( uint32_t *dst, uint32_t src, signed char *carry ) #define ADD( j ) add32( &cur, A( j ), &c ); #define SUB( j ) sub32( &cur, A( j ), &c ); -#define ciL (sizeof(mbedtls_mpi_uint)) /* chars in limb */ -#define biL (ciL << 3) /* bits in limb */ - /* * Helpers for the main 'loop' */