mbedtls: Re-apply MBEDTLS_BIGNUM_ALT & related macros for custom bignum functions
(IDF-specific patch.)
This commit is contained in:
parent
ae382b3bfa
commit
736db688a8
|
@ -100,6 +100,8 @@
|
||||||
#define MBEDTLS_LN_2_DIV_LN_10_SCALE100 332
|
#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 )
|
#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.
|
* Define the base integer type, architecture-wise.
|
||||||
*
|
*
|
||||||
|
@ -746,6 +748,9 @@ int mbedtls_mpi_is_prime( const mbedtls_mpi *X,
|
||||||
int mbedtls_mpi_gen_prime( mbedtls_mpi *X, size_t nbits, int dh_flag,
|
int mbedtls_mpi_gen_prime( mbedtls_mpi *X, size_t nbits, int dh_flag,
|
||||||
int (*f_rng)(void *, unsigned char *, size_t),
|
int (*f_rng)(void *, unsigned char *, size_t),
|
||||||
void *p_rng );
|
void *p_rng );
|
||||||
|
#else /* MBEDTLS_BIGNUM_ALT */
|
||||||
|
#include "bignum_alt.h"
|
||||||
|
#endif /* MBEDTLS_BIGNUM_ALT */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Checkup routine
|
* \brief Checkup routine
|
||||||
|
|
|
@ -58,6 +58,8 @@
|
||||||
#define mbedtls_free free
|
#define mbedtls_free free
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if !defined(MBEDTLS_BIGNUM_ALT)
|
||||||
|
|
||||||
/* Implementation that should never be optimized out by the compiler */
|
/* Implementation that should never be optimized out by the compiler */
|
||||||
static void mbedtls_mpi_zeroize( mbedtls_mpi_uint *v, size_t n ) {
|
static void mbedtls_mpi_zeroize( mbedtls_mpi_uint *v, size_t n ) {
|
||||||
volatile mbedtls_mpi_uint *p = v; while( n-- ) *p++ = 0;
|
volatile mbedtls_mpi_uint *p = v; while( n-- ) *p++ = 0;
|
||||||
|
@ -1095,6 +1097,8 @@ int mbedtls_mpi_sub_int( mbedtls_mpi *X, const mbedtls_mpi *A, mbedtls_mpi_sint
|
||||||
return( mbedtls_mpi_sub_mpi( X, A, &_B ) );
|
return( mbedtls_mpi_sub_mpi( X, A, &_B ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if !defined(MBEDTLS_MPI_MUL_MPI_ALT) || !defined(MBEDTLS_MPI_EXP_MOD_ALT)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Helper for mbedtls_mpi multiplication
|
* Helper for mbedtls_mpi multiplication
|
||||||
*/
|
*/
|
||||||
|
@ -1106,6 +1110,7 @@ static
|
||||||
*/
|
*/
|
||||||
__attribute__ ((noinline))
|
__attribute__ ((noinline))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void mpi_mul_hlp( size_t i, mbedtls_mpi_uint *s, mbedtls_mpi_uint *d, mbedtls_mpi_uint b )
|
void mpi_mul_hlp( size_t i, mbedtls_mpi_uint *s, mbedtls_mpi_uint *d, mbedtls_mpi_uint b )
|
||||||
{
|
{
|
||||||
mbedtls_mpi_uint c = 0, t = 0;
|
mbedtls_mpi_uint c = 0, t = 0;
|
||||||
|
@ -1167,6 +1172,9 @@ void mpi_mul_hlp( size_t i, mbedtls_mpi_uint *s, mbedtls_mpi_uint *d, mbedtls_mp
|
||||||
while( c != 0 );
|
while( c != 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if !defined(MBEDTLS_MPI_MUL_MPI_ALT)
|
||||||
/*
|
/*
|
||||||
* Baseline multiplication: X = A * B (HAC 14.12)
|
* Baseline multiplication: X = A * B (HAC 14.12)
|
||||||
*/
|
*/
|
||||||
|
@ -1203,6 +1211,7 @@ cleanup:
|
||||||
|
|
||||||
return( ret );
|
return( ret );
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Baseline multiplication: X = A * b
|
* Baseline multiplication: X = A * b
|
||||||
|
@ -1527,6 +1536,8 @@ int mbedtls_mpi_mod_int( mbedtls_mpi_uint *r, const mbedtls_mpi *A, mbedtls_mpi_
|
||||||
return( 0 );
|
return( 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if !defined(MBEDTLS_MPI_EXP_MOD_ALT)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Fast Montgomery initialization (thanks to Tom St Denis)
|
* Fast Montgomery initialization (thanks to Tom St Denis)
|
||||||
*/
|
*/
|
||||||
|
@ -1808,6 +1819,7 @@ cleanup:
|
||||||
|
|
||||||
return( ret );
|
return( ret );
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Greatest common divisor: G = gcd(A, B) (HAC 14.54)
|
* Greatest common divisor: G = gcd(A, B) (HAC 14.54)
|
||||||
|
@ -2269,6 +2281,7 @@ cleanup:
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* MBEDTLS_GENPRIME */
|
#endif /* MBEDTLS_GENPRIME */
|
||||||
|
#endif /* MBEDTLS_BIGNUM_ALT */
|
||||||
|
|
||||||
#if defined(MBEDTLS_SELF_TEST)
|
#if defined(MBEDTLS_SELF_TEST)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue