PSOC E8XXGP Device Support Library

| PSOC E8XXGP Device Support Library

Functions
Functions
PDL API Reference » Crypto (Cryptography) » Direct Crypto Core Access » Key Derivative Function (HKDF)

## General Description

## Functions
__STATIC_INLINE cy_en_crypto_status_t | Cy_Crypto_Core_Hkdf_Extract (CRYPTO_Type *base, cy_en_crypto_sha_mode_t mode, uint8_t const *salt, uint32_t saltLength, uint8_t const *ikm, uint32_t ikmLength, uint8_t *prk)
| Performs HKDF Extract calculation. More...
__STATIC_INLINE cy_en_crypto_status_t | Cy_Crypto_Core_Hkdf_Expand (CRYPTO_Type *base, cy_en_crypto_sha_mode_t mode, uint8_t const *prk, uint32_t prkLength, uint8_t const *info, uint32_t infoLength, uint8_t *okm, uint32_t okmLength)
| Performs HKDF Expand calculation. More...
__STATIC_INLINE cy_en_crypto_status_t | Cy_Crypto_Core_Hkdf (CRYPTO_Type *base, cy_en_crypto_sha_mode_t mode, uint8_t const *salt, uint32_t saltLength, uint8_t const *ikm, uint32_t ikmLength, uint8_t const *info, uint32_t infoLength, uint8_t *okm, uint32_t okmLength)
| Performs HKDF calculation. More...

## Function Documentation

## ◆ Cy_Crypto_Core_Hkdf_Extract()

__STATIC_INLINE cy_en_crypto_status_t Cy_Crypto_Core_Hkdf_Extract | ( | CRYPTO_Type * | base,
|  | cy_en_crypto_sha_mode_t | mode,
|  | uint8_t const * | salt,
|  | uint32_t | saltLength,
|  | uint8_t const * | ikm,
|  | uint32_t | ikmLength,
|  | uint8_t * | prk
| ) |  |

Performs HKDF Extract calculation.

Parameters

  base | The pointer to the CRYPTO instance.
  mode | cy_en_crypto_sha_mode_t
  salt | The pointer to salt.
  saltLength | The size of a salt.
  ikm | The pointer to the Input Key material.
  ikmLength | The length of the IKM.
  prk | The pointer to store the generated prk.

Returns
  cy_en_crypto_status_t

## ◆ Cy_Crypto_Core_Hkdf_Expand()

__STATIC_INLINE cy_en_crypto_status_t Cy_Crypto_Core_Hkdf_Expand | ( | CRYPTO_Type * | base,
|  | cy_en_crypto_sha_mode_t | mode,
|  | uint8_t const * | prk,
|  | uint32_t | prkLength,
|  | uint8_t const * | info,
|  | uint32_t | infoLength,
|  | uint8_t * | okm,
|  | uint32_t | okmLength
| ) |  |

Performs HKDF Expand calculation.

Parameters

  base | The pointer to the CRYPTO instance.
  mode | cy_en_crypto_sha_mode_t
  prk | The pointer to the pseudo random key.
  prkLength | The length of the prk.
  info | The pointer to info.
  infoLength | The length of the info.
  okm | The pointer to Output key material.
  okmLength | The length of okm to be generated.

Returns
  cy_en_crypto_status_t

## ◆ Cy_Crypto_Core_Hkdf()

__STATIC_INLINE cy_en_crypto_status_t Cy_Crypto_Core_Hkdf | ( | CRYPTO_Type * | base,
|  | cy_en_crypto_sha_mode_t | mode,
|  | uint8_t const * | salt,
|  | uint32_t | saltLength,
|  | uint8_t const * | ikm,
|  | uint32_t | ikmLength,
|  | uint8_t const * | info,
|  | uint32_t | infoLength,
|  | uint8_t * | okm,
|  | uint32_t | okmLength
| ) |  |

Performs HKDF calculation.

Parameters

  base | The pointer to the CRYPTO instance.
  mode | cy_en_crypto_sha_mode_t
  salt | The pointer to salt.
  saltLength | The size of a salt.
  ikm | The pointer to the Input Key material.
  ikmLength | The length of the IKM.
  info | The pointer to info.
  infoLength | The length of the info.
  okm | The pointer to Output key material.
  okmLength | The length of okm to be generated.

Returns
  cy_en_crypto_status_t