benchmark: add AES_CFB128

Signed-off-by: Yanray Wang <yanray.wang@arm.com>
This commit is contained in:
Yanray Wang 2023-09-12 09:03:50 +08:00
parent e0be6bfafa
commit b382c2b0e7

View File

@ -92,7 +92,7 @@ int main(void)
#define OPTIONS \ #define OPTIONS \
"md4, md5, ripemd160, sha1, sha256, sha512,\n" \ "md4, md5, ripemd160, sha1, sha256, sha512,\n" \
"arc4, des3, des, camellia, blowfish, chacha20,\n" \ "arc4, des3, des, camellia, blowfish, chacha20,\n" \
"aes_cbc, aes_gcm, aes_ccm, aes_xts, chachapoly,\n" \ "aes_cbc, aes_cfb128, aes_gcm, aes_ccm, aes_xts, chachapoly,\n" \
"aes_cmac, des3_cmac, poly1305\n" \ "aes_cmac, des3_cmac, poly1305\n" \
"havege, ctr_drbg, hmac_drbg\n" \ "havege, ctr_drbg, hmac_drbg\n" \
"rsa, dhm, ecdsa, ecdh.\n" "rsa, dhm, ecdsa, ecdh.\n"
@ -280,7 +280,7 @@ unsigned char buf[BUFSIZE];
typedef struct { typedef struct {
char md4, md5, ripemd160, sha1, sha256, sha512, char md4, md5, ripemd160, sha1, sha256, sha512,
arc4, des3, des, arc4, des3, des,
aes_cbc, aes_gcm, aes_ccm, aes_xts, chachapoly, aes_cbc, aes_cfb128, aes_gcm, aes_ccm, aes_xts, chachapoly,
aes_cmac, des3_cmac, aes_cmac, des3_cmac,
aria, camellia, blowfish, chacha20, aria, camellia, blowfish, chacha20,
poly1305, poly1305,
@ -336,6 +336,8 @@ int main(int argc, char *argv[])
todo.des = 1; todo.des = 1;
} else if (strcmp(argv[i], "aes_cbc") == 0) { } else if (strcmp(argv[i], "aes_cbc") == 0) {
todo.aes_cbc = 1; todo.aes_cbc = 1;
} else if (strcmp(argv[i], "aes_cfb128") == 0) {
todo.aes_cfb128 = 1;
} else if (strcmp(argv[i], "aes_xts") == 0) { } else if (strcmp(argv[i], "aes_xts") == 0) {
todo.aes_xts = 1; todo.aes_xts = 1;
} else if (strcmp(argv[i], "aes_gcm") == 0) { } else if (strcmp(argv[i], "aes_gcm") == 0) {
@ -500,6 +502,26 @@ int main(int argc, char *argv[])
mbedtls_aes_free(&aes); mbedtls_aes_free(&aes);
} }
#endif #endif
#if defined(MBEDTLS_CIPHER_MODE_CFB)
if (todo.aes_cfb128) {
int keysize;
size_t iv_off = 0;
mbedtls_aes_context aes;
mbedtls_aes_init(&aes);
for (keysize = 128; keysize <= 256; keysize += 64) {
mbedtls_snprintf(title, sizeof(title), "AES-CFB128-%d", keysize);
memset(buf, 0, sizeof(buf));
memset(tmp, 0, sizeof(tmp));
CHECK_AND_CONTINUE(mbedtls_aes_setkey_enc(&aes, tmp, keysize));
TIME_AND_TSC(title,
mbedtls_aes_crypt_cfb128(&aes, MBEDTLS_AES_ENCRYPT, BUFSIZE,
&iv_off, tmp, buf, buf));
}
mbedtls_aes_free(&aes);
}
#endif
#if defined(MBEDTLS_CIPHER_MODE_XTS) #if defined(MBEDTLS_CIPHER_MODE_XTS)
if (todo.aes_xts) { if (todo.aes_xts) {
int keysize; int keysize;