TF-M Reference Manual  1.2.0
TrustedFirmware-M
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
tfm_crypto_defs.h File Reference
#include <stdint.h>
#include <limits.h>
#include "tfm_api.h"
#include "psa/crypto.h"
Include dependency graph for tfm_crypto_defs.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  tfm_crypto_aead_pack_input
 
struct  tfm_crypto_pack_iovec
 Structure used to pack non-pointer types in a call. More...
 

Macros

#define TFM_CRYPTO_MAX_NONCE_LENGTH   (16u)
 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. To be removed in case the AEAD APIs number of parameters passed gets restructured. More...
 
#define TFM_CRYPTO_SID_INVALID   (~0x0u)
 Define an invalid value for an SID. More...
 
#define TFM_CRYPTO_INVALID_HANDLE   (0x0u)
 This value is used to mark an handle as invalid. More...
 
#define TFM_CRYPTO_KEY_ID_HUK   (0xFFFF815Bu)
 The persistent key identifier that refers to the hardware unique key. More...
 
#define TFM_CRYPTO_ALG_HUK_DERIVATION   ((psa_algorithm_t)0xB0000F00)
 The algorithm identifier that refers to key derivation from the hardware unique key. More...
 

Enumerations

enum  {
  TFM_CRYPTO_GET_KEY_ATTRIBUTES_SID = (0u), TFM_CRYPTO_RESET_KEY_ATTRIBUTES_SID, TFM_CRYPTO_OPEN_KEY_SID, TFM_CRYPTO_CLOSE_KEY_SID,
  TFM_CRYPTO_IMPORT_KEY_SID, TFM_CRYPTO_DESTROY_KEY_SID, TFM_CRYPTO_EXPORT_KEY_SID, TFM_CRYPTO_EXPORT_PUBLIC_KEY_SID,
  TFM_CRYPTO_COPY_KEY_SID, TFM_CRYPTO_HASH_COMPUTE_SID, TFM_CRYPTO_HASH_COMPARE_SID, TFM_CRYPTO_HASH_SETUP_SID,
  TFM_CRYPTO_HASH_UPDATE_SID, TFM_CRYPTO_HASH_FINISH_SID, TFM_CRYPTO_HASH_VERIFY_SID, TFM_CRYPTO_HASH_ABORT_SID,
  TFM_CRYPTO_HASH_CLONE_SID, TFM_CRYPTO_MAC_COMPUTE_SID, TFM_CRYPTO_MAC_VERIFY_SID, TFM_CRYPTO_MAC_SIGN_SETUP_SID,
  TFM_CRYPTO_MAC_VERIFY_SETUP_SID, TFM_CRYPTO_MAC_UPDATE_SID, TFM_CRYPTO_MAC_SIGN_FINISH_SID, TFM_CRYPTO_MAC_VERIFY_FINISH_SID,
  TFM_CRYPTO_MAC_ABORT_SID, TFM_CRYPTO_CIPHER_ENCRYPT_SID, TFM_CRYPTO_CIPHER_DECRYPT_SID, TFM_CRYPTO_CIPHER_ENCRYPT_SETUP_SID,
  TFM_CRYPTO_CIPHER_DECRYPT_SETUP_SID, TFM_CRYPTO_CIPHER_GENERATE_IV_SID, TFM_CRYPTO_CIPHER_SET_IV_SID, TFM_CRYPTO_CIPHER_UPDATE_SID,
  TFM_CRYPTO_CIPHER_FINISH_SID, TFM_CRYPTO_CIPHER_ABORT_SID, TFM_CRYPTO_AEAD_ENCRYPT_SID, TFM_CRYPTO_AEAD_DECRYPT_SID,
  TFM_CRYPTO_AEAD_ENCRYPT_SETUP_SID, TFM_CRYPTO_AEAD_DECRYPT_SETUP_SID, TFM_CRYPTO_AEAD_GENERATE_NONCE_SID, TFM_CRYPTO_AEAD_SET_NONCE_SID,
  TFM_CRYPTO_AEAD_SET_LENGTHS_SID, TFM_CRYPTO_AEAD_UPDATE_AD_SID, TFM_CRYPTO_AEAD_UPDATE_SID, TFM_CRYPTO_AEAD_FINISH_SID,
  TFM_CRYPTO_AEAD_VERIFY_SID, TFM_CRYPTO_AEAD_ABORT_SID, TFM_CRYPTO_SIGN_HASH_SID, TFM_CRYPTO_VERIFY_HASH_SID,
  TFM_CRYPTO_ASYMMETRIC_ENCRYPT_SID, TFM_CRYPTO_ASYMMETRIC_DECRYPT_SID, TFM_CRYPTO_KEY_DERIVATION_SETUP_SID, TFM_CRYPTO_KEY_DERIVATION_GET_CAPACITY_SID,
  TFM_CRYPTO_KEY_DERIVATION_SET_CAPACITY_SID, TFM_CRYPTO_KEY_DERIVATION_INPUT_BYTES_SID, TFM_CRYPTO_KEY_DERIVATION_INPUT_KEY_SID, TFM_CRYPTO_KEY_DERIVATION_KEY_AGREEMENT_SID,
  TFM_CRYPTO_KEY_DERIVATION_OUTPUT_BYTES_SID, TFM_CRYPTO_KEY_DERIVATION_OUTPUT_KEY_SID, TFM_CRYPTO_KEY_DERIVATION_ABORT_SID, TFM_CRYPTO_RAW_KEY_AGREEMENT_SID,
  TFM_CRYPTO_GENERATE_RANDOM_SID, TFM_CRYPTO_GENERATE_KEY_SID, TFM_CRYPTO_SET_KEY_DOMAIN_PARAMETERS_SID, TFM_CRYPTO_GET_KEY_DOMAIN_PARAMETERS_SID,
  TFM_CRYPTO_SID_MAX
}
 Define a progressive numerical value for each SID which can be used when dispatching the requests to the service. More...
 
