dcrypt_params/pqc/
saber.rs1pub const SABER_N: usize = 256;
5
6pub const SABER_Q: u16 = 8192;
8
9pub const SABER_P: u16 = 1024;
11
12pub struct LightSaberParams {
14 pub n: usize,
16
17 pub q: u16,
19
20 pub p: u16,
22
23 pub l: usize,
25
26 pub t: u16,
28
29 pub eq: usize,
31
32 pub ep: usize,
34
35 pub et: usize,
37
38 pub public_key_size: usize,
40
41 pub secret_key_size: usize,
43
44 pub ciphertext_size: usize,
46
47 pub shared_secret_size: usize,
49}
50
51pub const LIGHTSABER: LightSaberParams = LightSaberParams {
53 n: SABER_N,
54 q: SABER_Q,
55 p: SABER_P,
56 l: 2,
57 t: 1024, eq: 13,
59 ep: 10,
60 et: 3,
61 public_key_size: 672,
62 secret_key_size: 1568,
63 ciphertext_size: 736,
64 shared_secret_size: 32,
65};
66
67pub struct SaberParams {
69 pub n: usize,
71
72 pub q: u16,
74
75 pub p: u16,
77
78 pub l: usize,
80
81 pub t: u16,
83
84 pub eq: usize,
86
87 pub ep: usize,
89
90 pub et: usize,
92
93 pub public_key_size: usize,
95
96 pub secret_key_size: usize,
98
99 pub ciphertext_size: usize,
101
102 pub shared_secret_size: usize,
104}
105
106pub const SABER: SaberParams = SaberParams {
108 n: SABER_N,
109 q: SABER_Q,
110 p: SABER_P,
111 l: 3,
112 t: 1024, eq: 13,
114 ep: 10,
115 et: 4,
116 public_key_size: 992,
117 secret_key_size: 2304,
118 ciphertext_size: 1088,
119 shared_secret_size: 32,
120};
121
122pub struct FireSaberParams {
124 pub n: usize,
126
127 pub q: u16,
129
130 pub p: u16,
132
133 pub l: usize,
135
136 pub t: u16,
138
139 pub eq: usize,
141
142 pub ep: usize,
144
145 pub et: usize,
147
148 pub public_key_size: usize,
150
151 pub secret_key_size: usize,
153
154 pub ciphertext_size: usize,
156
157 pub shared_secret_size: usize,
159}
160
161pub const FIRESABER: FireSaberParams = FireSaberParams {
163 n: SABER_N,
164 q: SABER_Q,
165 p: SABER_P,
166 l: 4,
167 t: 1024, eq: 13,
169 ep: 10,
170 et: 6,
171 public_key_size: 1312,
172 secret_key_size: 3040,
173 ciphertext_size: 1472,
174 shared_secret_size: 32,
175};