Enum psa_crypto::types::algorithm::Algorithm [−][src]
pub enum Algorithm {
None,
Hash(Hash),
Mac(Mac),
Cipher(Cipher),
Aead(Aead),
AsymmetricSignature(AsymmetricSignature),
AsymmetricEncryption(AsymmetricEncryption),
KeyAgreement(KeyAgreement),
KeyDerivation(KeyDerivation),
}
Expand description
Enumeration of possible algorithm definitions. Each variant of the enum contains a main algorithm type (which is required for that variant).
Variants
None
An invalid algorithm identifier value.
None
does not allow any cryptographic operation with the key. The key can still be
used for non-cryptographic actions such as exporting, if permitted by the usage flags.
Hash(Hash)
Tuple Fields
0: Hash
Hash algorithm.
Mac(Mac)
Tuple Fields
0: Mac
MAC algorithm.
Cipher(Cipher)
Tuple Fields
0: Cipher
Symmetric Cipher algorithm.
Aead(Aead)
Tuple Fields
0: Aead
Authenticated Encryption with Associated Data (AEAD) algorithm.
AsymmetricSignature(AsymmetricSignature)
Tuple Fields
Public-key signature algorithm.
AsymmetricEncryption(AsymmetricEncryption)
Tuple Fields
Public-key encryption algorithm.
KeyAgreement(KeyAgreement)
Tuple Fields
0: KeyAgreement
Key agreement algorithm.
KeyDerivation(KeyDerivation)
Tuple Fields
Key derivation algorithm.
Implementations
Check if the algorithm is a HMAC algorithm, truncated or not
Example
use psa_crypto::types::algorithm::{Algorithm, Mac, FullLengthMac, Hash};
let hmac = Algorithm::Mac(Mac::Truncated {
mac_alg: FullLengthMac::Hmac { hash_alg: Hash::Sha256 },
mac_length: 30,
});
assert!(hmac.is_hmac());
Trait Implementations
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
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Auto Trait Implementations
impl RefUnwindSafe for Algorithm
impl UnwindSafe for Algorithm
Blanket Implementations
Mutably borrows from an owned value. Read more