enum  { TFM_CRYPTO_NOT_IN_USE = 0, TFM_CRYPTO_IN_USE = 1 }
 Define miscellaneous literal constants that are used in the service. More...
 

Macro Definition Documentation

#define TFM_CRYPTO_ALG_HUK_DERIVATION   ((psa_algorithm_t)0xB0000F00)

The algorithm identifier that refers to key derivation from the hardware unique key.

Definition at line 149 of file tfm_crypto_defs.h.

#define TFM_CRYPTO_INVALID_HANDLE   (0x0u)

This value is used to mark an handle as invalid.

Definition at line 136 of file tfm_crypto_defs.h.

#define TFM_CRYPTO_KEY_ID_HUK   (0xFFFF815Bu)

The persistent key identifier that refers to the hardware unique key.

Definition at line 142 of file tfm_crypto_defs.h.

#define TFM_CRYPTO_MAX_NONCE_LENGTH   (16u)

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. To be removed in case the AEAD APIs number of parameters passed gets restructured.

Definition at line 26 of file tfm_crypto_defs.h.

#define TFM_CRYPTO_SID_INVALID   (~0x0u)

Define an invalid value for an SID.

Definition at line 130 of file tfm_crypto_defs.h.

Enumeration Type Documentation

anonymous enum

Define a progressive numerical value for each SID which can be used when dispatching the requests to the service.

