13#ifndef CRACEN_PSA_AEAD_H
14#define CRACEN_PSA_AEAD_H
16#include <psa/crypto.h>
44 size_t key_buffer_size, psa_algorithm_t alg,
const uint8_t *nonce,
45 size_t nonce_length,
const uint8_t *additional_data,
46 size_t additional_data_length,
const uint8_t *plaintext,
47 size_t plaintext_length, uint8_t *ciphertext,
48 size_t ciphertext_size,
size_t *ciphertext_length);
73 size_t key_buffer_size, psa_algorithm_t alg,
const uint8_t *nonce,
74 size_t nonce_length,
const uint8_t *additional_data,
75 size_t additional_data_length,
const uint8_t *ciphertext,
76 size_t ciphertext_length, uint8_t *plaintext,
77 size_t plaintext_size,
size_t *plaintext_length);
91 const psa_key_attributes_t *attributes,
92 const uint8_t *key_buffer,
size_t key_buffer_size,
107 const psa_key_attributes_t *attributes,
108 const uint8_t *key_buffer,
size_t key_buffer_size,
109 psa_algorithm_t alg);
121 size_t nonce_length);
133 size_t plaintext_length);
145 size_t input_length);
161 size_t input_length, uint8_t *output,
size_t output_size,
162 size_t *output_length);
179 size_t ciphertext_size,
size_t *ciphertext_length, uint8_t *tag,
180 size_t tag_size,
size_t *tag_length);
197 size_t plaintext_size,
size_t *plaintext_length,
const uint8_t *tag,
int32_t psa_status_t
Definition error.h:26
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_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_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_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_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_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_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_abort(cracen_aead_operation_t *operation)
Abort an AEAD operation.
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(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_set_lengths(cracen_aead_operation_t *operation, size_t ad_length, size_t plaintext_length)
Set the lengths for an AEAD operation.
Definition cracen_psa_primitives.h:344