nRF Connect SDK API 3.3.99
Loading...
Searching...
No Matches

Public driver API for CRACEN PSA driver. More...

Macros

#define PSA_KEY_LOCATION_CRACEN_KMU   (PSA_KEY_LOCATION_VENDOR_FLAG | ('N' << 8) | 'K')
 Key location identifier for CRACEN KMU.
 
#define PSA_KEY_ID_FROM_CRACEN_KMU_SLOT(scheme, slot_id)
 Construct a PSA key handle for a key stored in KMU.
 
#define PSA_KEY_HANDLE_FROM_CRACEN_KMU_SLOT(scheme, slot_id)
 
#define CRACEN_PSA_GET_KEY_USAGE_SCHEME(key_id)
 Retrieve key usage scheme from PSA key ID.
 
#define CRACEN_PSA_GET_KMU_SLOT(key_id)
 Retrieve KMU slot number from PSA key ID.
 
#define PSA_ALG_SP800_108_COUNTER_MAC_INIT_CAPACITY   (0x1fffffff)
 SP800-108 Counter MAC initial capacity.
 

Enumerations

enum  cracen_kmu_metadata_key_usage_scheme { CRACEN_KMU_KEY_USAGE_SCHEME_PROTECTED , CRACEN_KMU_KEY_USAGE_SCHEME_SEED , CRACEN_KMU_KEY_USAGE_SCHEME_ENCRYPTED , CRACEN_KMU_KEY_USAGE_SCHEME_RAW }
 Key usage schemes for KMU metadata. More...
 

Functions

psa_status_t cracen_get_opaque_size (const psa_key_attributes_t *attributes, size_t *key_size)
 Get the size of an opaque key.
 
psa_status_t cracen_aead_encrypt (const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg, const uint8_t *nonce, size_t nonce_length, const uint8_t *additional_data, size_t additional_data_length, const uint8_t *plaintext, size_t plaintext_length, uint8_t *ciphertext, size_t ciphertext_size, size_t *ciphertext_length)
 Encrypt and authenticate a message using AEAD.
 
psa_status_t cracen_aead_decrypt (const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg, const uint8_t *nonce, size_t nonce_length, const uint8_t *additional_data, size_t additional_data_length, const uint8_t *ciphertext, size_t ciphertext_length, uint8_t *plaintext, size_t plaintext_size, size_t *plaintext_length)
 Authenticate and decrypt a message using AEAD.
 
psa_status_t cracen_aead_encrypt_setup (cracen_aead_operation_t *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg)
 Set up an AEAD encryption operation.
 
psa_status_t cracen_aead_decrypt_setup (cracen_aead_operation_t *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg)
 Set up an AEAD decryption operation.
 
psa_status_t cracen_aead_set_nonce (cracen_aead_operation_t *operation, const uint8_t *nonce, size_t nonce_length)
 Set the nonce for an AEAD operation.
 
psa_status_t cracen_aead_set_lengths (cracen_aead_operation_t *operation, size_t ad_length, size_t plaintext_length)
 Set the lengths for an AEAD operation.
 
psa_status_t cracen_aead_update_ad (cracen_aead_operation_t *operation, const uint8_t *input, size_t input_length)
 Add Additional Authenticated Data (AAD) to an AEAD operation.
 
psa_status_t cracen_aead_update (cracen_aead_operation_t *operation, const uint8_t *input, size_t input_length, uint8_t *output, size_t output_size, size_t *output_length)
 Process input data in an AEAD operation.
 
psa_status_t cracen_aead_finish (cracen_aead_operation_t *operation, uint8_t *ciphertext, size_t ciphertext_size, size_t *ciphertext_length, uint8_t *tag, size_t tag_size, size_t *tag_length)
 Finish an AEAD encryption operation.
 
psa_status_t cracen_aead_verify (cracen_aead_operation_t *operation, uint8_t *plaintext, size_t plaintext_size, size_t *plaintext_length, const uint8_t *tag, size_t tag_length)
 Finish an AEAD decryption operation and verify the tag.
 
psa_status_t cracen_aead_abort (cracen_aead_operation_t *operation)
 Abort an AEAD operation.
 
