From: Niels Möller Date: Wed, 14 Feb 2024 13:49:24 +0000 (+0100) Subject: Proper data_size update in gcm_aes128_encrypt, define HAVE_NATIVE_gcm_aes_encrypt. X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=refs%2Fheads%2Fx86_64-gcm-aes;p=thirdparty%2Fnettle.git Proper data_size update in gcm_aes128_encrypt, define HAVE_NATIVE_gcm_aes_encrypt. --- diff --git a/configure.ac b/configure.ac index 7ade3ffe..20caedef 100644 --- a/configure.ac +++ b/configure.ac @@ -763,6 +763,8 @@ AH_VERBATIM([HAVE_NATIVE], #undef HAVE_NATIVE_fat_poly1305_blocks #undef HAVE_NATIVE_ghash_set_key #undef HAVE_NATIVE_ghash_update +#undef HAVE_NATIVE_gcm_aes_encrypt +#undef HAVE_NATIVE_gcm_aes_decrypt #undef HAVE_NATIVE_salsa20_core #undef HAVE_NATIVE_salsa20_2core #undef HAVE_NATIVE_fat_salsa20_2core diff --git a/gcm-aes128.c b/gcm-aes128.c index b3a3dd50..84ddac06 100644 --- a/gcm-aes128.c +++ b/gcm-aes128.c @@ -64,8 +64,12 @@ void gcm_aes128_encrypt(struct gcm_aes128_ctx *ctx, size_t length, uint8_t *dst, const uint8_t *src) { +#if HAVE_NATIVE_gcm_aes_encrypt size_t done = _gcm_aes_encrypt (&ctx->key, _AES128_ROUNDS, length, dst, src); - GCM_ENCRYPT(ctx, aes128_encrypt, length - done, dst + done, src + done); + ctx->gcm.data_size += done; + length -= done; src += done; dst += done; +#endif + GCM_ENCRYPT(ctx, aes128_encrypt, length, dst, src); } void