Revert "improve cbc encrypt perf"

This reverts commit f1e396c42724896b9d31ac727043da45a35d5e26.

Performance is slightly better with this reverted, especially
for AES-CBC 192.

Signed-off-by: Dave Rodgman <dave.rodgman@arm.com>
This commit is contained in:
Dave Rodgman 2023-06-14 17:53:51 +01:00
parent 5c394ff203
commit 906c63cf35

View File

@ -1068,6 +1068,8 @@ int mbedtls_aes_crypt_cbc(mbedtls_aes_context *ctx,
} }
#endif #endif
const unsigned char *ivp = iv;
if (mode == MBEDTLS_AES_DECRYPT) { if (mode == MBEDTLS_AES_DECRYPT) {
while (length > 0) { while (length > 0) {
memcpy(temp, input, 16); memcpy(temp, input, 16);
@ -1086,18 +1088,19 @@ int mbedtls_aes_crypt_cbc(mbedtls_aes_context *ctx,
} }
} else { } else {
while (length > 0) { while (length > 0) {
mbedtls_xor(temp, input, iv, 16); mbedtls_xor(output, input, ivp, 16);
ret = mbedtls_aes_crypt_ecb(ctx, mode, temp, iv); ret = mbedtls_aes_crypt_ecb(ctx, mode, output, output);
memcpy(output, iv, 16);
if (ret != 0) { if (ret != 0) {
goto exit; goto exit;
} }
ivp = output;
input += 16; input += 16;
output += 16; output += 16;
length -= 16; length -= 16;
} }
memcpy(iv, ivp, 16);
} }
ret = 0; ret = 0;