mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2025-02-24 14:46:46 +00:00
Move mbedtls_cf_uint_if function to the constant-time module
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com>
This commit is contained in:
parent
097d4f555e
commit
7533253125
|
@ -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 );
|
||||||
|
|
||||||
|
|
|
@ -1479,22 +1479,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…
Reference in a new issue