ELS header for hashing. More...
Go to the source code of this file.
Data Structures | |
union | mcuxClEls_HashOption_t |
Command option bit field for #mcuxClEls_Hash_Async and #mcuxClEls_Hash_ShaDirect. More... | |
Macros | |
#define | MCUXCLELS_HASH_INIT_ENABLE |
Set this option at mcuxClEls_HashOption_t.hashini to initialize the hash. More... | |
#define | MCUXCLELS_HASH_INIT_DISABLE |
Set this option at mcuxClEls_HashOption_t.hashini to continue the hash. More... | |
#define | MCUXCLELS_HASH_LOAD_ENABLE |
Set this option at mcuxClEls_HashOption_t.hashld to load the hash state from pDigest . More... | |
#define | MCUXCLELS_HASH_LOAD_DISABLE |
Set this option at mcuxClEls_HashOption_t.hashld to not load the hash state. More... | |
#define | MCUXCLELS_HASH_OUTPUT_ENABLE |
Set this option at mcuxClEls_HashOption_t.hashoe to output the hash to pDigest . More... | |
#define | MCUXCLELS_HASH_OUTPUT_DISABLE |
Set this option at mcuxClEls_HashOption_t.hashoe to not output the hash. More... | |
#define | MCUXCLELS_HASH_RTF_UPDATE_ENABLE |
Set this option at mcuxClEls_HashOption_t.rtfupd to update the run-time fingerprint (only supported by #mcuxClEls_Hash_Async) More... | |
#define | MCUXCLELS_HASH_RTF_UPDATE_DISABLE |
Set this option at mcuxClEls_HashOption_t.rtfupd to not update the run-time fingerprint. More... | |
#define | MCUXCLELS_HASH_RTF_OUTPUT_ENABLE |
Set this option at mcuxClEls_HashOption_t.rtfoe to output the run-time fingerprint (only supported by #mcuxClEls_Hash_Async) More... | |
#define | MCUXCLELS_HASH_RTF_OUTPUT_DISABLE |
Set this option at mcuxClEls_HashOption_t.rtfoe to not output the run-time fingerprint. More... | |
#define | MCUXCLELS_HASH_MODE_SHA_224 |
Set this option at mcuxClEls_HashOption_t.hashmd to use the hash algorithm SHA-224. More... | |
#define | MCUXCLELS_HASH_MODE_SHA_256 |
Set this option at mcuxClEls_HashOption_t.hashmd to use the hash algorithm SHA-256. More... | |
#define | MCUXCLELS_HASH_MODE_SHA_384 |
Set this option at mcuxClEls_HashOption_t.hashmd to use the hash algorithm SHA-384. More... | |
#define | MCUXCLELS_HASH_MODE_SHA_512 |
Set this option at mcuxClEls_HashOption_t.hashmd to use the hash algorithm SHA-512. More... | |
#define | MCUXCLELS_HASH_VALUE_MODE_SHA_224 |
Set this option at #mcuxClEls_HashOption_t.word.value to use the hash algorithm SHA-224. More... | |
#define | MCUXCLELS_HASH_VALUE_MODE_SHA_256 |
Set this option at #mcuxClEls_HashOption_t.word.value to use the hash algorithm SHA-256. More... | |
#define | MCUXCLELS_HASH_VALUE_MODE_SHA_384 |
Set this option at #mcuxClEls_HashOption_t.word.value to use the hash algorithm SHA-384. More... | |
#define | MCUXCLELS_HASH_VALUE_MODE_SHA_512 |
Set this option at #mcuxClEls_HashOption_t.word.value to use the hash algorithm SHA-512. More... | |
#define | MCUXCLELS_HASH_BLOCK_SIZE_SHA_224 |
SHA-224 output size: 512 bit (64 bytes) More... | |
#define | MCUXCLELS_HASH_BLOCK_SIZE_SHA_256 |
SHA-256 output size: 512 bit (64 bytes) More... | |
#define | MCUXCLELS_HASH_BLOCK_SIZE_SHA_384 |
SHA-384 output size: 1024 bit (128 bytes) More... | |
#define | MCUXCLELS_HASH_BLOCK_SIZE_SHA_512 |
SHA-512 output size: 1024 bit (128 bytes) More... | |
#define | MCUXCLELS_HASH_STATE_SIZE_SHA_224 |
SHA-224 state size: 256 bit (32 bytes) More... | |
#define | MCUXCLELS_HASH_STATE_SIZE_SHA_256 |
SHA-256 state size: 256 bit (32 bytes) More... | |
#define | MCUXCLELS_HASH_STATE_SIZE_SHA_384 |
SHA-384 state size: 512 bit (64 bytes) More... | |
#define | MCUXCLELS_HASH_STATE_SIZE_SHA_512 |
SHA-512 state size: 512 bit (64 bytes) More... | |
#define | MCUXCLELS_HASH_OUTPUT_SIZE_SHA_224 |
SHA-224 output size: 224 bit (28 bytes) More... | |
#define | MCUXCLELS_HASH_OUTPUT_SIZE_SHA_256 |
SHA-256 output size: 256 bit (32 bytes) More... | |
#define | MCUXCLELS_HASH_OUTPUT_SIZE_SHA_384 |
SHA-384 output size: 384 bit (48 bytes) More... | |
#define | MCUXCLELS_HASH_OUTPUT_SIZE_SHA_512 |
SHA-512 output size: 512 bit (64 bytes) More... | |
#define | MCUXCLELS_HASH_RTF_OUTPUT_SIZE |
Functions | |
MCUXCLELS_API | MCUX_CSSL_FP_PROTECTED_TYPE (mcuxClEls_Status_t) mcuxClEls_Hash_Async(mcuxClEls_HashOption_t options |
Computes the hash of a message. More... | |
Variables | |
MCUXCLELS_API uint8_t const * | pInput |
MCUXCLELS_API uint8_t const size_t | inputLength |
MCUXCLELS_API uint8_t const size_t uint8_t * | pDigest |
ELS header for hashing.
This header exposes functions that enable using the ELS for hashing. There are two modes to hash a message: The asynchronous way as an ELS command, and the SHA-Direct mode which feeds data to the internal registers of the ELS and is synchronous (blocking). The SHA-Direct mode is meant to be used when another command should be executed in parallel on the ELS while the hash operation is still ongoing. For this, use the DMA callback option in #mcuxClEls_Hash_ShaDirect.