gnark-plonky2-verifier/poseidon/goldilocks_constants.go
poseidon/goldilocks_constants.goRaw
1package poseidon
2
3import (
4 "github.com/consensys/gnark/frontend"
5)
6
7var ALL_ROUND_CONSTANTS = []frontend.Variable{
8 frontend.Variable(uint64(0xb585f766f2144405)),
9 frontend.Variable(uint64(0x7746a55f43921ad7)),
10 frontend.Variable(uint64(0xb2fb0d31cee799b4)),
11 frontend.Variable(uint64(0x0f6760a4803427d7)),
12 frontend.Variable(uint64(0xe10d666650f4e012)),
13 frontend.Variable(uint64(0x8cae14cb07d09bf1)),
14 frontend.Variable(uint64(0xd438539c95f63e9f)),
15 frontend.Variable(uint64(0xef781c7ce35b4c3d)),
16 frontend.Variable(uint64(0xcdc4a239b0c44426)),
17 frontend.Variable(uint64(0x277fa208bf337bff)),
18 frontend.Variable(uint64(0xe17653a29da578a1)),
19 frontend.Variable(uint64(0xc54302f225db2c76)),
20 frontend.Variable(uint64(0x86287821f722c881)),
21 frontend.Variable(uint64(0x59cd1a8a41c18e55)),
22 frontend.Variable(uint64(0xc3b919ad495dc574)),
23 frontend.Variable(uint64(0xa484c4c5ef6a0781)),
24 frontend.Variable(uint64(0x308bbd23dc5416cc)),
25 frontend.Variable(uint64(0x6e4a40c18f30c09c)),
26 frontend.Variable(uint64(0x9a2eedb70d8f8cfa)),
27 frontend.Variable(uint64(0xe360c6e0ae486f38)),
28 frontend.Variable(uint64(0xd5c7718fbfc647fb)),
29 frontend.Variable(uint64(0xc35eae071903ff0b)),
30 frontend.Variable(uint64(0x849c2656969c4be7)),
31 frontend.Variable(uint64(0xc0572c8c08cbbbad)),
32 frontend.Variable(uint64(0xe9fa634a21de0082)),
33 frontend.Variable(uint64(0xf56f6d48959a600d)),
34 frontend.Variable(uint64(0xf7d713e806391165)),
35 frontend.Variable(uint64(0x8297132b32825daf)),
36 frontend.Variable(uint64(0xad6805e0e30b2c8a)),
37 frontend.Variable(uint64(0xac51d9f5fcf8535e)),
38 frontend.Variable(uint64(0x502ad7dc18c2ad87)),
39 frontend.Variable(uint64(0x57a1550c110b3041)),
40 frontend.Variable(uint64(0x66bbd30e6ce0e583)),
41 frontend.Variable(uint64(0x0da2abef589d644e)),
42 frontend.Variable(uint64(0xf061274fdb150d61)),
43 frontend.Variable(uint64(0x28b8ec3ae9c29633)),
44 frontend.Variable(uint64(0x92a756e67e2b9413)),
45 frontend.Variable(uint64(0x70e741ebfee96586)),
46 frontend.Variable(uint64(0x019d5ee2af82ec1c)),
47 frontend.Variable(uint64(0x6f6f2ed772466352)),
48 frontend.Variable(uint64(0x7cf416cfe7e14ca1)),
49 frontend.Variable(uint64(0x61df517b86a46439)),
50 frontend.Variable(uint64(0x85dc499b11d77b75)),
51 frontend.Variable(uint64(0x4b959b48b9c10733)),
52 frontend.Variable(uint64(0xe8be3e5da8043e57)),
53 frontend.Variable(uint64(0xf5c0bc1de6da8699)),
54 frontend.Variable(uint64(0x40b12cbf09ef74bf)),
55 frontend.Variable(uint64(0xa637093ecb2ad631)),
56 frontend.Variable(uint64(0x3cc3f892184df408)),
57 frontend.Variable(uint64(0x2e479dc157bf31bb)),
58 frontend.Variable(uint64(0x6f49de07a6234346)),
59 frontend.Variable(uint64(0x213ce7bede378d7b)),
60 frontend.Variable(uint64(0x5b0431345d4dea83)),
61 frontend.Variable(uint64(0xa2de45780344d6a1)),
62 frontend.Variable(uint64(0x7103aaf94a7bf308)),
63 frontend.Variable(uint64(0x5326fc0d97279301)),
64 frontend.Variable(uint64(0xa9ceb74fec024747)),
65 frontend.Variable(uint64(0x27f8ec88bb21b1a3)),
66 frontend.Variable(uint64(0xfceb4fda1ded0893)),
67 frontend.Variable(uint64(0xfac6ff1346a41675)),
68 frontend.Variable(uint64(0x7131aa45268d7d8c)),
69 frontend.Variable(uint64(0x9351036095630f9f)),
70 frontend.Variable(uint64(0xad535b24afc26bfb)),
71 frontend.Variable(uint64(0x4627f5c6993e44be)),
72 frontend.Variable(uint64(0x645cf794b8f1cc58)),
73 frontend.Variable(uint64(0x241c70ed0af61617)),
74 frontend.Variable(uint64(0xacb8e076647905f1)),
75 frontend.Variable(uint64(0x3737e9db4c4f474d)),
76 frontend.Variable(uint64(0xe7ea5e33e75fffb6)),
77 frontend.Variable(uint64(0x90dee49fc9bfc23a)),
78 frontend.Variable(uint64(0xd1b1edf76bc09c92)),
79 frontend.Variable(uint64(0x0b65481ba645c602)),
80 frontend.Variable(uint64(0x99ad1aab0814283b)),
81 frontend.Variable(uint64(0x438a7c91d416ca4d)),
82 frontend.Variable(uint64(0xb60de3bcc5ea751c)),
83 frontend.Variable(uint64(0xc99cab6aef6f58bc)),
84 frontend.Variable(uint64(0x69a5ed92a72ee4ff)),
85 frontend.Variable(uint64(0x5e7b329c1ed4ad71)),
86 frontend.Variable(uint64(0x5fc0ac0800144885)),
87 frontend.Variable(uint64(0x32db829239774eca)),
88 frontend.Variable(uint64(0x0ade699c5830f310)),
89 frontend.Variable(uint64(0x7cc5583b10415f21)),
90 frontend.Variable(uint64(0x85df9ed2e166d64f)),
91 frontend.Variable(uint64(0x6604df4fee32bcb1)),
92 frontend.Variable(uint64(0xeb84f608da56ef48)),
93 frontend.Variable(uint64(0xda608834c40e603d)),
94 frontend.Variable(uint64(0x8f97fe408061f183)),
95 frontend.Variable(uint64(0xa93f485c96f37b89)),
96 frontend.Variable(uint64(0x6704e8ee8f18d563)),
97 frontend.Variable(uint64(0xcee3e9ac1e072119)),
98 frontend.Variable(uint64(0x510d0e65e2b470c1)),
99 frontend.Variable(uint64(0xf6323f486b9038f0)),
100 frontend.Variable(uint64(0x0b508cdeffa5ceef)),
101 frontend.Variable(uint64(0xf2417089e4fb3cbd)),
102 frontend.Variable(uint64(0x60e75c2890d15730)),
103 frontend.Variable(uint64(0xa6217d8bf660f29c)),
104 frontend.Variable(uint64(0x7159cd30c3ac118e)),
105 frontend.Variable(uint64(0x839b4e8fafead540)),
106 frontend.Variable(uint64(0x0d3f3e5e82920adc)),
107 frontend.Variable(uint64(0x8f7d83bddee7bba8)),
108 frontend.Variable(uint64(0x780f2243ea071d06)),
109 frontend.Variable(uint64(0xeb915845f3de1634)),
110 frontend.Variable(uint64(0xd19e120d26b6f386)),
111 frontend.Variable(uint64(0x016ee53a7e5fecc6)),
112 frontend.Variable(uint64(0xcb5fd54e7933e477)),
113 frontend.Variable(uint64(0xacb8417879fd449f)),
114 frontend.Variable(uint64(0x9c22190be7f74732)),
115 frontend.Variable(uint64(0x5d693c1ba3ba3621)),
116 frontend.Variable(uint64(0xdcef0797c2b69ec7)),
117 frontend.Variable(uint64(0x3d639263da827b13)),
118 frontend.Variable(uint64(0xe273fd971bc8d0e7)),
119 frontend.Variable(uint64(0x418f02702d227ed5)),
120 frontend.Variable(uint64(0x8c25fda3b503038c)),
121 frontend.Variable(uint64(0x2cbaed4daec8c07c)),
122 frontend.Variable(uint64(0x5f58e6afcdd6ddc2)),
123 frontend.Variable(uint64(0x284650ac5e1b0eba)),
124 frontend.Variable(uint64(0x635b337ee819dab5)),
125 frontend.Variable(uint64(0x9f9a036ed4f2d49f)),
126 frontend.Variable(uint64(0xb93e260cae5c170e)),
127 frontend.Variable(uint64(0xb0a7eae879ddb76d)),
128 frontend.Variable(uint64(0xd0762cbc8ca6570c)),
129 frontend.Variable(uint64(0x34c6efb812b04bf5)),
130 frontend.Variable(uint64(0x40bf0ab5fa14c112)),
131 frontend.Variable(uint64(0xb6b570fc7c5740d3)),
132 frontend.Variable(uint64(0x5a27b9002de33454)),
133 frontend.Variable(uint64(0xb1a5b165b6d2b2d2)),
134 frontend.Variable(uint64(0x8722e0ace9d1be22)),
135 frontend.Variable(uint64(0x788ee3b37e5680fb)),
136 frontend.Variable(uint64(0x14a726661551e284)),
137 frontend.Variable(uint64(0x98b7672f9ef3b419)),
138 frontend.Variable(uint64(0xbb93ae776bb30e3a)),
139 frontend.Variable(uint64(0x28fd3b046380f850)),
140 frontend.Variable(uint64(0x30a4680593258387)),
141 frontend.Variable(uint64(0x337dc00c61bd9ce1)),
142 frontend.Variable(uint64(0xd5eca244c7a4ff1d)),
143 frontend.Variable(uint64(0x7762638264d279bd)),
144 frontend.Variable(uint64(0xc1e434bedeefd767)),
145 frontend.Variable(uint64(0x0299351a53b8ec22)),
146 frontend.Variable(uint64(0xb2d456e4ad251b80)),
147 frontend.Variable(uint64(0x3e9ed1fda49cea0b)),
148 frontend.Variable(uint64(0x2972a92ba450bed8)),
149 frontend.Variable(uint64(0x20216dd77be493de)),
150 frontend.Variable(uint64(0xadffe8cf28449ec6)),
151 frontend.Variable(uint64(0x1c4dbb1c4c27d243)),
152 frontend.Variable(uint64(0x15a16a8a8322d458)),
153 frontend.Variable(uint64(0x388a128b7fd9a609)),
154 frontend.Variable(uint64(0x2300e5d6baedf0fb)),
155 frontend.Variable(uint64(0x2f63aa8647e15104)),
156 frontend.Variable(uint64(0xf1c36ce86ecec269)),
157 frontend.Variable(uint64(0x27181125183970c9)),
158 frontend.Variable(uint64(0xe584029370dca96d)),
159 frontend.Variable(uint64(0x4d9bbc3e02f1cfb2)),
160 frontend.Variable(uint64(0xea35bc29692af6f8)),
161 frontend.Variable(uint64(0x18e21b4beabb4137)),
162 frontend.Variable(uint64(0x1e3b9fc625b554f4)),
163 frontend.Variable(uint64(0x25d64362697828fd)),
164 frontend.Variable(uint64(0x5a3f1bb1c53a9645)),
165 frontend.Variable(uint64(0xdb7f023869fb8d38)),
166 frontend.Variable(uint64(0xb462065911d4e1fc)),
167 frontend.Variable(uint64(0x49c24ae4437d8030)),
168 frontend.Variable(uint64(0xd793862c112b0566)),
169 frontend.Variable(uint64(0xaadd1106730d8feb)),
170 frontend.Variable(uint64(0xc43b6e0e97b0d568)),
171 frontend.Variable(uint64(0xe29024c18ee6fca2)),
172 frontend.Variable(uint64(0x5e50c27535b88c66)),
173 frontend.Variable(uint64(0x10383f20a4ff9a87)),
174 frontend.Variable(uint64(0x38e8ee9d71a45af8)),
175 frontend.Variable(uint64(0xdd5118375bf1a9b9)),
176 frontend.Variable(uint64(0x775005982d74d7f7)),
177 frontend.Variable(uint64(0x86ab99b4dde6c8b0)),
178 frontend.Variable(uint64(0xb1204f603f51c080)),
179 frontend.Variable(uint64(0xef61ac8470250ecf)),
180 frontend.Variable(uint64(0x1bbcd90f132c603f)),
181 frontend.Variable(uint64(0x0cd1dabd964db557)),
182 frontend.Variable(uint64(0x11a3ae5beb9d1ec9)),
183 frontend.Variable(uint64(0xf755bfeea585d11d)),
184 frontend.Variable(uint64(0xa3b83250268ea4d7)),
185 frontend.Variable(uint64(0x516306f4927c93af)),
186 frontend.Variable(uint64(0xddb4ac49c9efa1da)),
187 frontend.Variable(uint64(0x64bb6dec369d4418)),
188 frontend.Variable(uint64(0xf9cc95c22b4c1fcc)),
189 frontend.Variable(uint64(0x08d37f755f4ae9f6)),
190 frontend.Variable(uint64(0xeec49b613478675b)),
191 frontend.Variable(uint64(0xf143933aed25e0b0)),
192 frontend.Variable(uint64(0xe4c5dd8255dfc622)),
193 frontend.Variable(uint64(0xe7ad7756f193198e)),
194 frontend.Variable(uint64(0x92c2318b87fff9cb)),
195 frontend.Variable(uint64(0x739c25f8fd73596d)),
196 frontend.Variable(uint64(0x5636cac9f16dfed0)),
197 frontend.Variable(uint64(0xdd8f909a938e0172)),
198 frontend.Variable(uint64(0xc6401fe115063f5b)),
199 frontend.Variable(uint64(0x8ad97b33f1ac1455)),
200 frontend.Variable(uint64(0x0c49366bb25e8513)),
201 frontend.Variable(uint64(0x0784d3d2f1698309)),
202 frontend.Variable(uint64(0x530fb67ea1809a81)),
203 frontend.Variable(uint64(0x410492299bb01f49)),
204 frontend.Variable(uint64(0x139542347424b9ac)),
205 frontend.Variable(uint64(0x9cb0bd5ea1a1115e)),
206 frontend.Variable(uint64(0x02e3f615c38f49a1)),
207 frontend.Variable(uint64(0x985d4f4a9c5291ef)),
208 frontend.Variable(uint64(0x775b9feafdcd26e7)),
209 frontend.Variable(uint64(0x304265a6384f0f2d)),
210 frontend.Variable(uint64(0x593664c39773012c)),
211 frontend.Variable(uint64(0x4f0a2e5fb028f2ce)),
212 frontend.Variable(uint64(0xdd611f1000c17442)),
213 frontend.Variable(uint64(0xd8185f9adfea4fd0)),
214 frontend.Variable(uint64(0xef87139ca9a3ab1e)),
215 frontend.Variable(uint64(0x3ba71336c34ee133)),
216 frontend.Variable(uint64(0x7d3a455d56b70238)),
217 frontend.Variable(uint64(0x660d32e130182684)),
218 frontend.Variable(uint64(0x297a863f48cd1f43)),
219 frontend.Variable(uint64(0x90e0a736a751ebb7)),
220 frontend.Variable(uint64(0x549f80ce550c4fd3)),
221 frontend.Variable(uint64(0x0f73b2922f38bd64)),
222 frontend.Variable(uint64(0x16bf1f73fb7a9c3f)),
223 frontend.Variable(uint64(0x6d1f5a59005bec17)),
224 frontend.Variable(uint64(0x02ff876fa5ef97c4)),
225 frontend.Variable(uint64(0xc5cb72a2a51159b0)),
226 frontend.Variable(uint64(0x8470f39d2d5c900e)),
227 frontend.Variable(uint64(0x25abb3f1d39fcb76)),
228 frontend.Variable(uint64(0x23eb8cc9b372442f)),
229 frontend.Variable(uint64(0xd687ba55c64f6364)),
230 frontend.Variable(uint64(0xda8d9e90fd8ff158)),
231 frontend.Variable(uint64(0xe3cbdc7d2fe45ea7)),
232 frontend.Variable(uint64(0xb9a8c9b3aee52297)),
233 frontend.Variable(uint64(0xc0d28a5c10960bd3)),
234 frontend.Variable(uint64(0x45d7ac9b68f71a34)),
235 frontend.Variable(uint64(0xeeb76e397069e804)),
236 frontend.Variable(uint64(0x3d06c8bd1514e2d9)),
237 frontend.Variable(uint64(0x9c9c98207cb10767)),
238 frontend.Variable(uint64(0x65700b51aedfb5ef)),
239 frontend.Variable(uint64(0x911f451539869408)),
240 frontend.Variable(uint64(0x7ae6849fbc3a0ec6)),
241 frontend.Variable(uint64(0x3bb340eba06afe7e)),
242 frontend.Variable(uint64(0xb46e9d8b682ea65e)),
243 frontend.Variable(uint64(0x8dcf22f9a3b34356)),
244 frontend.Variable(uint64(0x77bdaeda586257a7)),
245 frontend.Variable(uint64(0xf19e400a5104d20d)),
246 frontend.Variable(uint64(0xc368a348e46d950f)),
247 frontend.Variable(uint64(0x9ef1cd60e679f284)),
248 frontend.Variable(uint64(0xe89cd854d5d01d33)),
249 frontend.Variable(uint64(0x5cd377dc8bb882a2)),
250 frontend.Variable(uint64(0xa7b0fb7883eee860)),
251 frontend.Variable(uint64(0x7684403ec392950d)),
252 frontend.Variable(uint64(0x5fa3f06f4fed3b52)),
253 frontend.Variable(uint64(0x8df57ac11bc04831)),
254 frontend.Variable(uint64(0x2db01efa1e1e1897)),
255 frontend.Variable(uint64(0x54846de4aadb9ca2)),
256 frontend.Variable(uint64(0xba6745385893c784)),
257 frontend.Variable(uint64(0x541d496344d2c75b)),
258 frontend.Variable(uint64(0xe909678474e687fe)),
259 frontend.Variable(uint64(0xdfe89923f6c9c2ff)),
260 frontend.Variable(uint64(0xece5a71e0cfedc75)),
261 frontend.Variable(uint64(0x5ff98fd5d51fe610)),
262 frontend.Variable(uint64(0x83e8941918964615)),
263 frontend.Variable(uint64(0x5922040b47f150c1)),
264 frontend.Variable(uint64(0xf97d750e3dd94521)),
265 frontend.Variable(uint64(0x5080d4c2b86f56d7)),
266 frontend.Variable(uint64(0xa7de115b56c78d70)),
267 frontend.Variable(uint64(0x6a9242ac87538194)),
268 frontend.Variable(uint64(0xf7856ef7f9173e44)),
269 frontend.Variable(uint64(0x2265fc92feb0dc09)),
270 frontend.Variable(uint64(0x17dfc8e4f7ba8a57)),
271 frontend.Variable(uint64(0x9001a64209f21db8)),
272 frontend.Variable(uint64(0x90004c1371b893c5)),
273 frontend.Variable(uint64(0xb932b7cf752e5545)),
274 frontend.Variable(uint64(0xa0b1df81b6fe59fc)),
275 frontend.Variable(uint64(0x8ef1dd26770af2c2)),
276 frontend.Variable(uint64(0x0541a4f9cfbeed35)),
277 frontend.Variable(uint64(0x9e61106178bfc530)),
278 frontend.Variable(uint64(0xb3767e80935d8af2)),
279 frontend.Variable(uint64(0x0098d5782065af06)),
280 frontend.Variable(uint64(0x31d191cd5c1466c7)),
281 frontend.Variable(uint64(0x410fefafa319ac9d)),
282 frontend.Variable(uint64(0xbdf8f242e316c4ab)),
283 frontend.Variable(uint64(0x9e8cd55b57637ed0)),
284 frontend.Variable(uint64(0xde122bebe9a39368)),
285 frontend.Variable(uint64(0x4d001fd58f002526)),
286 frontend.Variable(uint64(0xca6637000eb4a9f8)),
287 frontend.Variable(uint64(0x2f2339d624f91f78)),
288 frontend.Variable(uint64(0x6d1a7918c80df518)),
289 frontend.Variable(uint64(0xdf9a4939342308e9)),
290 frontend.Variable(uint64(0xebc2151ee6c8398c)),
291 frontend.Variable(uint64(0x03cc2ba8a1116515)),
292 frontend.Variable(uint64(0xd341d037e840cf83)),
293 frontend.Variable(uint64(0x387cb5d25af4afcc)),
294 frontend.Variable(uint64(0xbba2515f22909e87)),
295 frontend.Variable(uint64(0x7248fe7705f38e47)),
296 frontend.Variable(uint64(0x4d61e56a525d225a)),
297 frontend.Variable(uint64(0x262e963c8da05d3d)),
298 frontend.Variable(uint64(0x59e89b094d220ec2)),
299 frontend.Variable(uint64(0x055d5b52b78b9c5e)),
300 frontend.Variable(uint64(0x82b27eb33514ef99)),
301 frontend.Variable(uint64(0xd30094ca96b7ce7b)),
302 frontend.Variable(uint64(0xcf5cb381cd0a1535)),
303 frontend.Variable(uint64(0xfeed4db6919e5a7c)),
304 frontend.Variable(uint64(0x41703f53753be59f)),
305 frontend.Variable(uint64(0x5eeea940fcde8b6f)),
306 frontend.Variable(uint64(0x4cd1f1b175100206)),
307 frontend.Variable(uint64(0x4a20358574454ec0)),
308 frontend.Variable(uint64(0x1478d361dbbf9fac)),
309 frontend.Variable(uint64(0x6f02dc07d141875c)),
310 frontend.Variable(uint64(0x296a202ed8e556a2)),
311 frontend.Variable(uint64(0x2afd67999bf32ee5)),
312 frontend.Variable(uint64(0x7acfd96efa95491d)),
313 frontend.Variable(uint64(0x6798ba0c0abb2c6d)),
314 frontend.Variable(uint64(0x34c6f57b26c92122)),
315 frontend.Variable(uint64(0x5736e1bad206b5de)),
316 frontend.Variable(uint64(0x20057d2a0056521b)),
317 frontend.Variable(uint64(0x3dea5bd5d0578bd7)),
318 frontend.Variable(uint64(0x16e50d897d4634ac)),
319 frontend.Variable(uint64(0x29bff3ecb9b7a6e3)),
320 frontend.Variable(uint64(0x475cd3205a3bdcde)),
321 frontend.Variable(uint64(0x18a42105c31b7e88)),
322 frontend.Variable(uint64(0x023e7414af663068)),
323 frontend.Variable(uint64(0x15147108121967d7)),
324 frontend.Variable(uint64(0xe4a3dff1d7d6fef9)),
325 frontend.Variable(uint64(0x01a8d1a588085737)),
326 frontend.Variable(uint64(0x11b4c74eda62beef)),
327 frontend.Variable(uint64(0xe587cc0d69a73346)),
328 frontend.Variable(uint64(0x1ff7327017aa2a6e)),
329 frontend.Variable(uint64(0x594e29c42473d06b)),
330 frontend.Variable(uint64(0xf6f31db1899b12d5)),
331 frontend.Variable(uint64(0xc02ac5e47312d3ca)),
332 frontend.Variable(uint64(0xe70201e960cb78b8)),
333 frontend.Variable(uint64(0x6f90ff3b6a65f108)),
334 frontend.Variable(uint64(0x42747a7245e7fa84)),
335 frontend.Variable(uint64(0xd1f507e43ab749b2)),
336 frontend.Variable(uint64(0x1c86d265f15750cd)),
337 frontend.Variable(uint64(0x3996ce73dd832c1c)),
338 frontend.Variable(uint64(0x8e7fba02983224bd)),
339 frontend.Variable(uint64(0xba0dec7103255dd4)),
340 frontend.Variable(uint64(0x9e9cbd781628fc5b)),
341 frontend.Variable(uint64(0xdae8645996edd6a5)),
342 frontend.Variable(uint64(0xdebe0853b1a1d378)),
343 frontend.Variable(uint64(0xa49229d24d014343)),
344 frontend.Variable(uint64(0x7be5b9ffda905e1c)),
345 frontend.Variable(uint64(0xa3c95eaec244aa30)),
346 frontend.Variable(uint64(0x0230bca8f4df0544)),
347 frontend.Variable(uint64(0x4135c2bebfe148c6)),
348 frontend.Variable(uint64(0x166fc0cc438a3c72)),
349 frontend.Variable(uint64(0x3762b59a8ae83efa)),
350 frontend.Variable(uint64(0xe8928a4c89114750)),
351 frontend.Variable(uint64(0x2a440b51a4945ee5)),
352 frontend.Variable(uint64(0x80cefd2b7d99ff83)),
353 frontend.Variable(uint64(0xbb9879c6e61fd62a)),
354 frontend.Variable(uint64(0x6e7c8f1a84265034)),
355 frontend.Variable(uint64(0x164bb2de1bbeddc8)),
356 frontend.Variable(uint64(0xf3c12fe54d5c653b)),
357 frontend.Variable(uint64(0x40b9e922ed9771e2)),
358 frontend.Variable(uint64(0x551f5b0fbe7b1840)),
359 frontend.Variable(uint64(0x25032aa7c4cb1811)),
360 frontend.Variable(uint64(0xaaed34074b164346)),
361 frontend.Variable(uint64(0x8ffd96bbf9c9c81d)),
362 frontend.Variable(uint64(0x70fc91eb5937085c)),
363 frontend.Variable(uint64(0x7f795e2a5f915440)),
364 frontend.Variable(uint64(0x4543d9df5476d3cb)),
365 frontend.Variable(uint64(0xf172d73e004fc90d)),
366 frontend.Variable(uint64(0xdfd1c4febcc81238)),
367 frontend.Variable(uint64(0xbc8dfb627fe558fc)),
368}
369
370var MDS_MATRIX_CIRC = []frontend.Variable{
371 frontend.Variable(uint64(17)),
372 frontend.Variable(uint64(15)),
373 frontend.Variable(uint64(41)),
374 frontend.Variable(uint64(16)),
375 frontend.Variable(uint64(2)),
376 frontend.Variable(uint64(28)),
377 frontend.Variable(uint64(13)),
378 frontend.Variable(uint64(13)),
379 frontend.Variable(uint64(39)),
380 frontend.Variable(uint64(18)),
381 frontend.Variable(uint64(34)),
382 frontend.Variable(uint64(20)),
383}
384
385var MDS_MATRIX_CIRC_VARS = []frontend.Variable{
386 frontend.Variable(uint64(17)),
387 frontend.Variable(uint64(15)),
388 frontend.Variable(uint64(41)),
389 frontend.Variable(uint64(16)),
390 frontend.Variable(uint64(2)),
391 frontend.Variable(uint64(28)),
392 frontend.Variable(uint64(13)),
393 frontend.Variable(uint64(13)),
394 frontend.Variable(uint64(39)),
395 frontend.Variable(uint64(18)),
396 frontend.Variable(uint64(34)),
397 frontend.Variable(uint64(20)),
398}
399
400var ZERO_VAR = frontend.Variable(uint64(0))
401
402var MDS_MATRIX_DIAG = []frontend.Variable{
403 frontend.Variable(uint64(8)),
404 ZERO_VAR,
405 ZERO_VAR,
406 ZERO_VAR,
407 ZERO_VAR,
408 ZERO_VAR,
409 ZERO_VAR,
410 ZERO_VAR,
411 ZERO_VAR,
412 ZERO_VAR,
413 ZERO_VAR,
414 ZERO_VAR,
415}
416
417var MDS_MATRIX_DIAG_VARS = []frontend.Variable{
418 frontend.Variable(uint64(8)),
419 ZERO_VAR,
420 ZERO_VAR,
421 ZERO_VAR,
422 ZERO_VAR,
423 ZERO_VAR,
424 ZERO_VAR,
425 ZERO_VAR,
426 ZERO_VAR,
427 ZERO_VAR,
428 ZERO_VAR,
429 ZERO_VAR,
430}
431
432var MDS0TO0 = frontend.Variable(uint64(25))
433
434var MDS0TO0_VAR = frontend.Variable(uint64(25))
435
436var FAST_PARTIAL_FIRST_ROUND_CONSTANT = []frontend.Variable{
437 frontend.Variable(uint64(0x3cc3f892184df408)),
438 frontend.Variable(uint64(0xe993fd841e7e97f1)),
439 frontend.Variable(uint64(0xf2831d3575f0f3af)),
440 frontend.Variable(uint64(0xd2500e0a350994ca)),
441 frontend.Variable(uint64(0xc5571f35d7288633)),
442 frontend.Variable(uint64(0x91d89c5184109a02)),
443 frontend.Variable(uint64(0xf37f925d04e5667b)),
444 frontend.Variable(uint64(0x2d6e448371955a69)),
445 frontend.Variable(uint64(0x740ef19ce01398a1)),
446 frontend.Variable(uint64(0x694d24c0752fdf45)),
447 frontend.Variable(uint64(0x60936af96ee2f148)),
448 frontend.Variable(uint64(0xc33448feadc78f0c)),
449}
450
451var FAST_PARTIAL_ROUND_CONSTANTS = []frontend.Variable{
452 frontend.Variable(uint64(0x74cb2e819ae421ab)),
453 frontend.Variable(uint64(0xd2559d2370e7f663)),
454 frontend.Variable(uint64(0x62bf78acf843d17c)),
455 frontend.Variable(uint64(0xd5ab7b67e14d1fb4)),
456 frontend.Variable(uint64(0xb9fe2ae6e0969bdc)),
457 frontend.Variable(uint64(0xe33fdf79f92a10e8)),
458 frontend.Variable(uint64(0x0ea2bb4c2b25989b)),
459 frontend.Variable(uint64(0xca9121fbf9d38f06)),
460 frontend.Variable(uint64(0xbdd9b0aa81f58fa4)),
461 frontend.Variable(uint64(0x83079fa4ecf20d7e)),
462 frontend.Variable(uint64(0x650b838edfcc4ad3)),
463 frontend.Variable(uint64(0x77180c88583c76ac)),
464 frontend.Variable(uint64(0xaf8c20753143a180)),
465 frontend.Variable(uint64(0xb8ccfe9989a39175)),
466 frontend.Variable(uint64(0x954a1729f60cc9c5)),
467 frontend.Variable(uint64(0xdeb5b550c4dca53b)),
468 frontend.Variable(uint64(0xf01bb0b00f77011e)),
469 frontend.Variable(uint64(0xa1ebb404b676afd9)),
470 frontend.Variable(uint64(0x860b6e1597a0173e)),
471 frontend.Variable(uint64(0x308bb65a036acbce)),
472 frontend.Variable(uint64(0x1aca78f31c97c876)),
473 frontend.Variable(uint64(0x0)),
474}
475
476var FAST_PARTIAL_ROUND_VS = [N_PARTIAL_ROUNDS][11]frontend.Variable{
477 {
478 frontend.Variable(uint64(0x94877900674181c3)),
479 frontend.Variable(uint64(0xc6c67cc37a2a2bbd)),
480 frontend.Variable(uint64(0xd667c2055387940f)),
481 frontend.Variable(uint64(0x0ba63a63e94b5ff0)),
482 frontend.Variable(uint64(0x99460cc41b8f079f)),
483 frontend.Variable(uint64(0x7ff02375ed524bb3)),
484 frontend.Variable(uint64(0xea0870b47a8caf0e)),
485 frontend.Variable(uint64(0xabcad82633b7bc9d)),
486 frontend.Variable(uint64(0x3b8d135261052241)),
487 frontend.Variable(uint64(0xfb4515f5e5b0d539)),
488 frontend.Variable(uint64(0x3ee8011c2b37f77c)),
489 },
490 {
491 frontend.Variable(uint64(0x0adef3740e71c726)),
492 frontend.Variable(uint64(0xa37bf67c6f986559)),
493 frontend.Variable(uint64(0xc6b16f7ed4fa1b00)),
494 frontend.Variable(uint64(0x6a065da88d8bfc3c)),
495 frontend.Variable(uint64(0x4cabc0916844b46f)),
496 frontend.Variable(uint64(0x407faac0f02e78d1)),
497 frontend.Variable(uint64(0x07a786d9cf0852cf)),
498 frontend.Variable(uint64(0x42433fb6949a629a)),
499 frontend.Variable(uint64(0x891682a147ce43b0)),
500 frontend.Variable(uint64(0x26cfd58e7b003b55)),
501 frontend.Variable(uint64(0x2bbf0ed7b657acb3)),
502 },
503 {
504 frontend.Variable(uint64(0x481ac7746b159c67)),
505 frontend.Variable(uint64(0xe367de32f108e278)),
506 frontend.Variable(uint64(0x73f260087ad28bec)),
507 frontend.Variable(uint64(0x5cfc82216bc1bdca)),
508 frontend.Variable(uint64(0xcaccc870a2663a0e)),
509 frontend.Variable(uint64(0xdb69cd7b4298c45d)),
510 frontend.Variable(uint64(0x7bc9e0c57243e62d)),
511 frontend.Variable(uint64(0x3cc51c5d368693ae)),
512 frontend.Variable(uint64(0x366b4e8cc068895b)),
513 frontend.Variable(uint64(0x2bd18715cdabbca4)),
514 frontend.Variable(uint64(0xa752061c4f33b8cf)),
515 },
516 {
517 frontend.Variable(uint64(0xb22d2432b72d5098)),
518 frontend.Variable(uint64(0x9e18a487f44d2fe4)),
519 frontend.Variable(uint64(0x4b39e14ce22abd3c)),
520 frontend.Variable(uint64(0x9e77fde2eb315e0d)),
521 frontend.Variable(uint64(0xca5e0385fe67014d)),
522 frontend.Variable(uint64(0x0c2cb99bf1b6bddb)),
523 frontend.Variable(uint64(0x99ec1cd2a4460bfe)),
524 frontend.Variable(uint64(0x8577a815a2ff843f)),
525 frontend.Variable(uint64(0x7d80a6b4fd6518a5)),
526 frontend.Variable(uint64(0xeb6c67123eab62cb)),
527 frontend.Variable(uint64(0x8f7851650eca21a5)),
528 },
529 {
530 frontend.Variable(uint64(0x11ba9a1b81718c2a)),
531 frontend.Variable(uint64(0x9f7d798a3323410c)),
532 frontend.Variable(uint64(0xa821855c8c1cf5e5)),
533 frontend.Variable(uint64(0x535e8d6fac0031b2)),
534 frontend.Variable(uint64(0x404e7c751b634320)),
535 frontend.Variable(uint64(0xa729353f6e55d354)),
536 frontend.Variable(uint64(0x4db97d92e58bb831)),
537 frontend.Variable(uint64(0xb53926c27897bf7d)),
538 frontend.Variable(uint64(0x965040d52fe115c5)),
539 frontend.Variable(uint64(0x9565fa41ebd31fd7)),
540 frontend.Variable(uint64(0xaae4438c877ea8f4)),
541 },
542 {
543 frontend.Variable(uint64(0x37f4e36af6073c6e)),
544 frontend.Variable(uint64(0x4edc0918210800e9)),
545 frontend.Variable(uint64(0xc44998e99eae4188)),
546 frontend.Variable(uint64(0x9f4310d05d068338)),
547 frontend.Variable(uint64(0x9ec7fe4350680f29)),
548 frontend.Variable(uint64(0xc5b2c1fdc0b50874)),
549 frontend.Variable(uint64(0xa01920c5ef8b2ebe)),
550 frontend.Variable(uint64(0x59fa6f8bd91d58ba)),
551 frontend.Variable(uint64(0x8bfc9eb89b515a82)),
552 frontend.Variable(uint64(0xbe86a7a2555ae775)),
553 frontend.Variable(uint64(0xcbb8bbaa3810babf)),
554 },
555 {
556 frontend.Variable(uint64(0x577f9a9e7ee3f9c2)),
557 frontend.Variable(uint64(0x88c522b949ace7b1)),
558 frontend.Variable(uint64(0x82f07007c8b72106)),
559 frontend.Variable(uint64(0x8283d37c6675b50e)),
560 frontend.Variable(uint64(0x98b074d9bbac1123)),
561 frontend.Variable(uint64(0x75c56fb7758317c1)),
562 frontend.Variable(uint64(0xfed24e206052bc72)),
563 frontend.Variable(uint64(0x26d7c3d1bc07dae5)),
564 frontend.Variable(uint64(0xf88c5e441e28dbb4)),
565 frontend.Variable(uint64(0x4fe27f9f96615270)),
566 frontend.Variable(uint64(0x514d4ba49c2b14fe)),
567 },
568 {
569 frontend.Variable(uint64(0xf02a3ac068ee110b)),
570 frontend.Variable(uint64(0x0a3630dafb8ae2d7)),
571 frontend.Variable(uint64(0xce0dc874eaf9b55c)),
572 frontend.Variable(uint64(0x9a95f6cff5b55c7e)),
573 frontend.Variable(uint64(0x626d76abfed00c7b)),
574 frontend.Variable(uint64(0xa0c1cf1251c204ad)),
575 frontend.Variable(uint64(0xdaebd3006321052c)),
576 frontend.Variable(uint64(0x3d4bd48b625a8065)),
577 frontend.Variable(uint64(0x7f1e584e071f6ed2)),
578 frontend.Variable(uint64(0x720574f0501caed3)),
579 frontend.Variable(uint64(0xe3260ba93d23540a)),
580 },
581 {
582 frontend.Variable(uint64(0xab1cbd41d8c1e335)),
583 frontend.Variable(uint64(0x9322ed4c0bc2df01)),
584 frontend.Variable(uint64(0x51c3c0983d4284e5)),
585 frontend.Variable(uint64(0x94178e291145c231)),
586 frontend.Variable(uint64(0xfd0f1a973d6b2085)),
587 frontend.Variable(uint64(0xd427ad96e2b39719)),
588 frontend.Variable(uint64(0x8a52437fecaac06b)),
589 frontend.Variable(uint64(0xdc20ee4b8c4c9a80)),
590 frontend.Variable(uint64(0xa2c98e9549da2100)),
591 frontend.Variable(uint64(0x1603fe12613db5b6)),
592 frontend.Variable(uint64(0x0e174929433c5505)),
593 },
594 {
595 frontend.Variable(uint64(0x3d4eab2b8ef5f796)),
596 frontend.Variable(uint64(0xcfff421583896e22)),
597 frontend.Variable(uint64(0x4143cb32d39ac3d9)),
598 frontend.Variable(uint64(0x22365051b78a5b65)),
599 frontend.Variable(uint64(0x6f7fd010d027c9b6)),
600 frontend.Variable(uint64(0xd9dd36fba77522ab)),
601 frontend.Variable(uint64(0xa44cf1cb33e37165)),
602 frontend.Variable(uint64(0x3fc83d3038c86417)),
603 frontend.Variable(uint64(0xc4588d418e88d270)),
604 frontend.Variable(uint64(0xce1320f10ab80fe2)),
605 frontend.Variable(uint64(0xdb5eadbbec18de5d)),
606 },
607 {
608 frontend.Variable(uint64(0x1183dfce7c454afd)),
609 frontend.Variable(uint64(0x21cea4aa3d3ed949)),
610 frontend.Variable(uint64(0x0fce6f70303f2304)),
611 frontend.Variable(uint64(0x19557d34b55551be)),
612 frontend.Variable(uint64(0x4c56f689afc5bbc9)),
613 frontend.Variable(uint64(0xa1e920844334f944)),
614 frontend.Variable(uint64(0xbad66d423d2ec861)),
615 frontend.Variable(uint64(0xf318c785dc9e0479)),
616 frontend.Variable(uint64(0x99e2032e765ddd81)),
617 frontend.Variable(uint64(0x400ccc9906d66f45)),
618 frontend.Variable(uint64(0xe1197454db2e0dd9)),
619 },
620 {
621 frontend.Variable(uint64(0x84d1ecc4d53d2ff1)),
622 frontend.Variable(uint64(0xd8af8b9ceb4e11b6)),
623 frontend.Variable(uint64(0x335856bb527b52f4)),
624 frontend.Variable(uint64(0xc756f17fb59be595)),
625 frontend.Variable(uint64(0xc0654e4ea5553a78)),
626 frontend.Variable(uint64(0x9e9a46b61f2ea942)),
627 frontend.Variable(uint64(0x14fc8b5b3b809127)),
628 frontend.Variable(uint64(0xd7009f0f103be413)),
629 frontend.Variable(uint64(0x3e0ee7b7a9fb4601)),
630 frontend.Variable(uint64(0xa74e888922085ed7)),
631 frontend.Variable(uint64(0xe80a7cde3d4ac526)),
632 },
633 {
634 frontend.Variable(uint64(0x238aa6daa612186d)),
635 frontend.Variable(uint64(0x9137a5c630bad4b4)),
636 frontend.Variable(uint64(0xc7db3817870c5eda)),
637 frontend.Variable(uint64(0x217e4f04e5718dc9)),
638 frontend.Variable(uint64(0xcae814e2817bd99d)),
639 frontend.Variable(uint64(0xe3292e7ab770a8ba)),
640 frontend.Variable(uint64(0x7bb36ef70b6b9482)),
641 frontend.Variable(uint64(0x3c7835fb85bca2d3)),
642 frontend.Variable(uint64(0xfe2cdf8ee3c25e86)),
643 frontend.Variable(uint64(0x61b3915ad7274b20)),
644 frontend.Variable(uint64(0xeab75ca7c918e4ef)),
645 },
646 {
647 frontend.Variable(uint64(0xd6e15ffc055e154e)),
648 frontend.Variable(uint64(0xec67881f381a32bf)),
649 frontend.Variable(uint64(0xfbb1196092bf409c)),
650 frontend.Variable(uint64(0xdc9d2e07830ba226)),
651 frontend.Variable(uint64(0x0698ef3245ff7988)),
652 frontend.Variable(uint64(0x194fae2974f8b576)),
653 frontend.Variable(uint64(0x7a5d9bea6ca4910e)),
654 frontend.Variable(uint64(0x7aebfea95ccdd1c9)),
655 frontend.Variable(uint64(0xf9bd38a67d5f0e86)),
656 frontend.Variable(uint64(0xfa65539de65492d8)),
657 frontend.Variable(uint64(0xf0dfcbe7653ff787)),
658 },
659 {
660 frontend.Variable(uint64(0x0bd87ad390420258)),
661 frontend.Variable(uint64(0x0ad8617bca9e33c8)),
662 frontend.Variable(uint64(0x0c00ad377a1e2666)),
663 frontend.Variable(uint64(0x0ac6fc58b3f0518f)),
664 frontend.Variable(uint64(0x0c0cc8a892cc4173)),
665 frontend.Variable(uint64(0x0c210accb117bc21)),
666 frontend.Variable(uint64(0x0b73630dbb46ca18)),
667 frontend.Variable(uint64(0x0c8be4920cbd4a54)),
668 frontend.Variable(uint64(0x0bfe877a21be1690)),
669 frontend.Variable(uint64(0x0ae790559b0ded81)),
670 frontend.Variable(uint64(0x0bf50db2f8d6ce31)),
671 },
672 {
673 frontend.Variable(uint64(0x000cf29427ff7c58)),
674 frontend.Variable(uint64(0x000bd9b3cf49eec8)),
675 frontend.Variable(uint64(0x000d1dc8aa81fb26)),
676 frontend.Variable(uint64(0x000bc792d5c394ef)),
677 frontend.Variable(uint64(0x000d2ae0b2266453)),
678 frontend.Variable(uint64(0x000d413f12c496c1)),
679 frontend.Variable(uint64(0x000c84128cfed618)),
680 frontend.Variable(uint64(0x000db5ebd48fc0d4)),
681 frontend.Variable(uint64(0x000d1b77326dcb90)),
682 frontend.Variable(uint64(0x000beb0ccc145421)),
683 frontend.Variable(uint64(0x000d10e5b22b11d1)),
684 },
685 {
686 frontend.Variable(uint64(0x00000e24c99adad8)),
687 frontend.Variable(uint64(0x00000cf389ed4bc8)),
688 frontend.Variable(uint64(0x00000e580cbf6966)),
689 frontend.Variable(uint64(0x00000cde5fd7e04f)),
690 frontend.Variable(uint64(0x00000e63628041b3)),
691 frontend.Variable(uint64(0x00000e7e81a87361)),
692 frontend.Variable(uint64(0x00000dabe78f6d98)),
693 frontend.Variable(uint64(0x00000efb14cac554)),
694 frontend.Variable(uint64(0x00000e5574743b10)),
695 frontend.Variable(uint64(0x00000d05709f42c1)),
696 frontend.Variable(uint64(0x00000e4690c96af1)),
697 },
698 {
699 frontend.Variable(uint64(0x0000000f7157bc98)),
700 frontend.Variable(uint64(0x0000000e3006d948)),
701 frontend.Variable(uint64(0x0000000fa65811e6)),
702 frontend.Variable(uint64(0x0000000e0d127e2f)),
703 frontend.Variable(uint64(0x0000000fc18bfe53)),
704 frontend.Variable(uint64(0x0000000fd002d901)),
705 frontend.Variable(uint64(0x0000000eed6461d8)),
706 frontend.Variable(uint64(0x0000001068562754)),
707 frontend.Variable(uint64(0x0000000fa0236f50)),
708 frontend.Variable(uint64(0x0000000e3af13ee1)),
709 frontend.Variable(uint64(0x0000000fa460f6d1)),
710 },
711 {
712 frontend.Variable(uint64(0x0000000011131738)),
713 frontend.Variable(uint64(0x000000000f56d588)),
714 frontend.Variable(uint64(0x0000000011050f86)),
715 frontend.Variable(uint64(0x000000000f848f4f)),
716 frontend.Variable(uint64(0x00000000111527d3)),
717 frontend.Variable(uint64(0x00000000114369a1)),
718 frontend.Variable(uint64(0x00000000106f2f38)),
719 frontend.Variable(uint64(0x0000000011e2ca94)),
720 frontend.Variable(uint64(0x00000000110a29f0)),
721 frontend.Variable(uint64(0x000000000fa9f5c1)),
722 frontend.Variable(uint64(0x0000000010f625d1)),
723 },
724 {
725 frontend.Variable(uint64(0x000000000011f718)),
726 frontend.Variable(uint64(0x000000000010b6c8)),
727 frontend.Variable(uint64(0x0000000000134a96)),
728 frontend.Variable(uint64(0x000000000010cf7f)),
729 frontend.Variable(uint64(0x0000000000124d03)),
730 frontend.Variable(uint64(0x000000000013f8a1)),
731 frontend.Variable(uint64(0x0000000000117c58)),
732 frontend.Variable(uint64(0x0000000000132c94)),
733 frontend.Variable(uint64(0x0000000000134fc0)),
734 frontend.Variable(uint64(0x000000000010a091)),
735 frontend.Variable(uint64(0x0000000000128961)),
736 },
737 {
738 frontend.Variable(uint64(0x0000000000001300)),
739 frontend.Variable(uint64(0x0000000000001750)),
740 frontend.Variable(uint64(0x000000000000114e)),
741 frontend.Variable(uint64(0x000000000000131f)),
742 frontend.Variable(uint64(0x000000000000167b)),
743 frontend.Variable(uint64(0x0000000000001371)),
744 frontend.Variable(uint64(0x0000000000001230)),
745 frontend.Variable(uint64(0x000000000000182c)),
746 frontend.Variable(uint64(0x0000000000001368)),
747 frontend.Variable(uint64(0x0000000000000f31)),
748 frontend.Variable(uint64(0x00000000000015c9)),
749 },
750 {
751 frontend.Variable(uint64(0x0000000000000014)),
752 frontend.Variable(uint64(0x0000000000000022)),
753 frontend.Variable(uint64(0x0000000000000012)),
754 frontend.Variable(uint64(0x0000000000000027)),
755 frontend.Variable(uint64(0x000000000000000d)),
756 frontend.Variable(uint64(0x000000000000000d)),
757 frontend.Variable(uint64(0x000000000000001c)),
758 frontend.Variable(uint64(0x0000000000000002)),
759 frontend.Variable(uint64(0x0000000000000010)),
760 frontend.Variable(uint64(0x0000000000000029)),
761 frontend.Variable(uint64(0x000000000000000f)),
762 },
763}
764
765var FAST_PARTIAL_ROUND_W_HATS = [N_PARTIAL_ROUNDS][11]frontend.Variable{
766 {
767 frontend.Variable(uint64(0x3d999c961b7c63b0)),
768 frontend.Variable(uint64(0x814e82efcd172529)),
769 frontend.Variable(uint64(0x2421e5d236704588)),
770 frontend.Variable(uint64(0x887af7d4dd482328)),
771 frontend.Variable(uint64(0xa5e9c291f6119b27)),
772 frontend.Variable(uint64(0xbdc52b2676a4b4aa)),
773 frontend.Variable(uint64(0x64832009d29bcf57)),
774 frontend.Variable(uint64(0x09c4155174a552cc)),
775 frontend.Variable(uint64(0x463f9ee03d290810)),
776 frontend.Variable(uint64(0xc810936e64982542)),
777 frontend.Variable(uint64(0x043b1c289f7bc3ac)),
778 },
779 {
780 frontend.Variable(uint64(0x673655aae8be5a8b)),
781 frontend.Variable(uint64(0xd510fe714f39fa10)),
782 frontend.Variable(uint64(0x2c68a099b51c9e73)),
783 frontend.Variable(uint64(0xa667bfa9aa96999d)),
784 frontend.Variable(uint64(0x4d67e72f063e2108)),
785 frontend.Variable(uint64(0xf84dde3e6acda179)),
786 frontend.Variable(uint64(0x40f9cc8c08f80981)),
787 frontend.Variable(uint64(0x5ead032050097142)),
788 frontend.Variable(uint64(0x6591b02092d671bb)),
789 frontend.Variable(uint64(0x00e18c71963dd1b7)),
790 frontend.Variable(uint64(0x8a21bcd24a14218a)),
791 },
792 {
793 frontend.Variable(uint64(0x202800f4addbdc87)),
794 frontend.Variable(uint64(0xe4b5bdb1cc3504ff)),
795 frontend.Variable(uint64(0xbe32b32a825596e7)),
796 frontend.Variable(uint64(0x8e0f68c5dc223b9a)),
797 frontend.Variable(uint64(0x58022d9e1c256ce3)),
798 frontend.Variable(uint64(0x584d29227aa073ac)),
799 frontend.Variable(uint64(0x8b9352ad04bef9e7)),
800 frontend.Variable(uint64(0xaead42a3f445ecbf)),
801 frontend.Variable(uint64(0x3c667a1d833a3cca)),
802 frontend.Variable(uint64(0xda6f61838efa1ffe)),
803 frontend.Variable(uint64(0xe8f749470bd7c446)),
804 },
805 {
806 frontend.Variable(uint64(0xc5b85bab9e5b3869)),
807 frontend.Variable(uint64(0x45245258aec51cf7)),
808 frontend.Variable(uint64(0x16e6b8e68b931830)),
809 frontend.Variable(uint64(0xe2ae0f051418112c)),
810 frontend.Variable(uint64(0x0470e26a0093a65b)),
811 frontend.Variable(uint64(0x6bef71973a8146ed)),
812 frontend.Variable(uint64(0x119265be51812daf)),
813 frontend.Variable(uint64(0xb0be7356254bea2e)),
814 frontend.Variable(uint64(0x8584defff7589bd7)),
815 frontend.Variable(uint64(0x3c5fe4aeb1fb52ba)),
816 frontend.Variable(uint64(0x9e7cd88acf543a5e)),
817 },
818 {
819 frontend.Variable(uint64(0x179be4bba87f0a8c)),
820 frontend.Variable(uint64(0xacf63d95d8887355)),
821 frontend.Variable(uint64(0x6696670196b0074f)),
822 frontend.Variable(uint64(0xd99ddf1fe75085f9)),
823 frontend.Variable(uint64(0xc2597881fef0283b)),
824 frontend.Variable(uint64(0xcf48395ee6c54f14)),
825 frontend.Variable(uint64(0x15226a8e4cd8d3b6)),
826 frontend.Variable(uint64(0xc053297389af5d3b)),
827 frontend.Variable(uint64(0x2c08893f0d1580e2)),
828 frontend.Variable(uint64(0x0ed3cbcff6fcc5ba)),
829 frontend.Variable(uint64(0xc82f510ecf81f6d0)),
830 },
831 {
832 frontend.Variable(uint64(0x94b06183acb715cc)),
833 frontend.Variable(uint64(0x500392ed0d431137)),
834 frontend.Variable(uint64(0x861cc95ad5c86323)),
835 frontend.Variable(uint64(0x05830a443f86c4ac)),
836 frontend.Variable(uint64(0x3b68225874a20a7c)),
837 frontend.Variable(uint64(0x10b3309838e236fb)),
838 frontend.Variable(uint64(0x9b77fc8bcd559e2c)),
839 frontend.Variable(uint64(0xbdecf5e0cb9cb213)),
840 frontend.Variable(uint64(0x30276f1221ace5fa)),
841 frontend.Variable(uint64(0x7935dd342764a144)),
842 frontend.Variable(uint64(0xeac6db520bb03708)),
843 },
844 {
845 frontend.Variable(uint64(0x7186a80551025f8f)),
846 frontend.Variable(uint64(0x622247557e9b5371)),
847 frontend.Variable(uint64(0xc4cbe326d1ad9742)),
848 frontend.Variable(uint64(0x55f1523ac6a23ea2)),
849 frontend.Variable(uint64(0xa13dfe77a3d52f53)),
850 frontend.Variable(uint64(0xe30750b6301c0452)),
851 frontend.Variable(uint64(0x08bd488070a3a32b)),
852 frontend.Variable(uint64(0xcd800caef5b72ae3)),
853 frontend.Variable(uint64(0x83329c90f04233ce)),
854 frontend.Variable(uint64(0xb5b99e6664a0a3ee)),
855 frontend.Variable(uint64(0x6b0731849e200a7f)),
856 },
857 {
858 frontend.Variable(uint64(0xec3fabc192b01799)),
859 frontend.Variable(uint64(0x382b38cee8ee5375)),
860 frontend.Variable(uint64(0x3bfb6c3f0e616572)),
861 frontend.Variable(uint64(0x514abd0cf6c7bc86)),
862 frontend.Variable(uint64(0x47521b1361dcc546)),
863 frontend.Variable(uint64(0x178093843f863d14)),
864 frontend.Variable(uint64(0xad1003c5d28918e7)),
865 frontend.Variable(uint64(0x738450e42495bc81)),
866 frontend.Variable(uint64(0xaf947c59af5e4047)),
867 frontend.Variable(uint64(0x4653fb0685084ef2)),
868 frontend.Variable(uint64(0x057fde2062ae35bf)),
869 },
870 {
871 frontend.Variable(uint64(0xe376678d843ce55e)),
872 frontend.Variable(uint64(0x66f3860d7514e7fc)),
873 frontend.Variable(uint64(0x7817f3dfff8b4ffa)),
874 frontend.Variable(uint64(0x3929624a9def725b)),
875 frontend.Variable(uint64(0x0126ca37f215a80a)),
876 frontend.Variable(uint64(0xfce2f5d02762a303)),
877 frontend.Variable(uint64(0x1bc927375febbad7)),
878 frontend.Variable(uint64(0x85b481e5243f60bf)),
879 frontend.Variable(uint64(0x2d3c5f42a39c91a0)),
880 frontend.Variable(uint64(0x0811719919351ae8)),
881 frontend.Variable(uint64(0xf669de0add993131)),
882 },
883 {
884 frontend.Variable(uint64(0x7de38bae084da92d)),
885 frontend.Variable(uint64(0x5b848442237e8a9b)),
886 frontend.Variable(uint64(0xf6c705da84d57310)),
887 frontend.Variable(uint64(0x31e6a4bdb6a49017)),
888 frontend.Variable(uint64(0x889489706e5c5c0f)),
889 frontend.Variable(uint64(0x0e4a205459692a1b)),
890 frontend.Variable(uint64(0xbac3fa75ee26f299)),
891 frontend.Variable(uint64(0x5f5894f4057d755e)),
892 frontend.Variable(uint64(0xb0dc3ecd724bb076)),
893 frontend.Variable(uint64(0x5e34d8554a6452ba)),
894 frontend.Variable(uint64(0x04f78fd8c1fdcc5f)),
895 },
896 {
897 frontend.Variable(uint64(0x4dd19c38779512ea)),
898 frontend.Variable(uint64(0xdb79ba02704620e9)),
899 frontend.Variable(uint64(0x92a29a3675a5d2be)),
900 frontend.Variable(uint64(0xd5177029fe495166)),
901 frontend.Variable(uint64(0xd32b3298a13330c1)),
902 frontend.Variable(uint64(0x251c4a3eb2c5f8fd)),
903 frontend.Variable(uint64(0xe1c48b26e0d98825)),
904 frontend.Variable(uint64(0x3301d3362a4ffccb)),
905 frontend.Variable(uint64(0x09bb6c88de8cd178)),
906 frontend.Variable(uint64(0xdc05b676564f538a)),
907 frontend.Variable(uint64(0x60192d883e473fee)),
908 },
909 {
910 frontend.Variable(uint64(0x16b9774801ac44a0)),
911 frontend.Variable(uint64(0x3cb8411e786d3c8e)),
912 frontend.Variable(uint64(0xa86e9cf505072491)),
913 frontend.Variable(uint64(0x0178928152e109ae)),
914 frontend.Variable(uint64(0x5317b905a6e1ab7b)),
915 frontend.Variable(uint64(0xda20b3be7f53d59f)),
916 frontend.Variable(uint64(0xcb97dedecebee9ad)),
917 frontend.Variable(uint64(0x4bd545218c59f58d)),
918 frontend.Variable(uint64(0x77dc8d856c05a44a)),
919 frontend.Variable(uint64(0x87948589e4f243fd)),
920 frontend.Variable(uint64(0x7e5217af969952c2)),
921 },
922 {
923 frontend.Variable(uint64(0xbc58987d06a84e4d)),
924 frontend.Variable(uint64(0x0b5d420244c9cae3)),
925 frontend.Variable(uint64(0xa3c4711b938c02c0)),
926 frontend.Variable(uint64(0x3aace640a3e03990)),
927 frontend.Variable(uint64(0x865a0f3249aacd8a)),
928 frontend.Variable(uint64(0x8d00b2a7dbed06c7)),
929 frontend.Variable(uint64(0x6eacb905beb7e2f8)),
930 frontend.Variable(uint64(0x045322b216ec3ec7)),
931 frontend.Variable(uint64(0xeb9de00d594828e6)),
932 frontend.Variable(uint64(0x088c5f20df9e5c26)),
933 frontend.Variable(uint64(0xf555f4112b19781f)),
934 },
935 {
936 frontend.Variable(uint64(0xa8cedbff1813d3a7)),
937 frontend.Variable(uint64(0x50dcaee0fd27d164)),
938 frontend.Variable(uint64(0xf1cb02417e23bd82)),
939 frontend.Variable(uint64(0xfaf322786e2abe8b)),
940 frontend.Variable(uint64(0x937a4315beb5d9b6)),
941 frontend.Variable(uint64(0x1b18992921a11d85)),
942 frontend.Variable(uint64(0x7d66c4368b3c497b)),
943 frontend.Variable(uint64(0x0e7946317a6b4e99)),
944 frontend.Variable(uint64(0xbe4430134182978b)),
945 frontend.Variable(uint64(0x3771e82493ab262d)),
946 frontend.Variable(uint64(0xa671690d8095ce82)),
947 },
948 {
949 frontend.Variable(uint64(0xb035585f6e929d9d)),
950 frontend.Variable(uint64(0xba1579c7e219b954)),
951 frontend.Variable(uint64(0xcb201cf846db4ba3)),
952 frontend.Variable(uint64(0x287bf9177372cf45)),
953 frontend.Variable(uint64(0xa350e4f61147d0a6)),
954 frontend.Variable(uint64(0xd5d0ecfb50bcff99)),
955 frontend.Variable(uint64(0x2e166aa6c776ed21)),
956 frontend.Variable(uint64(0xe1e66c991990e282)),
957 frontend.Variable(uint64(0x662b329b01e7bb38)),
958 frontend.Variable(uint64(0x8aa674b36144d9a9)),
959 frontend.Variable(uint64(0xcbabf78f97f95e65)),
960 },
961 {
962 frontend.Variable(uint64(0xeec24b15a06b53fe)),
963 frontend.Variable(uint64(0xc8a7aa07c5633533)),
964 frontend.Variable(uint64(0xefe9c6fa4311ad51)),
965 frontend.Variable(uint64(0xb9173f13977109a1)),
966 frontend.Variable(uint64(0x69ce43c9cc94aedc)),
967 frontend.Variable(uint64(0xecf623c9cd118815)),
968 frontend.Variable(uint64(0x28625def198c33c7)),
969 frontend.Variable(uint64(0xccfc5f7de5c3636a)),
970 frontend.Variable(uint64(0xf5e6c40f1621c299)),
971 frontend.Variable(uint64(0xcec0e58c34cb64b1)),
972 frontend.Variable(uint64(0xa868ea113387939f)),
973 },
974 {
975 frontend.Variable(uint64(0xd8dddbdc5ce4ef45)),
976 frontend.Variable(uint64(0xacfc51de8131458c)),
977 frontend.Variable(uint64(0x146bb3c0fe499ac0)),
978 frontend.Variable(uint64(0x9e65309f15943903)),
979 frontend.Variable(uint64(0x80d0ad980773aa70)),
980 frontend.Variable(uint64(0xf97817d4ddbf0607)),
981 frontend.Variable(uint64(0xe4626620a75ba276)),
982 frontend.Variable(uint64(0x0dfdc7fd6fc74f66)),
983 frontend.Variable(uint64(0xf464864ad6f2bb93)),
984 frontend.Variable(uint64(0x02d55e52a5d44414)),
985 frontend.Variable(uint64(0xdd8de62487c40925)),
986 },
987 {
988 frontend.Variable(uint64(0xc15acf44759545a3)),
989 frontend.Variable(uint64(0xcbfdcf39869719d4)),
990 frontend.Variable(uint64(0x33f62042e2f80225)),
991 frontend.Variable(uint64(0x2599c5ead81d8fa3)),
992 frontend.Variable(uint64(0x0b306cb6c1d7c8d0)),
993 frontend.Variable(uint64(0x658c80d3df3729b1)),
994 frontend.Variable(uint64(0xe8d1b2b21b41429c)),
995 frontend.Variable(uint64(0xa1b67f09d4b3ccb8)),
996 frontend.Variable(uint64(0x0e1adf8b84437180)),
997 frontend.Variable(uint64(0x0d593a5e584af47b)),
998 frontend.Variable(uint64(0xa023d94c56e151c7)),
999 },
1000 {
1001 frontend.Variable(uint64(0x49026cc3a4afc5a6)),
1002 frontend.Variable(uint64(0xe06dff00ab25b91b)),
1003 frontend.Variable(uint64(0x0ab38c561e8850ff)),
1004 frontend.Variable(uint64(0x92c3c8275e105eeb)),
1005 frontend.Variable(uint64(0xb65256e546889bd0)),
1006 frontend.Variable(uint64(0x3c0468236ea142f6)),
1007 frontend.Variable(uint64(0xee61766b889e18f2)),
1008 frontend.Variable(uint64(0xa206f41b12c30415)),
1009 frontend.Variable(uint64(0x02fe9d756c9f12d1)),
1010 frontend.Variable(uint64(0xe9633210630cbf12)),
1011 frontend.Variable(uint64(0x1ffea9fe85a0b0b1)),
1012 },
1013 {
1014 frontend.Variable(uint64(0x81d1ae8cc50240f3)),
1015 frontend.Variable(uint64(0xf4c77a079a4607d7)),
1016 frontend.Variable(uint64(0xed446b2315e3efc1)),
1017 frontend.Variable(uint64(0x0b0a6b70915178c3)),
1018 frontend.Variable(uint64(0xb11ff3e089f15d9a)),
1019 frontend.Variable(uint64(0x1d4dba0b7ae9cc18)),
1020 frontend.Variable(uint64(0x65d74e2f43b48d05)),
1021 frontend.Variable(uint64(0xa2df8c6b8ae0804a)),
1022 frontend.Variable(uint64(0xa4e6f0a8c33348a6)),
1023 frontend.Variable(uint64(0xc0a26efc7be5669b)),
1024 frontend.Variable(uint64(0xa6b6582c547d0d60)),
1025 },
1026 {
1027 frontend.Variable(uint64(0x84afc741f1c13213)),
1028 frontend.Variable(uint64(0x2f8f43734fc906f3)),
1029 frontend.Variable(uint64(0xde682d72da0a02d9)),
1030 frontend.Variable(uint64(0x0bb005236adb9ef2)),
1031 frontend.Variable(uint64(0x5bdf35c10a8b5624)),
1032 frontend.Variable(uint64(0x0739a8a343950010)),
1033 frontend.Variable(uint64(0x52f515f44785cfbc)),
1034 frontend.Variable(uint64(0xcbaf4e5d82856c60)),
1035 frontend.Variable(uint64(0xac9ea09074e3e150)),
1036 frontend.Variable(uint64(0x8f0fa011a2035fb0)),
1037 frontend.Variable(uint64(0x1a37905d8450904a)),
1038 },
1039 {
1040 frontend.Variable(uint64(0x3abeb80def61cc85)),
1041 frontend.Variable(uint64(0x9d19c9dd4eac4133)),
1042 frontend.Variable(uint64(0x075a652d9641a985)),
1043 frontend.Variable(uint64(0x9daf69ae1b67e667)),
1044 frontend.Variable(uint64(0x364f71da77920a18)),
1045 frontend.Variable(uint64(0x50bd769f745c95b1)),
1046 frontend.Variable(uint64(0xf223d1180dbbf3fc)),
1047 frontend.Variable(uint64(0x2f885e584e04aa99)),
1048 frontend.Variable(uint64(0xb69a0fa70aea684a)),
1049 frontend.Variable(uint64(0x09584acaa6e062a0)),
1050 frontend.Variable(uint64(0x0bc051640145b19b)),
1051 },
1052}
1053
1054var FAST_PARTIAL_ROUND_INITIAL_MATRIX = [N_PARTIAL_ROUNDS][11]frontend.Variable{
1055 {
1056 frontend.Variable(uint64(0x80772dc2645b280b)),
1057 frontend.Variable(uint64(0xdc927721da922cf8)),
1058 frontend.Variable(uint64(0xc1978156516879ad)),
1059 frontend.Variable(uint64(0x90e80c591f48b603)),
1060 frontend.Variable(uint64(0x3a2432625475e3ae)),
1061 frontend.Variable(uint64(0x00a2d4321cca94fe)),
1062 frontend.Variable(uint64(0x77736f524010c932)),
1063 frontend.Variable(uint64(0x904d3f2804a36c54)),
1064 frontend.Variable(uint64(0xbf9b39e28a16f354)),
1065 frontend.Variable(uint64(0x3a1ded54a6cd058b)),
1066 frontend.Variable(uint64(0x42392870da5737cf)),
1067 },
1068 {
1069 frontend.Variable(uint64(0xe796d293a47a64cb)),
1070 frontend.Variable(uint64(0xb124c33152a2421a)),
1071 frontend.Variable(uint64(0x0ee5dc0ce131268a)),
1072 frontend.Variable(uint64(0xa9032a52f930fae6)),
1073 frontend.Variable(uint64(0x7e33ca8c814280de)),
1074 frontend.Variable(uint64(0xad11180f69a8c29e)),
1075 frontend.Variable(uint64(0xc75ac6d5b5a10ff3)),
1076 frontend.Variable(uint64(0xf0674a8dc5a387ec)),
1077 frontend.Variable(uint64(0xb36d43120eaa5e2b)),
1078 frontend.Variable(uint64(0x6f232aab4b533a25)),
1079 frontend.Variable(uint64(0x3a1ded54a6cd058b)),
1080 },
1081 {
1082 frontend.Variable(uint64(0xdcedab70f40718ba)),
1083 frontend.Variable(uint64(0x14a4a64da0b2668f)),
1084 frontend.Variable(uint64(0x4715b8e5ab34653b)),
1085 frontend.Variable(uint64(0x1e8916a99c93a88e)),
1086 frontend.Variable(uint64(0xbba4b5d86b9a3b2c)),
1087 frontend.Variable(uint64(0xe76649f9bd5d5c2e)),
1088 frontend.Variable(uint64(0xaf8e2518a1ece54d)),
1089 frontend.Variable(uint64(0xdcda1344cdca873f)),
1090 frontend.Variable(uint64(0xcd080204256088e5)),
1091 frontend.Variable(uint64(0xb36d43120eaa5e2b)),
1092 frontend.Variable(uint64(0xbf9b39e28a16f354)),
1093 },
1094 {
1095 frontend.Variable(uint64(0xf4a437f2888ae909)),
1096 frontend.Variable(uint64(0xc537d44dc2875403)),
1097 frontend.Variable(uint64(0x7f68007619fd8ba9)),
1098 frontend.Variable(uint64(0xa4911db6a32612da)),
1099 frontend.Variable(uint64(0x2f7e9aade3fdaec1)),
1100 frontend.Variable(uint64(0xe7ffd578da4ea43d)),
1101 frontend.Variable(uint64(0x43a608e7afa6b5c2)),
1102 frontend.Variable(uint64(0xca46546aa99e1575)),
1103 frontend.Variable(uint64(0xdcda1344cdca873f)),
1104 frontend.Variable(uint64(0xf0674a8dc5a387ec)),
1105 frontend.Variable(uint64(0x904d3f2804a36c54)),
1106 },
1107 {
1108 frontend.Variable(uint64(0xf97abba0dffb6c50)),
1109 frontend.Variable(uint64(0x5e40f0c9bb82aab5)),
1110 frontend.Variable(uint64(0x5996a80497e24a6b)),
1111 frontend.Variable(uint64(0x07084430a7307c9a)),
1112 frontend.Variable(uint64(0xad2f570a5b8545aa)),
1113 frontend.Variable(uint64(0xab7f81fef4274770)),
1114 frontend.Variable(uint64(0xcb81f535cf98c9e9)),
1115 frontend.Variable(uint64(0x43a608e7afa6b5c2)),
1116 frontend.Variable(uint64(0xaf8e2518a1ece54d)),
1117 frontend.Variable(uint64(0xc75ac6d5b5a10ff3)),
1118 frontend.Variable(uint64(0x77736f524010c932)),
1119 },
1120 {
1121 frontend.Variable(uint64(0x7f8e41e0b0a6cdff)),
1122 frontend.Variable(uint64(0x4b1ba8d40afca97d)),
1123 frontend.Variable(uint64(0x623708f28fca70e8)),
1124 frontend.Variable(uint64(0xbf150dc4914d380f)),
1125 frontend.Variable(uint64(0xc26a083554767106)),
1126 frontend.Variable(uint64(0x753b8b1126665c22)),
1127 frontend.Variable(uint64(0xab7f81fef4274770)),
1128 frontend.Variable(uint64(0xe7ffd578da4ea43d)),
1129 frontend.Variable(uint64(0xe76649f9bd5d5c2e)),
1130 frontend.Variable(uint64(0xad11180f69a8c29e)),
1131 frontend.Variable(uint64(0x00a2d4321cca94fe)),
1132 },
1133 {
1134 frontend.Variable(uint64(0x726af914971c1374)),
1135 frontend.Variable(uint64(0x1d7f8a2cce1a9d00)),
1136 frontend.Variable(uint64(0x18737784700c75cd)),
1137 frontend.Variable(uint64(0x7fb45d605dd82838)),
1138 frontend.Variable(uint64(0x862361aeab0f9b6e)),
1139 frontend.Variable(uint64(0xc26a083554767106)),
1140 frontend.Variable(uint64(0xad2f570a5b8545aa)),
1141 frontend.Variable(uint64(0x2f7e9aade3fdaec1)),
1142 frontend.Variable(uint64(0xbba4b5d86b9a3b2c)),
1143 frontend.Variable(uint64(0x7e33ca8c814280de)),
1144 frontend.Variable(uint64(0x3a2432625475e3ae)),
1145 },
1146 {
1147 frontend.Variable(uint64(0x64dd936da878404d)),
1148 frontend.Variable(uint64(0x4db9a2ead2bd7262)),
1149 frontend.Variable(uint64(0xbe2e19f6d07f1a83)),
1150 frontend.Variable(uint64(0x02290fe23c20351a)),
1151 frontend.Variable(uint64(0x7fb45d605dd82838)),
1152 frontend.Variable(uint64(0xbf150dc4914d380f)),
1153 frontend.Variable(uint64(0x07084430a7307c9a)),
1154 frontend.Variable(uint64(0xa4911db6a32612da)),
1155 frontend.Variable(uint64(0x1e8916a99c93a88e)),
1156 frontend.Variable(uint64(0xa9032a52f930fae6)),
1157 frontend.Variable(uint64(0x90e80c591f48b603)),
1158 },
1159 {
1160 frontend.Variable(uint64(0x85418a9fef8a9890)),
1161 frontend.Variable(uint64(0xd8a2eb7ef5e707ad)),
1162 frontend.Variable(uint64(0xbfe85ababed2d882)),
1163 frontend.Variable(uint64(0xbe2e19f6d07f1a83)),
1164 frontend.Variable(uint64(0x18737784700c75cd)),
1165 frontend.Variable(uint64(0x623708f28fca70e8)),
1166 frontend.Variable(uint64(0x5996a80497e24a6b)),
1167 frontend.Variable(uint64(0x7f68007619fd8ba9)),
1168 frontend.Variable(uint64(0x4715b8e5ab34653b)),
1169 frontend.Variable(uint64(0x0ee5dc0ce131268a)),
1170 frontend.Variable(uint64(0xc1978156516879ad)),
1171 },
1172 {
1173 frontend.Variable(uint64(0x156048ee7a738154)),
1174 frontend.Variable(uint64(0x91f7562377e81df5)),
1175 frontend.Variable(uint64(0xd8a2eb7ef5e707ad)),
1176 frontend.Variable(uint64(0x4db9a2ead2bd7262)),
1177 frontend.Variable(uint64(0x1d7f8a2cce1a9d00)),
1178 frontend.Variable(uint64(0x4b1ba8d40afca97d)),
1179 frontend.Variable(uint64(0x5e40f0c9bb82aab5)),
1180 frontend.Variable(uint64(0xc537d44dc2875403)),
1181 frontend.Variable(uint64(0x14a4a64da0b2668f)),
1182 frontend.Variable(uint64(0xb124c33152a2421a)),
1183 frontend.Variable(uint64(0xdc927721da922cf8)),
1184 },
1185 {
1186 frontend.Variable(uint64(0xd841e8ef9dde8ba0)),
1187 frontend.Variable(uint64(0x156048ee7a738154)),
1188 frontend.Variable(uint64(0x85418a9fef8a9890)),
1189 frontend.Variable(uint64(0x64dd936da878404d)),
1190 frontend.Variable(uint64(0x726af914971c1374)),
1191 frontend.Variable(uint64(0x7f8e41e0b0a6cdff)),
1192 frontend.Variable(uint64(0xf97abba0dffb6c50)),
1193 frontend.Variable(uint64(0xf4a437f2888ae909)),
1194 frontend.Variable(uint64(0xdcedab70f40718ba)),
1195 frontend.Variable(uint64(0xe796d293a47a64cb)),
1196 frontend.Variable(uint64(0x80772dc2645b280b)),
1197 },
1198}
1199
1200var FAST_PARTIAL_ROUND_W_HATS_VARS = [N_PARTIAL_ROUNDS][11]frontend.Variable{
1201 {
1202 frontend.Variable(uint64(0x3d999c961b7c63b0)),
1203 frontend.Variable(uint64(0x814e82efcd172529)),
1204 frontend.Variable(uint64(0x2421e5d236704588)),
1205 frontend.Variable(uint64(0x887af7d4dd482328)),
1206 frontend.Variable(uint64(0xa5e9c291f6119b27)),
1207 frontend.Variable(uint64(0xbdc52b2676a4b4aa)),
1208 frontend.Variable(uint64(0x64832009d29bcf57)),
1209 frontend.Variable(uint64(0x09c4155174a552cc)),
1210 frontend.Variable(uint64(0x463f9ee03d290810)),
1211 frontend.Variable(uint64(0xc810936e64982542)),
1212 frontend.Variable(uint64(0x043b1c289f7bc3ac)),
1213 },
1214 {
1215 frontend.Variable(uint64(0x673655aae8be5a8b)),
1216 frontend.Variable(uint64(0xd510fe714f39fa10)),
1217 frontend.Variable(uint64(0x2c68a099b51c9e73)),
1218 frontend.Variable(uint64(0xa667bfa9aa96999d)),
1219 frontend.Variable(uint64(0x4d67e72f063e2108)),
1220 frontend.Variable(uint64(0xf84dde3e6acda179)),
1221 frontend.Variable(uint64(0x40f9cc8c08f80981)),
1222 frontend.Variable(uint64(0x5ead032050097142)),
1223 frontend.Variable(uint64(0x6591b02092d671bb)),
1224 frontend.Variable(uint64(0x00e18c71963dd1b7)),
1225 frontend.Variable(uint64(0x8a21bcd24a14218a)),
1226 },
1227 {
1228 frontend.Variable(uint64(0x202800f4addbdc87)),
1229 frontend.Variable(uint64(0xe4b5bdb1cc3504ff)),
1230 frontend.Variable(uint64(0xbe32b32a825596e7)),
1231 frontend.Variable(uint64(0x8e0f68c5dc223b9a)),
1232 frontend.Variable(uint64(0x58022d9e1c256ce3)),
1233 frontend.Variable(uint64(0x584d29227aa073ac)),
1234 frontend.Variable(uint64(0x8b9352ad04bef9e7)),
1235 frontend.Variable(uint64(0xaead42a3f445ecbf)),
1236 frontend.Variable(uint64(0x3c667a1d833a3cca)),
1237 frontend.Variable(uint64(0xda6f61838efa1ffe)),
1238 frontend.Variable(uint64(0xe8f749470bd7c446)),
1239 },
1240 {
1241 frontend.Variable(uint64(0xc5b85bab9e5b3869)),
1242 frontend.Variable(uint64(0x45245258aec51cf7)),
1243 frontend.Variable(uint64(0x16e6b8e68b931830)),
1244 frontend.Variable(uint64(0xe2ae0f051418112c)),
1245 frontend.Variable(uint64(0x0470e26a0093a65b)),
1246 frontend.Variable(uint64(0x6bef71973a8146ed)),
1247 frontend.Variable(uint64(0x119265be51812daf)),
1248 frontend.Variable(uint64(0xb0be7356254bea2e)),
1249 frontend.Variable(uint64(0x8584defff7589bd7)),
1250 frontend.Variable(uint64(0x3c5fe4aeb1fb52ba)),
1251 frontend.Variable(uint64(0x9e7cd88acf543a5e)),
1252 },
1253 {
1254 frontend.Variable(uint64(0x179be4bba87f0a8c)),
1255 frontend.Variable(uint64(0xacf63d95d8887355)),
1256 frontend.Variable(uint64(0x6696670196b0074f)),
1257 frontend.Variable(uint64(0xd99ddf1fe75085f9)),
1258 frontend.Variable(uint64(0xc2597881fef0283b)),
1259 frontend.Variable(uint64(0xcf48395ee6c54f14)),
1260 frontend.Variable(uint64(0x15226a8e4cd8d3b6)),
1261 frontend.Variable(uint64(0xc053297389af5d3b)),
1262 frontend.Variable(uint64(0x2c08893f0d1580e2)),
1263 frontend.Variable(uint64(0x0ed3cbcff6fcc5ba)),
1264 frontend.Variable(uint64(0xc82f510ecf81f6d0)),
1265 },
1266 {
1267 frontend.Variable(uint64(0x94b06183acb715cc)),
1268 frontend.Variable(uint64(0x500392ed0d431137)),
1269 frontend.Variable(uint64(0x861cc95ad5c86323)),
1270 frontend.Variable(uint64(0x05830a443f86c4ac)),
1271 frontend.Variable(uint64(0x3b68225874a20a7c)),
1272 frontend.Variable(uint64(0x10b3309838e236fb)),
1273 frontend.Variable(uint64(0x9b77fc8bcd559e2c)),
1274 frontend.Variable(uint64(0xbdecf5e0cb9cb213)),
1275 frontend.Variable(uint64(0x30276f1221ace5fa)),
1276 frontend.Variable(uint64(0x7935dd342764a144)),
1277 frontend.Variable(uint64(0xeac6db520bb03708)),
1278 },
1279 {
1280 frontend.Variable(uint64(0x7186a80551025f8f)),
1281 frontend.Variable(uint64(0x622247557e9b5371)),
1282 frontend.Variable(uint64(0xc4cbe326d1ad9742)),
1283 frontend.Variable(uint64(0x55f1523ac6a23ea2)),
1284 frontend.Variable(uint64(0xa13dfe77a3d52f53)),
1285 frontend.Variable(uint64(0xe30750b6301c0452)),
1286 frontend.Variable(uint64(0x08bd488070a3a32b)),
1287 frontend.Variable(uint64(0xcd800caef5b72ae3)),
1288 frontend.Variable(uint64(0x83329c90f04233ce)),
1289 frontend.Variable(uint64(0xb5b99e6664a0a3ee)),
1290 frontend.Variable(uint64(0x6b0731849e200a7f)),
1291 },
1292 {
1293 frontend.Variable(uint64(0xec3fabc192b01799)),
1294 frontend.Variable(uint64(0x382b38cee8ee5375)),
1295 frontend.Variable(uint64(0x3bfb6c3f0e616572)),
1296 frontend.Variable(uint64(0x514abd0cf6c7bc86)),
1297 frontend.Variable(uint64(0x47521b1361dcc546)),
1298 frontend.Variable(uint64(0x178093843f863d14)),
1299 frontend.Variable(uint64(0xad1003c5d28918e7)),
1300 frontend.Variable(uint64(0x738450e42495bc81)),
1301 frontend.Variable(uint64(0xaf947c59af5e4047)),
1302 frontend.Variable(uint64(0x4653fb0685084ef2)),
1303 frontend.Variable(uint64(0x057fde2062ae35bf)),
1304 },
1305 {
1306 frontend.Variable(uint64(0xe376678d843ce55e)),
1307 frontend.Variable(uint64(0x66f3860d7514e7fc)),
1308 frontend.Variable(uint64(0x7817f3dfff8b4ffa)),
1309 frontend.Variable(uint64(0x3929624a9def725b)),
1310 frontend.Variable(uint64(0x0126ca37f215a80a)),
1311 frontend.Variable(uint64(0xfce2f5d02762a303)),
1312 frontend.Variable(uint64(0x1bc927375febbad7)),
1313 frontend.Variable(uint64(0x85b481e5243f60bf)),
1314 frontend.Variable(uint64(0x2d3c5f42a39c91a0)),
1315 frontend.Variable(uint64(0x0811719919351ae8)),
1316 frontend.Variable(uint64(0xf669de0add993131)),
1317 },
1318 {
1319 frontend.Variable(uint64(0x7de38bae084da92d)),
1320 frontend.Variable(uint64(0x5b848442237e8a9b)),
1321 frontend.Variable(uint64(0xf6c705da84d57310)),
1322 frontend.Variable(uint64(0x31e6a4bdb6a49017)),
1323 frontend.Variable(uint64(0x889489706e5c5c0f)),
1324 frontend.Variable(uint64(0x0e4a205459692a1b)),
1325 frontend.Variable(uint64(0xbac3fa75ee26f299)),
1326 frontend.Variable(uint64(0x5f5894f4057d755e)),
1327 frontend.Variable(uint64(0xb0dc3ecd724bb076)),
1328 frontend.Variable(uint64(0x5e34d8554a6452ba)),
1329 frontend.Variable(uint64(0x04f78fd8c1fdcc5f)),
1330 },
1331 {
1332 frontend.Variable(uint64(0x4dd19c38779512ea)),
1333 frontend.Variable(uint64(0xdb79ba02704620e9)),
1334 frontend.Variable(uint64(0x92a29a3675a5d2be)),
1335 frontend.Variable(uint64(0xd5177029fe495166)),
1336 frontend.Variable(uint64(0xd32b3298a13330c1)),
1337 frontend.Variable(uint64(0x251c4a3eb2c5f8fd)),
1338 frontend.Variable(uint64(0xe1c48b26e0d98825)),
1339 frontend.Variable(uint64(0x3301d3362a4ffccb)),
1340 frontend.Variable(uint64(0x09bb6c88de8cd178)),
1341 frontend.Variable(uint64(0xdc05b676564f538a)),
1342 frontend.Variable(uint64(0x60192d883e473fee)),
1343 },
1344 {
1345 frontend.Variable(uint64(0x16b9774801ac44a0)),
1346 frontend.Variable(uint64(0x3cb8411e786d3c8e)),
1347 frontend.Variable(uint64(0xa86e9cf505072491)),
1348 frontend.Variable(uint64(0x0178928152e109ae)),
1349 frontend.Variable(uint64(0x5317b905a6e1ab7b)),
1350 frontend.Variable(uint64(0xda20b3be7f53d59f)),
1351 frontend.Variable(uint64(0xcb97dedecebee9ad)),
1352 frontend.Variable(uint64(0x4bd545218c59f58d)),
1353 frontend.Variable(uint64(0x77dc8d856c05a44a)),
1354 frontend.Variable(uint64(0x87948589e4f243fd)),
1355 frontend.Variable(uint64(0x7e5217af969952c2)),
1356 },
1357 {
1358 frontend.Variable(uint64(0xbc58987d06a84e4d)),
1359 frontend.Variable(uint64(0x0b5d420244c9cae3)),
1360 frontend.Variable(uint64(0xa3c4711b938c02c0)),
1361 frontend.Variable(uint64(0x3aace640a3e03990)),
1362 frontend.Variable(uint64(0x865a0f3249aacd8a)),
1363 frontend.Variable(uint64(0x8d00b2a7dbed06c7)),
1364 frontend.Variable(uint64(0x6eacb905beb7e2f8)),
1365 frontend.Variable(uint64(0x045322b216ec3ec7)),
1366 frontend.Variable(uint64(0xeb9de00d594828e6)),
1367 frontend.Variable(uint64(0x088c5f20df9e5c26)),
1368 frontend.Variable(uint64(0xf555f4112b19781f)),
1369 },
1370 {
1371 frontend.Variable(uint64(0xa8cedbff1813d3a7)),
1372 frontend.Variable(uint64(0x50dcaee0fd27d164)),
1373 frontend.Variable(uint64(0xf1cb02417e23bd82)),
1374 frontend.Variable(uint64(0xfaf322786e2abe8b)),
1375 frontend.Variable(uint64(0x937a4315beb5d9b6)),
1376 frontend.Variable(uint64(0x1b18992921a11d85)),
1377 frontend.Variable(uint64(0x7d66c4368b3c497b)),
1378 frontend.Variable(uint64(0x0e7946317a6b4e99)),
1379 frontend.Variable(uint64(0xbe4430134182978b)),
1380 frontend.Variable(uint64(0x3771e82493ab262d)),
1381 frontend.Variable(uint64(0xa671690d8095ce82)),
1382 },
1383 {
1384 frontend.Variable(uint64(0xb035585f6e929d9d)),
1385 frontend.Variable(uint64(0xba1579c7e219b954)),
1386 frontend.Variable(uint64(0xcb201cf846db4ba3)),
1387 frontend.Variable(uint64(0x287bf9177372cf45)),
1388 frontend.Variable(uint64(0xa350e4f61147d0a6)),
1389 frontend.Variable(uint64(0xd5d0ecfb50bcff99)),
1390 frontend.Variable(uint64(0x2e166aa6c776ed21)),
1391 frontend.Variable(uint64(0xe1e66c991990e282)),
1392 frontend.Variable(uint64(0x662b329b01e7bb38)),
1393 frontend.Variable(uint64(0x8aa674b36144d9a9)),
1394 frontend.Variable(uint64(0xcbabf78f97f95e65)),
1395 },
1396 {
1397 frontend.Variable(uint64(0xeec24b15a06b53fe)),
1398 frontend.Variable(uint64(0xc8a7aa07c5633533)),
1399 frontend.Variable(uint64(0xefe9c6fa4311ad51)),
1400 frontend.Variable(uint64(0xb9173f13977109a1)),
1401 frontend.Variable(uint64(0x69ce43c9cc94aedc)),
1402 frontend.Variable(uint64(0xecf623c9cd118815)),
1403 frontend.Variable(uint64(0x28625def198c33c7)),
1404 frontend.Variable(uint64(0xccfc5f7de5c3636a)),
1405 frontend.Variable(uint64(0xf5e6c40f1621c299)),
1406 frontend.Variable(uint64(0xcec0e58c34cb64b1)),
1407 frontend.Variable(uint64(0xa868ea113387939f)),
1408 },
1409 {
1410 frontend.Variable(uint64(0xd8dddbdc5ce4ef45)),
1411 frontend.Variable(uint64(0xacfc51de8131458c)),
1412 frontend.Variable(uint64(0x146bb3c0fe499ac0)),
1413 frontend.Variable(uint64(0x9e65309f15943903)),
1414 frontend.Variable(uint64(0x80d0ad980773aa70)),
1415 frontend.Variable(uint64(0xf97817d4ddbf0607)),
1416 frontend.Variable(uint64(0xe4626620a75ba276)),
1417 frontend.Variable(uint64(0x0dfdc7fd6fc74f66)),
1418 frontend.Variable(uint64(0xf464864ad6f2bb93)),
1419 frontend.Variable(uint64(0x02d55e52a5d44414)),
1420 frontend.Variable(uint64(0xdd8de62487c40925)),
1421 },
1422 {
1423 frontend.Variable(uint64(0xc15acf44759545a3)),
1424 frontend.Variable(uint64(0xcbfdcf39869719d4)),
1425 frontend.Variable(uint64(0x33f62042e2f80225)),
1426 frontend.Variable(uint64(0x2599c5ead81d8fa3)),
1427 frontend.Variable(uint64(0x0b306cb6c1d7c8d0)),
1428 frontend.Variable(uint64(0x658c80d3df3729b1)),
1429 frontend.Variable(uint64(0xe8d1b2b21b41429c)),
1430 frontend.Variable(uint64(0xa1b67f09d4b3ccb8)),
1431 frontend.Variable(uint64(0x0e1adf8b84437180)),
1432 frontend.Variable(uint64(0x0d593a5e584af47b)),
1433 frontend.Variable(uint64(0xa023d94c56e151c7)),
1434 },
1435 {
1436 frontend.Variable(uint64(0x49026cc3a4afc5a6)),
1437 frontend.Variable(uint64(0xe06dff00ab25b91b)),
1438 frontend.Variable(uint64(0x0ab38c561e8850ff)),
1439 frontend.Variable(uint64(0x92c3c8275e105eeb)),
1440 frontend.Variable(uint64(0xb65256e546889bd0)),
1441 frontend.Variable(uint64(0x3c0468236ea142f6)),
1442 frontend.Variable(uint64(0xee61766b889e18f2)),
1443 frontend.Variable(uint64(0xa206f41b12c30415)),
1444 frontend.Variable(uint64(0x02fe9d756c9f12d1)),
1445 frontend.Variable(uint64(0xe9633210630cbf12)),
1446 frontend.Variable(uint64(0x1ffea9fe85a0b0b1)),
1447 },
1448 {
1449 frontend.Variable(uint64(0x81d1ae8cc50240f3)),
1450 frontend.Variable(uint64(0xf4c77a079a4607d7)),
1451 frontend.Variable(uint64(0xed446b2315e3efc1)),
1452 frontend.Variable(uint64(0x0b0a6b70915178c3)),
1453 frontend.Variable(uint64(0xb11ff3e089f15d9a)),
1454 frontend.Variable(uint64(0x1d4dba0b7ae9cc18)),
1455 frontend.Variable(uint64(0x65d74e2f43b48d05)),
1456 frontend.Variable(uint64(0xa2df8c6b8ae0804a)),
1457 frontend.Variable(uint64(0xa4e6f0a8c33348a6)),
1458 frontend.Variable(uint64(0xc0a26efc7be5669b)),
1459 frontend.Variable(uint64(0xa6b6582c547d0d60)),
1460 },
1461 {
1462 frontend.Variable(uint64(0x84afc741f1c13213)),
1463 frontend.Variable(uint64(0x2f8f43734fc906f3)),
1464 frontend.Variable(uint64(0xde682d72da0a02d9)),
1465 frontend.Variable(uint64(0x0bb005236adb9ef2)),
1466 frontend.Variable(uint64(0x5bdf35c10a8b5624)),
1467 frontend.Variable(uint64(0x0739a8a343950010)),
1468 frontend.Variable(uint64(0x52f515f44785cfbc)),
1469 frontend.Variable(uint64(0xcbaf4e5d82856c60)),
1470 frontend.Variable(uint64(0xac9ea09074e3e150)),
1471 frontend.Variable(uint64(0x8f0fa011a2035fb0)),
1472 frontend.Variable(uint64(0x1a37905d8450904a)),
1473 },
1474 {
1475 frontend.Variable(uint64(0x3abeb80def61cc85)),
1476 frontend.Variable(uint64(0x9d19c9dd4eac4133)),
1477 frontend.Variable(uint64(0x075a652d9641a985)),
1478 frontend.Variable(uint64(0x9daf69ae1b67e667)),
1479 frontend.Variable(uint64(0x364f71da77920a18)),
1480 frontend.Variable(uint64(0x50bd769f745c95b1)),
1481 frontend.Variable(uint64(0xf223d1180dbbf3fc)),
1482 frontend.Variable(uint64(0x2f885e584e04aa99)),
1483 frontend.Variable(uint64(0xb69a0fa70aea684a)),
1484 frontend.Variable(uint64(0x09584acaa6e062a0)),
1485 frontend.Variable(uint64(0x0bc051640145b19b)),
1486 },
1487}