#[non_exhaustive]pub enum AlgorithmId {
Show 72 variants
Sha256,
Sha384,
Sha512,
Sha512_256,
Sha3_256,
Sha3_384,
Sha3_512,
Blake2b256,
Blake2b512,
Blake3,
Aes128Gcm,
Aes256Gcm,
ChaCha20Poly1305,
Aes128GcmSiv,
Aes256GcmSiv,
XChaCha20Poly1305,
Aes128Ccm,
Aes256Ccm,
DeoxysII128,
AesKeyWrap128,
AesKeyWrap256,
HmacSha256,
HmacSha384,
HmacSha512,
HmacSha3_256,
HmacSha3_512,
Poly1305,
CmacAes128,
CmacAes256,
Kmac128,
Kmac256,
Ed25519,
Ed448,
EcdsaP256,
EcdsaP384,
EcdsaP521,
RsaPkcs1v15Sha256,
RsaPkcs1v15Sha384,
RsaPkcs1v15Sha512,
RsaPssSha256,
SchnorrBip340,
X25519,
X448,
EcdhP256,
EcdhP384,
EcdhP521,
HkdfSha256,
HkdfSha384,
HkdfSha512,
Pbkdf2Sha256,
Pbkdf2Sha512,
Argon2id,
Scrypt,
Balloon,
MlKem512,
MlKem768,
MlKem1024,
MlDsa44,
MlDsa65,
MlDsa87,
XWing768X25519,
HybridKem1024P384,
SlhDsaSha2_128s,
SlhDsaSha2_128f,
SlhDsaSha2_192s,
SlhDsaSha2_192f,
SlhDsaSha2_256s,
SlhDsaSha2_256f,
SlhDsaShake128s,
SlhDsaShake128f,
SlhDsaShake256s,
SlhDsaShake256f,
}Expand description
Canonical algorithm identifier covering all OxiCrypto algorithm families.
This enum is #[non_exhaustive] so that future algorithm additions do not
constitute a breaking change for crates that match on it in external code.
Inside this crate all matches are exhaustive (no wildcard fallback needed).
Each variant’s name() returns the canonical IANA/NIST string representation.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Sha256
SHA-256 (FIPS 180-4)
Sha384
SHA-384 (FIPS 180-4)
Sha512
SHA-512 (FIPS 180-4)
Sha512_256
SHA-512/256 (FIPS 180-4 §6.7)
Sha3_256
SHA3-256 (FIPS 202)
Sha3_384
SHA3-384 (FIPS 202)
Sha3_512
SHA3-512 (FIPS 202)
Blake2b256
BLAKE2b-256
Blake2b512
BLAKE2b-512
Blake3
BLAKE3
Aes128Gcm
AES-128-GCM (NIST SP 800-38D, RFC 5116)
Aes256Gcm
AES-256-GCM (NIST SP 800-38D, RFC 5116)
ChaCha20Poly1305
ChaCha20-Poly1305 (RFC 8439)
Aes128GcmSiv
AES-128-GCM-SIV (RFC 8452)
Aes256GcmSiv
AES-256-GCM-SIV (RFC 8452)
XChaCha20Poly1305
XChaCha20-Poly1305
Aes128Ccm
AES-128-CCM (NIST SP 800-38C)
Aes256Ccm
AES-256-CCM (NIST SP 800-38C)
DeoxysII128
Deoxys-II-128-128 (CAESAR final portfolio, nonce-misuse resistant)
AesKeyWrap128
AES-128-KW — AES Key Wrap with 128-bit key (RFC 3394)
AesKeyWrap256
AES-256-KW — AES Key Wrap with 256-bit key (RFC 3394)
HmacSha256
HMAC-SHA-256 (RFC 2104)
HmacSha384
HMAC-SHA-384 (RFC 2104)
HmacSha512
HMAC-SHA-512 (RFC 2104)
HmacSha3_256
HMAC-SHA3-256
HmacSha3_512
HMAC-SHA3-512
Poly1305
Poly1305 (RFC 8439)
CmacAes128
CMAC-AES-128 (NIST SP 800-38B)
CmacAes256
CMAC-AES-256 (NIST SP 800-38B)
Kmac128
KMAC128 (NIST SP 800-185)
Kmac256
KMAC256 (NIST SP 800-185)
Ed25519
Ed25519 (RFC 8032)
Ed448
Ed448 (RFC 8032)
EcdsaP256
ECDSA over P-256 (FIPS 186-4)
EcdsaP384
ECDSA over P-384 (FIPS 186-4)
EcdsaP521
ECDSA over P-521 (FIPS 186-4)
RsaPkcs1v15Sha256
RSA PKCS#1 v1.5 with SHA-256
RsaPkcs1v15Sha384
RSA PKCS#1 v1.5 with SHA-384
RsaPkcs1v15Sha512
RSA PKCS#1 v1.5 with SHA-512
RsaPssSha256
RSA-PSS with SHA-256 (RFC 8017)
SchnorrBip340
BIP-340 Schnorr over secp256k1
X25519
X25519 (RFC 7748)
X448
X448 (RFC 7748)
EcdhP256
ECDH over P-256
EcdhP384
ECDH over P-384
EcdhP521
ECDH over P-521
HkdfSha256
HKDF-SHA-256 (RFC 5869)
HkdfSha384
HKDF-SHA-384 (RFC 5869)
HkdfSha512
HKDF-SHA-512 (RFC 5869)
Pbkdf2Sha256
PBKDF2-SHA-256 (RFC 8018)
Pbkdf2Sha512
PBKDF2-SHA-512 (RFC 8018)
Argon2id
Argon2id (RFC 9106)
Scrypt
scrypt (RFC 7914)
Balloon
Balloon memory-hard hashing (SHA-256), Boneh-Corrigan-Gibbs-Schechter
MlKem512
ML-KEM-512 (FIPS 203)
MlKem768
ML-KEM-768 (FIPS 203)
MlKem1024
ML-KEM-1024 (FIPS 203)
MlDsa44
ML-DSA-44 (FIPS 204)
MlDsa65
ML-DSA-65 (FIPS 204)
MlDsa87
ML-DSA-87 (FIPS 204)
XWing768X25519
Hybrid KEM: ML-KEM-768 + X25519 (X-Wing draft)
HybridKem1024P384
Hybrid KEM: ML-KEM-1024 + P-384
SlhDsaSha2_128s
SLH-DSA-SHA2-128s (FIPS 205)
SlhDsaSha2_128f
SLH-DSA-SHA2-128f (FIPS 205)
SlhDsaSha2_192s
SLH-DSA-SHA2-192s (FIPS 205, security category 3)
SlhDsaSha2_192f
SLH-DSA-SHA2-192f (FIPS 205, security category 3)
SlhDsaSha2_256s
SLH-DSA-SHA2-256s (FIPS 205)
SlhDsaSha2_256f
SLH-DSA-SHA2-256f (FIPS 205)
SlhDsaShake128s
SLH-DSA-SHAKE-128s (FIPS 205)
SlhDsaShake128f
SLH-DSA-SHAKE-128f (FIPS 205)
SlhDsaShake256s
SLH-DSA-SHAKE-256s (FIPS 205, security category 5)
SlhDsaShake256f
SLH-DSA-SHAKE-256f (FIPS 205, security category 5)
Implementations§
Source§impl AlgorithmId
impl AlgorithmId
Sourcepub fn name(&self) -> &'static str
pub fn name(&self) -> &'static str
Return the canonical IANA/NIST name string for this algorithm.
Sourcepub fn category(&self) -> AlgorithmCategory
pub fn category(&self) -> AlgorithmCategory
Return the AlgorithmCategory for this algorithm.
Trait Implementations§
Source§impl Clone for AlgorithmId
impl Clone for AlgorithmId
Source§fn clone(&self) -> AlgorithmId
fn clone(&self) -> AlgorithmId
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AlgorithmId
impl Debug for AlgorithmId
Source§impl Display for AlgorithmId
impl Display for AlgorithmId
Source§impl Hash for AlgorithmId
impl Hash for AlgorithmId
Source§impl PartialEq for AlgorithmId
impl PartialEq for AlgorithmId
Source§fn eq(&self, other: &AlgorithmId) -> bool
fn eq(&self, other: &AlgorithmId) -> bool
self and other values to be equal, and is used by ==.