21#ifndef CRACEN_SW_AES_CBC_H
22#define CRACEN_SW_AES_CBC_H
24#include <psa/crypto.h>
26#include <sxsymcrypt/keyref.h>
45 const psa_key_attributes_t *attributes,
46 const uint8_t *key_buffer,
size_t key_buffer_size,
77 size_t input_length, uint8_t *output,
size_t output_size,
78 size_t *output_length);
94 size_t output_size,
size_t *output_length);
117 const uint8_t *key_buffer,
size_t key_buffer_size,
118 psa_algorithm_t alg,
const uint8_t *iv,
size_t iv_length,
119 const uint8_t *input,
size_t input_length, uint8_t *output,
120 size_t output_size,
size_t *output_length);
144 const uint8_t *key_buffer,
size_t key_buffer_size,
145 psa_algorithm_t alg,
const uint8_t *iv,
size_t iv_length,
146 const uint8_t *input,
size_t input_length, uint8_t *output,
147 size_t output_size,
size_t *output_length);
int32_t psa_status_t
Definition error.h:26
cipher_operation
Definition cracen_psa_primitives.h:201
psa_status_t cracen_sw_aes_cbc_finish(cracen_cipher_operation_t *operation, uint8_t *output, size_t output_size, size_t *output_length)
Finish the software AES-CBC operation.
psa_status_t cracen_sw_aes_cbc_set_iv(cracen_cipher_operation_t *operation, const uint8_t *iv, size_t iv_length)
Set IV for the software AES-CBC operation.
psa_status_t cracen_sw_aes_cbc_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)
Perform a single-shot software AES-CBC encryption.
psa_status_t cracen_sw_aes_cbc_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, enum cipher_operation dir)
Setup software AES-CBC operation.
psa_status_t cracen_sw_aes_cbc_decrypt(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)
Perform a single-shot software AES-CBC decryption.
psa_status_t cracen_sw_aes_cbc_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)
Update the software AES-CBC operation with new data.
Definition cracen_psa_primitives.h:282