mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-04-09 21:44:28 +00:00
AES: skip 192bit and 256bit key in selftest if 128bit_only enabled
This includes: - aes.c - cmac.c - gcm.c - nist_kw.c Signed-off-by: Yanray Wang <yanray.wang@arm.com>
This commit is contained in:
parent
732ca3221d
commit
0f06618db0
@ -1815,6 +1815,13 @@ int mbedtls_aes_self_test(int verbose)
|
|||||||
(mode == MBEDTLS_AES_DECRYPT) ? "dec" : "enc");
|
(mode == MBEDTLS_AES_DECRYPT) ? "dec" : "enc");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH)
|
||||||
|
if (keybits > 128) {
|
||||||
|
mbedtls_printf("skipped\n");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
#endif /* MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH */
|
||||||
|
|
||||||
memset(buf, 0, 16);
|
memset(buf, 0, 16);
|
||||||
|
|
||||||
if (mode == MBEDTLS_AES_DECRYPT) {
|
if (mode == MBEDTLS_AES_DECRYPT) {
|
||||||
@ -1872,6 +1879,13 @@ int mbedtls_aes_self_test(int verbose)
|
|||||||
(mode == MBEDTLS_AES_DECRYPT) ? "dec" : "enc");
|
(mode == MBEDTLS_AES_DECRYPT) ? "dec" : "enc");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH)
|
||||||
|
if (keybits > 128) {
|
||||||
|
mbedtls_printf("skipped\n");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
#endif /* MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH */
|
||||||
|
|
||||||
memset(iv, 0, 16);
|
memset(iv, 0, 16);
|
||||||
memset(prv, 0, 16);
|
memset(prv, 0, 16);
|
||||||
memset(buf, 0, 16);
|
memset(buf, 0, 16);
|
||||||
@ -1941,6 +1955,13 @@ int mbedtls_aes_self_test(int verbose)
|
|||||||
(mode == MBEDTLS_AES_DECRYPT) ? "dec" : "enc");
|
(mode == MBEDTLS_AES_DECRYPT) ? "dec" : "enc");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH)
|
||||||
|
if (keybits > 128) {
|
||||||
|
mbedtls_printf("skipped\n");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
#endif /* MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH */
|
||||||
|
|
||||||
memcpy(iv, aes_test_cfb128_iv, 16);
|
memcpy(iv, aes_test_cfb128_iv, 16);
|
||||||
memcpy(key, aes_test_cfb128_key[u], keybits / 8);
|
memcpy(key, aes_test_cfb128_key[u], keybits / 8);
|
||||||
|
|
||||||
@ -2000,6 +2021,13 @@ int mbedtls_aes_self_test(int verbose)
|
|||||||
(mode == MBEDTLS_AES_DECRYPT) ? "dec" : "enc");
|
(mode == MBEDTLS_AES_DECRYPT) ? "dec" : "enc");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH)
|
||||||
|
if (keybits > 128) {
|
||||||
|
mbedtls_printf("skipped\n");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
#endif /* MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH */
|
||||||
|
|
||||||
memcpy(iv, aes_test_ofb_iv, 16);
|
memcpy(iv, aes_test_ofb_iv, 16);
|
||||||
memcpy(key, aes_test_ofb_key[u], keybits / 8);
|
memcpy(key, aes_test_ofb_key[u], keybits / 8);
|
||||||
|
|
||||||
|
@ -760,6 +760,13 @@ static int cmac_test_subkeys(int verbose,
|
|||||||
mbedtls_printf(" %s CMAC subkey #%d: ", testname, i + 1);
|
mbedtls_printf(" %s CMAC subkey #%d: ", testname, i + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH)
|
||||||
|
if (keybits > 128) {
|
||||||
|
mbedtls_printf("skipped\n");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
#endif /* MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH */
|
||||||
|
|
||||||
mbedtls_cipher_init(&ctx);
|
mbedtls_cipher_init(&ctx);
|
||||||
|
|
||||||
if ((ret = mbedtls_cipher_setup(&ctx, cipher_info)) != 0) {
|
if ((ret = mbedtls_cipher_setup(&ctx, cipher_info)) != 0) {
|
||||||
@ -855,6 +862,13 @@ static int cmac_test_wth_cipher(int verbose,
|
|||||||
mbedtls_printf(" %s CMAC #%d: ", testname, i + 1);
|
mbedtls_printf(" %s CMAC #%d: ", testname, i + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH)
|
||||||
|
if (keybits > 128) {
|
||||||
|
mbedtls_printf("skipped\n");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
#endif /* MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH */
|
||||||
|
|
||||||
if ((ret = mbedtls_cipher_cmac(cipher_info, key, keybits, messages,
|
if ((ret = mbedtls_cipher_cmac(cipher_info, key, keybits, messages,
|
||||||
message_lengths[i], output)) != 0) {
|
message_lengths[i], output)) != 0) {
|
||||||
/* When CMAC is implemented by an alternative implementation, or
|
/* When CMAC is implemented by an alternative implementation, or
|
||||||
|
@ -888,13 +888,20 @@ int mbedtls_gcm_self_test(int verbose)
|
|||||||
int key_len = 128 + 64 * j;
|
int key_len = 128 + 64 * j;
|
||||||
|
|
||||||
for (i = 0; i < MAX_TESTS; i++) {
|
for (i = 0; i < MAX_TESTS; i++) {
|
||||||
mbedtls_gcm_init(&ctx);
|
|
||||||
|
|
||||||
if (verbose != 0) {
|
if (verbose != 0) {
|
||||||
mbedtls_printf(" AES-GCM-%3d #%d (%s): ",
|
mbedtls_printf(" AES-GCM-%3d #%d (%s): ",
|
||||||
key_len, i, "enc");
|
key_len, i, "enc");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH)
|
||||||
|
if (key_len > 128) {
|
||||||
|
mbedtls_printf("skipped\n");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
#endif /* MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH */
|
||||||
|
|
||||||
|
mbedtls_gcm_init(&ctx);
|
||||||
|
|
||||||
ret = mbedtls_gcm_setkey(&ctx, cipher,
|
ret = mbedtls_gcm_setkey(&ctx, cipher,
|
||||||
key_test_data[key_index_test_data[i]],
|
key_test_data[key_index_test_data[i]],
|
||||||
key_len);
|
key_len);
|
||||||
|
@ -567,6 +567,13 @@ int mbedtls_nist_kw_self_test(int verbose)
|
|||||||
mbedtls_printf(" KW-AES-%u ", (unsigned int) key_len[i] * 8);
|
mbedtls_printf(" KW-AES-%u ", (unsigned int) key_len[i] * 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH)
|
||||||
|
if (key_len[i] > 16) {
|
||||||
|
mbedtls_printf("skipped\n");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
#endif /* MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH */
|
||||||
|
|
||||||
ret = mbedtls_nist_kw_setkey(&ctx, MBEDTLS_CIPHER_ID_AES,
|
ret = mbedtls_nist_kw_setkey(&ctx, MBEDTLS_CIPHER_ID_AES,
|
||||||
kw_key[i], key_len[i] * 8, 1);
|
kw_key[i], key_len[i] * 8, 1);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
@ -622,6 +629,12 @@ int mbedtls_nist_kw_self_test(int verbose)
|
|||||||
if (verbose != 0) {
|
if (verbose != 0) {
|
||||||
mbedtls_printf(" KWP-AES-%u ", (unsigned int) key_len[i] * 8);
|
mbedtls_printf(" KWP-AES-%u ", (unsigned int) key_len[i] * 8);
|
||||||
}
|
}
|
||||||
|
#if defined(MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH)
|
||||||
|
if (key_len[i] > 16) {
|
||||||
|
mbedtls_printf("skipped\n");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
#endif /* MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH */
|
||||||
|
|
||||||
ret = mbedtls_nist_kw_setkey(&ctx, MBEDTLS_CIPHER_ID_AES, kwp_key[i],
|
ret = mbedtls_nist_kw_setkey(&ctx, MBEDTLS_CIPHER_ID_AES, kwp_key[i],
|
||||||
key_len[i] * 8, 1);
|
key_len[i] * 8, 1);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user