From 5e776d1ea16910373516853f4a2d586c12536aac Mon Sep 17 00:00:00 2001 From: Bernd Edlinger Date: Thu, 9 Sep 2021 19:34:49 +0200 Subject: [PATCH] Make openssl speed aes use the -decrypt option with this patch, openssl speed -decrypt aes / aes-128-cbc / aes-128-ige uses AES_DECRYPT mode instead of AES_ENCRYPT mode. Previously this flag was only usable for the -evp cipher command. --- apps/speed.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/apps/speed.c b/apps/speed.c index d4ae7ab7bfd..723d99f591a 100644 --- a/apps/speed.c +++ b/apps/speed.c @@ -821,6 +821,7 @@ static int DES_ede3_cbc_encrypt_loop(void *args) #define MAX_BLOCK_SIZE 128 +static int decrypt = 0; static unsigned char iv[2 * MAX_BLOCK_SIZE / 8]; static AES_KEY aes_ks1, aes_ks2, aes_ks3; static int AES_cbc_128_encrypt_loop(void *args) @@ -830,7 +831,8 @@ static int AES_cbc_128_encrypt_loop(void *args) int count; for (count = 0; COND(c[D_CBC_128_AES][testnum]); count++) AES_cbc_encrypt(buf, buf, - (size_t)lengths[testnum], &aes_ks1, iv, AES_ENCRYPT); + (size_t)lengths[testnum], &aes_ks1, iv, + decrypt ? AES_DECRYPT : AES_ENCRYPT); return count; } @@ -841,7 +843,8 @@ static int AES_cbc_192_encrypt_loop(void *args) int count; for (count = 0; COND(c[D_CBC_192_AES][testnum]); count++) AES_cbc_encrypt(buf, buf, - (size_t)lengths[testnum], &aes_ks2, iv, AES_ENCRYPT); + (size_t)lengths[testnum], &aes_ks2, iv, + decrypt ? AES_DECRYPT : AES_ENCRYPT); return count; } @@ -852,7 +855,8 @@ static int AES_cbc_256_encrypt_loop(void *args) int count; for (count = 0; COND(c[D_CBC_256_AES][testnum]); count++) AES_cbc_encrypt(buf, buf, - (size_t)lengths[testnum], &aes_ks3, iv, AES_ENCRYPT); + (size_t)lengths[testnum], &aes_ks3, iv, + decrypt ? AES_DECRYPT : AES_ENCRYPT); return count; } @@ -864,7 +868,8 @@ static int AES_ige_128_encrypt_loop(void *args) int count; for (count = 0; COND(c[D_IGE_128_AES][testnum]); count++) AES_ige_encrypt(buf, buf2, - (size_t)lengths[testnum], &aes_ks1, iv, AES_ENCRYPT); + (size_t)lengths[testnum], &aes_ks1, iv, + decrypt ? AES_DECRYPT : AES_ENCRYPT); return count; } @@ -876,7 +881,8 @@ static int AES_ige_192_encrypt_loop(void *args) int count; for (count = 0; COND(c[D_IGE_192_AES][testnum]); count++) AES_ige_encrypt(buf, buf2, - (size_t)lengths[testnum], &aes_ks2, iv, AES_ENCRYPT); + (size_t)lengths[testnum], &aes_ks2, iv, + decrypt ? AES_DECRYPT : AES_ENCRYPT); return count; } @@ -888,7 +894,8 @@ static int AES_ige_256_encrypt_loop(void *args) int count; for (count = 0; COND(c[D_IGE_256_AES][testnum]); count++) AES_ige_encrypt(buf, buf2, - (size_t)lengths[testnum], &aes_ks3, iv, AES_ENCRYPT); + (size_t)lengths[testnum], &aes_ks3, iv, + decrypt ? AES_DECRYPT : AES_ENCRYPT); return count; } @@ -915,7 +922,6 @@ static int RAND_bytes_loop(void *args) } static long save_count = 0; -static int decrypt = 0; static int EVP_Update_loop(void *args) { loopargs_t *tempargs = *(loopargs_t **) args;