Structure defines the PSA AES Multipart configuration.

This structure defines PSA AES Multipart configuration required for the operation which includes type of operation, input message, length of input message, key configuration structure, and so on.

Public Attributes#

Encryption or decryption.

const uint8_t *

Pointer to the input message.

uint16_t

Length of the message.

uint8_t

Initialization vector.

uint8_t

"Operation is in a valid streaming state" flag. Set to 1 by cipher_set_iv for CBC/CTR (after a successful FIRST_CHUNK send) and pre-set to 1 by setup_common for ECB (which has no IV). Cleared back to 0 by cipher_update on any failure path so cipher_finish can refuse to send LAST_CHUNK against an indeterminate FW context. cipher_finish gates on iv_flag != 0 as the single readiness check.

uint8_t

Flag to indicate chunk number.

uint32_t

Cumulative bytes successfully streamed through cipher_update across the lifetime of the operation; used by cipher_finish to validate CBC/ECB block alignment.

Public Attribute Documentation#

aes_mode#

sl_si91x_aes_mode_t sli_si91x_psa_aes_multipart_config_t::aes_mode

AES Mode.


encrypt_decrypt#

sl_si91x_aes_type_t sli_si91x_psa_aes_multipart_config_t::encrypt_decrypt

Encryption or decryption.


msg#

const uint8_t* sli_si91x_psa_aes_multipart_config_t::msg

Pointer to the input message.


msg_length#

uint16_t sli_si91x_psa_aes_multipart_config_t::msg_length

Length of the message.


iv#

uint8_t sli_si91x_psa_aes_multipart_config_t::iv[SL_SI91X_IV_SIZE]

Initialization vector.


iv_flag#

uint8_t sli_si91x_psa_aes_multipart_config_t::iv_flag

"Operation is in a valid streaming state" flag. Set to 1 by cipher_set_iv for CBC/CTR (after a successful FIRST_CHUNK send) and pre-set to 1 by setup_common for ECB (which has no IV). Cleared back to 0 by cipher_update on any failure path so cipher_finish can refuse to send LAST_CHUNK against an indeterminate FW context. cipher_finish gates on iv_flag != 0 as the single readiness check.


key_config#

sl_si91x_aes_key_config_t sli_si91x_psa_aes_multipart_config_t::key_config

Key configuration.


chunk_flag#

uint8_t sli_si91x_psa_aes_multipart_config_t::chunk_flag

Flag to indicate chunk number.


processed_length#

uint32_t sli_si91x_psa_aes_multipart_config_t::processed_length

Cumulative bytes successfully streamed through cipher_update across the lifetime of the operation; used by cipher_finish to validate CBC/ECB block alignment.