Zephyr API Documentation 4.5.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
aead.h
Go to the documentation of this file.
1/* Copyright (c) 2024 Nordic Semiconductor
2 * SPDX-License-Identifier: Apache-2.0
3 */
4#ifndef SECURE_STORAGE_ITS_TRANSFORM_AEAD_H
5#define SECURE_STORAGE_ITS_TRANSFORM_AEAD_H
6
20#include <psa/crypto_types.h>
21
23#define SECURE_STORAGE_ITS_TRANSFORM_AEAD_TAG_SIZE \
24 (CONFIG_SECURE_STORAGE_ITS_TRANSFORM_OUTPUT_OVERHEAD \
25 - CONFIG_SECURE_STORAGE_ITS_TRANSFORM_AEAD_NONCE_SIZE)
26
47 psa_key_usage_t operation, secure_storage_its_uid_t uid,
48 const uint8_t nonce[static CONFIG_SECURE_STORAGE_ITS_TRANSFORM_AEAD_NONCE_SIZE],
49 size_t add_data_len, const uint8_t *add_data, size_t input_len,
50 const uint8_t *input, size_t output_size, uint8_t *output, size_t *output_len);
51
52#if defined(CONFIG_SECURE_STORAGE_ITS_TRANSFORM_AEAD_SCHEME_IS_CONFIGURABLE) || defined(__DOXYGEN__)
53
59void secure_storage_its_transform_aead_get_scheme(psa_key_type_t *key_type, psa_algorithm_t *alg);
60
61#endif /* CONFIG_SECURE_STORAGE_ITS_TRANSFORM_AEAD_SCHEME_IS_CONFIGURABLE */
62
63#if !defined(CONFIG_SECURE_STORAGE_ITS_TRANSFORM_AEAD_CRYPT_CUSTOM) || defined(__DOXYGEN__)
64
74 uint8_t key[static CONFIG_SECURE_STORAGE_ITS_TRANSFORM_AEAD_KEY_SIZE]);
75
76#endif /* SECURE_STORAGE_ITS_TRANSFORM_AEAD_CRYPT_CUSTOM */
77
85 uint8_t nonce[static CONFIG_SECURE_STORAGE_ITS_TRANSFORM_AEAD_NONCE_SIZE]);
86
87#endif
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:48
Common definitions of the secure storage subsystem's ITS APIs.
int32_t psa_status_t
Function return status.
Definition error.h:14