pub enum EncryptionAlgorithm {
Aes256Gcm,
ChaCha20Poly1305,
Aes128Gcm,
Aes192Gcm,
Custom(String),
}Expand description
Encryption algorithms supported by the adaptive pipeline system
This enum provides type-safe selection of encryption algorithms with different performance characteristics and security properties. All algorithms provide authenticated encryption with associated data (AEAD) for both confidentiality and integrity protection.
§Algorithm Characteristics
- AES-256-GCM: Industry standard with 256-bit keys, excellent performance
- ChaCha20-Poly1305: Modern stream cipher, constant-time implementation
- AES-128-GCM: Faster variant with 128-bit keys, still highly secure
- AES-192-GCM: Middle ground with 192-bit keys
- Custom: User-defined algorithms for specialized requirements
§Security Properties
All algorithms provide:
- Confidentiality: Data is encrypted and unreadable without the key
- Integrity: Tampering is detected through authentication tags
- Authentication: Verifies data origin and prevents forgery
- Semantic Security: Identical plaintexts produce different ciphertexts
§Examples
Variants§
Trait Implementations§
Source§impl Clone for EncryptionAlgorithm
impl Clone for EncryptionAlgorithm
Source§fn clone(&self) -> EncryptionAlgorithm
fn clone(&self) -> EncryptionAlgorithm
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for EncryptionAlgorithm
impl Debug for EncryptionAlgorithm
Source§impl<'de> Deserialize<'de> for EncryptionAlgorithm
impl<'de> Deserialize<'de> for EncryptionAlgorithm
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for EncryptionAlgorithm
impl Display for EncryptionAlgorithm
Source§impl PartialEq for EncryptionAlgorithm
impl PartialEq for EncryptionAlgorithm
Source§impl Serialize for EncryptionAlgorithm
impl Serialize for EncryptionAlgorithm
impl StructuralPartialEq for EncryptionAlgorithm
Auto Trait Implementations§
impl Freeze for EncryptionAlgorithm
impl RefUnwindSafe for EncryptionAlgorithm
impl Send for EncryptionAlgorithm
impl Sync for EncryptionAlgorithm
impl Unpin for EncryptionAlgorithm
impl UnwindSafe for EncryptionAlgorithm
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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