Introduce a CMAC specific test suite
This commit is contained in:
parent
327398ad3a
commit
d812fa69d9
3 changed files with 69 additions and 0 deletions
|
@ -50,6 +50,7 @@ APPS = test_suite_aes.ecb$(EXEXT) test_suite_aes.cbc$(EXEXT) \
|
|||
test_suite_arc4$(EXEXT) test_suite_asn1write$(EXEXT) \
|
||||
test_suite_base64$(EXEXT) test_suite_blowfish$(EXEXT) \
|
||||
test_suite_camellia$(EXEXT) test_suite_ccm$(EXEXT) \
|
||||
test_suite_cmac$(EXEXT) \
|
||||
test_suite_cipher.aes$(EXEXT) \
|
||||
test_suite_cipher.arc4$(EXEXT) test_suite_cipher.ccm$(EXEXT) \
|
||||
test_suite_cipher.gcm$(EXEXT) \
|
||||
|
@ -236,6 +237,10 @@ test_suite_ccm$(EXEXT): test_suite_ccm.c $(DEP)
|
|||
echo " CC $<"
|
||||
$(CC) $(LOCAL_CFLAGS) $(CFLAGS) $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
|
||||
|
||||
test_suite_cmac$(EXEXT): test_suite_cmac.c $(DEP)
|
||||
echo " CC $<"
|
||||
$(CC) $(LOCAL_CFLAGS) $(CFLAGS) $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
|
||||
|
||||
test_suite_cipher.aes$(EXEXT): test_suite_cipher.aes.c $(DEP)
|
||||
echo " CC $<"
|
||||
$(CC) $(LOCAL_CFLAGS) $(CFLAGS) $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
|
||||
|
|
27
tests/suites/test_suite_cmac.data
Normal file
27
tests/suites/test_suite_cmac.data
Normal file
|
@ -0,0 +1,27 @@
|
|||
CMAC self test
|
||||
mbedtls_cmac_self_test:
|
||||
|
||||
CMAC init #1 AES-128: OK
|
||||
depends_on:MBEDTLS_AES_C
|
||||
mbedtls_cmac_setkey:MBEDTLS_CIPHER_AES_128_ECB:128:0
|
||||
|
||||
CMAC init #2 AES-192: OK
|
||||
depends_on:MBEDTLS_AES_C
|
||||
mbedtls_cmac_setkey:MBEDTLS_CIPHER_AES_192_ECB:192:0
|
||||
|
||||
CMAC init #3 AES-256: OK
|
||||
depends_on:MBEDTLS_AES_C
|
||||
mbedtls_cmac_setkey:MBEDTLS_CIPHER_AES_256_ECB:256:0
|
||||
|
||||
CMAC init #4 3DES : OK
|
||||
depends_on:MBEDTLS_DES_C
|
||||
mbedtls_cmac_setkey:MBEDTLS_CIPHER_DES_EDE3_ECB:192:0
|
||||
|
||||
CMAC init #5 AES-224: bad key size
|
||||
depends_on:MBEDTLS_AES_C
|
||||
mbedtls_cmac_setkey:MBEDTLS_CIPHER_ID_AES:224:MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA
|
||||
|
||||
CMAC init #6 Camellia: wrong cipher
|
||||
depends_on:MBEDTLS_CAMELLIA_C
|
||||
mbedtls_cmac_setkey:MBEDTLS_CIPHER_ID_CAMELLIA:128:MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA
|
||||
|
37
tests/suites/test_suite_cmac.function
Normal file
37
tests/suites/test_suite_cmac.function
Normal file
|
@ -0,0 +1,37 @@
|
|||
/* BEGIN_HEADER */
|
||||
#include "mbedtls/cipher.h"
|
||||
#include "mbedtls/cmac.h"
|
||||
/* END_HEADER */
|
||||
|
||||
/* BEGIN_DEPENDENCIES
|
||||
* depends_on:MBEDTLS_CMAC_C
|
||||
* END_DEPENDENCIES
|
||||
*/
|
||||
|
||||
/* BEGIN_CASE depends_on:MBEDTLS_SELF_TEST */
|
||||
void mbedtls_cmac_self_test( )
|
||||
{
|
||||
TEST_ASSERT( mbedtls_cmac_self_test( 1 ) == 0 );
|
||||
}
|
||||
/* END_CASE */
|
||||
|
||||
/* BEGIN_CASE */
|
||||
void mbedtls_cmac_setkey( int cipher_type, int key_size,
|
||||
int result )
|
||||
{
|
||||
const mbedtls_cipher_info_t *cipher_info;
|
||||
unsigned char key[32];
|
||||
unsigned char buf[16];
|
||||
unsigned char tmp[16];
|
||||
|
||||
memset( key, 0x2A, sizeof( key ) );
|
||||
TEST_ASSERT( (unsigned) key_size <= 8 * sizeof( key ) );
|
||||
|
||||
TEST_ASSERT( ( cipher_info = mbedtls_cipher_info_from_type( cipher_type ) )
|
||||
!= NULL );
|
||||
|
||||
TEST_ASSERT( result == mbedtls_cipher_cmac( cipher_info, key, key_size,
|
||||
buf, 16, tmp ) != 0 );
|
||||
}
|
||||
/* END_CASE */
|
||||
|
Loading…
Reference in a new issue