]> git.ipfire.org Git - thirdparty/nettle.git/commitdiff
Proper data_size update in gcm_aes128_encrypt, define HAVE_NATIVE_gcm_aes_encrypt. x86_64-gcm-aes
authorNiels Möller <nisse@lysator.liu.se>
Wed, 14 Feb 2024 13:49:24 +0000 (14:49 +0100)
committerNiels Möller <nisse@lysator.liu.se>
Wed, 14 Feb 2024 13:49:24 +0000 (14:49 +0100)
configure.ac
gcm-aes128.c

index 7ade3ffe6ca9660c5f09cbcba3106a29c09e82b7..20caedef5d4ace73d887655248a40ffcf8804a98 100644 (file)
@@ -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
index b3a3dd5089f93910832b7b91761a0ce85a59e06d..84ddac06203eb4239caeef0a8a02d13cf5bbdfc1 100644 (file)
@@ -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