mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-04-09 21:44:28 +00:00
Move mbedtls_cf_uint_if function to the constant-time module
Signed-off-by: gabor-mezei-arm <gabor.mezei@arm.com>
This commit is contained in:
parent
3f90fd540a
commit
b2dbf2c113
@ -273,3 +273,19 @@ unsigned mbedtls_cf_mpi_uint_lt( const mbedtls_mpi_uint x,
|
|||||||
}
|
}
|
||||||
|
|
||||||
#endif /* MBEDTLS_BIGNUM_C */
|
#endif /* MBEDTLS_BIGNUM_C */
|
||||||
|
|
||||||
|
/** Choose between two integer values, without branches.
|
||||||
|
*
|
||||||
|
* This is equivalent to `cond ? if1 : if0`, but is likely to be compiled
|
||||||
|
* to code using bitwise operation rather than a branch.
|
||||||
|
*
|
||||||
|
* \param cond Condition to test.
|
||||||
|
* \param if1 Value to use if \p cond is nonzero.
|
||||||
|
* \param if0 Value to use if \p cond is zero.
|
||||||
|
* \return \c if1 if \p cond is nonzero, otherwise \c if0.
|
||||||
|
*/
|
||||||
|
unsigned mbedtls_cf_uint_if( unsigned cond, unsigned if1, unsigned if0 )
|
||||||
|
{
|
||||||
|
unsigned mask = mbedtls_cf_uint_mask( cond );
|
||||||
|
return( ( mask & if1 ) | (~mask & if0 ) );
|
||||||
|
}
|
||||||
|
@ -52,3 +52,6 @@ unsigned mbedtls_cf_mpi_uint_lt( const mbedtls_mpi_uint x,
|
|||||||
const mbedtls_mpi_uint y );
|
const mbedtls_mpi_uint y );
|
||||||
|
|
||||||
#endif /* MBEDTLS_BIGNUM_C */
|
#endif /* MBEDTLS_BIGNUM_C */
|
||||||
|
|
||||||
|
unsigned mbedtls_cf_uint_if( unsigned cond, unsigned if1, unsigned if0 );
|
||||||
|
|
||||||
|
@ -1458,22 +1458,6 @@ cleanup:
|
|||||||
#endif /* MBEDTLS_PKCS1_V21 */
|
#endif /* MBEDTLS_PKCS1_V21 */
|
||||||
|
|
||||||
#if defined(MBEDTLS_PKCS1_V15)
|
#if defined(MBEDTLS_PKCS1_V15)
|
||||||
/** Choose between two integer values, without branches.
|
|
||||||
*
|
|
||||||
* This is equivalent to `cond ? if1 : if0`, but is likely to be compiled
|
|
||||||
* to code using bitwise operation rather than a branch.
|
|
||||||
*
|
|
||||||
* \param cond Condition to test.
|
|
||||||
* \param if1 Value to use if \p cond is nonzero.
|
|
||||||
* \param if0 Value to use if \p cond is zero.
|
|
||||||
* \return \c if1 if \p cond is nonzero, otherwise \c if0.
|
|
||||||
*/
|
|
||||||
static unsigned mbedtls_cf_uint_if( unsigned cond, unsigned if1, unsigned if0 )
|
|
||||||
{
|
|
||||||
unsigned mask = mbedtls_cf_uint_mask( cond );
|
|
||||||
return( ( mask & if1 ) | (~mask & if0 ) );
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Shift some data towards the left inside a buffer without leaking
|
/** Shift some data towards the left inside a buffer without leaking
|
||||||
* the length of the data through side channels.
|
* the length of the data through side channels.
|
||||||
*
|
*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user