Function esp_idf_svc::hal::sys::psa_cipher_update
source ยท pub unsafe extern "C" fn psa_cipher_update(
operation: *mut psa_cipher_operation_s,
input: *const u8,
input_length: usize,
output: *mut u8,
output_size: usize,
output_length: *mut usize,
) -> i32
Expand description
Encrypt or decrypt a message fragment in an active cipher operation.
Before calling this function, you must:
- Call either psa_cipher_encrypt_setup() or psa_cipher_decrypt_setup(). The choice of setup function determines whether this function encrypts or decrypts its input.
- If the algorithm requires an IV, call psa_cipher_generate_iv() (recommended when encrypting) or psa_cipher_set_iv().
If this function returns an error status, the operation enters an error state and must be aborted by calling psa_cipher_abort().
\param[in,out] operation Active cipher operation. \param[in] input Buffer containing the message fragment to encrypt or decrypt. \param input_length Size of the \p input buffer in bytes. \param[out] output Buffer where the output is to be written. \param output_size Size of the \p output buffer in bytes. \param[out] output_length On success, the number of bytes that make up the returned output.
\retval #PSA_SUCCESS Success. \retval #PSA_ERROR_BUFFER_TOO_SMALL The size of the \p output buffer is too small. \retval #PSA_ERROR_INSUFFICIENT_MEMORY \emptydescription \retval #PSA_ERROR_COMMUNICATION_FAILURE \emptydescription \retval #PSA_ERROR_HARDWARE_FAILURE \emptydescription \retval #PSA_ERROR_CORRUPTION_DETECTED \emptydescription \retval #PSA_ERROR_STORAGE_FAILURE \emptydescription \retval #PSA_ERROR_BAD_STATE The operation state is not valid (it must be active, with an IV set if required for the algorithm), or the library has not been previously initialized by psa_crypto_init(). It is implementation-dependent whether a failure to initialize results in this error code.