]> git.ipfire.org Git - thirdparty/nettle.git/commitdiff
Less conditions around ctr_fill16.
authorNiels Möller <nisse@lysator.liu.se>
Mon, 2 Jun 2025 17:29:14 +0000 (19:29 +0200)
committerNiels Möller <nisse@lysator.liu.se>
Sun, 22 Jun 2025 19:56:48 +0000 (21:56 +0200)
ChangeLog
ctr.c

index 4cfe7966154214aa923371b078784f80af8a9807..331e1a3298a0ff6f4d39f28fd72e6040c8b93d3d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
 
        * umac.h (_UMAC_STATE): Use _NETTLE_ALIGN16 for the l1_key array.
 
+2025-06-02  Niels Möller  <nisse@lysator.liu.se>
+
+       * ctr.c (ctr_fill16) [!WORDS_BIGENDIAN]: Use nettle_bswap64.
+       (ctr_crypt): For block size 16, always use _nettle_ctr_crypt16.
+
 2025-05-13  Niels Möller  <nisse@lysator.liu.se>
 
        Reduce size of sha3 context size to 216 bytes.
diff --git a/ctr.c b/ctr.c
index 8c6b462667fa708c748d000fd5e05751ff907a4b..21316ecd7e347b5d7604aa52ed9691b14ccfbc5d 100644 (file)
--- a/ctr.c
+++ b/ctr.c
@@ -41,6 +41,7 @@
 
 #include "ctr.h"
 
+#include "bswap-internal.h"
 #include "ctr-internal.h"
 #include "macros.h"
 #include "memxor.h"
@@ -60,9 +61,9 @@ ctr_fill (size_t block_size, uint8_t *ctr, size_t length, uint8_t *buffer)
   return i;
 }
 
-#if WORDS_BIGENDIAN
-# define USE_CTR_CRYPT16 1
 static nettle_fill16_func ctr_fill16;
+
+#if WORDS_BIGENDIAN
 static void
 ctr_fill16(uint8_t *ctr, size_t blocks, union nettle_block16 *buffer)
 {
@@ -81,9 +82,6 @@ ctr_fill16(uint8_t *ctr, size_t blocks, union nettle_block16 *buffer)
   WRITE_UINT64(ctr + 8, lo);
 }
 #else /* !WORDS_BIGENDIAN */
-# if HAVE_BUILTIN_BSWAP64
-#  define USE_CTR_CRYPT16 1
-static nettle_fill16_func ctr_fill16;
 static void
 ctr_fill16(uint8_t *ctr, size_t blocks, union nettle_block16 *buffer)
 {
@@ -96,16 +94,13 @@ ctr_fill16(uint8_t *ctr, size_t blocks, union nettle_block16 *buffer)
   for (i = 0; i < blocks; i++)
     {
       buffer[i].u64[0] = hi;
-      buffer[i].u64[1] = __builtin_bswap64(lo);
+      buffer[i].u64[1] = nettle_bswap64(lo);
       if (!++lo)
-       hi = __builtin_bswap64(__builtin_bswap64(hi) + 1);
+       hi = nettle_bswap64(nettle_bswap64(hi) + 1);
     }
   LE_WRITE_UINT64(ctr, hi);
   WRITE_UINT64(ctr + 8, lo);
 }
-# else /* ! HAVE_BUILTIN_BSWAP64 */
-#  define USE_CTR_CRYPT16 0
-# endif
 #endif /* !WORDS_BIGENDIAN */
 
 void
@@ -114,13 +109,11 @@ ctr_crypt(const void *ctx, nettle_cipher_func *f,
          size_t length, uint8_t *dst,
          const uint8_t *src)
 {
-#if USE_CTR_CRYPT16
   if (block_size == 16)
     {
       _nettle_ctr_crypt16(ctx, f, ctr_fill16, ctr, length, dst, src);
       return;
     }
-#endif
 
   if(src != dst)
     {