4#ifndef SECURE_STORAGE_ITS_TRANSFORM_AEAD_H
5#define SECURE_STORAGE_ITS_TRANSFORM_AEAD_H
16#include <psa/crypto_types.h>
19#define SECURE_STORAGE_ITS_TRANSFORM_AEAD_TAG_SIZE \
20 (CONFIG_SECURE_STORAGE_ITS_TRANSFORM_OUTPUT_OVERHEAD \
21 - CONFIG_SECURE_STORAGE_ITS_TRANSFORM_AEAD_NONCE_SIZE)
44 const uint8_t nonce[
static CONFIG_SECURE_STORAGE_ITS_TRANSFORM_AEAD_NONCE_SIZE],
45 size_t add_data_len,
const uint8_t *add_data,
size_t input_len,
46 const uint8_t *input,
size_t output_size,
uint8_t *output,
size_t *output_len);
48#if defined(CONFIG_SECURE_STORAGE_ITS_TRANSFORM_AEAD_SCHEME_IS_CONFIGURABLE) || defined(__DOXYGEN__)
59#if !defined(CONFIG_SECURE_STORAGE_ITS_TRANSFORM_AEAD_CRYPT_CUSTOM) || defined(__DOXYGEN__)
70 uint8_t key[
static CONFIG_SECURE_STORAGE_ITS_TRANSFORM_AEAD_KEY_SIZE]);
81 uint8_t nonce[
static CONFIG_SECURE_STORAGE_ITS_TRANSFORM_AEAD_NONCE_SIZE]);
psa_status_t secure_storage_its_transform_aead_get_key(secure_storage_its_uid_t uid, uint8_t key[static CONFIG_SECURE_STORAGE_ITS_TRANSFORM_AEAD_KEY_SIZE])
Returns the encryption key to use for an ITS entry's AEAD operations.
psa_status_t secure_storage_its_transform_aead_get_nonce(uint8_t nonce[static CONFIG_SECURE_STORAGE_ITS_TRANSFORM_AEAD_NONCE_SIZE])
Generates a nonce for an AEAD operation.
psa_status_t secure_storage_its_transform_aead_crypt(psa_key_usage_t operation, secure_storage_its_uid_t uid, const uint8_t nonce[static CONFIG_SECURE_STORAGE_ITS_TRANSFORM_AEAD_NONCE_SIZE], size_t add_data_len, const uint8_t *add_data, size_t input_len, const uint8_t *input, size_t output_size, uint8_t *output, size_t *output_len)
Encrypts or decrypts an ITS entry.
void secure_storage_its_transform_aead_get_scheme(psa_key_type_t *key_type, psa_algorithm_t *alg)
Returns the key type and algorithm to use for the AEAD operations.
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
The UID (caller + entry IDs) of an ITS entry.
Definition common.h:47
Common definitions of the secure storage subsystem's ITS APIs.
int32_t psa_status_t
Function return status.
Definition error.h:14