Enum Algorithm
pub enum Algorithm {
Show 67 variants
MlKem512,
MlKem768,
MlKem1024,
CbKem348864,
CbKem460896,
CbKem6688128,
CbKem6960119,
CbKem8192128,
Hqc128,
Hqc192,
Hqc256,
MlDsa44,
MlDsa65,
MlDsa87,
FnDsa,
FnDsa512,
FnDsa1024,
SlhDsaSha256128fRobust,
SlhDsaSha256192fRobust,
SlhDsaSha256256fRobust,
SlhDsaShake256128fRobust,
SlhDsaShake256192fRobust,
SlhDsaShake256256fRobust,
Shake128,
Shake256,
CShake128,
CShake256,
Sha3_224,
Sha3_256,
Sha3_384,
Sha3_512,
Keccak224,
Keccak256,
Keccak384,
Keccak512,
Kt128,
Kt256,
TurboShake128,
TurboShake256,
Kmac128,
Kmac256,
TupleHash128,
TupleHash256,
ParallelHash128,
ParallelHash256,
Sha224,
Sha256,
Sha384,
Sha512,
Sha512_224,
Sha512_256,
Saturnin,
Shake256Aead,
DuplexSpongeAead,
TweakAead,
RomulusN,
RomulusM,
RoccaS,
LatticeRingSignature,
LatticeBlindIssuance,
LatticeAnonymousToken,
LatticeNullifierRegistry,
LatticeWitnessNullifier,
LatticeDualRingLb,
MixOnionRouting,
SessionResumptionBinding,
FaestReserved,
}Expand description
Algorithm identifiers for cryptographic operations
Variants§
MlKem512
MlKem768
MlKem1024
CbKem348864
CbKem460896
CbKem6688128
CbKem6960119
CbKem8192128
Hqc128
Hqc192
Hqc256
MlDsa44
MlDsa65
MlDsa87
FnDsa
FnDsa512
FnDsa1024
SlhDsaSha256128fRobust
SlhDsaSha256192fRobust
SlhDsaSha256256fRobust
SlhDsaShake256128fRobust
SlhDsaShake256192fRobust
SlhDsaShake256256fRobust
Shake128
Shake256
CShake128
CShake256
Sha3_224
Sha3_256
Sha3_384
Sha3_512
Keccak224
Keccak256
Keccak384
Keccak512
Kt128
Kt256
TurboShake128
TurboShake256
Kmac128
Kmac256
TupleHash128
TupleHash256
ParallelHash128
ParallelHash256
Sha224
Sha256
Sha384
Sha512
Sha512_224
Sha512_256
Saturnin
Shake256Aead
DuplexSpongeAead
TweakAead
RomulusN
RomulusM
RoccaS
LatticeRingSignature
Privacy-protocol identifiers (not standalone KEM/sig/hash providers).
LatticeBlindIssuance
LatticeAnonymousToken
LatticeNullifierRegistry
LatticeWitnessNullifier
Witness-derived nullifier mode (SHAKE256 over opening witness wire; see lib-q-lattice-zkp).
LatticeDualRingLb
DualRing-LB (CCS 2021 Alg. 3 aggregated verify on Ajtai openings, lib-q-ring-sig).
MixOnionRouting
ML-KEM-768 layered encapsulation with Saturnin AEAD per hop (mix-layer transport).
SessionResumptionBinding
SHAKE256 session token and stateless retry-cookie derivation for resumption handshakes.
FaestReserved
Reserved FAEST / VOLE-in-the-Head signature (symmetric-only / AES assumptions).
An assumption-diversity hedge against a structured-lattice break of the default ML-DSA: FAEST
rests on symmetric-primitive hardness alone, with no Module-LWE/Module-SIS structure. It is
large and slow relative to ML-DSA, so it is never a default — it is registered with
enabled = false and is intended to be activated only on a lattice-cryptanalysis event.
Supersedes Picnic (deprecated). Identifier only — no signing/verification is implemented.
See lib-q-sig/docs/FAEST_EVALUATION.md.
Implementations§
§impl Algorithm
impl Algorithm
pub fn security_level(&self) -> u32
pub fn security_level(&self) -> u32
Get the security level for this algorithm
pub fn category(&self) -> AlgorithmCategory
pub fn category(&self) -> AlgorithmCategory
Get the algorithm category
pub fn supports_category(&self, category: AlgorithmCategory) -> bool
pub fn supports_category(&self, category: AlgorithmCategory) -> bool
Check if an algorithm supports a specific category
Trait Implementations§
impl Copy for Algorithm
§impl<'de> Deserialize<'de> for Algorithm
impl<'de> Deserialize<'de> for Algorithm
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Algorithm, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Algorithm, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
impl Eq for Algorithm
§impl FromWasmAbi for Algorithm
impl FromWasmAbi for Algorithm
§impl IntoWasmAbi for Algorithm
impl IntoWasmAbi for Algorithm
§impl OptionFromWasmAbi for Algorithm
impl OptionFromWasmAbi for Algorithm
§impl OptionIntoWasmAbi for Algorithm
impl OptionIntoWasmAbi for Algorithm
§impl Ord for Algorithm
impl Ord for Algorithm
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
§impl PartialOrd for Algorithm
impl PartialOrd for Algorithm
§impl Serialize for Algorithm
impl Serialize for Algorithm
§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for Algorithm
§impl TryFromJsValue for Algorithm
impl TryFromJsValue for Algorithm
§impl VectorFromWasmAbi for Algorithm
impl VectorFromWasmAbi for Algorithm
type Abi = <Box<[JsValue]> as FromWasmAbi>::Abi
unsafe fn vector_from_abi( js: <Algorithm as VectorFromWasmAbi>::Abi, ) -> Box<[Algorithm]>
§impl VectorIntoWasmAbi for Algorithm
impl VectorIntoWasmAbi for Algorithm
type Abi = <Box<[JsValue]> as IntoWasmAbi>::Abi
fn vector_into_abi( vector: Box<[Algorithm]>, ) -> <Algorithm as VectorIntoWasmAbi>::Abi
Auto Trait Implementations§
impl Freeze for Algorithm
impl RefUnwindSafe for Algorithm
impl Send for Algorithm
impl Sync for Algorithm
impl Unpin for Algorithm
impl UnsafeUnpin for Algorithm
impl UnwindSafe for Algorithm
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
Source§type Abi = <T as IntoWasmAbi>::Abi
type Abi = <T as IntoWasmAbi>::Abi
IntoWasmAbi::AbiSource§fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
IntoWasmAbi::into_abi, except that it may throw and never
return in the case of Err.