INNER CODE UNIT · Rust
encrypt_pickle
matrix-org/vodozemac · src/cipher/mod.rs:269
pub fn encrypt_pickle(&self, plaintext: &[u8]) -> Vec<u8> {
let mut ciphertext = self.encrypt(plaintext);
let mac = self.mac(&ciphertext);
ciphertext.extend(mac.truncate());
ciphertext
}
/// Decrypts the provided `ciphertext` using this [`Cipher`].
///
/// This function expects the message authentication code (MAC), truncated
/// to 8 bytes, to be concatenated with the ciphertext. It verifies the
/// MAC before decrypting the ciphertext.
///
/// This follows the encryption method used by the libolm pickle format.
#[allow(unreachable_pub)]
pub fn decrypt_pickle(&self, ciphertext: &[u8]) -> Result<Vec<u8>, DecryptionError> {