63 memset ( hctx->pad, 0, sizeof ( hctx->pad ) );
64 if ( key_len <=
sizeof ( hctx->pad ) ) {
71 for ( i = 0 ; i <
sizeof ( hctx->pad ) ; i++ ) {
77 digest_update ( digest, hctx->ctx, hctx->pad, sizeof ( hctx->pad ) );
92 for ( i = 0 ; i <
sizeof ( hctx->pad ) ; i++ ) {
101 digest_update ( digest, hctx->ctx, hctx->pad, sizeof ( hctx->pad ) );
106 memset ( hctx->pad, 0, sizeof ( hctx->pad ) );
void hmac_init(struct digest_algorithm *digest, void *ctx, const void *key, size_t key_len)
Initialise HMAC.
static void digest_update(struct digest_algorithm *digest, void *ctx, const void *data, size_t len)
#define hmac_context_t(digest)
HMAC context type.
static void digest_final(struct digest_algorithm *digest, void *ctx, void *out)
struct golan_eq_context ctx
void * memcpy(void *dest, const void *src, size_t len) __nonnull
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
Keyed-Hashing for Message Authentication.
static void digest_init(struct digest_algorithm *digest, void *ctx)
size_t digestsize
Digest size.
A message digest algorithm.
void hmac_final(struct digest_algorithm *digest, void *ctx, void *hmac)
Finalise HMAC.
void * memset(void *dest, int character, size_t len) __nonnull