Mbed OS Reference
Loading...
Searching...
No Matches
crypto_accel_driver.h File Reference

PSA cryptography accelerator driver module. More...

Go to the source code of this file.

Typedefs

typedef struct psa_drv_hash_context_s psa_drv_hash_context_t
 The hardware-specific hash context structure. More...
 
typedef psa_status_t(* psa_drv_hash_setup_t) (psa_drv_hash_context_t *p_context)
 The function prototype for the start operation of a hash (message digest) operation. More...
 
typedef psa_status_t(* psa_drv_hash_update_t) (psa_drv_hash_context_t *p_context, const uint8_t *p_input, size_t input_length)
 The function prototype for the update operation of a hash (message digest) operation. More...
 
typedef psa_status_t(* psa_drv_hash_finish_t) (psa_drv_hash_context_t *p_context, uint8_t *p_output, size_t output_size, size_t *p_output_length)
 The function prototype for the finish operation of a hash (message digest) operation. More...
 
typedef void(* psa_drv_hash_abort_t) (psa_drv_hash_context_t *p_context)
 The function prototype for the abort operation of a hash (message digest) operation. More...
 
typedef struct psa_drv_accel_mac_context_s psa_drv_accel_mac_context_t
 The hardware-accelerator-specific MAC context structure. More...
 
typedef psa_status_t(* psa_drv_accel_mac_setup_t) (psa_drv_accel_mac_context_t *p_context, const uint8_t *p_key, size_t key_length)
 The function prototype for the setup operation of a hardware-accelerated MAC operation. More...
 
typedef psa_status_t(* psa_drv_accel_mac_update_t) (psa_drv_accel_mac_context_t *p_context, const uint8_t *p_input, size_t input_length)
 The function prototype for the update operation of a hardware-accelerated MAC operation. More...
 
typedef psa_status_t(* psa_drv_accel_mac_finish_t) (psa_drv_accel_mac_context_t *p_context, uint8_t *p_mac, size_t mac_length)
 The function prototype for the finish operation of a hardware-accelerated MAC operation. More...
 
typedef psa_status_t(* psa_drv_accel_mac_finish_verify_t) (psa_drv_accel_mac_context_t *p_context, const uint8_t *p_mac, size_t mac_length)
 The function prototype for the finish and verify operation of a hardware-accelerated MAC operation. More...
 
typedef psa_status_t(* psa_drv_accel_mac_abort_t) (psa_drv_accel_mac_context_t *p_context)
 The function prototype for the abort operation for a previously started hardware-accelerated MAC operation. More...
 
typedef psa_status_t(* psa_drv_accel_mac_t) (const uint8_t *p_input, size_t input_length, const uint8_t *p_key, size_t key_length, psa_algorithm_t alg, uint8_t *p_mac, size_t mac_length)
 The function prototype for the one-shot operation of a hardware-accelerated MAC operation. More...
 
typedef psa_status_t(* psa_drv_accel_mac_verify_t) (const uint8_t *p_input, size_t input_length, const uint8_t *p_key, size_t key_length, psa_algorithm_t alg, const uint8_t *p_mac, size_t mac_length)
 The function prototype for the one-shot hardware-accelerated MAC Verify operation. More...
 
typedef struct psa_drv_accel_cipher_context_s psa_drv_accel_cipher_context_t
 The hardware-accelerator-specific cipher context structure. More...
 
typedef psa_status_t(* psa_drv_accel_cipher_setup_t) (psa_drv_accel_cipher_context_t *p_context, psa_encrypt_or_decrypt_t direction, const uint8_t *p_key_data, size_t key_data_size)
 The function prototype for the setup operation of hardware-accelerated block cipher operations. More...
 
typedef psa_status_t(* psa_drv_accel_cipher_set_iv_t) (psa_drv_accel_cipher_context_t *p_context, const uint8_t *p_iv, size_t iv_length)
 The function prototype for the set initialization vector operation of hardware-accelerated block cipher operations Functions that implement this prototype should be named in the following convention: More...
 
typedef psa_status_t(* psa_drv_accel_cipher_update_t) (psa_drv_accel_cipher_context_t *p_context, const uint8_t *p_input, size_t input_size, uint8_t *p_output, size_t output_size, size_t *p_output_length)
 The function prototype for the update operation of hardware-accelerated block cipher operations. More...
 
typedef psa_status_t(* psa_drv_accel_cipher_finish_t) (psa_drv_accel_cipher_context_t *p_context, uint8_t *p_output, size_t output_size, size_t *p_output_length)
 The function prototype for the finish operation of hardware-accelerated block cipher operations. More...
 
typedef psa_status_t(* psa_drv_accel_cipher_abort_t) (psa_drv_accel_cipher_context_t *p_context)
 The function prototype for the abort operation of hardware-accelerated block cipher operations. More...
 
typedef psa_status_t(* psa_drv_accel_aead_encrypt_t) (const uint8_t *p_key, size_t key_length, 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)
 The function prototype for the hardware-accelerated authenticated encryption operation. More...
 
typedef psa_status_t(* psa_drv_accel_aead_decrypt_t) (const uint8_t *p_key, size_t key_length, 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)
 The function prototype for the hardware-accelerated authenticated decryption operation. More...
 
typedef psa_status_t(* psa_drv_accel_asymmetric_sign_t) (const uint8_t *p_key, size_t key_size, psa_algorithm_t alg, psa_key_type_t key_type, const uint8_t *p_hash, size_t hash_length, uint8_t *p_signature, size_t signature_size, size_t *p_signature_length)
 The function prototype for the hardware-accelerated asymmetric sign operation. More...
 
typedef psa_status_t(* psa_drv_accel_asymmetric_verify_t) (const uint8_t *p_key, size_t key_size, psa_algorithm_t alg, psa_key_type_t key_type, const uint8_t *p_hash, size_t hash_length, const uint8_t *p_signature, size_t signature_length)
 The function prototype for the hardware-accelerated signature verify operation. More...
 
typedef psa_status_t(* psa_drv_accel_asymmetric_encrypt_t) (const uint8_t *p_key, size_t key_size, psa_algorithm_t alg, psa_key_type_t key_type, const uint8_t *p_input, size_t input_length, const uint8_t *p_salt, size_t salt_length, uint8_t *p_output, size_t output_size, size_t *p_output_length)
 The function prototype for the hardware-accelerated asymmetric encrypt operation. More...
 
typedef psa_status_t(* psa_drv_accel_asymmetric_decrypt_t) (const uint8_t *p_key, size_t key_size, psa_algorithm_t alg, psa_key_type_t key_type, const uint8_t *p_input, size_t input_length, const uint8_t *p_salt, size_t salt_length, uint8_t *p_output, size_t output_size, size_t *p_output_length)
 The function prototype for the hardware=acce;erated asymmetric decrypt operation. More...
 

Detailed Description

PSA cryptography accelerator driver module.

This header declares types and function signatures for cryptography drivers that access key material directly. This is meant for on-chip cryptography accelerators.

This file is part of the PSA Crypto Driver Model, containing functions for driver developers to implement to enable hardware to be called in a standardized way by a PSA Cryptographic API implementation. The functions comprising the driver model, which driver authors implement, are not intended to be called by application developers.

Definition in file crypto_accel_driver.h.