nrfxlib API 0.1.0
Loading...
Searching...
No Matches
ocrypto_hmac_sha256.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_SHA256_H
30#define OCRYPTO_HMAC_SHA256_H
31
32#include <stddef.h>
33#include <stdint.h>
34
35#include "ocrypto_sha256.h"
36
37
38#ifdef __cplusplus
39extern "C" {
40#endif
41
42
46#define ocrypto_hmac_sha256_BYTES (32)
47
48
50typedef struct {
51 ocrypto_sha256_ctx sha;
52 uint8_t k[64];
53} ocrypto_hmac_sha256_ctx;
74 ocrypto_hmac_sha256_ctx *ctx,
75 const uint8_t* key, size_t key_len);
76
92 ocrypto_hmac_sha256_ctx *ctx,
93 const uint8_t *in, size_t in_len);
94
112 ocrypto_hmac_sha256_ctx *ctx,
113 uint8_t r[ocrypto_hmac_sha256_BYTES]);
131 uint8_t r[ocrypto_hmac_sha256_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_sha256_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_sha256_final(ocrypto_hmac_sha256_ctx *ctx, uint8_t r[(32)])
void ocrypto_hmac_sha256_init(ocrypto_hmac_sha256_ctx *ctx, const uint8_t *key, size_t key_len)
void ocrypto_hmac_sha256(uint8_t r[(32)], const uint8_t *key, size_t key_len, const uint8_t *in, size_t in_len)
#define ocrypto_hmac_sha256_BYTES
Definition: ocrypto_hmac_sha256.h:46
void ocrypto_hmac_sha256_update(ocrypto_hmac_sha256_ctx *ctx, const uint8_t *in, size_t in_len)
void ocrypto_hmac_sha256_aad(uint8_t r[(32)], const uint8_t *key, size_t key_len, const uint8_t *in, size_t in_len, const uint8_t *aad, size_t aad_len)