psa_status_t cracen_asymmetric_encrypt (const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg, const uint8_t *input, size_t input_length, const uint8_t *salt, size_t salt_length, uint8_t *output, size_t output_size, size_t *output_length)
 Encrypt a message using an asymmetric key.
 
psa_status_t cracen_asymmetric_decrypt (const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg, const uint8_t *input, size_t input_length, const uint8_t *salt, size_t salt_length, uint8_t *output, size_t output_size, size_t *output_length)
 Decrypt a message using an asymmetric key.
 
psa_status_t cracen_cipher_encrypt (const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg, const uint8_t *iv, size_t iv_length, const uint8_t *input, size_t input_length, uint8_t *output, size_t output_size, size_t *output_length)
 Encrypt a message using a symmetric cipher.
 
psa_status_t cracen_cipher_decrypt (const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg, const uint8_t *input, size_t input_length, uint8_t *output, size_t output_size, size_t *output_length)
 Decrypt a message using a symmetric cipher.
 
psa_status_t cracen_cipher_encrypt_setup (cracen_cipher_operation_t *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg)
 Set up a cipher encryption operation.
 
psa_status_t cracen_cipher_decrypt_setup (cracen_cipher_operation_t *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg)
 Set up a cipher decryption operation.
 
psa_status_t cracen_cipher_set_iv (cracen_cipher_operation_t *operation, const uint8_t *iv, size_t iv_length)
 Set the initialization vector for a cipher operation.
 
psa_status_t cracen_cipher_update (cracen_cipher_operation_t *operation, const uint8_t *input, size_t input_length, uint8_t *output, size_t output_size, size_t *output_length)
 Process input data in a cipher operation.
 
psa_status_t cracen_cipher_finish (cracen_cipher_operation_t *operation, uint8_t *output, size_t output_size, size_t *output_length)
 Finish a cipher operation.
 
psa_status_t cracen_cipher_abort (cracen_cipher_operation_t *operation)
 Abort a cipher operation.
 
psa_status_t cracen_init_random (cracen_prng_context_t *context)
 Initialize a random number generator context.
 
psa_status_t cracen_get_random (cracen_prng_context_t *context, uint8_t *output, size_t output_size)
 Get random bytes from a PRNG context.
 
psa_status_t cracen_free_random (cracen_prng_context_t *context)
 Free a random number generator context.
 
psa_status_t cracen_get_trng (uint8_t *output, size_t output_size)
 Get random bytes from the True Random Number Generator.
 
psa_status_t cracen_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)
 Compute the hash of a message.
 
psa_status_t cracen_hash_setup (cracen_hash_operation_t *operation, psa_algorithm_t alg)
 Set up a hash operation.
 
static psa_status_t cracen_hash_clone (const cracen_hash_operation_t *source_operation, cracen_hash_operation_t *target_operation)
 Clone a hash operation.
 
psa_status_t cracen_hash_update (cracen_hash_operation_t *operation, const uint8_t *input, const size_t input_length)
 Add a message fragment to a multi-part hash operation.
 
psa_status_t cracen_hash_finish (cracen_hash_operation_t *operation, uint8_t *hash, size_t hash_size, size_t *hash_length)
 Finish a hash operation.
 
static psa_status_t cracen_hash_abort (cracen_hash_operation_t *operation)
 Abort a hash operation.
 
psa_status_t cracen_jpake_setup (cracen_jpake_operation_t *operation, const psa_key_attributes_t *attributes, const uint8_t *password, size_t password_length, const psa_pake_cipher_suite_t *cipher_suite)
 Set up a JPAKE operation.
 
psa_status_t cracen_jpake_set_password_key (cracen_jpake_operation_t *operation, const psa_key_attributes_t *attributes, const uint8_t *password, size_t password_length)
 Set the password key for a JPAKE operation.
 
psa_status_t cracen_jpake_set_user (cracen_jpake_operation_t *operation, const uint8_t *user_id, size_t user_id_len)
 Set the user identifier for a JPAKE operation.
 
