MCUX CLNS MCUX Crypto Library Normal Secure |

Data Structures | Macros | Functions
mcuxClCss_Kdf.h File Reference

CSSv2 header for key derivation. More...

`#include <mcuxClCss_Common.h>`

Go to the source code of this file.

## Data Structures

union | mcuxClCss_CkdfOption_t
| Internal command option bit field for CKDF functions. More...
union | mcuxClCss_HkdfOption_t
| Command option bit field for mcuxClCss_Hkdf_Rfc5869_Async. More...
union | mcuxClCss_TlsOption_t
| Internal command option bit field for mcuxClCss_TlsGenerateMasterKeyFromPreMasterKey_Async, and mcuxClCss_TlsGenerateMasterKeyFromPreMasterKey_Async. More...

## Macros

#define | MCUXCLCSS_HKDF_VALUE_RTF_DERIV
| Use RTF as derivation input. More...
#define | MCUXCLCSS_HKDF_VALUE_MEMORY_DERIV
| Use derivation input from system memory. More...
#define | MCUXCLCSS_CKDF_RTF_DERIV
| Use RTF as derivation input. More...
#define | MCUXCLCSS_CKDF_SYSTEM_MEMORY_DERIV
| Use derivation input from system memory. More...
#define | MCUXCLCSS_CKDF_DERIVATIONDATA_SIZE
| Size of CKDF derivation data. More...
#define | MCUXCLCSS_CKDF_ALGO_SP800108
| Use SP800-108 algorithm. More...
#define | MCUXCLCSS_HKDF_RFC5869_DERIVATIONDATA_SIZE
| Size of HKDF derivation data. More...
#define | MCUXCLCSS_HKDF_SP80056C_TARGETKEY_SIZE
| Size of HKDF SP800-56C derived key. More...
#define | MCUXCLCSS_HKDF_ALGO_RFC5869
| Use RFC5869 algorithm. More...
#define | MCUXCLCSS_HKDF_ALGO_SP80056C
| Use SP800-56C algorithm. More...
#define | MCUXCLCSS_TLS_DERIVATIONDATA_SIZE
| Size of TLS derivation data. More...
#define | MCUXCLCSS_TLS_RANDOM_SIZE
| Size of random bytes for TLS. More...
#define | MCUXCLCSS_TLS_INIT
| Perform master key generation. More...
#define | MCUXCLCSS_TLS_FINALIZE
| Perform session key generation. More...

## Functions

MCUXCLCSS_API mcuxClCss_Status_Protected_t | mcuxClCss_Hkdf_Rfc5869_Async (mcuxClCss_HkdfOption_t options, mcuxClCss_KeyIndex_t derivationKeyIdx, mcuxClCss_KeyIndex_t targetKeyIdx, mcuxClCss_KeyProp_t targetKeyProperties, uint8_t const *pDerivationData)
| Derives a key using the HKDF (HMAC-based key derivation function) according to RFC5869. More...
MCUXCLCSS_API mcuxClCss_Status_Protected_t | mcuxClCss_Hkdf_Sp80056c_Async (mcuxClCss_KeyIndex_t derivationKeyIdx, uint8_t *pTagetKey, uint8_t const *pDerivationData, size_t derivationDataLength)
| Derives a key using the HKDF (HMAC-based key derivation function) according to SP800-56C one-step approach with Sha2-256. More...
MCUXCLCSS_API mcuxClCss_Status_Protected_t | mcuxClCss_Ckdf_Sp800108_Async (mcuxClCss_KeyIndex_t derivationKeyIdx, mcuxClCss_KeyIndex_t targetKeyIdx, mcuxClCss_KeyProp_t targetKeyProperties, uint8_t const *pDerivationData)
| Derives a key using the NIST SP 800-108 CMAC-based Extract-and-Expand Key Derivation Function. More...
MCUXCLCSS_API mcuxClCss_Status_Protected_t | mcuxClCss_TlsGenerateMasterKeyFromPreMasterKey_Async (uint8_t const *pDerivationData, mcuxClCss_KeyProp_t keyProperties, mcuxClCss_KeyIndex_t keyIdx)
| Generates a TLS master key based on a pre-master key and derivation data, according to the TLS 1.2 specification. More...
MCUXCLCSS_API mcuxClCss_Status_Protected_t | mcuxClCss_TlsGenerateSessionKeysFromMasterKey_Async (uint8_t const *pDerivationData, mcuxClCss_KeyProp_t keyProperties, mcuxClCss_KeyIndex_t keyIdx)
| Generates TLS session keys based on a master key and derivation data, according to the TLS 1.2 specification. More...

## Detailed Description

CSSv2 header for key derivation.

This header exposes functions that enable using the CSSv2 for various key derivation commands. The supported key derivation algorithms are:

header exposes functions that enable using the CSSv2 for various key derivation commands. The supported key derivation algorithms are CKDF, HKDF, TLS