crystals_dilithium/
lib.rs

1pub 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}