Mbed TLS v2.28.8
hkdf.h
Go to the documentation of this file.
1 
9 /*
10  * Copyright The Mbed TLS Contributors
11  * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
12  */
13 #ifndef MBEDTLS_HKDF_H
14 #define MBEDTLS_HKDF_H
15 
16 #if !defined(MBEDTLS_CONFIG_FILE)
17 #include "mbedtls/config.h"
18 #else
19 #include MBEDTLS_CONFIG_FILE
20 #endif
21 
22 #include "mbedtls/md.h"
23 
29 #define MBEDTLS_ERR_HKDF_BAD_INPUT_DATA -0x5F80
30 
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35 
60 int mbedtls_hkdf(const mbedtls_md_info_t *md, const unsigned char *salt,
61  size_t salt_len, const unsigned char *ikm, size_t ikm_len,
62  const unsigned char *info, size_t info_len,
63  unsigned char *okm, size_t okm_len);
64 
90  const unsigned char *salt, size_t salt_len,
91  const unsigned char *ikm, size_t ikm_len,
92  unsigned char *prk);
93 
120 int mbedtls_hkdf_expand(const mbedtls_md_info_t *md, const unsigned char *prk,
121  size_t prk_len, const unsigned char *info,
122  size_t info_len, unsigned char *okm, size_t okm_len);
123 
124 #ifdef __cplusplus
125 }
126 #endif
127 
128 #endif /* hkdf.h */
int mbedtls_hkdf(const mbedtls_md_info_t *md, const unsigned char *salt, size_t salt_len, const unsigned char *ikm, size_t ikm_len, const unsigned char *info, size_t info_len, unsigned char *okm, size_t okm_len)
This is the HMAC-based Extract-and-Expand Key Derivation Function (HKDF).
Configuration options (set of defines)
int mbedtls_hkdf_expand(const mbedtls_md_info_t *md, const unsigned char *prk, size_t prk_len, const unsigned char *info, size_t info_len, unsigned char *okm, size_t okm_len)
Expand the supplied prk into several additional pseudorandom keys, which is the output of the HKDF...
int mbedtls_hkdf_extract(const mbedtls_md_info_t *md, const unsigned char *salt, size_t salt_len, const unsigned char *ikm, size_t ikm_len, unsigned char *prk)
Take the input keying material ikm and extract from it a fixed-length pseudorandom key prk...
This file contains the generic message-digest wrapper.
struct mbedtls_md_info_t mbedtls_md_info_t
Definition: md.h:78
#define md
Definition: compat-1.3.h:1989