1pub mod hybrid;
16pub mod kat;
17pub mod kem;
18#[cfg(feature = "optimized-variants")]
19pub mod optimization;
20pub mod platform;
21pub mod security;
22pub mod sig;
23
24pub use platform::{get_platform_info, secure_random_bytes, secure_zero, PlatformInfo};
25
26pub use hybrid::traits::{HybridEngine, HybridKemEngine, VerificationPolicy};
27pub use kem::{Kem, KemVariant};
28pub use sig::traits::{SignatureEngine, SignatureScheme};
29
30pub use kem::{MlKem1024, MlKem512, MlKem768};
31
32pub use sig::{Falcon1024, Falcon512, MlDsa44, MlDsa65, MlDsa87};
33
34pub use hybrid::{
35 CompositeKeypair, CompositeSignature, EccDilithium, EccFalcon, EccSphincs, HybridCiphertext,
36 HybridSharedSecret, P256MlKem768,
37};
38
39pub mod sphincs {
40 pub use crate::sig::sphincs::haraka_192f;
41 pub use crate::sig::sphincs::sha2_256s;
42 pub use crate::sig::sphincs::shake_128f;
43}
44
45pub mod kyber {
46 #[deprecated(
47 since = "0.2.0",
48 note = "Use MlKem1024 instead for NIST FIPS 203 compliance"
49 )]
50 pub use crate::kem::MlKem1024 as Kyber1024;
51 #[deprecated(
52 since = "0.2.0",
53 note = "Use MlKem512 instead for NIST FIPS 203 compliance"
54 )]
55 pub use crate::kem::MlKem512 as Kyber512;
56 #[deprecated(
57 since = "0.2.0",
58 note = "Use MlKem768 instead for NIST FIPS 203 compliance"
59 )]
60 pub use crate::kem::MlKem768 as Kyber768;
61}
62
63pub mod prelude {
64
65 pub use crate::{HybridEngine, HybridKemEngine, Kem, SignatureEngine, VerificationPolicy};
66
67 pub use crate::{EccDilithium, MlDsa44, MlKem768, P256MlKem768};
68
69 pub use crate::{MlKem1024, MlKem512};
70
71 pub use crate::{Falcon1024, Falcon512, MlDsa65, MlDsa87};
72
73 pub use crate::{EccFalcon, EccSphincs};
74
75 pub use crate::{secure_random_bytes, secure_zero};
76
77 pub use crate::{CompositeKeypair, CompositeSignature, HybridCiphertext, HybridSharedSecret};
78}
79
80pub mod security_levels {
81
82 pub mod level1 {
83 pub use crate::sphincs::sha2_256s;
84 pub use crate::sphincs::shake_128f;
85 pub use crate::{Falcon512, MlKem512};
86 }
87
88 pub mod level2 {
89 pub use crate::MlDsa44;
90 }
91
92 pub mod level3 {
93 pub use crate::sphincs::haraka_192f;
94 pub use crate::{MlDsa65, MlKem768};
95 }
96
97 pub mod level5 {
98 pub use crate::{Falcon1024, MlDsa87, MlKem1024};
99 }
100
101 pub mod recommended {
102
103 pub mod balanced {
104 pub use crate::{EccDilithium, MlDsa44, MlKem768};
105 }
106
107 pub mod high_security {
108 pub use crate::{MlDsa87, MlKem1024};
109 }
110
111 pub mod low_latency {
112 pub use crate::{MlDsa44, MlKem512};
113 }
114 }
115}