Trait Encryption

Source
pub trait Encryption {
    // Required methods
    fn encrypt(
        data: DecryptedData,
        ad: AdditionalData<'_>,
        key: &[u8; 32],
    ) -> EncryptedData;
    fn decrypt(
        data: EncryptedData,
        ad: AdditionalData<'_>,
        key: &[u8; 32],
    ) -> Result<DecryptedData>;

    // Provided method
    fn re_encrypt(
        data: EncryptedData,
        ad: AdditionalData<'_>,
        old_key: &[u8; 32],
        new_key: &[u8; 32],
    ) -> Result<EncryptedData> { ... }
}

Required Methods§

Source

fn encrypt( data: DecryptedData, ad: AdditionalData<'_>, key: &[u8; 32], ) -> EncryptedData

Source

fn decrypt( data: EncryptedData, ad: AdditionalData<'_>, key: &[u8; 32], ) -> Result<DecryptedData>

Provided Methods§

Source

fn re_encrypt( data: EncryptedData, ad: AdditionalData<'_>, old_key: &[u8; 32], new_key: &[u8; 32], ) -> Result<EncryptedData>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§