From: Niels Möller Date: Wed, 30 Oct 2024 09:53:35 +0000 (+0100) Subject: Update hmac-sha512 and hmac-sha384. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8137e6507bb9c62629c0a7b45ffd399a0e18d67a;p=thirdparty%2Fnettle.git Update hmac-sha512 and hmac-sha384. --- diff --git a/hmac-sha384.c b/hmac-sha384.c index 9fbfb19f..8c0b2cc5 100644 --- a/hmac-sha384.c +++ b/hmac-sha384.c @@ -2,7 +2,7 @@ HMAC-SHA384 message authentication code. - Copyright (C) 2003, 2010 Niels Möller + Copyright (C) 2003, 2010, 2024 Niels Möller This file is part of GNU Nettle. @@ -36,17 +36,21 @@ #endif #include "hmac.h" +#include "hmac-internal.h" void hmac_sha384_set_key(struct hmac_sha512_ctx *ctx, size_t key_length, const uint8_t *key) { - HMAC_SET_KEY(ctx, &nettle_sha384, key_length, key); + _nettle_hmac_set_key (sizeof(ctx->outer), ctx->outer, ctx->inner, &ctx->state, + ctx->state.block, &nettle_sha384, key_length, key); } void hmac_sha384_digest(struct hmac_sha512_ctx *ctx, uint8_t *digest) { - HMAC_DIGEST(ctx, &nettle_sha384, digest); + sha384_digest (&ctx->state, ctx->state.block); + ctx->state.index = SHA384_DIGEST_SIZE; + _NETTLE_HMAC_DIGEST (ctx->outer, ctx->inner, &ctx->state, sha384_digest, digest); } diff --git a/hmac-sha512.c b/hmac-sha512.c index e7a43e7d..59b15721 100644 --- a/hmac-sha512.c +++ b/hmac-sha512.c @@ -2,7 +2,7 @@ HMAC-SHA512 message authentication code. - Copyright (C) 2003, 2010 Niels Möller + Copyright (C) 2003, 2010, 2024 Niels Möller This file is part of GNU Nettle. @@ -36,12 +36,14 @@ #endif #include "hmac.h" +#include "hmac-internal.h" void hmac_sha512_set_key(struct hmac_sha512_ctx *ctx, size_t key_length, const uint8_t *key) { - HMAC_SET_KEY(ctx, &nettle_sha512, key_length, key); + _nettle_hmac_set_key (sizeof(ctx->outer), ctx->outer, ctx->inner, &ctx->state, + ctx->state.block, &nettle_sha512, key_length, key); } void @@ -55,5 +57,7 @@ void hmac_sha512_digest(struct hmac_sha512_ctx *ctx, uint8_t *digest) { - HMAC_DIGEST(ctx, &nettle_sha512, digest); + sha512_digest (&ctx->state, ctx->state.block); + ctx->state.index = SHA512_DIGEST_SIZE; + _NETTLE_HMAC_DIGEST (ctx->outer, ctx->inner, &ctx->state, sha512_digest, digest); } diff --git a/hmac.h b/hmac.h index e3d30578..6ffe501d 100644 --- a/hmac.h +++ b/hmac.h @@ -196,7 +196,7 @@ hmac_sha224_digest(struct hmac_sha224_ctx *ctx, uint8_t *digest); /* hmac-sha512 */ -struct hmac_sha512_ctx OLD_HMAC_CTX(struct sha512_ctx); +struct hmac_sha512_ctx HMAC_CTX (struct sha512_ctx, offsetof (struct sha512_ctx, index)); void hmac_sha512_set_key(struct hmac_sha512_ctx *ctx,