wolfcrypt/src/aes.c: in _AesEcbEncrypt() and _AesEcbDecrypt(), implement missing iteration for AES_encrypt_AARCH64() and AES_decrypt_AARCH64().

This commit is contained in:
Daniel Pouzzner
2025-01-25 16:23:41 -06:00
parent 337932806d
commit 34dddf0d11

View File

@ -11847,7 +11847,13 @@ static WARN_UNUSED_RESULT int _AesEcbEncrypt(
#elif defined(__aarch64__) && defined(WOLFSSL_ARMASM) && \ #elif defined(__aarch64__) && defined(WOLFSSL_ARMASM) && \
!defined(WOLFSSL_ARMASM_NO_HW_CRYPTO) !defined(WOLFSSL_ARMASM_NO_HW_CRYPTO)
if (aes->use_aes_hw_crypto) { if (aes->use_aes_hw_crypto) {
AES_encrypt_AARCH64(in, out, (byte*)aes->key, (int)aes->rounds); word32 i;
for (i = 0; i < sz; i += WC_AES_BLOCK_SIZE) {
AES_encrypt_AARCH64(in, out, (byte*)aes->key, (int)aes->rounds);
in += WC_AES_BLOCK_SIZE;
out += WC_AES_BLOCK_SIZE;
}
} }
else else
#endif #endif
@ -11905,7 +11911,13 @@ static WARN_UNUSED_RESULT int _AesEcbDecrypt(
#elif defined(__aarch64__) && defined(WOLFSSL_ARMASM) && \ #elif defined(__aarch64__) && defined(WOLFSSL_ARMASM) && \
!defined(WOLFSSL_ARMASM_NO_HW_CRYPTO) !defined(WOLFSSL_ARMASM_NO_HW_CRYPTO)
if (aes->use_aes_hw_crypto) { if (aes->use_aes_hw_crypto) {
AES_decrypt_AARCH64(in, out, (byte*)aes->key, (int)aes->rounds); word32 i;
for (i = 0; i < sz; i += WC_AES_BLOCK_SIZE) {
AES_decrypt_AARCH64(in, out, (byte*)aes->key, (int)aes->rounds);
in += WC_AES_BLOCK_SIZE;
out += WC_AES_BLOCK_SIZE;
}
} }
else else
#endif #endif