Commit 9b41e3b8 authored by Niels Möller's avatar Niels Möller

New struct cmac128_key.

parent dc28cadb
2019-06-01 Niels Möller <nisse@lysator.liu.se>
* cmac.h (struct cmac128_key): New struct.
* cmac.h (struct cmac128_ctx): Use struct cmac128_key.
* cmac.c (cmac128_set_key, cmac128_digest): Update accordingly.
2019-05-12 Niels Möller <nisse@lysator.liu.se> 2019-05-12 Niels Möller <nisse@lysator.liu.se>
Delete old libdes/openssl compatibility interface. Delete old libdes/openssl compatibility interface.
......
...@@ -83,8 +83,8 @@ cmac128_set_key(struct cmac128_ctx *ctx, const void *cipher, ...@@ -83,8 +83,8 @@ cmac128_set_key(struct cmac128_ctx *ctx, const void *cipher,
/* step 1 - generate subkeys k1 and k2 */ /* step 1 - generate subkeys k1 and k2 */
encrypt(cipher, 16, L->b, const_zero); encrypt(cipher, 16, L->b, const_zero);
block_mulx(&ctx->K1, L); block_mulx(&ctx->key.K1, L);
block_mulx(&ctx->K2, &ctx->K1); block_mulx(&ctx->key.K2, &ctx->key.K1);
} }
#define MIN(x,y) ((x)<(y)?(x):(y)) #define MIN(x,y) ((x)<(y)?(x):(y))
...@@ -148,11 +148,11 @@ cmac128_digest(struct cmac128_ctx *ctx, const void *cipher, ...@@ -148,11 +148,11 @@ cmac128_digest(struct cmac128_ctx *ctx, const void *cipher,
if (ctx->index < 16) if (ctx->index < 16)
{ {
ctx->block.b[ctx->index] = 0x80; ctx->block.b[ctx->index] = 0x80;
memxor(ctx->block.b, ctx->K2.b, 16); memxor(ctx->block.b, ctx->key.K2.b, 16);
} }
else else
{ {
memxor(ctx->block.b, ctx->K1.b, 16); memxor(ctx->block.b, ctx->key.K1.b, 16);
} }
memxor3(Y.b, ctx->block.b, ctx->X.b, 16); memxor3(Y.b, ctx->block.b, ctx->X.b, 16);
......
...@@ -55,18 +55,22 @@ extern "C" { ...@@ -55,18 +55,22 @@ extern "C" {
#define cmac_aes256_update nettle_cmac_aes256_update #define cmac_aes256_update nettle_cmac_aes256_update
#define cmac_aes256_digest nettle_cmac_aes256_digest #define cmac_aes256_digest nettle_cmac_aes256_digest
struct cmac128_ctx struct cmac128_key
{ {
/* Key */
union nettle_block16 K1; union nettle_block16 K1;
union nettle_block16 K2; union nettle_block16 K2;
};
struct cmac128_ctx
{
struct cmac128_key key;
/* MAC state */ /* MAC state */
union nettle_block16 X; union nettle_block16 X;
/* Block buffer */ /* Block buffer */
union nettle_block16 block;
size_t index; size_t index;
union nettle_block16 block;
}; };
void void
......
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