Expand description
§Kylix
A post-quantum cryptography library implementing NIST FIPS standards.
§Features
std(default): Enable standard library supportml-kem(default): Enable ML-KEM (FIPS 203) key encapsulationml-dsa(default): Enable ML-DSA (FIPS 204) digital signaturesslh-dsa(default): Enable SLH-DSA (FIPS 205) SHAKE-based hash signaturesslh-dsa-sha2: Enable SLH-DSA (FIPS 205) SHA2-based hash signatures
§Supported Algorithms
- ML-KEM (FIPS 203): Module-Lattice-Based Key Encapsulation Mechanism
- ML-KEM-512
- ML-KEM-768
- ML-KEM-1024
- ML-DSA (FIPS 204): Module-Lattice-Based Digital Signature Algorithm
- ML-DSA-44
- ML-DSA-65
- ML-DSA-87
- SLH-DSA (FIPS 205): Stateless Hash-Based Digital Signature Algorithm
- SHAKE-based variants (default): 128s/128f, 192s/192f, 256s/256f
- SHA2-based variants (
slh-dsa-sha2feature): 128s/128f, 192s/192f, 256s/256f
§Example
use kylix_pqc::ml_kem::{MlKem768, Kem};
use rand::rng;
// Generate a key pair
let (dk, ek) = MlKem768::keygen(&mut rng())?;
// Encapsulate a shared secret
let (ct, ss_sender) = MlKem768::encaps(&ek, &mut rng())?;
// Decapsulate the shared secret
let ss_receiver = MlKem768::decaps(&dk, &ct)?;
assert_eq!(ss_sender.as_ref(), ss_receiver.as_ref());Modules§
- ml_dsa
- ML-DSA (FIPS 204) digital signature algorithm.
- ml_kem
- ML-KEM (FIPS 203) key encapsulation mechanism.
- slh_dsa
- SLH-DSA (FIPS 205) stateless hash-based digital signature algorithm.
- traits
- Core traits for cryptographic primitives.
Enums§
- Error
- Errors that can occur during cryptographic operations.