ISARA Radiate Security Solution Suite Toolkit Edition Version 1.5

Quantum-safe cryptographic primitives and algorithms.

iqr_kdf.h
Go to the documentation of this file.
1 
25 #ifndef IQR_KDF_H
26 #define IQR_KDF_H
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
32 #include "iqr_api.h"
33 #include "iqr_hash.h"
34 #include "iqr_retval.h"
35 
36 #include <stddef.h>
37 #include <stdint.h>
38 
39 // ---------------------------------------------------------------------------------------------------------------------------------
40 // RFC 5869 HKDF.
41 // ---------------------------------------------------------------------------------------------------------------------------------
42 
89 #ifndef IQR_IGNORE_1_5_DEPRECATED
90 IQR_DEPRECATED_MSG("The KDF API will be changing in the next toolkit release.")
91 #endif
92 IQR_API
94  const uint8_t *salt, size_t salt_size, const uint8_t *ikm, size_t ikm_size, const uint8_t *info, size_t info_size,
95  uint8_t *key, size_t key_size);
96 
97 // ---------------------------------------------------------------------------------------------------------------------------------
98 // NIST SP 800-56C Option 1 Concatenation KDF.
99 // ---------------------------------------------------------------------------------------------------------------------------------
100 
134 #ifndef IQR_IGNORE_1_5_DEPRECATED
135 IQR_DEPRECATED_MSG("The KDF API will be changing in the next toolkit release.")
136 #endif
137 IQR_API
139  const uint8_t *shared_secret, size_t shared_secret_size, const uint8_t *other_info, size_t other_info_size,
140  uint8_t *key, size_t key_size);
141 
142 // ---------------------------------------------------------------------------------------------------------------------------------
143 // Internet Engineering Taskforce's (IETF's) RFC 2898, PBKDF2.
144 // ---------------------------------------------------------------------------------------------------------------------------------
145 
178 #ifndef IQR_IGNORE_1_5_DEPRECATED
179 IQR_DEPRECATED_MSG("The KDF API will be changing in the next toolkit release.")
180 #endif
181 IQR_API
183  const uint8_t *password, size_t password_size, const uint8_t *salt, size_t salt_size,
184  uint32_t iteration_count, uint8_t *key, size_t key_size);
185 
186 #ifdef __cplusplus
187 }
188 #endif
189 
190 #endif /* IQR_KDF_H */
IQR_API iqr_retval iqr_PBKDF2DeriveKey(const iqr_Context *ctx, iqr_HashAlgorithmType hash_algo, const uint8_t *password, size_t password_size, const uint8_t *salt, size_t salt_size, uint32_t iteration_count, uint8_t *key, size_t key_size)
ISARA Radiate Security Solution Suite&#39;s Hash object API.
iqr_HashAlgorithmType
Definition: iqr_hash.h:53
IQR_API iqr_retval iqr_ConcatenationKDFDeriveKey(const iqr_Context *ctx, iqr_HashAlgorithmType hash_algo, const uint8_t *shared_secret, size_t shared_secret_size, const uint8_t *other_info, size_t other_info_size, uint8_t *key, size_t key_size)
ISARA Radiate Security Solution Suite&#39;s return values.
ISARA Radiate Security Solution Suite&#39;s API declarations.
struct iqr_Context_struct iqr_Context
Definition: iqr_context.h:36
iqr_retval
Definition: iqr_retval.h:29
IQR_API iqr_retval iqr_RFC5869HKDFDeriveKey(const iqr_Context *ctx, iqr_HashAlgorithmType hash_algo, const uint8_t *salt, size_t salt_size, const uint8_t *ikm, size_t ikm_size, const uint8_t *info, size_t info_size, uint8_t *key, size_t key_size)