Enumerator
TFM_CRYPTO_GET_KEY_ATTRIBUTES_SID 
TFM_CRYPTO_RESET_KEY_ATTRIBUTES_SID 
TFM_CRYPTO_OPEN_KEY_SID 
TFM_CRYPTO_CLOSE_KEY_SID 
TFM_CRYPTO_IMPORT_KEY_SID 
TFM_CRYPTO_DESTROY_KEY_SID 
TFM_CRYPTO_EXPORT_KEY_SID 
TFM_CRYPTO_EXPORT_PUBLIC_KEY_SID 
TFM_CRYPTO_COPY_KEY_SID 
TFM_CRYPTO_HASH_COMPUTE_SID 
TFM_CRYPTO_HASH_COMPARE_SID 
TFM_CRYPTO_HASH_SETUP_SID 
TFM_CRYPTO_HASH_UPDATE_SID 
TFM_CRYPTO_HASH_FINISH_SID 
TFM_CRYPTO_HASH_VERIFY_SID 
TFM_CRYPTO_HASH_ABORT_SID 
TFM_CRYPTO_HASH_CLONE_SID 
TFM_CRYPTO_MAC_COMPUTE_SID 
TFM_CRYPTO_MAC_VERIFY_SID 
TFM_CRYPTO_MAC_SIGN_SETUP_SID 
TFM_CRYPTO_MAC_VERIFY_SETUP_SID 
TFM_CRYPTO_MAC_UPDATE_SID 
TFM_CRYPTO_MAC_SIGN_FINISH_SID 
TFM_CRYPTO_MAC_VERIFY_FINISH_SID 
TFM_CRYPTO_MAC_ABORT_SID 
TFM_CRYPTO_CIPHER_ENCRYPT_SID 
TFM_CRYPTO_CIPHER_DECRYPT_SID 
TFM_CRYPTO_CIPHER_ENCRYPT_SETUP_SID 
TFM_CRYPTO_CIPHER_DECRYPT_SETUP_SID 
TFM_CRYPTO_CIPHER_GENERATE_IV_SID 
TFM_CRYPTO_CIPHER_SET_IV_SID 
TFM_CRYPTO_CIPHER_UPDATE_SID 
TFM_CRYPTO_CIPHER_FINISH_SID 
TFM_CRYPTO_CIPHER_ABORT_SID 
TFM_CRYPTO_AEAD_ENCRYPT_SID 
TFM_CRYPTO_AEAD_DECRYPT_SID 
TFM_CRYPTO_AEAD_ENCRYPT_SETUP_SID 
TFM_CRYPTO_AEAD_DECRYPT_SETUP_SID 
TFM_CRYPTO_AEAD_GENERATE_NONCE_SID 
TFM_CRYPTO_AEAD_SET_NONCE_SID 
TFM_CRYPTO_AEAD_SET_LENGTHS_SID 
TFM_CRYPTO_AEAD_UPDATE_AD_SID 
TFM_CRYPTO_AEAD_UPDATE_SID 
TFM_CRYPTO_AEAD_FINISH_SID 
TFM_CRYPTO_AEAD_VERIFY_SID 
TFM_CRYPTO_AEAD_ABORT_SID 
TFM_CRYPTO_SIGN_HASH_SID 
TFM_CRYPTO_VERIFY_HASH_SID 
TFM_CRYPTO_ASYMMETRIC_ENCRYPT_SID 
TFM_CRYPTO_ASYMMETRIC_DECRYPT_SID 
TFM_CRYPTO_KEY_DERIVATION_SETUP_SID 
TFM_CRYPTO_KEY_DERIVATION_GET_CAPACITY_SID 
TFM_CRYPTO_KEY_DERIVATION_SET_CAPACITY_SID 
TFM_CRYPTO_KEY_DERIVATION_INPUT_BYTES_SID 
TFM_CRYPTO_KEY_DERIVATION_INPUT_KEY_SID 
TFM_CRYPTO_KEY_DERIVATION_KEY_AGREEMENT_SID 
TFM_CRYPTO_KEY_DERIVATION_OUTPUT_BYTES_SID 
TFM_CRYPTO_KEY_DERIVATION_OUTPUT_KEY_SID 
TFM_CRYPTO_KEY_DERIVATION_ABORT_SID 
TFM_CRYPTO_RAW_KEY_AGREEMENT_SID 
TFM_CRYPTO_GENERATE_RANDOM_SID 
TFM_CRYPTO_GENERATE_KEY_SID 
TFM_CRYPTO_SET_KEY_DOMAIN_PARAMETERS_SID 
TFM_CRYPTO_GET_KEY_DOMAIN_PARAMETERS_SID 
TFM_CRYPTO_SID_MAX 

Definition at line 58 of file tfm_crypto_defs.h.

anonymous enum

Define miscellaneous literal constants that are used in the service.

Enumerator
TFM_CRYPTO_NOT_IN_USE 
TFM_CRYPTO_IN_USE 

Definition at line 155 of file tfm_crypto_defs.h.