Function esp_idf_svc::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:

  1. 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.
  2. 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.