KyberFunctions

Trait KyberFunctions 

Source
pub trait KyberFunctions {
    // Required methods
    fn encrypt_file(
        &mut self,
        path: PathBuf,
        passphrase: &str,
    ) -> Result<(Vec<u8>, Vec<u8>), CryptError>;
    fn encrypt_msg(
        &mut self,
        message: &str,
        passphrase: &str,
    ) -> Result<(Vec<u8>, Vec<u8>), CryptError>;
    fn encrypt_data(
        &mut self,
        data: Vec<u8>,
        passphrase: &str,
    ) -> Result<(Vec<u8>, Vec<u8>), CryptError>;
    fn decrypt_file(
        &self,
        path: PathBuf,
        passphrase: &str,
        ciphertext: Vec<u8>,
    ) -> Result<Vec<u8>, CryptError>;
    fn decrypt_msg(
        &self,
        message: Vec<u8>,
        passphrase: &str,
        ciphertext: Vec<u8>,
    ) -> Result<Vec<u8>, CryptError>;
    fn decrypt_data(
        &self,
        data: Vec<u8>,
        passphrase: &str,
        ciphertext: Vec<u8>,
    ) -> Result<Vec<u8>, CryptError>;
}
Expand description

Trait for Kyber cryptographic functions.

Required Methods§

Source

fn encrypt_file( &mut self, path: PathBuf, passphrase: &str, ) -> Result<(Vec<u8>, Vec<u8>), CryptError>

Encrypts a files at a given path with a passphrase, returning the encrypted data and nonce.

Source

fn encrypt_msg( &mut self, message: &str, passphrase: &str, ) -> Result<(Vec<u8>, Vec<u8>), CryptError>

Encrypts a message with a passphrase, returning the encrypted data and nonce.

Source

fn encrypt_data( &mut self, data: Vec<u8>, passphrase: &str, ) -> Result<(Vec<u8>, Vec<u8>), CryptError>

Encrypts data with a passphrase, returning the encrypted data and nonce.

Source

fn decrypt_file( &self, path: PathBuf, passphrase: &str, ciphertext: Vec<u8>, ) -> Result<Vec<u8>, CryptError>

Decrypts a files at a given path with a passphrase and ciphertext, returning the decrypted data.

Source

fn decrypt_msg( &self, message: Vec<u8>, passphrase: &str, ciphertext: Vec<u8>, ) -> Result<Vec<u8>, CryptError>

Decrypts a message with a passphrase and ciphertext, returning the decrypted data.

Source

fn decrypt_data( &self, data: Vec<u8>, passphrase: &str, ciphertext: Vec<u8>, ) -> Result<Vec<u8>, CryptError>

Decrypts data with a passphrase and ciphertext, returning the decrypted data.

Implementors§

Source§

impl<KyberSize, ContentStatus> KyberFunctions for Kyber<Decryption, KyberSize, ContentStatus, AES>
where KyberSize: KyberSizeVariant,

Provides Kyber decryption functions for AES algorithm.

Source§

impl<KyberSize, ContentStatus> KyberFunctions for Kyber<Decryption, KyberSize, ContentStatus, AesCtr>
where KyberSize: KyberSizeVariant,

Source§

impl<KyberSize, ContentStatus> KyberFunctions for Kyber<Decryption, KyberSize, ContentStatus, AesGcmSiv>
where KyberSize: KyberSizeVariant,

Source§

impl<KyberSize, ContentStatus> KyberFunctions for Kyber<Decryption, KyberSize, ContentStatus, AesXts>
where KyberSize: KyberSizeVariant,

Provides Kyber decryption functions for AES_XTS algorithm.

Source§

impl<KyberSize, ContentStatus> KyberFunctions for Kyber<Decryption, KyberSize, ContentStatus, XChaCha20>
where KyberSize: KyberSizeVariant,

Provides Kyber decryption functions for XChaCha20 algorithm.

Source§

impl<KyberSize, ContentStatus> KyberFunctions for Kyber<Decryption, KyberSize, ContentStatus, XChaCha20Poly1305>
where KyberSize: KyberSizeVariant,

Provides Kyber decryption functions for XChaCha20Poly1305 algorithm.

Source§

impl<KyberSize, ContentStatus> KyberFunctions for Kyber<Encryption, KyberSize, ContentStatus, AES>
where KyberSize: KyberSizeVariant,

Provides Kyber encryption functions for AES algorithm.

Source§

impl<KyberSize, ContentStatus> KyberFunctions for Kyber<Encryption, KyberSize, ContentStatus, AesCtr>
where KyberSize: KyberSizeVariant,

Provides Kyber encryption functions for AES-CTR algorithm.

Source§

impl<KyberSize, ContentStatus> KyberFunctions for Kyber<Encryption, KyberSize, ContentStatus, AesGcmSiv>
where KyberSize: KyberSizeVariant,

Provides Kyber encryption functions for AES-GCM-SIV algorithm.

Source§

impl<KyberSize, ContentStatus> KyberFunctions for Kyber<Encryption, KyberSize, ContentStatus, AesXts>
where KyberSize: KyberSizeVariant,

Provides Kyber encryption functions for AES_XTS algorithm.

Source§

impl<KyberSize, ContentStatus> KyberFunctions for Kyber<Encryption, KyberSize, ContentStatus, XChaCha20>
where KyberSize: KyberSizeVariant,

Provides Kyber encryption functions for XChaCha20 algorithm.

Source§

impl<KyberSize, ContentStatus> KyberFunctions for Kyber<Encryption, KyberSize, ContentStatus, XChaCha20Poly1305>
where KyberSize: KyberSizeVariant,

Provides Kyber encryption functions for XChaCha20Poly1305 algorithm.