Trait wedpr_l_utils::traits::BlockCipher[][src]

pub trait BlockCipher {
    fn encrypt<T: ?Sized + AsRef<[u8]>>(
        &self,
        message: &T,
        key: &T,
        iv: &T
    ) -> Result<Vec<u8>, WedprError>;
fn decrypt<T: ?Sized + AsRef<[u8]>>(
        &self,
        ciphertext: &T,
        key: &T,
        iv: &T
    ) -> Result<Vec<u8>, WedprError>;
fn generate_key(&self) -> Vec<u8>;
fn generate_iv(&self) -> Vec<u8>; }

Trait of a replaceable block cipher algorithm.

Required methods

fn encrypt<T: ?Sized + AsRef<[u8]>>(
    &self,
    message: &T,
    key: &T,
    iv: &T
) -> Result<Vec<u8>, WedprError>
[src]

Encrypts a message with a symmetric key and an initialization vector (IV).

fn decrypt<T: ?Sized + AsRef<[u8]>>(
    &self,
    ciphertext: &T,
    key: &T,
    iv: &T
) -> Result<Vec<u8>, WedprError>
[src]

Decrypts a cipher with a symmetric key and an initialization vector (IV).

fn generate_key(&self) -> Vec<u8>[src]

Generates a new key for block cipher algorithm.

fn generate_iv(&self) -> Vec<u8>[src]

Generates a new random initialization vector.

Loading content...

Implementors

Loading content...