psa_status_t cracen_jpake_set_peer (cracen_jpake_operation_t *operation, const uint8_t *peer_id, size_t peer_id_len)
 Set the peer identifier for a JPAKE operation.
 
psa_status_t cracen_jpake_set_role (cracen_jpake_operation_t *operation, psa_pake_role_t role)
 Set the role for a JPAKE operation.
 
psa_status_t cracen_jpake_output (cracen_jpake_operation_t *operation, psa_pake_step_t step, uint8_t *output, size_t output_size, size_t *output_length)
 Get output from a JPAKE operation step.
 
psa_status_t cracen_jpake_input (cracen_jpake_operation_t *operation, psa_pake_step_t step, const uint8_t *input, size_t input_length)
 Provide input to a JPAKE operation step.
 
psa_status_t cracen_jpake_get_shared_key (cracen_jpake_operation_t *operation, const psa_key_attributes_t *attributes, uint8_t *output, size_t output_size, size_t *output_length)
 Get the shared key from a completed JPAKE operation.
 
psa_status_t cracen_jpake_abort (cracen_jpake_operation_t *operation)
 Abort a JPAKE operation.
 
psa_status_t cracen_key_agreement (const psa_key_attributes_t *attributes, const uint8_t *priv_key, size_t priv_key_size, const uint8_t *publ_key, size_t publ_key_size, uint8_t *output, size_t output_size, size_t *output_length, psa_algorithm_t alg)
 Perform a key agreement operation.
 
psa_status_t cracen_key_derivation_setup (cracen_key_derivation_operation_t *operation, psa_algorithm_t alg)
 Set up a key derivation operation.
 
psa_status_t cracen_key_derivation_set_capacity (cracen_key_derivation_operation_t *operation, size_t capacity)
 Set the capacity for a key derivation operation.
 
psa_status_t cracen_key_derivation_input_key (cracen_key_derivation_operation_t *operation, psa_key_derivation_step_t step, const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size)
 Provide a key as input to a key derivation operation.
 
psa_status_t cracen_key_derivation_input_bytes (cracen_key_derivation_operation_t *operation, psa_key_derivation_step_t step, const uint8_t *data, size_t data_length)
 Provide bytes as input to a key derivation operation.
 
psa_status_t cracen_key_derivation_input_integer (cracen_key_derivation_operation_t *operation, psa_key_derivation_step_t step, uint64_t value)
 Provide an integer as input to a key derivation operation.
 
psa_status_t cracen_key_derivation_output_bytes (cracen_key_derivation_operation_t *operation, uint8_t *output, size_t output_length)
 Read output from a key derivation operation.
 
psa_status_t cracen_key_derivation_abort (cracen_key_derivation_operation_t *operation)
 Abort a key derivation operation.
 
psa_status_t cracen_export_public_key (const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, uint8_t *data, size_t data_size, size_t *data_length)
 Export a public key.
 
psa_status_t cracen_import_key (const psa_key_attributes_t *attributes, const uint8_t *data, size_t data_length, uint8_t *key_buffer, size_t key_buffer_size, size_t *key_buffer_length, size_t *key_bits)
 Import a key.
 
psa_status_t cracen_generate_key (const psa_key_attributes_t *attributes, uint8_t *key_buffer, size_t key_buffer_size, size_t *key_buffer_length)
 Generate a key.
 
psa_status_t cracen_get_builtin_key (psa_drv_slot_number_t slot_number, psa_key_attributes_t *attributes, uint8_t *key_buffer, size_t key_buffer_size, size_t *key_buffer_length)
 Get a built-in key.
 
psa_status_t cracen_export_key (const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, uint8_t *data, size_t data_size, size_t *data_length)
 Export a key.
 
psa_status_t cracen_copy_key (psa_key_attributes_t *attributes, const uint8_t *source_key, size_t source_key_length, uint8_t *target_key_buffer, size_t target_key_buffer_size, size_t *target_key_buffer_length)
 Copy a key.
 
psa_status_t cracen_destroy_key (const psa_key_attributes_t *attributes)
 Destroy a key.
 
