* umac.h (UMAC32_DIGEST_SIZE, UMAC64_DIGEST_SIZE)
(UMAC96_DIGEST_SIZE, UMAC128_DIGEST_SIZE): New constants.
+ (UMAC_DATA_SIZE): New name, for consistency with hash functions.
+ Updated all uses.
+ (UMAC_BLOCK_SIZE): ... old name.
2013-04-17 Niels Möller <nisse@lysator.liu.se>
info.update = (nettle_hash_update_func *) umac32_update;
info.data = data;
- display("umac32", "update", UMAC_BLOCK_SIZE,
+ display("umac32", "update", UMAC_DATA_SIZE,
time_function(bench_hash, &info));
umac64_set_key (&ctx64, key);
info.update = (nettle_hash_update_func *) umac64_update;
info.data = data;
- display("umac64", "update", UMAC_BLOCK_SIZE,
+ display("umac64", "update", UMAC_DATA_SIZE,
time_function(bench_hash, &info));
umac96_set_key (&ctx96, key);
info.update = (nettle_hash_update_func *) umac96_update;
info.data = data;
- display("umac96", "update", UMAC_BLOCK_SIZE,
+ display("umac96", "update", UMAC_DATA_SIZE,
time_function(bench_hash, &info));
umac128_set_key (&ctx128, key);
info.update = (nettle_hash_update_func *) umac128_update;
info.data = data;
- display("umac128", "update", UMAC_BLOCK_SIZE,
+ display("umac128", "update", UMAC_DATA_SIZE,
time_function(bench_hash, &info));
}
aes_set_encrypt_key (aes, UMAC_KEY_SIZE, key);
- size = UMAC_BLOCK_SIZE / 4 + 4*(n-1);
+ size = UMAC_DATA_SIZE / 4 + 4*(n-1);
umac_kdf (aes, 1, size * sizeof(uint32_t), (uint8_t *) l1_key);
BE_SWAP32_N (size, l1_key);
#define UMAC64_DIGEST_SIZE 8
#define UMAC96_DIGEST_SIZE 12
#define UMAC128_DIGEST_SIZE 16
-#define UMAC_BLOCK_SIZE 1024
+#define UMAC_DATA_SIZE 1024
/* Subkeys and state for UMAC with tag size 32*n bits. */
#define _UMAC_STATE(n) \
- uint32_t l1_key[UMAC_BLOCK_SIZE/4 + 4*((n)-1)]; \
+ uint32_t l1_key[UMAC_DATA_SIZE/4 + 4*((n)-1)]; \
/* Keys in 32-bit pieces, high first */ \
uint32_t l2_key[6*(n)]; \
uint64_t l3_key1[8*(n)]; \
unsigned index; \
/* Complete blocks processed */ \
uint64_t count; \
- uint8_t block[UMAC_BLOCK_SIZE]
+ uint8_t block[UMAC_DATA_SIZE]
#define _UMAC_NONCE_CACHED 0x80
#define UMAC128_BLOCK(ctx, block) do { \
uint64_t __umac128_y[4]; \
- _umac_nh_n (__umac128_y, 4, ctx->l1_key, UMAC_BLOCK_SIZE, block); \
- __umac128_y[0] += 8*UMAC_BLOCK_SIZE; \
- __umac128_y[1] += 8*UMAC_BLOCK_SIZE; \
- __umac128_y[2] += 8*UMAC_BLOCK_SIZE; \
- __umac128_y[3] += 8*UMAC_BLOCK_SIZE; \
+ _umac_nh_n (__umac128_y, 4, ctx->l1_key, UMAC_DATA_SIZE, block); \
+ __umac128_y[0] += 8*UMAC_DATA_SIZE; \
+ __umac128_y[1] += 8*UMAC_DATA_SIZE; \
+ __umac128_y[2] += 8*UMAC_DATA_SIZE; \
+ __umac128_y[3] += 8*UMAC_DATA_SIZE; \
_umac_l2 (ctx->l2_key, ctx->l2_state, 4, ctx->count++, __umac128_y); \
} while (0)
#define UMAC32_BLOCK(ctx, block) do { \
uint64_t __umac32_y \
- = _umac_nh (ctx->l1_key, UMAC_BLOCK_SIZE, block) \
- + 8*UMAC_BLOCK_SIZE ; \
+ = _umac_nh (ctx->l1_key, UMAC_DATA_SIZE, block) \
+ + 8*UMAC_DATA_SIZE ; \
_umac_l2 (ctx->l2_key, ctx->l2_state, 1, ctx->count++, &__umac32_y); \
} while (0)
#define UMAC64_BLOCK(ctx, block) do { \
uint64_t __umac64_y[2]; \
- _umac_nh_n (__umac64_y, 2, ctx->l1_key, UMAC_BLOCK_SIZE, block); \
- __umac64_y[0] += 8*UMAC_BLOCK_SIZE; \
- __umac64_y[1] += 8*UMAC_BLOCK_SIZE; \
+ _umac_nh_n (__umac64_y, 2, ctx->l1_key, UMAC_DATA_SIZE, block); \
+ __umac64_y[0] += 8*UMAC_DATA_SIZE; \
+ __umac64_y[1] += 8*UMAC_DATA_SIZE; \
_umac_l2 (ctx->l2_key, ctx->l2_state, 2, ctx->count++, __umac64_y); \
} while (0)
#define UMAC96_BLOCK(ctx, block) do { \
uint64_t __umac96_y[3]; \
- _umac_nh_n (__umac96_y, 3, ctx->l1_key, UMAC_BLOCK_SIZE, block); \
- __umac96_y[0] += 8*UMAC_BLOCK_SIZE; \
- __umac96_y[1] += 8*UMAC_BLOCK_SIZE; \
- __umac96_y[2] += 8*UMAC_BLOCK_SIZE; \
+ _umac_nh_n (__umac96_y, 3, ctx->l1_key, UMAC_DATA_SIZE, block); \
+ __umac96_y[0] += 8*UMAC_DATA_SIZE; \
+ __umac96_y[1] += 8*UMAC_DATA_SIZE; \
+ __umac96_y[2] += 8*UMAC_DATA_SIZE; \
_umac_l2 (ctx->l2_key, ctx->l2_state, 3, ctx->count++, __umac96_y); \
} while (0)