mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-03-01 13:13:28 +00:00
aes selftest: determine selftest loop limit in runtime
Signed-off-by: Yanray Wang <yanray.wang@arm.com>
This commit is contained in:
parent
62c9991a5b
commit
59c2dfa48c
@ -1820,7 +1820,11 @@ int mbedtls_aes_self_test(int verbose)
|
||||
/*
|
||||
* ECB mode
|
||||
*/
|
||||
for (i = 0; i < 6; i++) {
|
||||
{
|
||||
static const int num_tests =
|
||||
sizeof(aes_test_ecb_dec) / sizeof(*aes_test_ecb_dec);
|
||||
|
||||
for (i = 0; i < num_tests << 1; i++) {
|
||||
u = i >> 1;
|
||||
keybits = 128 + u * 64;
|
||||
mode = i & 1;
|
||||
@ -1830,13 +1834,6 @@ int mbedtls_aes_self_test(int verbose)
|
||||
(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);
|
||||
|
||||
if (mode == MBEDTLS_AES_DECRYPT) {
|
||||
@ -1879,12 +1876,17 @@ int mbedtls_aes_self_test(int verbose)
|
||||
if (verbose != 0) {
|
||||
mbedtls_printf("\n");
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(MBEDTLS_CIPHER_MODE_CBC)
|
||||
/*
|
||||
* CBC mode
|
||||
*/
|
||||
for (i = 0; i < 6; i++) {
|
||||
{
|
||||
static const int num_tests =
|
||||
sizeof(aes_test_cbc_dec) / sizeof(*aes_test_cbc_dec);
|
||||
|
||||
for (i = 0; i < num_tests << 1; i++) {
|
||||
u = i >> 1;
|
||||
keybits = 128 + u * 64;
|
||||
mode = i & 1;
|
||||
@ -1894,13 +1896,6 @@ int mbedtls_aes_self_test(int verbose)
|
||||
(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(prv, 0, 16);
|
||||
memset(buf, 0, 16);
|
||||
@ -1954,13 +1949,18 @@ int mbedtls_aes_self_test(int verbose)
|
||||
if (verbose != 0) {
|
||||
mbedtls_printf("\n");
|
||||
}
|
||||
}
|
||||
#endif /* MBEDTLS_CIPHER_MODE_CBC */
|
||||
|
||||
#if defined(MBEDTLS_CIPHER_MODE_CFB)
|
||||
/*
|
||||
* CFB128 mode
|
||||
*/
|
||||
for (i = 0; i < 6; i++) {
|
||||
{
|
||||
static const int num_tests =
|
||||
sizeof(aes_test_cfb128_key) / sizeof(*aes_test_cfb128_key);
|
||||
|
||||
for (i = 0; i < num_tests << 1; i++) {
|
||||
u = i >> 1;
|
||||
keybits = 128 + u * 64;
|
||||
mode = i & 1;
|
||||
@ -1970,13 +1970,6 @@ int mbedtls_aes_self_test(int verbose)
|
||||
(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(key, aes_test_cfb128_key[u], keybits / 8);
|
||||
|
||||
@ -2020,13 +2013,18 @@ int mbedtls_aes_self_test(int verbose)
|
||||
if (verbose != 0) {
|
||||
mbedtls_printf("\n");
|
||||
}
|
||||
}
|
||||
#endif /* MBEDTLS_CIPHER_MODE_CFB */
|
||||
|
||||
#if defined(MBEDTLS_CIPHER_MODE_OFB)
|
||||
/*
|
||||
* OFB mode
|
||||
*/
|
||||
for (i = 0; i < 6; i++) {
|
||||
{
|
||||
static const int num_tests =
|
||||
sizeof(aes_test_ofb_key) / sizeof(*aes_test_ofb_key);
|
||||
|
||||
for (i = 0; i < num_tests << 1; i++) {
|
||||
u = i >> 1;
|
||||
keybits = 128 + u * 64;
|
||||
mode = i & 1;
|
||||
@ -2036,13 +2034,6 @@ int mbedtls_aes_self_test(int verbose)
|
||||
(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(key, aes_test_ofb_key[u], keybits / 8);
|
||||
|
||||
@ -2086,13 +2077,18 @@ int mbedtls_aes_self_test(int verbose)
|
||||
if (verbose != 0) {
|
||||
mbedtls_printf("\n");
|
||||
}
|
||||
}
|
||||
#endif /* MBEDTLS_CIPHER_MODE_OFB */
|
||||
|
||||
#if defined(MBEDTLS_CIPHER_MODE_CTR)
|
||||
/*
|
||||
* CTR mode
|
||||
*/
|
||||
for (i = 0; i < 6; i++) {
|
||||
{
|
||||
static const int num_tests =
|
||||
sizeof(aes_test_ctr_key) / sizeof(*aes_test_ctr_key);
|
||||
|
||||
for (i = 0; i < num_tests << 1; i++) {
|
||||
u = i >> 1;
|
||||
mode = i & 1;
|
||||
|
||||
@ -2134,6 +2130,7 @@ int mbedtls_aes_self_test(int verbose)
|
||||
mbedtls_printf("passed\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (verbose != 0) {
|
||||
mbedtls_printf("\n");
|
||||
@ -2141,14 +2138,14 @@ int mbedtls_aes_self_test(int verbose)
|
||||
#endif /* MBEDTLS_CIPHER_MODE_CTR */
|
||||
|
||||
#if defined(MBEDTLS_CIPHER_MODE_XTS)
|
||||
/*
|
||||
* XTS mode
|
||||
*/
|
||||
{
|
||||
static const int num_tests =
|
||||
sizeof(aes_test_xts_key) / sizeof(*aes_test_xts_key);
|
||||
mbedtls_aes_xts_context ctx_xts;
|
||||
|
||||
/*
|
||||
* XTS mode
|
||||
*/
|
||||
mbedtls_aes_xts_init(&ctx_xts);
|
||||
|
||||
for (i = 0; i < num_tests << 1; i++) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user