From 9078b7ec09b135f091cb951ed234bf013c9c838e Mon Sep 17 00:00:00 2001 From: Michal Hanus Date: Sat, 19 Apr 2025 22:50:44 +0200 Subject: bme680 added --- .../tfm/api_ns/interface/include/tfm_crypto_defs.h | 303 --------------------- 1 file changed, 303 deletions(-) delete mode 100644 nrfdemo/builddk/tfm/api_ns/interface/include/tfm_crypto_defs.h (limited to 'nrfdemo/builddk/tfm/api_ns/interface/include/tfm_crypto_defs.h') diff --git a/nrfdemo/builddk/tfm/api_ns/interface/include/tfm_crypto_defs.h b/nrfdemo/builddk/tfm/api_ns/interface/include/tfm_crypto_defs.h deleted file mode 100644 index 4b3cfca..0000000 --- a/nrfdemo/builddk/tfm/api_ns/interface/include/tfm_crypto_defs.h +++ /dev/null @@ -1,303 +0,0 @@ -/* - * Copyright (c) 2018-2022, Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - * - */ - -#ifndef __TFM_CRYPTO_DEFS_H__ -#define __TFM_CRYPTO_DEFS_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include "psa/crypto.h" -#ifdef PLATFORM_DEFAULT_CRYPTO_KEYS -#include "crypto_keys/tfm_builtin_key_ids.h" -#else -#include "tfm_builtin_key_ids.h" -#endif /* PLATFORM_DEFAULT_CRYPTO_KEYS */ - -/** - * \brief The maximum supported length of a nonce through the TF-M - * interfaces - */ -#define TFM_CRYPTO_MAX_NONCE_LENGTH (16u) - -/** - * \brief This type is used to overcome a limitation in the number of maximum - * IOVECs that can be used especially in psa_aead_encrypt and - * psa_aead_decrypt. By using this type we pack the nonce and the actual - * nonce_length at part of the same structure - */ -struct tfm_crypto_aead_pack_input { - uint8_t nonce[TFM_CRYPTO_MAX_NONCE_LENGTH]; - uint32_t nonce_length; -}; - -/** - * \brief Structure used to pack non-pointer types in a call to PSA Crypto APIs - * - */ -struct tfm_crypto_pack_iovec { - psa_key_id_t key_id; /*!< Key id */ - psa_algorithm_t alg; /*!< Algorithm */ - uint32_t op_handle; /*!< Frontend context handle associated to a - * multipart operation - */ - size_t ad_length; /*!< Additional Data length for multipart AEAD */ - size_t plaintext_length; /*!< Plaintext length for multipart AEAD */ - - struct tfm_crypto_aead_pack_input aead_in; /*!< Packs AEAD-related inputs */ - - uint16_t function_id; /*!< Used to identify the function in the - * API dispatcher to the service backend - * See tfm_crypto_func_sid for detail - */ - uint16_t step; /*!< Key derivation step */ - psa_pake_role_t role; /*!< PAKE role */ - union { - size_t capacity; /*!< Key derivation capacity */ - uint64_t value; /*!< Key derivation integer for update*/ - }; -}; - -/** - * \brief Type associated to the group of a function encoding. There can be - * nine groups (Random, Key management, Hash, MAC, Cipher, AEAD, - * Asym sign, Asym encrypt, Key derivation). - */ -enum tfm_crypto_group_id { - TFM_CRYPTO_GROUP_ID_RANDOM = 0x0, - TFM_CRYPTO_GROUP_ID_KEY_MANAGEMENT, - TFM_CRYPTO_GROUP_ID_HASH, - TFM_CRYPTO_GROUP_ID_MAC, - TFM_CRYPTO_GROUP_ID_CIPHER, - TFM_CRYPTO_GROUP_ID_AEAD, - TFM_CRYPTO_GROUP_ID_ASYM_SIGN, - TFM_CRYPTO_GROUP_ID_ASYM_ENCRYPT, - TFM_CRYPTO_GROUP_ID_KEY_DERIVATION, - TFM_CRYPTO_GROUP_ID_PAKE, -}; - -/* Set of X macros describing each of the available PSA Crypto APIs */ -#define KEY_MANAGEMENT_FUNCS \ - X(TFM_CRYPTO_GET_KEY_ATTRIBUTES) \ - X(TFM_CRYPTO_RESET_KEY_ATTRIBUTES) \ - X(TFM_CRYPTO_OPEN_KEY) \ - X(TFM_CRYPTO_CLOSE_KEY) \ - X(TFM_CRYPTO_IMPORT_KEY) \ - X(TFM_CRYPTO_DESTROY_KEY) \ - X(TFM_CRYPTO_EXPORT_KEY) \ - X(TFM_CRYPTO_EXPORT_PUBLIC_KEY) \ - X(TFM_CRYPTO_PURGE_KEY) \ - X(TFM_CRYPTO_COPY_KEY) \ - X(TFM_CRYPTO_GENERATE_KEY) - -#define HASH_FUNCS \ - X(TFM_CRYPTO_HASH_COMPUTE) \ - X(TFM_CRYPTO_HASH_COMPARE) \ - X(TFM_CRYPTO_HASH_SETUP) \ - X(TFM_CRYPTO_HASH_UPDATE) \ - X(TFM_CRYPTO_HASH_CLONE) \ - X(TFM_CRYPTO_HASH_FINISH) \ - X(TFM_CRYPTO_HASH_VERIFY) \ - X(TFM_CRYPTO_HASH_ABORT) - -#define MAC_FUNCS \ - X(TFM_CRYPTO_MAC_COMPUTE) \ - X(TFM_CRYPTO_MAC_VERIFY) \ - X(TFM_CRYPTO_MAC_SIGN_SETUP) \ - X(TFM_CRYPTO_MAC_VERIFY_SETUP) \ - X(TFM_CRYPTO_MAC_UPDATE) \ - X(TFM_CRYPTO_MAC_SIGN_FINISH) \ - X(TFM_CRYPTO_MAC_VERIFY_FINISH) \ - X(TFM_CRYPTO_MAC_ABORT) - -#define CIPHER_FUNCS \ - X(TFM_CRYPTO_CIPHER_ENCRYPT) \ - X(TFM_CRYPTO_CIPHER_DECRYPT) \ - X(TFM_CRYPTO_CIPHER_ENCRYPT_SETUP) \ - X(TFM_CRYPTO_CIPHER_DECRYPT_SETUP) \ - X(TFM_CRYPTO_CIPHER_GENERATE_IV) \ - X(TFM_CRYPTO_CIPHER_SET_IV) \ - X(TFM_CRYPTO_CIPHER_UPDATE) \ - X(TFM_CRYPTO_CIPHER_FINISH) \ - X(TFM_CRYPTO_CIPHER_ABORT) - -#define AEAD_FUNCS \ - X(TFM_CRYPTO_AEAD_ENCRYPT) \ - X(TFM_CRYPTO_AEAD_DECRYPT) \ - X(TFM_CRYPTO_AEAD_ENCRYPT_SETUP) \ - X(TFM_CRYPTO_AEAD_DECRYPT_SETUP) \ - X(TFM_CRYPTO_AEAD_GENERATE_NONCE) \ - X(TFM_CRYPTO_AEAD_SET_NONCE) \ - X(TFM_CRYPTO_AEAD_SET_LENGTHS) \ - X(TFM_CRYPTO_AEAD_UPDATE_AD) \ - X(TFM_CRYPTO_AEAD_UPDATE) \ - X(TFM_CRYPTO_AEAD_FINISH) \ - X(TFM_CRYPTO_AEAD_VERIFY) \ - X(TFM_CRYPTO_AEAD_ABORT) - -#define ASYMMETRIC_SIGN_FUNCS \ - X(TFM_CRYPTO_ASYMMETRIC_SIGN_MESSAGE) \ - X(TFM_CRYPTO_ASYMMETRIC_VERIFY_MESSAGE) \ - X(TFM_CRYPTO_ASYMMETRIC_SIGN_HASH) \ - X(TFM_CRYPTO_ASYMMETRIC_VERIFY_HASH) - -#define AYSMMETRIC_ENCRYPT_FUNCS \ - X(TFM_CRYPTO_ASYMMETRIC_ENCRYPT) \ - X(TFM_CRYPTO_ASYMMETRIC_DECRYPT) - -#define KEY_DERIVATION_FUNCS \ - X(TFM_CRYPTO_RAW_KEY_AGREEMENT) \ - X(TFM_CRYPTO_KEY_DERIVATION_SETUP) \ - X(TFM_CRYPTO_KEY_DERIVATION_GET_CAPACITY) \ - X(TFM_CRYPTO_KEY_DERIVATION_SET_CAPACITY) \ - X(TFM_CRYPTO_KEY_DERIVATION_INPUT_BYTES) \ - X(TFM_CRYPTO_KEY_DERIVATION_INPUT_KEY) \ - X(TFM_CRYPTO_KEY_DERIVATION_INPUT_INTEGER) \ - X(TFM_CRYPTO_KEY_DERIVATION_KEY_AGREEMENT) \ - X(TFM_CRYPTO_KEY_DERIVATION_OUTPUT_BYTES) \ - X(TFM_CRYPTO_KEY_DERIVATION_OUTPUT_KEY) \ - X(TFM_CRYPTO_KEY_DERIVATION_ABORT) - -#define RANDOM_FUNCS \ - X(TFM_CRYPTO_GENERATE_RANDOM) - -#define PAKE_FUNCS \ - X(TFM_CRYPTO_PAKE_SETUP) \ - X(TFM_CRYPTO_PAKE_SET_ROLE) \ - X(TFM_CRYPTO_PAKE_SET_USER) \ - X(TFM_CRYPTO_PAKE_SET_PEER) \ - X(TFM_CRYPTO_PAKE_SET_CONTEXT) \ - X(TFM_CRYPTO_PAKE_OUTPUT) \ - X(TFM_CRYPTO_PAKE_INPUT) \ - X(TFM_CRYPTO_PAKE_GET_SHARED_KEY) \ - X(TFM_CRYPTO_PAKE_ABORT) - -/** - * \brief Define function IDs in each group. The function ID will be encoded into - * tfm_crypto_func_sid below. Each group is defined as a dedicated enum - */ -#define X(func_id) func_id, -enum tfm_crypto_key_management_func_id { - KEY_MANAGEMENT_FUNCS -}; -enum tfm_crypto_hash_func_id { - HASH_FUNCS -}; -enum tfm_crypto_mac_func_id { - MAC_FUNCS -}; -enum tfm_crypto_cipher_func_id { - CIPHER_FUNCS -}; -enum tfm_crypto_aead_func_id { - AEAD_FUNCS -}; -enum tfm_crypto_asym_sign_func_id { - ASYMMETRIC_SIGN_FUNCS -}; -enum tfm_crypto_asym_encrypt_func_id { - AYSMMETRIC_ENCRYPT_FUNCS -}; -enum tfm_crypto_key_derivation_func_id { - KEY_DERIVATION_FUNCS -}; -enum tfm_crypto_random_func_id { - RANDOM_FUNCS -}; -enum tfm_crypto_pake_func_id { - PAKE_FUNCS -}; -#undef X - -/** - * \brief This macro is used to encode a function ID in a 16-bit value as the - * top 8 bits towards the MSB - */ -#define FUNC_ID(func_id) (((func_id) & 0xFF) << 8) - -/** - * \brief This macro is used to extract the group_id from an encoded function_id - * by accessing the low 8 bits towards the LSB - */ -#define TFM_CRYPTO_GET_GROUP_ID(_function_id) \ - ((enum tfm_crypto_group_id)((_function_id) & 0xFF)) -/** - * \brief This type defines numerical progressive values identifying a function API - * exposed through the interfaces (S or NS). It's used to dispatch the requests - * from S/NS to the corresponding API implementation in the Crypto service backend. - * - * \note Each function SID is encoded as uint16_t. - * +-----------+-----------+ - * | Func ID | Group ID | - * +-----------+-----------+ - * (MSB)15 8 7 0(LSB) - * - * where Func ID is defined in each group tfm_crypto_*_func_id enum above and Group ID - * is defined in \ref tfm_crypto_group_id. - */ -enum tfm_crypto_func_sid { - -#define X(func_id) func_id ## _SID = (uint16_t)((FUNC_ID(func_id)) | \ - (TFM_CRYPTO_GROUP_ID_KEY_MANAGEMENT & 0xFF)), - - KEY_MANAGEMENT_FUNCS - -#undef X -#define X(func_id) func_id ## _SID = (uint16_t)((FUNC_ID(func_id)) | \ - (TFM_CRYPTO_GROUP_ID_HASH & 0xFF)), - HASH_FUNCS - -#undef X -#define X(func_id) func_id ## _SID = (uint16_t)((FUNC_ID(func_id)) | \ - (TFM_CRYPTO_GROUP_ID_MAC & 0xFF)), - MAC_FUNCS - -#undef X -#define X(func_id) func_id ## _SID = (uint16_t)((FUNC_ID(func_id)) | \ - (TFM_CRYPTO_GROUP_ID_CIPHER & 0xFF)), - CIPHER_FUNCS - -#undef X -#define X(func_id) func_id ## _SID = (uint16_t)((FUNC_ID(func_id)) | \ - (TFM_CRYPTO_GROUP_ID_AEAD & 0xFF)), - AEAD_FUNCS - -#undef X -#define X(func_id) func_id ## _SID = (uint16_t)((FUNC_ID(func_id)) | \ - (TFM_CRYPTO_GROUP_ID_ASYM_SIGN & 0xFF)), - ASYMMETRIC_SIGN_FUNCS - -#undef X -#define X(func_id) func_id ## _SID = (uint16_t)((FUNC_ID(func_id)) | \ - (TFM_CRYPTO_GROUP_ID_ASYM_ENCRYPT & 0xFF)), - AYSMMETRIC_ENCRYPT_FUNCS - -#undef X -#define X(func_id) func_id ## _SID = (uint16_t)((FUNC_ID(func_id)) | \ - (TFM_CRYPTO_GROUP_ID_KEY_DERIVATION & 0xFF)), - KEY_DERIVATION_FUNCS - -#undef X -#define X(func_id) func_id ## _SID = (uint16_t)((FUNC_ID(func_id)) | \ - (TFM_CRYPTO_GROUP_ID_RANDOM & 0xFF)), - RANDOM_FUNCS - -#undef X -#define X(func_id) func_id ## _SID = (uint16_t)((FUNC_ID(func_id)) | \ - (TFM_CRYPTO_GROUP_ID_PAKE & 0xFF)), - PAKE_FUNCS - -}; -#undef X - -#ifdef __cplusplus -} -#endif - -#endif /* __TFM_CRYPTO_DEFS_H__ */ -- cgit v1.2.3