crystals_dilithium/
lib.rs1pub mod dilithium2;
2pub mod dilithium3;
3pub mod dilithium5;
4pub mod fips202;
5pub mod ntt;
6pub mod packing;
7pub mod params;
8pub mod poly;
9pub mod polyvec;
10pub mod rounding;
11pub mod reduce;
12pub mod sign;
13
14#[cfg(test)]
15mod tests {
16 #[test]
17 fn params() {
18 assert_eq!(crate::params::Q, 8380417);
19 assert_eq!(crate::params::N, 256);
20 assert_eq!(crate::params::R, 1753);
21 assert_eq!(crate::params::D, 13);
22 }
23 #[test]
24 fn params_lvl2() {
25 assert_eq!(crate::params::lvl2::TAU, 39);
26 assert_eq!(crate::params::lvl2::CHALLENGE_ENTROPY, 192);
27 assert_eq!(crate::params::lvl2::GAMMA1, 131072);
28 assert_eq!(crate::params::lvl2::GAMMA2, 95232);
29 assert_eq!(crate::params::lvl2::K, 4);
30 assert_eq!(crate::params::lvl2::L, 4);
31 assert_eq!(crate::params::lvl2::ETA, 2);
32 assert_eq!(crate::params::lvl2::BETA, 78);
33 assert_eq!(crate::params::lvl2::OMEGA, 80);
34 }
35 #[test]
36 fn params_lvl3() {
37 assert_eq!(crate::params::lvl3::TAU, 49);
38 assert_eq!(crate::params::lvl3::CHALLENGE_ENTROPY, 225);
39 assert_eq!(crate::params::lvl3::GAMMA1, 524288);
40 assert_eq!(crate::params::lvl3::GAMMA2, 261888);
41 assert_eq!(crate::params::lvl3::K, 6);
42 assert_eq!(crate::params::lvl3::L, 5);
43 assert_eq!(crate::params::lvl3::ETA, 4);
44 assert_eq!(crate::params::lvl3::BETA, 196);
45 assert_eq!(crate::params::lvl3::OMEGA, 55);
46 }
47 #[test]
48 fn params_lvl5() {
49 assert_eq!(crate::params::lvl5::TAU, 60);
50 assert_eq!(crate::params::lvl5::CHALLENGE_ENTROPY, 257);
51 assert_eq!(crate::params::lvl5::GAMMA1, 524288);
52 assert_eq!(crate::params::lvl5::GAMMA2, 261888);
53 assert_eq!(crate::params::lvl5::K, 8);
54 assert_eq!(crate::params::lvl5::L, 7);
55 assert_eq!(crate::params::lvl5::ETA, 2);
56 assert_eq!(crate::params::lvl5::BETA, 120);
57 assert_eq!(crate::params::lvl5::OMEGA, 75);
58 }
59}