ELS header for key derivation. More...
Go to the source code of this file.
Data Structures | |
union | mcuxClEls_CkdfOption_t |
Internal command option bit field for CKDF functions. More... | |
union | mcuxClEls_HkdfOption_t |
Command option bit field for mcuxClEls_Hkdf_Rfc5869_Async. More... | |
union | mcuxClEls_TlsOption_t |
Internal command option bit field for mcuxClEls_TlsGenerateMasterKeyFromPreMasterKey_Async, and mcuxClEls_TlsGenerateMasterKeyFromPreMasterKey_Async. More... | |
Macros | |
#define | MCUXCLELS_CKDF_DERIVATIONDATA_SIZE |
Size of CKDF SP800-108 derivation data. More... | |
#define | MCUXCLELS_CKDF_ALGO_SP800108 |
Use SP800-108 algorithm. More... | |
#define | MCUXCLELS_HKDF_RFC5869_DERIVATIONDATA_SIZE |
Size of HKDF derivation data. More... | |
#define | MCUXCLELS_HKDF_SP80056C_TARGETKEY_SIZE |
Size of HKDF SP800-56C derived key. More... | |
#define | MCUXCLELS_HKDF_VALUE_RTF_DERIV |
Use RTF as derivation input. More... | |
#define | MCUXCLELS_HKDF_VALUE_MEMORY_DERIV |
Use derivation input from system memory. More... | |
#define | MCUXCLELS_HKDF_ALGO_RFC5869 |
Use RFC5869 algorithm. More... | |
#define | MCUXCLELS_HKDF_ALGO_SP80056C |
Use SP800-56C algorithm. More... | |
#define | MCUXCLELS_HKDF_RTF_DERIV |
Use RTF as derivation input. More... | |
#define | MCUXCLELS_HKDF_SYSTEM_MEMORY_DERIV |
Use derivation input from system memory. More... | |
#define | MCUXCLELS_TLS_DERIVATIONDATA_SIZE |
Size of TLS derivation data. More... | |
#define | MCUXCLELS_TLS_RANDOM_SIZE |
Size of random bytes for TLS. More... | |
#define | MCUXCLELS_TLS_INIT |
Perform master key generation. More... | |
#define | MCUXCLELS_TLS_FINALIZE |
Perform session key generation. More... | |
Functions | |
MCUXCLELS_API mcuxClEls_Status_t | mcuxClEls_Hkdf_Rfc5869_Async (mcuxClEls_HkdfOption_t options, mcuxClEls_KeyIndex_t derivationKeyIdx, mcuxClEls_KeyIndex_t targetKeyIdx, mcuxClEls_KeyProp_t targetKeyProperties, uint8_t const *pDerivationData) |
Derives a key using the HKDF (HMAC-based key derivation function) according to RFC5869. More... | |
MCUXCLELS_API mcuxClEls_Status_t | mcuxClEls_Hkdf_Sp80056c_Async (mcuxClEls_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... | |
MCUXCLELS_API mcuxClEls_Status_t | mcuxClEls_Ckdf_Sp800108_Async (mcuxClEls_KeyIndex_t derivationKeyIdx, mcuxClEls_KeyIndex_t targetKeyIdx, mcuxClEls_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... | |
MCUXCLELS_API mcuxClEls_Status_t | mcuxClEls_TlsGenerateMasterKeyFromPreMasterKey_Async (uint8_t const *pDerivationData, mcuxClEls_KeyProp_t keyProperties, mcuxClEls_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... | |
MCUXCLELS_API mcuxClEls_Status_t | mcuxClEls_TlsGenerateSessionKeysFromMasterKey_Async (uint8_t const *pDerivationData, mcuxClEls_KeyProp_t keyProperties, mcuxClEls_KeyIndex_t keyIdx) |
Generates TLS session keys based on a master key and derivation data, according to the TLS 1.2 specification. More... | |
ELS header for key derivation.
This header exposes functions that enable using the ELS for various key derivation commands. The supported key derivation algorithms are CKDF, HKDF, TLS