extern "C" { fn chacha20_cbc_encrypt( input: *const u8, output: *mut u8, in_len: usize, key: *const u8, ivec: *mut u8, ); } pub fn chacha_cbc_encrypt(input: &[u8], output: &mut [u8], key: &[u8], ivec: &mut [u8]) { unsafe { chacha20_cbc_encrypt( input.as_ptr(), output.as_mut_ptr(), input.len(), key.as_ptr(), ivec.as_mut_ptr(), ); } }