Commit 0f10b7b4 authored by Niels Möller's avatar Niels Möller

Fixed nonce caching for umac32 and umac64.

parent aa9ccf8f
2013-04-16 Niels Möller <nisse@lysator.liu.se>
* umac32.c (umac32_digest): Fix nonce caching.
* umac64.c (umac64_digest): Likewise.
* testsuite/umac-test.c (test_incr): New function.
(test_main): Test nonce increment.
......
......@@ -101,8 +101,11 @@ umac32_digest (struct umac32_ctx *ctx,
}
assert (ctx->count > 0);
if ( !(ctx->nonce_low & _UMAC_NONCE_CACHED))
aes_encrypt (&ctx->pdf_key, AES_BLOCK_SIZE,
(uint8_t *) ctx->pad_cache, ctx->nonce);
{
aes_encrypt (&ctx->pdf_key, AES_BLOCK_SIZE,
(uint8_t *) ctx->pad_cache, ctx->nonce);
ctx->nonce_low |= _UMAC_NONCE_CACHED;
}
pad = ctx->pad_cache[ctx->nonce_low & 3];
......
......@@ -104,9 +104,11 @@ umac64_digest (struct umac64_ctx *ctx,
}
assert (ctx->count > 0);
if ( !(ctx->nonce_low & _UMAC_NONCE_CACHED))
aes_encrypt (&ctx->pdf_key, AES_BLOCK_SIZE,
(uint8_t *) ctx->pad_cache, ctx->nonce);
{
aes_encrypt (&ctx->pdf_key, AES_BLOCK_SIZE,
(uint8_t *) ctx->pad_cache, ctx->nonce);
ctx->nonce_low |= _UMAC_NONCE_CACHED;
}
pad = ctx->pad_cache + 2*(ctx->nonce_low & 1);
/* Increment nonce */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment