MCUX CLNS
MCUX Crypto Library Normal Secure
 
Loading...
Searching...
No Matches
mcuxClKey_DerivationAlgorithms_NIST_SP800_56C.h File Reference

Declarations and definitions for the NIST SP800-56C KDF. More...

#include <mcuxClConfig.h>
#include <mcuxCsslAnalysis.h>
#include <mcuxClKey.h>
#include <mcuxClMac.h>
#include <mcuxClHash.h>

Go to the source code of this file.

Functions

mcuxClKey_Status_t mcuxClKey_Derivation_ModeConstructor_NIST_SP800_56C (mcuxClKey_DerivationMode_t *pDerivationMode, const mcuxClKey_DerivationAlgorithmDescriptor_t *derivationAlgorithm, mcuxClMac_Mode_t macMode, mcuxClHash_Algo_t hashFunction, uint32_t options)
 Construct a key derivation function (KDF) mode according to NIST SP800-56C.
 

Variables

const mcuxClKey_DerivationAlgorithmDescriptor_t mcuxClKey_DerivationAlgorithmDescriptor_NIST_SP800_56C_OneStep
 NIST SP800-56C key derivation algorithm descriptors.
 
const mcuxClKey_DerivationAlgorithmDescriptor_t mcuxClKey_DerivationAlgorithmDescriptor_NIST_SP800_56C_TwoStep
 
static mcuxClKey_DerivationAlgorithm_t mcuxClKey_DerivationAlgorithm_NIST_SP800_56C_OneStep
 NIST SP800-56C key derivation algorithm types.
 
static mcuxClKey_DerivationAlgorithm_t mcuxClKey_DerivationAlgorithm_NIST_SP800_56C_TwoStep
 SP800 56C TwoStep derivation algorithm type.
 

Detailed Description

Declarations and definitions for the NIST SP800-56C KDF.

Function Documentation

◆ mcuxClKey_Derivation_ModeConstructor_NIST_SP800_56C()

mcuxClKey_Status_t mcuxClKey_Derivation_ModeConstructor_NIST_SP800_56C ( mcuxClKey_DerivationMode_t *  pDerivationMode,
const mcuxClKey_DerivationAlgorithmDescriptor_t *  derivationAlgorithm,
mcuxClMac_Mode_t  macMode,
mcuxClHash_Algo_t  hashFunction,
uint32_t  options 
)

Construct a key derivation function (KDF) mode according to NIST SP800-56C.

Parameters
[out]pDerivationModePointer to the key derivation mode structure to be initialized.
[in]derivationAlgorithmFunction pointer to the key derivation algorithm function.
[in]macModeMac mode type, in case a Mac mode is used within the key derivation algorithm.
[in]hashFunctionhash function type, in case a hash function is used within the key derivation algorithm. SecSha algorithm descriptors are not supported.
[in]optionsGeneric options field containing algorithm-specific parameters (e.g., counter length or iteration count). Currently not used.

When calling mcuxClKey_derivation function with this constructor additional inputs may be provided via mcuxClKey_DerivationInput_t inputs[] parameter array. Detailed description of possible inputs is provided for each algorithm type.

Returns
status

Variable Documentation

◆ mcuxClKey_DerivationAlgorithmDescriptor_NIST_SP800_56C_OneStep

const mcuxClKey_DerivationAlgorithmDescriptor_t mcuxClKey_DerivationAlgorithmDescriptor_NIST_SP800_56C_OneStep
extern

NIST SP800-56C key derivation algorithm descriptors.

◆ mcuxClKey_DerivationAlgorithm_NIST_SP800_56C_OneStep

mcuxClKey_DerivationAlgorithm_t mcuxClKey_DerivationAlgorithm_NIST_SP800_56C_OneStep
static

NIST SP800-56C key derivation algorithm types.

SP800 56C OneStep derivation algorithm type

When using this algorithm possible inputs[] for mcuxClKey_derivation function are:

  • inputs[0] fixedInfo
  • inputs[1] salt (optional)

◆ mcuxClKey_DerivationAlgorithm_NIST_SP800_56C_TwoStep

mcuxClKey_DerivationAlgorithm_t mcuxClKey_DerivationAlgorithm_NIST_SP800_56C_TwoStep
static

SP800 56C TwoStep derivation algorithm type.

When using this algorithm possible inputs[] for mcuxClKey_derivation function are:

  • inputs[0] = Label
  • inputs[1] = Context
  • inputs[2] = salt (length is required, data pointer may be NULL which defaults to all-zero salt)