mbedtls: Re-apply MBEDTLS_BIGNUM_ALT & related macros for custom bignum functions

(IDF-specific patch.)
This commit is contained in:
Angus Gratton 2017-09-06 15:06:57 +10:00 committed by Laukik Hase
parent 8c89224991
commit f859b9bc75
No known key found for this signature in database
GPG Key ID: 11C571361F51A199
2 changed files with 13 additions and 0 deletions

View File

@ -109,6 +109,8 @@
#define MBEDTLS_LN_2_DIV_LN_10_SCALE100 332
#define MBEDTLS_MPI_RW_BUFFER_SIZE ( ((MBEDTLS_MPI_MAX_BITS_SCALE100 + MBEDTLS_LN_2_DIV_LN_10_SCALE100 - 1) / MBEDTLS_LN_2_DIV_LN_10_SCALE100) + 10 + 6 )
#if !defined(MBEDTLS_BIGNUM_ALT)
/*
* Define the base integer type, architecture-wise.
*
@ -1051,6 +1053,9 @@ typedef enum {
int mbedtls_mpi_gen_prime( mbedtls_mpi *X, size_t nbits, int flags,
int (*f_rng)(void *, unsigned char *, size_t),
void *p_rng );
#else /* MBEDTLS_BIGNUM_ALT */
#include "bignum_alt.h"
#endif /* MBEDTLS_BIGNUM_ALT */
#if defined(MBEDTLS_SELF_TEST)

View File

@ -49,6 +49,8 @@
#include "mbedtls/platform.h"
#if !defined(MBEDTLS_BIGNUM_ALT)
#define MPI_VALIDATE_RET( cond ) \
MBEDTLS_INTERNAL_VALIDATE_RET( cond, MBEDTLS_ERR_MPI_BAD_INPUT_DATA )
#define MPI_VALIDATE( cond ) \
@ -1080,6 +1082,7 @@ int mbedtls_mpi_sub_int( mbedtls_mpi *X, const mbedtls_mpi *A, mbedtls_mpi_sint
return( mbedtls_mpi_sub_mpi( X, A, &B ) );
}
#if !defined(MBEDTLS_MPI_MUL_MPI_ALT)
/*
* Baseline multiplication: X = A * B (HAC 14.12)
*/
@ -1174,6 +1177,7 @@ int mbedtls_mpi_mul_int( mbedtls_mpi *X, const mbedtls_mpi *A, mbedtls_mpi_uint
cleanup:
return( ret );
}
#endif
/*
* Unsigned integer divide - double mbedtls_mpi_uint dividend, u1/u0, and
@ -1503,6 +1507,8 @@ int mbedtls_mpi_mod_int( mbedtls_mpi_uint *r, const mbedtls_mpi *A, mbedtls_mpi_
return( 0 );
}
#if !defined(MBEDTLS_MPI_EXP_MOD_ALT)
static void mpi_montg_init( mbedtls_mpi_uint *mm, const mbedtls_mpi *N )
{
*mm = mbedtls_mpi_core_montmul_init( N->p );
@ -1884,6 +1890,7 @@ cleanup:
return( ret );
}
#endif
/*
* Greatest common divisor: G = gcd(A, B) (HAC 14.54)
@ -2516,6 +2523,7 @@ cleanup:
}
#endif /* MBEDTLS_GENPRIME */
#endif /* MBEDTLS_BIGNUM_ALT */
#if defined(MBEDTLS_SELF_TEST)