Function esp_idf_svc::sys::esp_aes_crypt_cfb128

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

\brief AES-CFB128 buffer encryption/decryption.

Note: Due to the nature of CFB you should use the same key schedule for both encryption and decryption. So a context initialized with esp_aes_setkey_enc() for both AES_ENCRYPT and AES_DECRYPT.

\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_off offset in IV (updated after use) \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