Enum sequoia_openpgp::types::SymmetricAlgorithm [−][src]
#[non_exhaustive]
pub enum SymmetricAlgorithm {
}
Expand description
The symmetric-key algorithms as defined in Section 9.2 of RFC 4880.
The values can be converted into and from their corresponding values of the serialized format.
Use SymmetricAlgorithm::from
to translate a numeric value to a
symbolic one.
Note: This enum cannot be exhaustively matched to allow future extensions.
Examples
Use SymmetricAlgorithm
to set the preferred symmetric algorithms on a signature:
use sequoia_openpgp as openpgp;
use openpgp::packet::signature::SignatureBuilder;
use openpgp::types::{HashAlgorithm, SymmetricAlgorithm, SignatureType};
let mut builder = SignatureBuilder::new(SignatureType::DirectKey)
.set_hash_algo(HashAlgorithm::SHA512)
.set_preferred_symmetric_algorithms(vec![
SymmetricAlgorithm::AES256,
])?;
Variants (Non-exhaustive)
This enum is marked as non-exhaustive
Unencrypted
Null encryption.
IDEA
IDEA block cipher.
TripleDES
3-DES in EDE configuration.
CAST5
CAST5/CAST128 block cipher.
Blowfish
Schneier et.al. Blowfish block cipher.
AES128
10-round AES.
AES192
12-round AES.
AES256
14-round AES.
Twofish
Twofish block cipher.
Camellia128
18 rounds of NESSIEs Camellia.
Camellia192
24 rounds of NESSIEs Camellia w/192 bit keys.
Camellia256
24 rounds of NESSIEs Camellia w/256 bit keys.
Private(u8)
Tuple Fields
0: u8
Private algorithm identifier.
Unknown(u8)
Tuple Fields
0: u8
Unknown algorithm identifier.
Implementations
Returns whether this algorithm is supported by the crypto backend.
All backends support all the AES variants.
Examples
use sequoia_openpgp as openpgp;
use openpgp::types::SymmetricAlgorithm;
assert!(SymmetricAlgorithm::AES256.is_supported());
assert!(SymmetricAlgorithm::TripleDES.is_supported());
assert!(!SymmetricAlgorithm::IDEA.is_supported());
assert!(!SymmetricAlgorithm::Unencrypted.is_supported());
assert!(!SymmetricAlgorithm::Private(101).is_supported());
Length of a key for this algorithm in bytes.
Fails if Sequoia does not support this algorithm.
Length of a block for this algorithm in bytes.
Fails if Sequoia does not support this algorithm.
Trait Implementations
Performs the conversion.
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
Auto Trait Implementations
impl RefUnwindSafe for SymmetricAlgorithm
impl Send for SymmetricAlgorithm
impl Sync for SymmetricAlgorithm
impl Unpin for SymmetricAlgorithm
impl UnwindSafe for SymmetricAlgorithm
Blanket Implementations
Mutably borrows from an owned value. Read more