psa_status_t cracen_derive_key (const psa_key_attributes_t *attributes, const uint8_t *input, size_t input_length, uint8_t *key, size_t key_size, size_t *key_length)
 Derive a key from input material.
 
psa_status_t cracen_get_key_slot (mbedtls_svc_key_id_t key_id, psa_key_lifetime_t *lifetime, psa_drv_slot_number_t *slot_number)
 Get the key slot for a given key ID.
 
psa_status_t cracen_wrap_key (const psa_key_attributes_t *wrapping_key_attributes, const uint8_t *wrapping_key_data, size_t wrapping_key_size, psa_algorithm_t alg, const psa_key_attributes_t *key_attributes, const uint8_t *key_data, size_t key_size, uint8_t *data, size_t data_size, size_t *data_length)
 Perform a key wrap operation.
 
psa_status_t cracen_unwrap_key (const psa_key_attributes_t *attributes, const psa_key_attributes_t *wrapping_key_attributes, const uint8_t *wrapping_key_data, size_t wrapping_key_size, psa_algorithm_t alg, const uint8_t *data, size_t data_length, uint8_t *key, size_t key_size, size_t *key_length)
 Perform a key unwrap operation.
 
psa_status_t cracen_kmu_get_key_slot (mbedtls_svc_key_id_t key_id, psa_key_lifetime_t *lifetime, psa_drv_slot_number_t *slot_number)
 Retrieve the slot number for a given key handle.
 
psa_status_t cracen_kmu_block (const psa_key_attributes_t *key_attr)
 Block a key in the KMU.
 
psa_status_t cracen_mac_compute (const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg, const uint8_t *input, size_t input_length, uint8_t *mac, size_t mac_size, size_t *mac_length)
 Compute a MAC in a single operation.
 
psa_status_t cracen_mac_sign_setup (cracen_mac_operation_t *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg)
 Set up a MAC signing operation.
 
psa_status_t cracen_mac_verify_setup (cracen_mac_operation_t *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg)
 Set up a MAC verification operation.
 
psa_status_t cracen_mac_update (cracen_mac_operation_t *operation, const uint8_t *input, size_t input_length)
 Add input data to a MAC operation.
 
psa_status_t cracen_mac_sign_finish (cracen_mac_operation_t *operation, uint8_t *mac, size_t mac_size, size_t *mac_length)
 Finish a MAC signing operation.
 
psa_status_t cracen_mac_verify_finish (cracen_mac_operation_t *operation, const uint8_t *mac, size_t mac_length)
 Finish a MAC verification operation.
 
psa_status_t cracen_mac_abort (cracen_mac_operation_t *operation)
 Abort a MAC operation.
 
psa_status_t cracen_pake_setup (cracen_pake_operation_t *operation, const psa_key_attributes_t *attributes, const uint8_t *password, size_t password_length, const psa_pake_cipher_suite_t *cipher_suite)
 Set up a PAKE operation.
 
psa_status_t cracen_pake_set_user (cracen_pake_operation_t *operation, const uint8_t *user_id, size_t user_id_len)
 Set the user identifier for a PAKE operation.
 
psa_status_t cracen_pake_set_peer (cracen_pake_operation_t *operation, const uint8_t *peer_id, size_t peer_id_len)
 Set the peer identifier for a PAKE operation.
 
psa_status_t cracen_pake_set_context (cracen_pake_operation_t *operation, const uint8_t *context, size_t context_length)
 Set the context for a PAKE operation.
 
psa_status_t cracen_pake_set_role (cracen_pake_operation_t *operation, psa_pake_role_t role)
 Set the role for a PAKE operation.
 
psa_status_t cracen_pake_output (cracen_pake_operation_t *operation, psa_pake_step_t step, uint8_t *output, size_t output_size, size_t *output_length)
 Get output from a PAKE operation step.
 
psa_status_t cracen_pake_input (cracen_pake_operation_t *operation, psa_pake_step_t step, const uint8_t *input, size_t input_length)
 Provide input to a PAKE operation step.
 
psa_status_t cracen_pake_get_shared_key (cracen_pake_operation_t *operation, const psa_key_attributes_t *attributes, uint8_t *key_buffer, size_t key_buffer_size, size_t *key_buffer_length)
 Get the shared key from a completed PAKE operation.
 
