mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2024-11-29 18:34:17 +01:00
Introduce a CMAC specific test suite
This commit is contained in:
parent
327398ad3a
commit
d812fa69d9
@ -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_arc4$(EXEXT) test_suite_asn1write$(EXEXT) \
|
||||||
test_suite_base64$(EXEXT) test_suite_blowfish$(EXEXT) \
|
test_suite_base64$(EXEXT) test_suite_blowfish$(EXEXT) \
|
||||||
test_suite_camellia$(EXEXT) test_suite_ccm$(EXEXT) \
|
test_suite_camellia$(EXEXT) test_suite_ccm$(EXEXT) \
|
||||||
|
test_suite_cmac$(EXEXT) \
|
||||||
test_suite_cipher.aes$(EXEXT) \
|
test_suite_cipher.aes$(EXEXT) \
|
||||||
test_suite_cipher.arc4$(EXEXT) test_suite_cipher.ccm$(EXEXT) \
|
test_suite_cipher.arc4$(EXEXT) test_suite_cipher.ccm$(EXEXT) \
|
||||||
test_suite_cipher.gcm$(EXEXT) \
|
test_suite_cipher.gcm$(EXEXT) \
|
||||||
@ -236,6 +237,10 @@ test_suite_ccm$(EXEXT): test_suite_ccm.c $(DEP)
|
|||||||
echo " CC $<"
|
echo " CC $<"
|
||||||
$(CC) $(LOCAL_CFLAGS) $(CFLAGS) $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
|
$(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)
|
test_suite_cipher.aes$(EXEXT): test_suite_cipher.aes.c $(DEP)
|
||||||
echo " CC $<"
|
echo " CC $<"
|
||||||
$(CC) $(LOCAL_CFLAGS) $(CFLAGS) $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
|
$(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 New Issue
Block a user