Mistake on this page?
Report an issue in GitHub or email us
Modules | Macros | Enumerations | Functions
CryptoCell HMAC Key Derivation APIs

Modules

 HMAC Key Derivation specific errors
 

Macros

#define CRYS_HKDF_MAX_HASH_KEY_SIZE_IN_BYTES   512
 
#define CRYS_HKDF_MAX_HASH_DIGEST_SIZE_IN_BYTES   CRYS_HASH_SHA512_DIGEST_SIZE_IN_BYTES
 

Enumerations

Functions

CRYSError_t CRYS_HKDF_KeyDerivFunc (CRYS_HKDF_HASH_OpMode_t HKDFhashMode, uint8_t *Salt_ptr, size_t SaltLen, uint8_t *Ikm_ptr, uint32_t IkmLen, uint8_t *Info, uint32_t InfoLen, uint8_t *Okm, uint32_t OkmLen, SaSiBool IsStrongKey)
 CRYS_HKDF_KeyDerivFunc performs the HMAC-based key derivation, according to RFC5869. More...
 

Detailed Description

Macro Definition Documentation

#define CRYS_HKDF_MAX_HASH_DIGEST_SIZE_IN_BYTES   CRYS_HASH_SHA512_DIGEST_SIZE_IN_BYTES

HKDF maximal HASH digest size in bytes.

Definition at line 58 of file crys_hkdf.h.

#define CRYS_HKDF_MAX_HASH_KEY_SIZE_IN_BYTES   512

HKDF maximal key size in words.

Definition at line 55 of file crys_hkdf.h.

Enumeration Type Documentation

Enum defining HKDF HASH available modes.

Enumerator
CRYS_HKDF_HASH_SHA1_mode 

SHA1 mode.

CRYS_HKDF_HASH_SHA224_mode 

SHA224 mode.

CRYS_HKDF_HASH_SHA256_mode 

SHA256 mode.

CRYS_HKDF_HASH_SHA384_mode 

SHA384 mode.

CRYS_HKDF_HASH_SHA512_mode 

SHA512 mode.

CRYS_HKDF_HASH_NumOfModes 

Maximal number of HASH modes.

CRYS_HKDF_HASH_OpModeLast 

Reserved

Definition at line 65 of file crys_hkdf.h.

Function Documentation

CRYSError_t CRYS_HKDF_KeyDerivFunc ( CRYS_HKDF_HASH_OpMode_t  HKDFhashMode,
uint8_t *  Salt_ptr,
size_t  SaltLen,
uint8_t *  Ikm_ptr,
uint32_t  IkmLen,
uint8_t *  Info,
uint32_t  InfoLen,
uint8_t *  Okm,
uint32_t  OkmLen,
SaSiBool  IsStrongKey 
)

CRYS_HKDF_KeyDerivFunc performs the HMAC-based key derivation, according to RFC5869.

Returns
CRYS_OK on success.
A non-zero value on failure as defined crys_kdf_error.h, crys_hash_error or crys_hmac_error.h
Parameters
[in]HKDFhashModeThe HKDF identifier of hash function to be used.
[in]Salt_ptrA pointer to a non secret random value. can be NULL.
[in]SaltLenThe size of the salt_ptr.
[in]Ikm_ptrA pointer to a input key message.
[in]IkmLenThe size of the input key message
[in]InfoA pointer to an optional context and application specific information. can be NULL
[in]InfoLenThe size of the info.
[in]OkmA pointer to a output key material.
[in]OkmLenThe size of the output key material.
[in]IsStrongKeyif TRUE , then no need to perform the extraction phase.
Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.