psa_status_t cracen_pake_abort (cracen_pake_operation_t *operation)
 Abort a PAKE operation.
 
psa_status_t cracen_sign_message (const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg, const uint8_t *input, size_t input_length, uint8_t *signature, size_t signature_size, size_t *signature_length)
 Sign a message.
 
psa_status_t cracen_verify_message (const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg, const uint8_t *input, size_t input_length, const uint8_t *signature, size_t signature_length)
 Verify a message signature.
 
psa_status_t cracen_sign_hash (const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg, const uint8_t *hash, size_t hash_length, uint8_t *signature, size_t signature_size, size_t *signature_length)
 Sign a hash.
 
psa_status_t cracen_verify_hash (const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg, const uint8_t *hash, size_t hash_length, const uint8_t *signature, size_t signature_length)
 Verify the signature of a hash.
 
psa_status_t cracen_spake2p_setup (cracen_spake2p_operation_t *operation, const uint8_t *password, size_t password_length, const psa_pake_cipher_suite_t *cipher_suite)
 Set up a SPAKE2+ operation.
 
psa_status_t cracen_spake2p_set_password_key (cracen_spake2p_operation_t *operation, const psa_key_attributes_t *attributes, const uint8_t *password, size_t password_length)
 Set the password key for a SPAKE2+ operation.
 
psa_status_t cracen_spake2p_set_user (cracen_spake2p_operation_t *operation, const uint8_t *user_id, size_t user_id_len)
 Set the user identifier for a SPAKE2+ operation.
 
psa_status_t cracen_spake2p_set_peer (cracen_spake2p_operation_t *operation, const uint8_t *peer_id, size_t peer_id_len)
 Set the peer identifier for a SPAKE2+ operation.
 
psa_status_t cracen_spake2p_set_context (cracen_spake2p_operation_t *operation, const uint8_t *context, size_t context_length)
 Set the context for a SPAKE2+ operation.
 
psa_status_t cracen_spake2p_set_role (cracen_spake2p_operation_t *operation, psa_pake_role_t role)
 Set the role for a SPAKE2+ operation.
 
psa_status_t cracen_spake2p_output (cracen_spake2p_operation_t *operation, psa_pake_step_t step, uint8_t *output, size_t output_size, size_t *output_length)
 Get output from a SPAKE2+ operation step.
 
psa_status_t cracen_spake2p_input (cracen_spake2p_operation_t *operation, psa_pake_step_t step, const uint8_t *input, size_t input_length)
 Provide input to a SPAKE2+ operation step.
 
psa_status_t cracen_spake2p_get_shared_key (cracen_spake2p_operation_t *operation, uint8_t *output, size_t output_size, size_t *output_length)
 Get the shared key from a completed SPAKE2+ operation.
 
psa_status_t cracen_spake2p_abort (cracen_spake2p_operation_t *operation)
 Abort a SPAKE2+ operation.
 
psa_status_t cracen_srp_setup (cracen_srp_operation_t *operation, const psa_key_attributes_t *attributes, const uint8_t *password, size_t password_length, const psa_pake_cipher_suite_t *cipher_suite)
 Set up an SRP operation.
 
psa_status_t cracen_srp_set_user (cracen_srp_operation_t *operation, const uint8_t *user_id, size_t user_id_len)
 Set the user identifier for an SRP operation.
 
psa_status_t cracen_srp_set_role (cracen_srp_operation_t *operation, psa_pake_role_t role)
 Set the role for an SRP operation.
 
psa_status_t cracen_srp_set_password_key (cracen_srp_operation_t *operation, const psa_key_attributes_t *attributes, const uint8_t *password, size_t password_length)
 Set the password key for an SRP operation.
 
psa_status_t cracen_srp_output (cracen_srp_operation_t *operation, psa_pake_step_t step, uint8_t *output, size_t output_size, size_t *output_length)
 Get output from an SRP operation step.
 
psa_status_t cracen_srp_input (cracen_srp_operation_t *operation, psa_pake_step_t step, const uint8_t *input, size_t input_length)
 Provide input to an SRP operation step.
 
