]> git.ipfire.org Git - thirdparty/nettle.git/commitdiff
New function poly1305_update.
authorNiels Möller <nisse@lysator.liu.se>
Thu, 19 Dec 2013 12:07:18 +0000 (13:07 +0100)
committerNiels Möller <nisse@lysator.liu.se>
Thu, 19 Dec 2013 12:07:18 +0000 (13:07 +0100)
ChangeLog
poly1305-aes.c
poly1305-aes.h
poly1305.c
poly1305.h

index 08156bd346bca363843592129cbbcac5d939b3eb..e1e4b018806bcede86375a820240e1be1a0b4c9a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2013-12-19  Niels Möller  <nisse@lysator.liu.se>
+
+       * poly1305-aes.h (poly1305_aes_update): Define as an alias for
+       poly1305_update, using preprocessor and a type cast.
+
+       * poly1305-aes.c (poly1305_aes_update): Deleted function.
+
+       * poly1305.h (poly1305_update): Declare.
+       (_POLY1305_BLOCK, POLY1305_UPDATE): Deleted macros.
+
+       * poly1305.c (poly1305_update): New function.
+
 2013-11-21  Niels Möller  <nisse@lysator.liu.se>
 
        * x86_64/poly1305-internal.asm: New file. Almost a factor of two
index d3846a4f7435697d7ef72163587662dd08931bc2..26c26859f5021b09ec2def923ec604171459a795 100644 (file)
@@ -40,13 +40,6 @@ poly1305_aes_set_nonce (struct poly1305_aes_ctx *ctx,
   POLY1305_SET_NONCE(ctx, nonce);
 }
 
-void
-poly1305_aes_update (struct poly1305_aes_ctx *ctx,
-                    size_t length, const uint8_t * data)
-{
-  POLY1305_UPDATE(ctx, length, data);
-}
-
 void
 poly1305_aes_digest (struct poly1305_aes_ctx *ctx,
                     size_t length, uint8_t * digest)
index fe19ee24cdcf2eac8af0c844a8f69d6e45717f2e..f2d28fbc845663f69358b31c244ad7653b7febbd 100644 (file)
@@ -39,7 +39,6 @@ extern "C" {
 
 #define poly1305_aes_set_key nettle_poly1305_aes_set_key
 #define poly1305_aes_set_nonce nettle_poly1305_aes_set_nonce
-#define poly1305_aes_update nettle_poly1305_aes_update
 #define poly1305_aes_digest nettle_poly1305_aes_digest
 
 struct poly1305_aes_ctx POLY1305_CTX(struct aes_ctx);
@@ -53,9 +52,8 @@ void
 poly1305_aes_set_nonce (struct poly1305_aes_ctx *ctx,
                        const uint8_t *nonce);
 
-void
-poly1305_aes_update (struct poly1305_aes_ctx *ctx,
-                    size_t length, const uint8_t *data);
+#define poly1305_aes_update \
+  (*(void(*)(struct poly1305_aes_ctx *, size_t, const uint8_t *))&poly1305_update)
 
 /* The _digest functions increment the nonce */
 void
index 374453167cdd67b3018eb5ebdcbb6cf66c6f98c0..eacb484124af101f327203a258d044fb4f226309 100644 (file)
 
 #include "poly1305.h"
 
+#include "macros.h"
+
 void
 poly1305_set_nonce (struct poly1305_ctx *ctx, const uint8_t * nonce)
 {
   memcpy (ctx->nonce, nonce, 16);
 }
+
+void
+poly1305_update (struct poly1305_ctx *ctx, size_t length, const uint8_t *data)
+{
+  MD_UPDATE (ctx, length, data, poly1305_block, (void) 0);
+}
index 3f71d8b19e28b635290ec15b83900762fd3da7f6..13b2d6c83bffa1d3110cff33887ab1d4356f09c9 100644 (file)
@@ -30,9 +30,7 @@
 extern "C" {
 #endif
 
-/* Low level functions/macros for the poly1305 construction.
- * For the macros to be useful include macros.h
- */
+/* Low level functions/macros for the poly1305 construction. */
 
 #include "nettle-types.h"
 
@@ -46,7 +44,7 @@ struct poly1305_ctx {
   uint32_t s32[3];
   /* State, represented as words of 26, 32 or 64 bits, depending on
      implementation. */
-  /* High bits, first to maintain alignment. */
+  /* High bits first, to maintain alignment. */
   uint32_t hh;
   union
   {
@@ -65,13 +63,14 @@ struct poly1305_ctx {
 
 #define poly1305_set_key nettle_poly1305_set_key
 #define poly1305_set_nonce nettle_poly1305_set_nonce
+#define poly1305_update nettle_poly1305_update
 #define poly1305_block nettle_poly1305_block
 #define poly1305_digest nettle_poly1305_digest
 
 void poly1305_set_key(struct poly1305_ctx *ctx, const uint8_t key[16]);
 void poly1305_set_nonce (struct poly1305_ctx *ctx, const uint8_t * nonce);
 void poly1305_block (struct poly1305_ctx *ctx, const uint8_t m[16]);
-
+void poly1305_update (struct poly1305_ctx *ctx, size_t size, const uint8_t *data);
 void poly1305_digest (struct poly1305_ctx *ctx,
                      size_t length, uint8_t *digest, const uint8_t *s);
 
@@ -85,14 +84,6 @@ void poly1305_digest (struct poly1305_ctx *ctx,
 #define POLY1305_SET_NONCE(ctx, data)          \
   poly1305_set_nonce(&(ctx)->pctx, (data))
 
-#define _POLY1305_BLOCK(ctx, block) do {       \
-    poly1305_block(ctx, block);                        \
-  } while (0)
-
-
-#define POLY1305_UPDATE(ctx, length, data)                     \
-  MD_UPDATE (&(ctx)->pctx, (length), (data), _POLY1305_BLOCK, (void) 0)
-
 #define POLY1305_DIGEST(ctx, encrypt, length, digest)          \
   do {                                                                 \
     uint8_t _ts[16];                                           \