22 #ifndef TI_PSA_CRYPTO_HASH_H 23 #define TI_PSA_CRYPTO_HASH_H 28 #if ((TFM_ENABLED == 1) && !defined(TFM_BUILD)) 29 #include <third_party/tfm/interface/include/psa/crypto.h> 31 #include <third_party/mbedtls/include/psa/crypto.h> 34 #include <ti/devices/DeviceFamily.h> 36 #if ((DeviceFamily_PARENT == DeviceFamily_PARENT_CC27XX) || (DeviceFamily_PARENT == DeviceFamily_PARENT_CC35XX)) 39 #include <ti/drivers/sha2/SHA2CC26X2.h> 46 #define PSA_HASH_SUSPEND_INPUT_LENGTH_FIELD_LENGTH(alg) \ 47 (((alg == PSA_ALG_SHA_224) || (alg == PSA_ALG_SHA_256)) ? 8u \ 48 : ((alg == PSA_ALG_SHA_384) || (alg == PSA_ALG_SHA_512)) ? 16u \ 55 #define PSA_HASH_SUSPEND_HASH_STATE_FIELD_LENGTH(alg) \ 56 (((alg == PSA_ALG_SHA_224) || (alg == PSA_ALG_SHA_256)) ? 32u \ 57 : ((alg == PSA_ALG_SHA_384) || (alg == PSA_ALG_SHA_512)) ? 64u \ 65 #if ((DeviceFamily_PARENT == DeviceFamily_PARENT_CC27XX) || (DeviceFamily_PARENT == DeviceFamily_PARENT_CC35XX)) 67 #elif (DeviceFamily_PARENT == DeviceFamily_PARENT_CC13X4_CC26X3_CC26X4) 78 #define TI_PSA_HASH_OPERATION_INIT \ 79 (ti_psa_hash_operation_t) \ 95 const uint8_t *hash_state,
96 size_t hash_state_length);
102 size_t hash_state_size,
103 size_t *hash_state_length);
105 psa_status_t
ti_psa_hash_update(psa_hash_operation_t *psa_operation,
const uint8_t *input,
size_t input_length);
110 size_t *hash_length);
115 psa_status_t
ti_psa_hash_clone(
const psa_hash_operation_t *source_operation, psa_hash_operation_t *target_operation);
118 const uint8_t *input,
124 const uint8_t *input,
128 size_t *hash_length);
130 psa_status_t
ti_psa_hash_verify(psa_hash_operation_t *psa_operation,
const uint8_t *hash,
size_t hash_length);
psa_status_t ti_psa_hash_compute(psa_algorithm_t alg, const uint8_t *input, size_t input_length, uint8_t *hash, size_t hash_size, size_t *hash_length)
unsigned int id
Definition: ti_psa_crypto_hash.h:71
psa_status_t ti_psa_hash_resume(psa_hash_operation_t *psa_operation, const uint8_t *hash_state, size_t hash_state_length)
psa_status_t ti_psa_hash_abort(psa_hash_operation_t *psa_operation)
psa_status_t ti_psa_hash_update(psa_hash_operation_t *psa_operation, const uint8_t *input, size_t input_length)
#define TI_PSA_HASH_OPERATION_INIT
Definition: ti_psa_crypto_hash.h:78
SHA2 Global configuration.
Definition: SHA2.h:553
psa_status_t ti_psa_hash_finish(psa_hash_operation_t *psa_operation, uint8_t *hash, size_t hash_size, size_t *hash_length)
psa_status_t ti_psa_hash_clone(const psa_hash_operation_t *source_operation, psa_hash_operation_t *target_operation)
SHA2XXF3HSM_Object sha2Object
Definition: ti_psa_crypto_hash.h:66
SHA2_Config sha2Config
Definition: ti_psa_crypto_hash.h:63
psa_status_t ti_psa_hash_compare(psa_algorithm_t alg, const uint8_t *input, size_t input_length, const uint8_t *hash, size_t hash_length)
Definition: ti_psa_crypto_hash.h:60
psa_status_t ti_psa_hash_suspend(psa_hash_operation_t *psa_operation, uint8_t *hash_state, size_t hash_state_size, size_t *hash_state_length)
static struct ti_psa_hash_operation_s ti_psa_hash_operation_init(void)
Definition: ti_psa_crypto_hash.h:83
psa_algorithm_t alg
Definition: ti_psa_crypto_hash.h:73
psa_status_t ti_psa_hash_setup(psa_hash_operation_t *psa_operation, psa_algorithm_t alg)
psa_status_t ti_psa_hash_verify(psa_hash_operation_t *psa_operation, const uint8_t *hash, size_t hash_length)