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, AesCtr>where
KyberSize: KyberSizeVariant,
impl<KyberSize, ContentStatus> KyberFunctions for Kyber<Decryption, KyberSize, ContentStatus, AesGcmSiv>where
KyberSize: KyberSizeVariant,
impl<KyberSize, ContentStatus> KyberFunctions for Kyber<Decryption, KyberSize, ContentStatus, AesXts>where
KyberSize: KyberSizeVariant,
Provides Kyber decryption functions for AES_XTS 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<Decryption, KyberSize, ContentStatus, XChaCha20Poly1305>where
KyberSize: KyberSizeVariant,
Provides Kyber decryption functions for XChaCha20Poly1305 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, AesCtr>where
KyberSize: KyberSizeVariant,
Provides Kyber encryption functions for AES-CTR algorithm.
impl<KyberSize, ContentStatus> KyberFunctions for Kyber<Encryption, KyberSize, ContentStatus, AesGcmSiv>where
KyberSize: KyberSizeVariant,
Provides Kyber encryption functions for AES-GCM-SIV algorithm.
impl<KyberSize, ContentStatus> KyberFunctions for Kyber<Encryption, KyberSize, ContentStatus, AesXts>where
KyberSize: KyberSizeVariant,
Provides Kyber encryption functions for AES_XTS algorithm.
impl<KyberSize, ContentStatus> KyberFunctions for Kyber<Encryption, KyberSize, ContentStatus, XChaCha20>where
KyberSize: KyberSizeVariant,
Provides Kyber encryption functions for XChaCha20 algorithm.
impl<KyberSize, ContentStatus> KyberFunctions for Kyber<Encryption, KyberSize, ContentStatus, XChaCha20Poly1305>where
KyberSize: KyberSizeVariant,
Provides Kyber encryption functions for XChaCha20Poly1305 algorithm.