1
0
mirror of https://github.com/Mbed-TLS/mbedtls.git synced 2025-07-29 11:41:15 +03:00

Merge pull request #4845 from mstarzyk-mobica/ecb-alt-ret-2.2x

Backport 2.2x: Catch failures of mbedtls_aes_crypt_ecb and its DES equivalents
This commit is contained in:
Gilles Peskine
2021-10-14 12:11:04 +02:00
committed by GitHub
14 changed files with 335 additions and 62 deletions

View File

@ -449,7 +449,8 @@ int main( int argc, char *argv[] )
{
mbedtls_des3_context des3;
mbedtls_des3_init( &des3 );
mbedtls_des3_set3key_enc( &des3, tmp );
if( mbedtls_des3_set3key_enc( &des3, tmp ) != 0 )
mbedtls_exit( 1 );
TIME_AND_TSC( "3DES",
mbedtls_des3_crypt_cbc( &des3, MBEDTLS_DES_ENCRYPT, BUFSIZE, tmp, buf, buf ) );
mbedtls_des3_free( &des3 );
@ -459,7 +460,8 @@ int main( int argc, char *argv[] )
{
mbedtls_des_context des;
mbedtls_des_init( &des );
mbedtls_des_setkey_enc( &des, tmp );
if( mbedtls_des_setkey_enc( &des, tmp ) != 0 )
mbedtls_exit( 1 );
TIME_AND_TSC( "DES",
mbedtls_des_crypt_cbc( &des, MBEDTLS_DES_ENCRYPT, BUFSIZE, tmp, buf, buf ) );
mbedtls_des_free( &des );
@ -497,7 +499,7 @@ int main( int argc, char *argv[] )
memset( buf, 0, sizeof( buf ) );
memset( tmp, 0, sizeof( tmp ) );
mbedtls_aes_setkey_enc( &aes, tmp, keysize );
CHECK_AND_CONTINUE( mbedtls_aes_setkey_enc( &aes, tmp, keysize ) );
TIME_AND_TSC( title,
mbedtls_aes_crypt_cbc( &aes, MBEDTLS_AES_ENCRYPT, BUFSIZE, tmp, buf, buf ) );
@ -518,7 +520,7 @@ int main( int argc, char *argv[] )
memset( buf, 0, sizeof( buf ) );
memset( tmp, 0, sizeof( tmp ) );
mbedtls_aes_xts_setkey_enc( &ctx, tmp, keysize * 2 );
CHECK_AND_CONTINUE( mbedtls_aes_xts_setkey_enc( &ctx, tmp, keysize * 2 ) );
TIME_AND_TSC( title,
mbedtls_aes_crypt_xts( &ctx, MBEDTLS_AES_ENCRYPT, BUFSIZE,

View File

@ -770,6 +770,14 @@ int query_config( const char *config )
}
#endif /* MBEDTLS_CAMELLIA_SMALL_MEMORY */
#if defined(MBEDTLS_CHECK_RETURN_WARNING)
if( strcmp( "MBEDTLS_CHECK_RETURN_WARNING", config ) == 0 )
{
MACRO_EXPANSION_TO_STR( MBEDTLS_CHECK_RETURN_WARNING );
return( 0 );
}
#endif /* MBEDTLS_CHECK_RETURN_WARNING */
#if defined(MBEDTLS_CIPHER_MODE_CBC)
if( strcmp( "MBEDTLS_CIPHER_MODE_CBC", config ) == 0 )
{
@ -2642,6 +2650,22 @@ int query_config( const char *config )
}
#endif /* MBEDTLS_PLATFORM_NV_SEED_WRITE_MACRO */
#if defined(MBEDTLS_CHECK_RETURN)
if( strcmp( "MBEDTLS_CHECK_RETURN", config ) == 0 )
{
MACRO_EXPANSION_TO_STR( MBEDTLS_CHECK_RETURN );
return( 0 );
}
#endif /* MBEDTLS_CHECK_RETURN */
#if defined(MBEDTLS_IGNORE_RETURN)
if( strcmp( "MBEDTLS_IGNORE_RETURN", config ) == 0 )
{
MACRO_EXPANSION_TO_STR( MBEDTLS_IGNORE_RETURN );
return( 0 );
}
#endif /* MBEDTLS_IGNORE_RETURN */
#if defined(MBEDTLS_PSA_HMAC_DRBG_MD_TYPE)
if( strcmp( "MBEDTLS_PSA_HMAC_DRBG_MD_TYPE", config ) == 0 )
{