kcapi_kdf_dpi
Prev | Key Derivation Functions | Next

## Name

kcapi_kdf_dpi — Double Pipeline Mode Key Derivation Function

## Synopsis

`int32_t kcapi_kdf_dpi (` | struct kcapi_handle * handle,
| const uint8_t * src,
| uint32_t slen,
| uint8_t * dst,
| uint32_t dlen`)`;

## Arguments

`handle`

  [in] cipher handle allocated by caller. This cipher handle must be allocated with `kcapi_md_init`. If the caller is interested in a KDF using a keyed message digest, the caller should also call `kcapi_md_setkey` before invoking this function.

`src`

  [in] Input data that should be transformed into a key (see below).

`slen`

  [in] Length of the src input data.

`dst`

  [out] Buffer to store the generated key in,

`dlen`

  [in] Length of the dst buffer. This value defines the number of bytes generated by the KDF.

## Description

This function is an implementation of the KDF in double pipeline iteration mode according with counter to SP800-108 section 5.3.

The caller must provide Label || 0x00 || Context in src. This src pointer may also be NULL if the caller wishes not to provide anything.

`return` 0 upon success; a negative errno-style error code if an error occurred

Prev | Up | Next
Key Derivation Functions | Home | kcapi_kdf_fb