pub struct Cipher { /* private fields */ }Expand description
High-level Cipher API
Implementations§
Source§impl Cipher
impl Cipher
Sourcepub fn new(algorithm: Algorithm) -> Result<Self>
pub fn new(algorithm: Algorithm) -> Result<Self>
Create a new cipher instance
This method first checks for plugin-provided implementations, then falls back to built-in providers.
§Errors
Returns CryptoError if the algorithm is not supported or FIPS validation fails
Sourcepub fn encrypt(
&self,
key_manager: &KeyManager,
key_id: &str,
plaintext: &[u8],
) -> Result<Vec<u8>>
pub fn encrypt( &self, key_manager: &KeyManager, key_id: &str, plaintext: &[u8], ) -> Result<Vec<u8>>
Encrypt data using the specified key
§Errors
Returns CryptoError if encryption fails, key is not found, or FIPS validation fails
Sourcepub fn decrypt(
&self,
key_manager: &KeyManager,
key_id: &str,
ciphertext: &[u8],
) -> Result<Vec<u8>>
pub fn decrypt( &self, key_manager: &KeyManager, key_id: &str, ciphertext: &[u8], ) -> Result<Vec<u8>>
Decrypt data using the specified key
§Errors
Returns CryptoError if decryption fails, key is not found, or FIPS validation fails
Sourcepub fn encrypt_aad(
&self,
key_manager: &KeyManager,
key_id: &str,
plaintext: &[u8],
aad: &[u8],
) -> Result<Vec<u8>>
pub fn encrypt_aad( &self, key_manager: &KeyManager, key_id: &str, plaintext: &[u8], aad: &[u8], ) -> Result<Vec<u8>>
Encrypt data with additional authenticated data (AAD)
§Errors
Returns CryptoError if encryption fails
Sourcepub fn decrypt_aad(
&self,
key_manager: &KeyManager,
key_id: &str,
ciphertext: &[u8],
aad: &[u8],
) -> Result<Vec<u8>>
pub fn decrypt_aad( &self, key_manager: &KeyManager, key_id: &str, ciphertext: &[u8], aad: &[u8], ) -> Result<Vec<u8>>
Decrypt data with additional authenticated data (AAD)
§Errors
Returns CryptoError if decryption fails or authentication fails
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Cipher
impl !RefUnwindSafe for Cipher
impl Send for Cipher
impl Sync for Cipher
impl Unpin for Cipher
impl !UnwindSafe for Cipher
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more