qp_rusty_crystals_dilithium/
lib.rs1#![no_std]
2#![allow(clippy::identity_op)]
3#![allow(clippy::needless_range_loop)]
4#![allow(clippy::precedence)]
5#![allow(clippy::unnecessary_cast)]
6#![allow(clippy::enum_variant_names)]
7
8extern crate alloc;
9
10pub mod drbg;
11mod errors;
12pub mod fips202;
13pub mod ml_dsa_87;
14pub mod ntt;
15pub mod packing;
16pub mod params;
17pub mod poly;
18pub mod polyvec;
19pub mod reduce;
20pub mod rounding;
21pub mod sign;
22
23pub enum PH {
24 SHA256,
25 SHA512,
26}
27
28#[cfg(test)]
29mod tests {
30 #[test]
31 fn params() {
32 assert_eq!(crate::params::Q, 8380417);
33 assert_eq!(crate::params::N, 256);
34 assert_eq!(crate::params::R, 1753);
35 assert_eq!(crate::params::D, 13);
36 }
37 #[test]
38 fn params_lvl5() {
39 assert_eq!(crate::params::TAU, 60);
40 assert_eq!(crate::params::CHALLENGE_ENTROPY, 257);
41 assert_eq!(crate::params::GAMMA1, 524288);
42 assert_eq!(crate::params::GAMMA2, 261888);
43 assert_eq!(crate::params::K, 8);
44 assert_eq!(crate::params::L, 7);
45 assert_eq!(crate::params::ETA, 2);
46 assert_eq!(crate::params::BETA, 120);
47 assert_eq!(crate::params::OMEGA, 75);
48 }
49}