Trait crypt_guard::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§
sourcefn encrypt_file(
&mut self,
path: PathBuf,
passphrase: &str
) -> Result<(Vec<u8>, Vec<u8>), CryptError>
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.
sourcefn encrypt_msg(
&mut self,
message: &str,
passphrase: &str
) -> Result<(Vec<u8>, Vec<u8>), CryptError>
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.
sourcefn encrypt_data(
&mut self,
data: Vec<u8>,
passphrase: &str
) -> Result<(Vec<u8>, Vec<u8>), CryptError>
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.
sourcefn decrypt_file(
&self,
path: PathBuf,
passphrase: &str,
ciphertext: Vec<u8>
) -> Result<Vec<u8>, CryptError>
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.
Implementors§
impl<KyberSize, ContentStatus> KyberFunctions for Kyber<Decryption, KyberSize, ContentStatus, AES>where
KyberSize: KyberSizeVariant,
Provides Kyber decryption functions for AES algorithm.
impl<KyberSize, ContentStatus> KyberFunctions for Kyber<Decryption, KyberSize, ContentStatus, XChaCha20>where
KyberSize: KyberSizeVariant,
Provides Kyber decryption functions for XChaCha20 algorithm.
impl<KyberSize, ContentStatus> KyberFunctions for Kyber<Encryption, KyberSize, ContentStatus, AES>where
KyberSize: KyberSizeVariant,
Provides Kyber encryption functions for AES algorithm.
impl<KyberSize, ContentStatus> KyberFunctions for Kyber<Encryption, KyberSize, ContentStatus, XChaCha20>where
KyberSize: KyberSizeVariant,
Provides Kyber encryption functions for XChaCha20 algorithm.