nrfxlib API 0.1.0
Loading...
Searching...
No Matches
ocrypto_hmac_sha1.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2016 - 2024 Nordic Semiconductor ASA
3 * Copyright (c) since 2013 Oberon microsystems AG
4 *
5 * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
6 */
7
8
29#ifndef OCRYPTO_HMAC_SHA1_H
30#define OCRYPTO_HMAC_SHA1_H
31
32#include <stddef.h>
33#include <stdint.h>
34
35#include "ocrypto_sha1.h"
36
37
38#ifdef __cplusplus
39extern "C" {
40#endif
41
42
46#define ocrypto_hmac_sha1_BYTES (20)
47
48
50typedef struct {
51 ocrypto_sha1_ctx sha;
52 uint8_t k[64];
53} ocrypto_hmac_sha1_ctx;
74 ocrypto_hmac_sha1_ctx *ctx,
75 const uint8_t* key, size_t key_len);
76
92 ocrypto_hmac_sha1_ctx *ctx,
93 const uint8_t *in, size_t in_len);
94
112 ocrypto_hmac_sha1_ctx *ctx,
113 uint8_t r[ocrypto_hmac_sha1_BYTES]);
131 uint8_t r[ocrypto_hmac_sha1_BYTES],
132 const uint8_t* key, size_t key_len,
133 const uint8_t* in, size_t in_len);
134
147 uint8_t r[ocrypto_hmac_sha1_BYTES],
148 const uint8_t* key, size_t key_len,
149 const uint8_t* in, size_t in_len,
150 const uint8_t* aad, size_t aad_len);
151
152#ifdef __cplusplus
153}
154#endif
155
156#endif
157
void ocrypto_hmac_sha1(uint8_t r[(20)], const uint8_t *key, size_t key_len, const uint8_t *in, size_t in_len)
void ocrypto_hmac_sha1_final(ocrypto_hmac_sha1_ctx *ctx, uint8_t r[(20)])
#define ocrypto_hmac_sha1_BYTES
Definition: ocrypto_hmac_sha1.h:46
void ocrypto_hmac_sha1_update(ocrypto_hmac_sha1_ctx *ctx, const uint8_t *in, size_t in_len)
void ocrypto_hmac_sha1_aad(uint8_t r[(20)], const uint8_t *key, size_t key_len, const uint8_t *in, size_t in_len, const uint8_t *aad, size_t aad_len)
void ocrypto_hmac_sha1_init(ocrypto_hmac_sha1_ctx *ctx, const uint8_t *key, size_t key_len)