Function esp_idf_svc::sys::esp_aes_crypt_cbc

source ·
pub unsafe extern "C" fn esp_aes_crypt_cbc(
    ctx: *mut esp_aes_context,
    mode: i32,
    length: usize,
    iv: *mut u8,
    input: *const u8,
    output: *mut u8,
) -> i32
Expand description

\brief AES-CBC buffer encryption/decryption Length should be a multiple of the block size (16 bytes)

\note Upon exit, the content of the IV is updated so that you can call the function same function again on the following block(s) of data and get the same result as if it was encrypted in one call. This allows a “streaming” usage. If on the other hand you need to retain the contents of the IV, you should either save it manually or use the cipher module instead.

\param ctx AES context \param mode AES_ENCRYPT or AES_DECRYPT \param length length of the input data \param iv initialization vector (updated after use) \param input buffer holding the input data \param output buffer holding the output data

\return 0 if successful, or ERR_AES_INVALID_INPUT_LENGTH