psa_status_t cracen_srp_get_shared_key (cracen_srp_operation_t *operation, const psa_key_attributes_t *attributes, uint8_t *output, size_t output_size, size_t *output_length)
 Get the shared key from a completed SRP operation.
 
psa_status_t cracen_srp_abort (cracen_srp_operation_t *operation)
 Abort an SRP operation.
 
psa_status_t cracen_wpa3_sae_setup (cracen_wpa3_sae_operation_t *operation, const psa_key_attributes_t *attributes, const uint8_t *password, size_t password_length, const psa_pake_cipher_suite_t *cipher_suite)
 Set up a WPA3 SAE operation.
 
psa_status_t cracen_wpa3_sae_set_user (cracen_wpa3_sae_operation_t *operation, const uint8_t *user_id, size_t user_id_len)
 Set the user identifier for a WPA3 SAE operation.
 
psa_status_t cracen_wpa3_sae_set_peer (cracen_wpa3_sae_operation_t *operation, const uint8_t *peer_id, size_t peer_id_len)
 Set the peer identifier for a WPA3 SAE operation.
 
psa_status_t cracen_wpa3_sae_output (cracen_wpa3_sae_operation_t *operation, psa_pake_step_t step, uint8_t *output, size_t output_size, size_t *output_length)
 Get output from a WPA3 SAE operation step.
 
psa_status_t cracen_wpa3_sae_input (cracen_wpa3_sae_operation_t *operation, psa_pake_step_t step, const uint8_t *input, size_t input_length)
 Provide input to a WPA3 SAE operation step.
 
psa_status_t cracen_wpa3_sae_get_shared_key (cracen_wpa3_sae_operation_t *operation, const psa_key_attributes_t *attributes, uint8_t *output, size_t output_size, size_t *output_length)
 Get the shared key from a completed WPA3 SAE operation.
 
psa_status_t cracen_wpa3_sae_abort (cracen_wpa3_sae_operation_t *operation)
 Abort a WPA3 SAE operation.
 

Detailed Description

Public driver API for CRACEN PSA driver.

WPA3 SAE (Simultaneous Authentication of Equals) support for CRACEN PSA driver (internal use only).

SRP protocol operations for the CRACEN PSA driver.

SPAKE2+ protocol operations for the CRACEN PSA driver.

Asymmetric signature and verification for the CRACEN PSA driver.

PAKE protocol operations for the CRACEN PSA driver.

MAC and KDF definitions for CRACEN PSA driver.

MAC operations for the CRACEN PSA driver.

Key Management Unit (KMU) support for CRACEN PSA driver.

AES Key Wrap and Key Wrap with Padding for the CRACEN PSA driver.

Key management operations for the CRACEN PSA driver.

Key derivation operations for the CRACEN PSA driver.

J-PAKE protocol operations for the CRACEN PSA driver.

Hash operations for the CRACEN PSA driver.

CTR_DRBG entropy and random generation for the CRACEN PSA driver.

Symmetric cipher operations for the CRACEN PSA driver.

Asymmetric encryption and decryption for the CRACEN PSA driver.

AEAD operations for the CRACEN PSA driver.

PSA Crypto driver API for CRACEN hardware accelerator.

Note
This is the public driver API. Applications must use the PSA Crypto API (psa_* functions) instead of calling these driver functions directly. This header documents the driver implementation that is called by the PSA Crypto layer. See Arm's PSA Crypto API for the public interface.

This module provides the PSA Crypto driver API implementation for the CRACEN hardware accelerator. It implements cryptographic operations including signing, verification, hashing, encryption, decryption, key management, and more.

This module provides APIs and macros for managing keys stored in the KMU hardware peripheral, including key slot management, key usage schemes, and key blocking operations.

Note
Applications must use the PSA Crypto API (psa_* functions) instead of calling these driver functions directly. This header documents the KMU driver implementation that is called by the PSA Crypto layer.
Note
These APIs are for internal use only. Applications must use the PSA Crypto API (psa_* functions) instead of calling these functions directly.