23#ifndef CRACEN_SW_AEAD_H
24#define CRACEN_SW_AEAD_H
26#include <psa/crypto.h>
45 const psa_key_attributes_t *attributes,
46 const uint8_t *key_buffer,
size_t key_buffer_size,
63 const psa_key_attributes_t *attributes,
64 const uint8_t *key_buffer,
size_t key_buffer_size,
94 size_t plaintext_length);
108 size_t input_length);
126 size_t input_length, uint8_t *output,
size_t output_size,
127 size_t *output_length);
146 size_t ciphertext_size,
size_t *ciphertext_length, uint8_t *tag,
147 size_t tag_size,
size_t *tag_length);
165 size_t plaintext_size,
size_t *plaintext_length,
const uint8_t *tag,
203 size_t key_buffer_size, psa_algorithm_t alg,
const uint8_t *nonce,
204 size_t nonce_length,
const uint8_t *additional_data,
205 size_t additional_data_length,
const uint8_t *plaintext,
206 size_t plaintext_length, uint8_t *ciphertext,
207 size_t ciphertext_size,
size_t *ciphertext_length);
233 size_t key_buffer_size, psa_algorithm_t alg,
const uint8_t *nonce,
234 size_t nonce_length,
const uint8_t *additional_data,
235 size_t additional_data_length,
const uint8_t *ciphertext,
236 size_t ciphertext_length, uint8_t *plaintext,
237 size_t plaintext_size,
size_t *plaintext_length);
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 nonce for the software 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 the software 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 the software AEAD decryption 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 the software AEAD encryption and generate the tag.
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)
Update the software AEAD operation with plaintext/ciphertext.
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 the software AEAD decryption operation.
psa_status_t cracen_aead_update_ad(cracen_aead_operation_t *operation, const uint8_t *input, size_t input_length)
Update the software AEAD operation with additional data.
psa_status_t cracen_aead_abort(cracen_aead_operation_t *operation)
Abort the software 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)
Perform a single software AEAD decryption.
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)
Perform a single software AEAD encryption.
psa_status_t cracen_aead_set_lengths(cracen_aead_operation_t *operation, size_t ad_length, size_t plaintext_length)
Set lengths for the software AEAD operation.
Definition cracen_psa_primitives.h:344