1KCAPI_KDF_DPI(3) Programming Interface KCAPI_KDF_DPI(3)
2
3
4
6 kcapi_kdf_dpi - Double Pipeline Mode Key Derivation Function
7
9 ssize_t kcapi_kdf_dpi(struct kcapi_handle * handle,
10 const uint8_t * src, size_t slen, uint8_t * dst,
11 size_t dlen);
12
14 handle
15 [in] cipher handle allocated by caller. This cipher handle must be
16 allocated with kcapi_md_init. If the caller is interested in a KDF
17 using a keyed message digest, the caller should also call
18 kcapi_md_setkey before invoking this function.
19
20 src
21 [in] Input data that should be transformed into a key (see below).
22
23 slen
24 [in] Length of the src input data.
25
26 dst
27 [out] Buffer to store the generated key in,
28
29 dlen
30 [in] Length of the dst buffer. This value defines the number of
31 bytes generated by the KDF.
32
34 This function is an implementation of the KDF in double pipeline
35 iteration mode according with counter to SP800-108 section 5.3.
36
37 The caller must provide Label || 0x00 || Context in src. This src
38 pointer may also be NULL if the caller wishes not to provide anything.
39
40 return 0 upon success; a negative errno-style error code if an error
41 occurred
42
44 Stephan Mueller <smueller@chronox.de>
45 Author.
46
48libkcapi Manual 1.3.1 July 2021 KCAPI_KDF_DPI(3)