Enum ssh_cipher::Cipher
source · #[non_exhaustive]pub enum Cipher {
None,
Aes128Cbc,
Aes192Cbc,
Aes256Cbc,
Aes128Ctr,
Aes192Ctr,
Aes256Ctr,
Aes128Gcm,
Aes256Gcm,
ChaCha20Poly1305,
TDesCbc,
}
Expand description
Cipher algorithms.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
None
No cipher.
Aes128Cbc
AES-128 in cipher block chaining (CBC) mode.
Aes192Cbc
AES-192 in cipher block chaining (CBC) mode.
Aes256Cbc
AES-256 in cipher block chaining (CBC) mode.
Aes128Ctr
AES-128 in counter (CTR) mode.
Aes192Ctr
AES-192 in counter (CTR) mode.
Aes256Ctr
AES-256 in counter (CTR) mode.
Aes128Gcm
AES-128 in Galois/Counter Mode (GCM).
Aes256Gcm
AES-256 in Galois/Counter Mode (GCM).
ChaCha20Poly1305
ChaCha20-Poly1305
TDesCbc
TripleDES in block chaining (CBC) mode
Implementations§
source§impl Cipher
impl Cipher
sourcepub fn new(ciphername: &str) -> Result<Self, LabelError>
pub fn new(ciphername: &str) -> Result<Self, LabelError>
sourcepub fn as_str(self) -> &'static str
pub fn as_str(self) -> &'static str
Get the string identifier which corresponds to this algorithm.
sourcepub fn key_and_iv_size(self) -> Option<(usize, usize)>
pub fn key_and_iv_size(self) -> Option<(usize, usize)>
Get the key and IV size for this cipher in bytes.
sourcepub fn block_size(self) -> usize
pub fn block_size(self) -> usize
Get the block size for this cipher in bytes.
sourcepub fn padding_len(self, input_size: usize) -> usize
pub fn padding_len(self, input_size: usize) -> usize
Compute the length of padding necessary to pad the given input to the block size.
sourcepub fn has_tag(self) -> bool
pub fn has_tag(self) -> bool
Does this cipher have an authentication tag? (i.e. is it an AEAD mode?)
Trait Implementations§
source§impl FromStr for Cipher
impl FromStr for Cipher
§type Err = LabelError
type Err = LabelError
The associated error which can be returned from parsing.
source§impl Ord for Cipher
impl Ord for Cipher
source§impl PartialEq<Cipher> for Cipher
impl PartialEq<Cipher> for Cipher
source§impl PartialOrd<Cipher> for Cipher
impl PartialOrd<Cipher> for Cipher
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moreimpl Copy for Cipher
impl Eq for Cipher
impl Label for Cipher
impl StructuralEq for Cipher
impl StructuralPartialEq for Cipher
Auto Trait Implementations§
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> Encode for Twhere
T: Label,
impl<T> Encode for Twhere T: Label,
source§fn encoded_len(&self) -> Result<usize, Error>
fn encoded_len(&self) -> Result<usize, Error>
Get the length of this type encoded in bytes, prior to Base64 encoding.
source§fn encode(&self, writer: &mut impl Writer) -> Result<(), Error>
fn encode(&self, writer: &mut impl Writer) -> Result<(), Error>
Encode this value using the provided
Writer
.source§fn encoded_len_prefixed(&self) -> Result<usize, Error>
fn encoded_len_prefixed(&self) -> Result<usize, Error>
Return the length of this type after encoding when prepended with a
uint32
length prefix.source§fn encode_prefixed(&self, writer: &mut impl Writer) -> Result<(), Error>
fn encode_prefixed(&self, writer: &mut impl Writer) -> Result<(), Error>
Encode this value, first prepending a
uint32
length prefix
set to Encode::encoded_len
.