nrfxlib API 3.3.99
Loading...
Searching...
No Matches
nrf_cc3xx_platform_hmac_drbg.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2021 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5 */
19#ifndef NRF_CC3XX_PLATFORM_HMAC_DRBG_H__
20#define NRF_CC3XX_PLATFORM_HMAC_DRBG_H__
21
22#include <stdint.h>
23#include <stdbool.h>
24#include <stddef.h>
25
27
28#ifdef __cplusplus
29extern "C"
30{
31#endif
32
39#define NRF_CC3XX_PLATFORM_HMAC_CTX_SIZE_WORDS (78)
40
52
53
70 const uint8_t * pers_string,
71 size_t pers_string_len);
72
73
80
81
106
107
127
128
158 const uint8_t * additional,
159 size_t add_len);
160
161
193 uint8_t * buffer,
194 size_t len,
195 size_t * olen,
196 const uint8_t * additional,
197 size_t add_len);
198
199
227 uint8_t * buffer,
228 size_t len,
229 size_t * olen);
230
231
232#ifdef __cplusplus
233}
234#endif
235
236#endif /* NRF_CC3XX_PLATFORM_HMAC_DRBG_H__ */
237
void nrf_cc3xx_platform_hmac_drbg_free(nrf_cc3xx_platform_hmac_drbg_context_t *const context)
Function that deinitializes a hmac_drbg context.
int nrf_cc3xx_platform_hmac_drbg_reseed(nrf_cc3xx_platform_hmac_drbg_context_t *const context, const uint8_t *additional, size_t add_len)
Function to do a manual reseed of hmac_drbg (using TRNG)
int nrf_cc3xx_platform_hmac_drbg_get_with_add(nrf_cc3xx_platform_hmac_drbg_context_t *const context, uint8_t *buffer, size_t len, size_t *olen, const uint8_t *additional, size_t add_len)
Function to get PRNG using hmac_drbg and an additional string of data.
int nrf_cc3xx_platform_hmac_drbg_set_pr(nrf_cc3xx_platform_hmac_drbg_context_t *const context, bool pr_enabled)
Function to enable prediction resistance.
int nrf_cc3xx_platform_hmac_drbg_init(nrf_cc3xx_platform_hmac_drbg_context_t *const context, const uint8_t *pers_string, size_t pers_string_len)
Function that initializes an hmac_drbg context.
#define NRF_CC3XX_PLATFORM_HMAC_CTX_SIZE_WORDS
Macro holding size of the opaque hmac_drbg context type.
Definition nrf_cc3xx_platform_hmac_drbg.h:39
int nrf_cc3xx_platform_hmac_drbg_set_reseed_interval(nrf_cc3xx_platform_hmac_drbg_context_t *const context, int interval)
Function to change the reseed interval.
int nrf_cc3xx_platform_hmac_drbg_get(nrf_cc3xx_platform_hmac_drbg_context_t *const context, uint8_t *buffer, size_t len, size_t *olen)
Function to get PRNG data using hmac_drbg.
uint32_t buffer[(78)]
Internal buffer for the built-in entropy and hmac_drbg contexts.
Definition nrf_cc3xx_platform_hmac_drbg.h:49
uint32_t is_initialized
Mask indicating if the hmac_drbg context has been initialized.
Definition nrf_cc3xx_platform_hmac_drbg.h:48
uint32_t reseed_interval
The reseed interval.
Definition nrf_cc3xx_platform_hmac_drbg.h:50
Opaque type for the context required for hmac_drbg generation.
Definition nrf_cc3xx_platform_hmac_drbg.h:47