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

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

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Deserialize this value from the given Serde deserializer. Read more

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Serialize this value into the given Serde serializer. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Zero out this object from memory using Rust intrinsics which ensure the zeroization operation is not “optimized away” by the compiler. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.