Finalize perldelta
[perl.git] / sbox32_hash.h
1 #ifndef DEBUG_SBOX32_HASH
2 #define DEBUG_SBOX32_HASH 0
3
4 #include "zaphod32_hash.h"
5
6 #if DEBUG_SBOX32_HASH == 1
7 #include <stdio.h>
8 #define SBOX32_WARN6(pat,v0,v1,v2,v3,v4,v5)    printf(pat, v0, v1, v2, v3, v4, v5)
9 #define SBOX32_WARN5(pat,v0,v1,v2,v3,v4)       printf(pat, v0, v1, v2, v3, v4)
10 #define SBOX32_WARN4(pat,v0,v1,v2,v3)          printf(pat, v0, v1, v2, v3)
11 #define SBOX32_WARN3(pat,v0,v1,v2)             printf(pat, v0, v1, v2)
12 #define SBOX32_WARN2(pat,v0,v1)                printf(pat, v0, v1)
13 #define NOTE3(pat,v0,v1,v2)             printf(pat, v0, v1, v2)
14 #elif DEBUG_SBOX32_HASH == 2
15 #define SBOX32_WARN6(pat,v0,v1,v2,v3,v4,v5)
16 #define SBOX32_WARN5(pat,v0,v1,v2,v3,v4)
17 #define SBOX32_WARN4(pat,v0,v1,v2,v3)
18 #define SBOX32_WARN3(pat,v0,v1,v2)
19 #define SBOX32_WARN2(pat,v0,v1)
20 #define NOTE3(pat,v0,v1,v2)             printf(pat, v0, v1, v2)
21 #else
22 #define SBOX32_WARN6(pat,v0,v1,v2,v3,v4,v5)
23 #define SBOX32_WARN5(pat,v0,v1,v2,v3,v4)
24 #define SBOX32_WARN4(pat,v0,v1,v2,v3)
25 #define SBOX32_WARN3(pat,v0,v1,v2)
26 #define NOTE3(pat,v0,v1,v2)
27 #define SBOX32_WARN2(pat,v0,v1)
28 #endif
29
30 #ifndef PERL_SEEN_HV_FUNC_H
31 #if !defined(U32) 
32     #include <stdint.h>
33     #define U32 uint32_t
34 #endif
35
36 #if !defined(U8)
37     #define U8 unsigned char
38 #endif
39
40 #if !defined(U16)
41     #define U16 uint16_t
42 #endif
43
44 #ifndef STRLEN
45 #define STRLEN int
46 #endif
47 #endif
48
49 #ifndef SBOX32_STATIC_INLINE
50 #ifdef PERL_STATIC_INLINE
51 #define SBOX32_STATIC_INLINE PERL_STATIC_INLINE
52 #else
53 #define SBOX32_STATIC_INLINE static inline
54 #endif
55 #endif
56
57 #ifndef STMT_START
58 #define STMT_START do
59 #define STMT_END while(0)
60 #endif
61
62 #ifndef U8TO32_LE
63 #define U8TO32_LE(ptr)  (*((const U32 *)(ptr)))
64 #endif
65 #ifndef U8TO16_LE
66 #define U8TO16_LE(ptr)  (*((const U16 *)(ptr)))
67 #endif
68
69 #ifndef SBOX32_MAX_LEN
70 #define SBOX32_MAX_LEN 256
71 #endif
72
73 #ifndef SBOX32_STATE_WORDS
74 #define SBOX32_STATE_WORDS (1 + (SBOX32_MAX_LEN * 256))
75 #define SBOX32_STATE_BYTES (SBOX32_STATE_WORDS * sizeof(U32))
76 #define SBOX32_STATE_BITS (SBOX32_STATE_BYTES * 8)
77 #endif
78
79 #define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
80         SBOX32_WARN5("v0=%08x v1=%08x v2=%08x v3=%08x - SBOX32_MIX4 %s\n", \
81                             (unsigned int)v0, (unsigned int)v1,    \
82                             (unsigned int)v2, (unsigned int)v3, text);   \
83         v0 = ROTL32(v0,13) - v3;    \
84         v1 ^= v2;                   \
85         v3 = ROTL32(v3, 9) + v1;    \
86         v2 ^= v0;                   \
87         v0 = ROTL32(v0,14) ^ v3;    \
88         v1 = ROTL32(v1,25) - v2;    \
89         v3 ^= v1;                   \
90         v2 = ROTL32(v2, 4) - v0;    \
91 } STMT_END
92
93 #define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
94     SBOX32_WARN4("v0=%08x v1=%08x v2=%08x - SBOX32_MIX3 %s\n",              \
95             (unsigned int)v0,(unsigned int)v1,(unsigned int)v2, text );     \
96     v0 = ROTL32(v0,16) - v2;   \
97     v1 = ROTR32(v1,13) ^ v2;   \
98     v2 = ROTL32(v2,17) + v1;   \
99     v0 = ROTR32(v0, 2) + v1;   \
100     v1 = ROTR32(v1,17) - v0;   \
101     v2 = ROTR32(v2, 7) ^ v0;   \
102 } STMT_END
103
104 #if SBOX32_MAX_LEN > 256
105 #error "SBOX32_MAX_LEN is set too high!"
106 #elif SBOX32_MAX_LEN == 256
107 #define case_256_SBOX32(hash,state,key) _SBOX32_CASE(256,hash,state,key)
108 #else
109 #define case_256_SBOX32(hash,state,key) /**/
110 #endif
111 #if SBOX32_MAX_LEN >= 255
112 #define case_255_SBOX32(hash,state,key) _SBOX32_CASE(255,hash,state,key)
113 #else
114 #define case_255_SBOX32(hash,state,key) /**/
115 #endif
116 #if SBOX32_MAX_LEN >= 254
117 #define case_254_SBOX32(hash,state,key) _SBOX32_CASE(254,hash,state,key)
118 #else
119 #define case_254_SBOX32(hash,state,key) /**/
120 #endif
121 #if SBOX32_MAX_LEN >= 253
122 #define case_253_SBOX32(hash,state,key) _SBOX32_CASE(253,hash,state,key)
123 #else
124 #define case_253_SBOX32(hash,state,key) /**/
125 #endif
126 #if SBOX32_MAX_LEN >= 252
127 #define case_252_SBOX32(hash,state,key) _SBOX32_CASE(252,hash,state,key)
128 #else
129 #define case_252_SBOX32(hash,state,key) /**/
130 #endif
131 #if SBOX32_MAX_LEN >= 251
132 #define case_251_SBOX32(hash,state,key) _SBOX32_CASE(251,hash,state,key)
133 #else
134 #define case_251_SBOX32(hash,state,key) /**/
135 #endif
136 #if SBOX32_MAX_LEN >= 250
137 #define case_250_SBOX32(hash,state,key) _SBOX32_CASE(250,hash,state,key)
138 #else
139 #define case_250_SBOX32(hash,state,key) /**/
140 #endif
141 #if SBOX32_MAX_LEN >= 249
142 #define case_249_SBOX32(hash,state,key) _SBOX32_CASE(249,hash,state,key)
143 #else
144 #define case_249_SBOX32(hash,state,key) /**/
145 #endif
146 #if SBOX32_MAX_LEN >= 248
147 #define case_248_SBOX32(hash,state,key) _SBOX32_CASE(248,hash,state,key)
148 #else
149 #define case_248_SBOX32(hash,state,key) /**/
150 #endif
151 #if SBOX32_MAX_LEN >= 247
152 #define case_247_SBOX32(hash,state,key) _SBOX32_CASE(247,hash,state,key)
153 #else
154 #define case_247_SBOX32(hash,state,key) /**/
155 #endif
156 #if SBOX32_MAX_LEN >= 246
157 #define case_246_SBOX32(hash,state,key) _SBOX32_CASE(246,hash,state,key)
158 #else
159 #define case_246_SBOX32(hash,state,key) /**/
160 #endif
161 #if SBOX32_MAX_LEN >= 245
162 #define case_245_SBOX32(hash,state,key) _SBOX32_CASE(245,hash,state,key)
163 #else
164 #define case_245_SBOX32(hash,state,key) /**/
165 #endif
166 #if SBOX32_MAX_LEN >= 244
167 #define case_244_SBOX32(hash,state,key) _SBOX32_CASE(244,hash,state,key)
168 #else
169 #define case_244_SBOX32(hash,state,key) /**/
170 #endif
171 #if SBOX32_MAX_LEN >= 243
172 #define case_243_SBOX32(hash,state,key) _SBOX32_CASE(243,hash,state,key)
173 #else
174 #define case_243_SBOX32(hash,state,key) /**/
175 #endif
176 #if SBOX32_MAX_LEN >= 242
177 #define case_242_SBOX32(hash,state,key) _SBOX32_CASE(242,hash,state,key)
178 #else
179 #define case_242_SBOX32(hash,state,key) /**/
180 #endif
181 #if SBOX32_MAX_LEN >= 241
182 #define case_241_SBOX32(hash,state,key) _SBOX32_CASE(241,hash,state,key)
183 #else
184 #define case_241_SBOX32(hash,state,key) /**/
185 #endif
186 #if SBOX32_MAX_LEN >= 240
187 #define case_240_SBOX32(hash,state,key) _SBOX32_CASE(240,hash,state,key)
188 #else
189 #define case_240_SBOX32(hash,state,key) /**/
190 #endif
191 #if SBOX32_MAX_LEN >= 239
192 #define case_239_SBOX32(hash,state,key) _SBOX32_CASE(239,hash,state,key)
193 #else
194 #define case_239_SBOX32(hash,state,key) /**/
195 #endif
196 #if SBOX32_MAX_LEN >= 238
197 #define case_238_SBOX32(hash,state,key) _SBOX32_CASE(238,hash,state,key)
198 #else
199 #define case_238_SBOX32(hash,state,key) /**/
200 #endif
201 #if SBOX32_MAX_LEN >= 237
202 #define case_237_SBOX32(hash,state,key) _SBOX32_CASE(237,hash,state,key)
203 #else
204 #define case_237_SBOX32(hash,state,key) /**/
205 #endif
206 #if SBOX32_MAX_LEN >= 236
207 #define case_236_SBOX32(hash,state,key) _SBOX32_CASE(236,hash,state,key)
208 #else
209 #define case_236_SBOX32(hash,state,key) /**/
210 #endif
211 #if SBOX32_MAX_LEN >= 235
212 #define case_235_SBOX32(hash,state,key) _SBOX32_CASE(235,hash,state,key)
213 #else
214 #define case_235_SBOX32(hash,state,key) /**/
215 #endif
216 #if SBOX32_MAX_LEN >= 234
217 #define case_234_SBOX32(hash,state,key) _SBOX32_CASE(234,hash,state,key)
218 #else
219 #define case_234_SBOX32(hash,state,key) /**/
220 #endif
221 #if SBOX32_MAX_LEN >= 233
222 #define case_233_SBOX32(hash,state,key) _SBOX32_CASE(233,hash,state,key)
223 #else
224 #define case_233_SBOX32(hash,state,key) /**/
225 #endif
226 #if SBOX32_MAX_LEN >= 232
227 #define case_232_SBOX32(hash,state,key) _SBOX32_CASE(232,hash,state,key)
228 #else
229 #define case_232_SBOX32(hash,state,key) /**/
230 #endif
231 #if SBOX32_MAX_LEN >= 231
232 #define case_231_SBOX32(hash,state,key) _SBOX32_CASE(231,hash,state,key)
233 #else
234 #define case_231_SBOX32(hash,state,key) /**/
235 #endif
236 #if SBOX32_MAX_LEN >= 230
237 #define case_230_SBOX32(hash,state,key) _SBOX32_CASE(230,hash,state,key)
238 #else
239 #define case_230_SBOX32(hash,state,key) /**/
240 #endif
241 #if SBOX32_MAX_LEN >= 229
242 #define case_229_SBOX32(hash,state,key) _SBOX32_CASE(229,hash,state,key)
243 #else
244 #define case_229_SBOX32(hash,state,key) /**/
245 #endif
246 #if SBOX32_MAX_LEN >= 228
247 #define case_228_SBOX32(hash,state,key) _SBOX32_CASE(228,hash,state,key)
248 #else
249 #define case_228_SBOX32(hash,state,key) /**/
250 #endif
251 #if SBOX32_MAX_LEN >= 227
252 #define case_227_SBOX32(hash,state,key) _SBOX32_CASE(227,hash,state,key)
253 #else
254 #define case_227_SBOX32(hash,state,key) /**/
255 #endif
256 #if SBOX32_MAX_LEN >= 226
257 #define case_226_SBOX32(hash,state,key) _SBOX32_CASE(226,hash,state,key)
258 #else
259 #define case_226_SBOX32(hash,state,key) /**/
260 #endif
261 #if SBOX32_MAX_LEN >= 225
262 #define case_225_SBOX32(hash,state,key) _SBOX32_CASE(225,hash,state,key)
263 #else
264 #define case_225_SBOX32(hash,state,key) /**/
265 #endif
266 #if SBOX32_MAX_LEN >= 224
267 #define case_224_SBOX32(hash,state,key) _SBOX32_CASE(224,hash,state,key)
268 #else
269 #define case_224_SBOX32(hash,state,key) /**/
270 #endif
271 #if SBOX32_MAX_LEN >= 223
272 #define case_223_SBOX32(hash,state,key) _SBOX32_CASE(223,hash,state,key)
273 #else
274 #define case_223_SBOX32(hash,state,key) /**/
275 #endif
276 #if SBOX32_MAX_LEN >= 222
277 #define case_222_SBOX32(hash,state,key) _SBOX32_CASE(222,hash,state,key)
278 #else
279 #define case_222_SBOX32(hash,state,key) /**/
280 #endif
281 #if SBOX32_MAX_LEN >= 221
282 #define case_221_SBOX32(hash,state,key) _SBOX32_CASE(221,hash,state,key)
283 #else
284 #define case_221_SBOX32(hash,state,key) /**/
285 #endif
286 #if SBOX32_MAX_LEN >= 220
287 #define case_220_SBOX32(hash,state,key) _SBOX32_CASE(220,hash,state,key)
288 #else
289 #define case_220_SBOX32(hash,state,key) /**/
290 #endif
291 #if SBOX32_MAX_LEN >= 219
292 #define case_219_SBOX32(hash,state,key) _SBOX32_CASE(219,hash,state,key)
293 #else
294 #define case_219_SBOX32(hash,state,key) /**/
295 #endif
296 #if SBOX32_MAX_LEN >= 218
297 #define case_218_SBOX32(hash,state,key) _SBOX32_CASE(218,hash,state,key)
298 #else
299 #define case_218_SBOX32(hash,state,key) /**/
300 #endif
301 #if SBOX32_MAX_LEN >= 217
302 #define case_217_SBOX32(hash,state,key) _SBOX32_CASE(217,hash,state,key)
303 #else
304 #define case_217_SBOX32(hash,state,key) /**/
305 #endif
306 #if SBOX32_MAX_LEN >= 216
307 #define case_216_SBOX32(hash,state,key) _SBOX32_CASE(216,hash,state,key)
308 #else
309 #define case_216_SBOX32(hash,state,key) /**/
310 #endif
311 #if SBOX32_MAX_LEN >= 215
312 #define case_215_SBOX32(hash,state,key) _SBOX32_CASE(215,hash,state,key)
313 #else
314 #define case_215_SBOX32(hash,state,key) /**/
315 #endif
316 #if SBOX32_MAX_LEN >= 214
317 #define case_214_SBOX32(hash,state,key) _SBOX32_CASE(214,hash,state,key)
318 #else
319 #define case_214_SBOX32(hash,state,key) /**/
320 #endif
321 #if SBOX32_MAX_LEN >= 213
322 #define case_213_SBOX32(hash,state,key) _SBOX32_CASE(213,hash,state,key)
323 #else
324 #define case_213_SBOX32(hash,state,key) /**/
325 #endif
326 #if SBOX32_MAX_LEN >= 212
327 #define case_212_SBOX32(hash,state,key) _SBOX32_CASE(212,hash,state,key)
328 #else
329 #define case_212_SBOX32(hash,state,key) /**/
330 #endif
331 #if SBOX32_MAX_LEN >= 211
332 #define case_211_SBOX32(hash,state,key) _SBOX32_CASE(211,hash,state,key)
333 #else
334 #define case_211_SBOX32(hash,state,key) /**/
335 #endif
336 #if SBOX32_MAX_LEN >= 210
337 #define case_210_SBOX32(hash,state,key) _SBOX32_CASE(210,hash,state,key)
338 #else
339 #define case_210_SBOX32(hash,state,key) /**/
340 #endif
341 #if SBOX32_MAX_LEN >= 209
342 #define case_209_SBOX32(hash,state,key) _SBOX32_CASE(209,hash,state,key)
343 #else
344 #define case_209_SBOX32(hash,state,key) /**/
345 #endif
346 #if SBOX32_MAX_LEN >= 208
347 #define case_208_SBOX32(hash,state,key) _SBOX32_CASE(208,hash,state,key)
348 #else
349 #define case_208_SBOX32(hash,state,key) /**/
350 #endif
351 #if SBOX32_MAX_LEN >= 207
352 #define case_207_SBOX32(hash,state,key) _SBOX32_CASE(207,hash,state,key)
353 #else
354 #define case_207_SBOX32(hash,state,key) /**/
355 #endif
356 #if SBOX32_MAX_LEN >= 206
357 #define case_206_SBOX32(hash,state,key) _SBOX32_CASE(206,hash,state,key)
358 #else
359 #define case_206_SBOX32(hash,state,key) /**/
360 #endif
361 #if SBOX32_MAX_LEN >= 205
362 #define case_205_SBOX32(hash,state,key) _SBOX32_CASE(205,hash,state,key)
363 #else
364 #define case_205_SBOX32(hash,state,key) /**/
365 #endif
366 #if SBOX32_MAX_LEN >= 204
367 #define case_204_SBOX32(hash,state,key) _SBOX32_CASE(204,hash,state,key)
368 #else
369 #define case_204_SBOX32(hash,state,key) /**/
370 #endif
371 #if SBOX32_MAX_LEN >= 203
372 #define case_203_SBOX32(hash,state,key) _SBOX32_CASE(203,hash,state,key)
373 #else
374 #define case_203_SBOX32(hash,state,key) /**/
375 #endif
376 #if SBOX32_MAX_LEN >= 202
377 #define case_202_SBOX32(hash,state,key) _SBOX32_CASE(202,hash,state,key)
378 #else
379 #define case_202_SBOX32(hash,state,key) /**/
380 #endif
381 #if SBOX32_MAX_LEN >= 201
382 #define case_201_SBOX32(hash,state,key) _SBOX32_CASE(201,hash,state,key)
383 #else
384 #define case_201_SBOX32(hash,state,key) /**/
385 #endif
386 #if SBOX32_MAX_LEN >= 200
387 #define case_200_SBOX32(hash,state,key) _SBOX32_CASE(200,hash,state,key)
388 #else
389 #define case_200_SBOX32(hash,state,key) /**/
390 #endif
391 #if SBOX32_MAX_LEN >= 199
392 #define case_199_SBOX32(hash,state,key) _SBOX32_CASE(199,hash,state,key)
393 #else
394 #define case_199_SBOX32(hash,state,key) /**/
395 #endif
396 #if SBOX32_MAX_LEN >= 198
397 #define case_198_SBOX32(hash,state,key) _SBOX32_CASE(198,hash,state,key)
398 #else
399 #define case_198_SBOX32(hash,state,key) /**/
400 #endif
401 #if SBOX32_MAX_LEN >= 197
402 #define case_197_SBOX32(hash,state,key) _SBOX32_CASE(197,hash,state,key)
403 #else
404 #define case_197_SBOX32(hash,state,key) /**/
405 #endif
406 #if SBOX32_MAX_LEN >= 196
407 #define case_196_SBOX32(hash,state,key) _SBOX32_CASE(196,hash,state,key)
408 #else
409 #define case_196_SBOX32(hash,state,key) /**/
410 #endif
411 #if SBOX32_MAX_LEN >= 195
412 #define case_195_SBOX32(hash,state,key) _SBOX32_CASE(195,hash,state,key)
413 #else
414 #define case_195_SBOX32(hash,state,key) /**/
415 #endif
416 #if SBOX32_MAX_LEN >= 194
417 #define case_194_SBOX32(hash,state,key) _SBOX32_CASE(194,hash,state,key)
418 #else
419 #define case_194_SBOX32(hash,state,key) /**/
420 #endif
421 #if SBOX32_MAX_LEN >= 193
422 #define case_193_SBOX32(hash,state,key) _SBOX32_CASE(193,hash,state,key)
423 #else
424 #define case_193_SBOX32(hash,state,key) /**/
425 #endif
426 #if SBOX32_MAX_LEN >= 192
427 #define case_192_SBOX32(hash,state,key) _SBOX32_CASE(192,hash,state,key)
428 #else
429 #define case_192_SBOX32(hash,state,key) /**/
430 #endif
431 #if SBOX32_MAX_LEN >= 191
432 #define case_191_SBOX32(hash,state,key) _SBOX32_CASE(191,hash,state,key)
433 #else
434 #define case_191_SBOX32(hash,state,key) /**/
435 #endif
436 #if SBOX32_MAX_LEN >= 190
437 #define case_190_SBOX32(hash,state,key) _SBOX32_CASE(190,hash,state,key)
438 #else
439 #define case_190_SBOX32(hash,state,key) /**/
440 #endif
441 #if SBOX32_MAX_LEN >= 189
442 #define case_189_SBOX32(hash,state,key) _SBOX32_CASE(189,hash,state,key)
443 #else
444 #define case_189_SBOX32(hash,state,key) /**/
445 #endif
446 #if SBOX32_MAX_LEN >= 188
447 #define case_188_SBOX32(hash,state,key) _SBOX32_CASE(188,hash,state,key)
448 #else
449 #define case_188_SBOX32(hash,state,key) /**/
450 #endif
451 #if SBOX32_MAX_LEN >= 187
452 #define case_187_SBOX32(hash,state,key) _SBOX32_CASE(187,hash,state,key)
453 #else
454 #define case_187_SBOX32(hash,state,key) /**/
455 #endif
456 #if SBOX32_MAX_LEN >= 186
457 #define case_186_SBOX32(hash,state,key) _SBOX32_CASE(186,hash,state,key)
458 #else
459 #define case_186_SBOX32(hash,state,key) /**/
460 #endif
461 #if SBOX32_MAX_LEN >= 185
462 #define case_185_SBOX32(hash,state,key) _SBOX32_CASE(185,hash,state,key)
463 #else
464 #define case_185_SBOX32(hash,state,key) /**/
465 #endif
466 #if SBOX32_MAX_LEN >= 184
467 #define case_184_SBOX32(hash,state,key) _SBOX32_CASE(184,hash,state,key)
468 #else
469 #define case_184_SBOX32(hash,state,key) /**/
470 #endif
471 #if SBOX32_MAX_LEN >= 183
472 #define case_183_SBOX32(hash,state,key) _SBOX32_CASE(183,hash,state,key)
473 #else
474 #define case_183_SBOX32(hash,state,key) /**/
475 #endif
476 #if SBOX32_MAX_LEN >= 182
477 #define case_182_SBOX32(hash,state,key) _SBOX32_CASE(182,hash,state,key)
478 #else
479 #define case_182_SBOX32(hash,state,key) /**/
480 #endif
481 #if SBOX32_MAX_LEN >= 181
482 #define case_181_SBOX32(hash,state,key) _SBOX32_CASE(181,hash,state,key)
483 #else
484 #define case_181_SBOX32(hash,state,key) /**/
485 #endif
486 #if SBOX32_MAX_LEN >= 180
487 #define case_180_SBOX32(hash,state,key) _SBOX32_CASE(180,hash,state,key)
488 #else
489 #define case_180_SBOX32(hash,state,key) /**/
490 #endif
491 #if SBOX32_MAX_LEN >= 179
492 #define case_179_SBOX32(hash,state,key) _SBOX32_CASE(179,hash,state,key)
493 #else
494 #define case_179_SBOX32(hash,state,key) /**/
495 #endif
496 #if SBOX32_MAX_LEN >= 178
497 #define case_178_SBOX32(hash,state,key) _SBOX32_CASE(178,hash,state,key)
498 #else
499 #define case_178_SBOX32(hash,state,key) /**/
500 #endif
501 #if SBOX32_MAX_LEN >= 177
502 #define case_177_SBOX32(hash,state,key) _SBOX32_CASE(177,hash,state,key)
503 #else
504 #define case_177_SBOX32(hash,state,key) /**/
505 #endif
506 #if SBOX32_MAX_LEN >= 176
507 #define case_176_SBOX32(hash,state,key) _SBOX32_CASE(176,hash,state,key)
508 #else
509 #define case_176_SBOX32(hash,state,key) /**/
510 #endif
511 #if SBOX32_MAX_LEN >= 175
512 #define case_175_SBOX32(hash,state,key) _SBOX32_CASE(175,hash,state,key)
513 #else
514 #define case_175_SBOX32(hash,state,key) /**/
515 #endif
516 #if SBOX32_MAX_LEN >= 174
517 #define case_174_SBOX32(hash,state,key) _SBOX32_CASE(174,hash,state,key)
518 #else
519 #define case_174_SBOX32(hash,state,key) /**/
520 #endif
521 #if SBOX32_MAX_LEN >= 173
522 #define case_173_SBOX32(hash,state,key) _SBOX32_CASE(173,hash,state,key)
523 #else
524 #define case_173_SBOX32(hash,state,key) /**/
525 #endif
526 #if SBOX32_MAX_LEN >= 172
527 #define case_172_SBOX32(hash,state,key) _SBOX32_CASE(172,hash,state,key)
528 #else
529 #define case_172_SBOX32(hash,state,key) /**/
530 #endif
531 #if SBOX32_MAX_LEN >= 171
532 #define case_171_SBOX32(hash,state,key) _SBOX32_CASE(171,hash,state,key)
533 #else
534 #define case_171_SBOX32(hash,state,key) /**/
535 #endif
536 #if SBOX32_MAX_LEN >= 170
537 #define case_170_SBOX32(hash,state,key) _SBOX32_CASE(170,hash,state,key)
538 #else
539 #define case_170_SBOX32(hash,state,key) /**/
540 #endif
541 #if SBOX32_MAX_LEN >= 169
542 #define case_169_SBOX32(hash,state,key) _SBOX32_CASE(169,hash,state,key)
543 #else
544 #define case_169_SBOX32(hash,state,key) /**/
545 #endif
546 #if SBOX32_MAX_LEN >= 168
547 #define case_168_SBOX32(hash,state,key) _SBOX32_CASE(168,hash,state,key)
548 #else
549 #define case_168_SBOX32(hash,state,key) /**/
550 #endif
551 #if SBOX32_MAX_LEN >= 167
552 #define case_167_SBOX32(hash,state,key) _SBOX32_CASE(167,hash,state,key)
553 #else
554 #define case_167_SBOX32(hash,state,key) /**/
555 #endif
556 #if SBOX32_MAX_LEN >= 166
557 #define case_166_SBOX32(hash,state,key) _SBOX32_CASE(166,hash,state,key)
558 #else
559 #define case_166_SBOX32(hash,state,key) /**/
560 #endif
561 #if SBOX32_MAX_LEN >= 165
562 #define case_165_SBOX32(hash,state,key) _SBOX32_CASE(165,hash,state,key)
563 #else
564 #define case_165_SBOX32(hash,state,key) /**/
565 #endif
566 #if SBOX32_MAX_LEN >= 164
567 #define case_164_SBOX32(hash,state,key) _SBOX32_CASE(164,hash,state,key)
568 #else
569 #define case_164_SBOX32(hash,state,key) /**/
570 #endif
571 #if SBOX32_MAX_LEN >= 163
572 #define case_163_SBOX32(hash,state,key) _SBOX32_CASE(163,hash,state,key)
573 #else
574 #define case_163_SBOX32(hash,state,key) /**/
575 #endif
576 #if SBOX32_MAX_LEN >= 162
577 #define case_162_SBOX32(hash,state,key) _SBOX32_CASE(162,hash,state,key)
578 #else
579 #define case_162_SBOX32(hash,state,key) /**/
580 #endif
581 #if SBOX32_MAX_LEN >= 161
582 #define case_161_SBOX32(hash,state,key) _SBOX32_CASE(161,hash,state,key)
583 #else
584 #define case_161_SBOX32(hash,state,key) /**/
585 #endif
586 #if SBOX32_MAX_LEN >= 160
587 #define case_160_SBOX32(hash,state,key) _SBOX32_CASE(160,hash,state,key)
588 #else
589 #define case_160_SBOX32(hash,state,key) /**/
590 #endif
591 #if SBOX32_MAX_LEN >= 159
592 #define case_159_SBOX32(hash,state,key) _SBOX32_CASE(159,hash,state,key)
593 #else
594 #define case_159_SBOX32(hash,state,key) /**/
595 #endif
596 #if SBOX32_MAX_LEN >= 158
597 #define case_158_SBOX32(hash,state,key) _SBOX32_CASE(158,hash,state,key)
598 #else
599 #define case_158_SBOX32(hash,state,key) /**/
600 #endif
601 #if SBOX32_MAX_LEN >= 157
602 #define case_157_SBOX32(hash,state,key) _SBOX32_CASE(157,hash,state,key)
603 #else
604 #define case_157_SBOX32(hash,state,key) /**/
605 #endif
606 #if SBOX32_MAX_LEN >= 156
607 #define case_156_SBOX32(hash,state,key) _SBOX32_CASE(156,hash,state,key)
608 #else
609 #define case_156_SBOX32(hash,state,key) /**/
610 #endif
611 #if SBOX32_MAX_LEN >= 155
612 #define case_155_SBOX32(hash,state,key) _SBOX32_CASE(155,hash,state,key)
613 #else
614 #define case_155_SBOX32(hash,state,key) /**/
615 #endif
616 #if SBOX32_MAX_LEN >= 154
617 #define case_154_SBOX32(hash,state,key) _SBOX32_CASE(154,hash,state,key)
618 #else
619 #define case_154_SBOX32(hash,state,key) /**/
620 #endif
621 #if SBOX32_MAX_LEN >= 153
622 #define case_153_SBOX32(hash,state,key) _SBOX32_CASE(153,hash,state,key)
623 #else
624 #define case_153_SBOX32(hash,state,key) /**/
625 #endif
626 #if SBOX32_MAX_LEN >= 152
627 #define case_152_SBOX32(hash,state,key) _SBOX32_CASE(152,hash,state,key)
628 #else
629 #define case_152_SBOX32(hash,state,key) /**/
630 #endif
631 #if SBOX32_MAX_LEN >= 151
632 #define case_151_SBOX32(hash,state,key) _SBOX32_CASE(151,hash,state,key)
633 #else
634 #define case_151_SBOX32(hash,state,key) /**/
635 #endif
636 #if SBOX32_MAX_LEN >= 150
637 #define case_150_SBOX32(hash,state,key) _SBOX32_CASE(150,hash,state,key)
638 #else
639 #define case_150_SBOX32(hash,state,key) /**/
640 #endif
641 #if SBOX32_MAX_LEN >= 149
642 #define case_149_SBOX32(hash,state,key) _SBOX32_CASE(149,hash,state,key)
643 #else
644 #define case_149_SBOX32(hash,state,key) /**/
645 #endif
646 #if SBOX32_MAX_LEN >= 148
647 #define case_148_SBOX32(hash,state,key) _SBOX32_CASE(148,hash,state,key)
648 #else
649 #define case_148_SBOX32(hash,state,key) /**/
650 #endif
651 #if SBOX32_MAX_LEN >= 147
652 #define case_147_SBOX32(hash,state,key) _SBOX32_CASE(147,hash,state,key)
653 #else
654 #define case_147_SBOX32(hash,state,key) /**/
655 #endif
656 #if SBOX32_MAX_LEN >= 146
657 #define case_146_SBOX32(hash,state,key) _SBOX32_CASE(146,hash,state,key)
658 #else
659 #define case_146_SBOX32(hash,state,key) /**/
660 #endif
661 #if SBOX32_MAX_LEN >= 145
662 #define case_145_SBOX32(hash,state,key) _SBOX32_CASE(145,hash,state,key)
663 #else
664 #define case_145_SBOX32(hash,state,key) /**/
665 #endif
666 #if SBOX32_MAX_LEN >= 144
667 #define case_144_SBOX32(hash,state,key) _SBOX32_CASE(144,hash,state,key)
668 #else
669 #define case_144_SBOX32(hash,state,key) /**/
670 #endif
671 #if SBOX32_MAX_LEN >= 143
672 #define case_143_SBOX32(hash,state,key) _SBOX32_CASE(143,hash,state,key)
673 #else
674 #define case_143_SBOX32(hash,state,key) /**/
675 #endif
676 #if SBOX32_MAX_LEN >= 142
677 #define case_142_SBOX32(hash,state,key) _SBOX32_CASE(142,hash,state,key)
678 #else
679 #define case_142_SBOX32(hash,state,key) /**/
680 #endif
681 #if SBOX32_MAX_LEN >= 141
682 #define case_141_SBOX32(hash,state,key) _SBOX32_CASE(141,hash,state,key)
683 #else
684 #define case_141_SBOX32(hash,state,key) /**/
685 #endif
686 #if SBOX32_MAX_LEN >= 140
687 #define case_140_SBOX32(hash,state,key) _SBOX32_CASE(140,hash,state,key)
688 #else
689 #define case_140_SBOX32(hash,state,key) /**/
690 #endif
691 #if SBOX32_MAX_LEN >= 139
692 #define case_139_SBOX32(hash,state,key) _SBOX32_CASE(139,hash,state,key)
693 #else
694 #define case_139_SBOX32(hash,state,key) /**/
695 #endif
696 #if SBOX32_MAX_LEN >= 138
697 #define case_138_SBOX32(hash,state,key) _SBOX32_CASE(138,hash,state,key)
698 #else
699 #define case_138_SBOX32(hash,state,key) /**/
700 #endif
701 #if SBOX32_MAX_LEN >= 137
702 #define case_137_SBOX32(hash,state,key) _SBOX32_CASE(137,hash,state,key)
703 #else
704 #define case_137_SBOX32(hash,state,key) /**/
705 #endif
706 #if SBOX32_MAX_LEN >= 136
707 #define case_136_SBOX32(hash,state,key) _SBOX32_CASE(136,hash,state,key)
708 #else
709 #define case_136_SBOX32(hash,state,key) /**/
710 #endif
711 #if SBOX32_MAX_LEN >= 135
712 #define case_135_SBOX32(hash,state,key) _SBOX32_CASE(135,hash,state,key)
713 #else
714 #define case_135_SBOX32(hash,state,key) /**/
715 #endif
716 #if SBOX32_MAX_LEN >= 134
717 #define case_134_SBOX32(hash,state,key) _SBOX32_CASE(134,hash,state,key)
718 #else
719 #define case_134_SBOX32(hash,state,key) /**/
720 #endif
721 #if SBOX32_MAX_LEN >= 133
722 #define case_133_SBOX32(hash,state,key) _SBOX32_CASE(133,hash,state,key)
723 #else
724 #define case_133_SBOX32(hash,state,key) /**/
725 #endif
726 #if SBOX32_MAX_LEN >= 132
727 #define case_132_SBOX32(hash,state,key) _SBOX32_CASE(132,hash,state,key)
728 #else
729 #define case_132_SBOX32(hash,state,key) /**/
730 #endif
731 #if SBOX32_MAX_LEN >= 131
732 #define case_131_SBOX32(hash,state,key) _SBOX32_CASE(131,hash,state,key)
733 #else
734 #define case_131_SBOX32(hash,state,key) /**/
735 #endif
736 #if SBOX32_MAX_LEN >= 130
737 #define case_130_SBOX32(hash,state,key) _SBOX32_CASE(130,hash,state,key)
738 #else
739 #define case_130_SBOX32(hash,state,key) /**/
740 #endif
741 #if SBOX32_MAX_LEN >= 129
742 #define case_129_SBOX32(hash,state,key) _SBOX32_CASE(129,hash,state,key)
743 #else
744 #define case_129_SBOX32(hash,state,key) /**/
745 #endif
746 #if SBOX32_MAX_LEN >= 128
747 #define case_128_SBOX32(hash,state,key) _SBOX32_CASE(128,hash,state,key)
748 #else
749 #define case_128_SBOX32(hash,state,key) /**/
750 #endif
751 #if SBOX32_MAX_LEN >= 127
752 #define case_127_SBOX32(hash,state,key) _SBOX32_CASE(127,hash,state,key)
753 #else
754 #define case_127_SBOX32(hash,state,key) /**/
755 #endif
756 #if SBOX32_MAX_LEN >= 126
757 #define case_126_SBOX32(hash,state,key) _SBOX32_CASE(126,hash,state,key)
758 #else
759 #define case_126_SBOX32(hash,state,key) /**/
760 #endif
761 #if SBOX32_MAX_LEN >= 125
762 #define case_125_SBOX32(hash,state,key) _SBOX32_CASE(125,hash,state,key)
763 #else
764 #define case_125_SBOX32(hash,state,key) /**/
765 #endif
766 #if SBOX32_MAX_LEN >= 124
767 #define case_124_SBOX32(hash,state,key) _SBOX32_CASE(124,hash,state,key)
768 #else
769 #define case_124_SBOX32(hash,state,key) /**/
770 #endif
771 #if SBOX32_MAX_LEN >= 123
772 #define case_123_SBOX32(hash,state,key) _SBOX32_CASE(123,hash,state,key)
773 #else
774 #define case_123_SBOX32(hash,state,key) /**/
775 #endif
776 #if SBOX32_MAX_LEN >= 122
777 #define case_122_SBOX32(hash,state,key) _SBOX32_CASE(122,hash,state,key)
778 #else
779 #define case_122_SBOX32(hash,state,key) /**/
780 #endif
781 #if SBOX32_MAX_LEN >= 121
782 #define case_121_SBOX32(hash,state,key) _SBOX32_CASE(121,hash,state,key)
783 #else
784 #define case_121_SBOX32(hash,state,key) /**/
785 #endif
786 #if SBOX32_MAX_LEN >= 120
787 #define case_120_SBOX32(hash,state,key) _SBOX32_CASE(120,hash,state,key)
788 #else
789 #define case_120_SBOX32(hash,state,key) /**/
790 #endif
791 #if SBOX32_MAX_LEN >= 119
792 #define case_119_SBOX32(hash,state,key) _SBOX32_CASE(119,hash,state,key)
793 #else
794 #define case_119_SBOX32(hash,state,key) /**/
795 #endif
796 #if SBOX32_MAX_LEN >= 118
797 #define case_118_SBOX32(hash,state,key) _SBOX32_CASE(118,hash,state,key)
798 #else
799 #define case_118_SBOX32(hash,state,key) /**/
800 #endif
801 #if SBOX32_MAX_LEN >= 117
802 #define case_117_SBOX32(hash,state,key) _SBOX32_CASE(117,hash,state,key)
803 #else
804 #define case_117_SBOX32(hash,state,key) /**/
805 #endif
806 #if SBOX32_MAX_LEN >= 116
807 #define case_116_SBOX32(hash,state,key) _SBOX32_CASE(116,hash,state,key)
808 #else
809 #define case_116_SBOX32(hash,state,key) /**/
810 #endif
811 #if SBOX32_MAX_LEN >= 115
812 #define case_115_SBOX32(hash,state,key) _SBOX32_CASE(115,hash,state,key)
813 #else
814 #define case_115_SBOX32(hash,state,key) /**/
815 #endif
816 #if SBOX32_MAX_LEN >= 114
817 #define case_114_SBOX32(hash,state,key) _SBOX32_CASE(114,hash,state,key)
818 #else
819 #define case_114_SBOX32(hash,state,key) /**/
820 #endif
821 #if SBOX32_MAX_LEN >= 113
822 #define case_113_SBOX32(hash,state,key) _SBOX32_CASE(113,hash,state,key)
823 #else
824 #define case_113_SBOX32(hash,state,key) /**/
825 #endif
826 #if SBOX32_MAX_LEN >= 112
827 #define case_112_SBOX32(hash,state,key) _SBOX32_CASE(112,hash,state,key)
828 #else
829 #define case_112_SBOX32(hash,state,key) /**/
830 #endif
831 #if SBOX32_MAX_LEN >= 111
832 #define case_111_SBOX32(hash,state,key) _SBOX32_CASE(111,hash,state,key)
833 #else
834 #define case_111_SBOX32(hash,state,key) /**/
835 #endif
836 #if SBOX32_MAX_LEN >= 110
837 #define case_110_SBOX32(hash,state,key) _SBOX32_CASE(110,hash,state,key)
838 #else
839 #define case_110_SBOX32(hash,state,key) /**/
840 #endif
841 #if SBOX32_MAX_LEN >= 109
842 #define case_109_SBOX32(hash,state,key) _SBOX32_CASE(109,hash,state,key)
843 #else
844 #define case_109_SBOX32(hash,state,key) /**/
845 #endif
846 #if SBOX32_MAX_LEN >= 108
847 #define case_108_SBOX32(hash,state,key) _SBOX32_CASE(108,hash,state,key)
848 #else
849 #define case_108_SBOX32(hash,state,key) /**/
850 #endif
851 #if SBOX32_MAX_LEN >= 107
852 #define case_107_SBOX32(hash,state,key) _SBOX32_CASE(107,hash,state,key)
853 #else
854 #define case_107_SBOX32(hash,state,key) /**/
855 #endif
856 #if SBOX32_MAX_LEN >= 106
857 #define case_106_SBOX32(hash,state,key) _SBOX32_CASE(106,hash,state,key)
858 #else
859 #define case_106_SBOX32(hash,state,key) /**/
860 #endif
861 #if SBOX32_MAX_LEN >= 105
862 #define case_105_SBOX32(hash,state,key) _SBOX32_CASE(105,hash,state,key)
863 #else
864 #define case_105_SBOX32(hash,state,key) /**/
865 #endif
866 #if SBOX32_MAX_LEN >= 104
867 #define case_104_SBOX32(hash,state,key) _SBOX32_CASE(104,hash,state,key)
868 #else
869 #define case_104_SBOX32(hash,state,key) /**/
870 #endif
871 #if SBOX32_MAX_LEN >= 103
872 #define case_103_SBOX32(hash,state,key) _SBOX32_CASE(103,hash,state,key)
873 #else
874 #define case_103_SBOX32(hash,state,key) /**/
875 #endif
876 #if SBOX32_MAX_LEN >= 102
877 #define case_102_SBOX32(hash,state,key) _SBOX32_CASE(102,hash,state,key)
878 #else
879 #define case_102_SBOX32(hash,state,key) /**/
880 #endif
881 #if SBOX32_MAX_LEN >= 101
882 #define case_101_SBOX32(hash,state,key) _SBOX32_CASE(101,hash,state,key)
883 #else
884 #define case_101_SBOX32(hash,state,key) /**/
885 #endif
886 #if SBOX32_MAX_LEN >= 100
887 #define case_100_SBOX32(hash,state,key) _SBOX32_CASE(100,hash,state,key)
888 #else
889 #define case_100_SBOX32(hash,state,key) /**/
890 #endif
891 #if SBOX32_MAX_LEN >= 99
892 #define case_99_SBOX32(hash,state,key) _SBOX32_CASE(99,hash,state,key)
893 #else
894 #define case_99_SBOX32(hash,state,key) /**/
895 #endif
896 #if SBOX32_MAX_LEN >= 98
897 #define case_98_SBOX32(hash,state,key) _SBOX32_CASE(98,hash,state,key)
898 #else
899 #define case_98_SBOX32(hash,state,key) /**/
900 #endif
901 #if SBOX32_MAX_LEN >= 97
902 #define case_97_SBOX32(hash,state,key) _SBOX32_CASE(97,hash,state,key)
903 #else
904 #define case_97_SBOX32(hash,state,key) /**/
905 #endif
906 #if SBOX32_MAX_LEN >= 96
907 #define case_96_SBOX32(hash,state,key) _SBOX32_CASE(96,hash,state,key)
908 #else
909 #define case_96_SBOX32(hash,state,key) /**/
910 #endif
911 #if SBOX32_MAX_LEN >= 95
912 #define case_95_SBOX32(hash,state,key) _SBOX32_CASE(95,hash,state,key)
913 #else
914 #define case_95_SBOX32(hash,state,key) /**/
915 #endif
916 #if SBOX32_MAX_LEN >= 94
917 #define case_94_SBOX32(hash,state,key) _SBOX32_CASE(94,hash,state,key)
918 #else
919 #define case_94_SBOX32(hash,state,key) /**/
920 #endif
921 #if SBOX32_MAX_LEN >= 93
922 #define case_93_SBOX32(hash,state,key) _SBOX32_CASE(93,hash,state,key)
923 #else
924 #define case_93_SBOX32(hash,state,key) /**/
925 #endif
926 #if SBOX32_MAX_LEN >= 92
927 #define case_92_SBOX32(hash,state,key) _SBOX32_CASE(92,hash,state,key)
928 #else
929 #define case_92_SBOX32(hash,state,key) /**/
930 #endif
931 #if SBOX32_MAX_LEN >= 91
932 #define case_91_SBOX32(hash,state,key) _SBOX32_CASE(91,hash,state,key)
933 #else
934 #define case_91_SBOX32(hash,state,key) /**/
935 #endif
936 #if SBOX32_MAX_LEN >= 90
937 #define case_90_SBOX32(hash,state,key) _SBOX32_CASE(90,hash,state,key)
938 #else
939 #define case_90_SBOX32(hash,state,key) /**/
940 #endif
941 #if SBOX32_MAX_LEN >= 89
942 #define case_89_SBOX32(hash,state,key) _SBOX32_CASE(89,hash,state,key)
943 #else
944 #define case_89_SBOX32(hash,state,key) /**/
945 #endif
946 #if SBOX32_MAX_LEN >= 88
947 #define case_88_SBOX32(hash,state,key) _SBOX32_CASE(88,hash,state,key)
948 #else
949 #define case_88_SBOX32(hash,state,key) /**/
950 #endif
951 #if SBOX32_MAX_LEN >= 87
952 #define case_87_SBOX32(hash,state,key) _SBOX32_CASE(87,hash,state,key)
953 #else
954 #define case_87_SBOX32(hash,state,key) /**/
955 #endif
956 #if SBOX32_MAX_LEN >= 86
957 #define case_86_SBOX32(hash,state,key) _SBOX32_CASE(86,hash,state,key)
958 #else
959 #define case_86_SBOX32(hash,state,key) /**/
960 #endif
961 #if SBOX32_MAX_LEN >= 85
962 #define case_85_SBOX32(hash,state,key) _SBOX32_CASE(85,hash,state,key)
963 #else
964 #define case_85_SBOX32(hash,state,key) /**/
965 #endif
966 #if SBOX32_MAX_LEN >= 84
967 #define case_84_SBOX32(hash,state,key) _SBOX32_CASE(84,hash,state,key)
968 #else
969 #define case_84_SBOX32(hash,state,key) /**/
970 #endif
971 #if SBOX32_MAX_LEN >= 83
972 #define case_83_SBOX32(hash,state,key) _SBOX32_CASE(83,hash,state,key)
973 #else
974 #define case_83_SBOX32(hash,state,key) /**/
975 #endif
976 #if SBOX32_MAX_LEN >= 82
977 #define case_82_SBOX32(hash,state,key) _SBOX32_CASE(82,hash,state,key)
978 #else
979 #define case_82_SBOX32(hash,state,key) /**/
980 #endif
981 #if SBOX32_MAX_LEN >= 81
982 #define case_81_SBOX32(hash,state,key) _SBOX32_CASE(81,hash,state,key)
983 #else
984 #define case_81_SBOX32(hash,state,key) /**/
985 #endif
986 #if SBOX32_MAX_LEN >= 80
987 #define case_80_SBOX32(hash,state,key) _SBOX32_CASE(80,hash,state,key)
988 #else
989 #define case_80_SBOX32(hash,state,key) /**/
990 #endif
991 #if SBOX32_MAX_LEN >= 79
992 #define case_79_SBOX32(hash,state,key) _SBOX32_CASE(79,hash,state,key)
993 #else
994 #define case_79_SBOX32(hash,state,key) /**/
995 #endif
996 #if SBOX32_MAX_LEN >= 78
997 #define case_78_SBOX32(hash,state,key) _SBOX32_CASE(78,hash,state,key)
998 #else
999 #define case_78_SBOX32(hash,state,key) /**/
1000 #endif
1001 #if SBOX32_MAX_LEN >= 77
1002 #define case_77_SBOX32(hash,state,key) _SBOX32_CASE(77,hash,state,key)
1003 #else
1004 #define case_77_SBOX32(hash,state,key) /**/
1005 #endif
1006 #if SBOX32_MAX_LEN >= 76
1007 #define case_76_SBOX32(hash,state,key) _SBOX32_CASE(76,hash,state,key)
1008 #else
1009 #define case_76_SBOX32(hash,state,key) /**/
1010 #endif
1011 #if SBOX32_MAX_LEN >= 75
1012 #define case_75_SBOX32(hash,state,key) _SBOX32_CASE(75,hash,state,key)
1013 #else
1014 #define case_75_SBOX32(hash,state,key) /**/
1015 #endif
1016 #if SBOX32_MAX_LEN >= 74
1017 #define case_74_SBOX32(hash,state,key) _SBOX32_CASE(74,hash,state,key)
1018 #else
1019 #define case_74_SBOX32(hash,state,key) /**/
1020 #endif
1021 #if SBOX32_MAX_LEN >= 73
1022 #define case_73_SBOX32(hash,state,key) _SBOX32_CASE(73,hash,state,key)
1023 #else
1024 #define case_73_SBOX32(hash,state,key) /**/
1025 #endif
1026 #if SBOX32_MAX_LEN >= 72
1027 #define case_72_SBOX32(hash,state,key) _SBOX32_CASE(72,hash,state,key)
1028 #else
1029 #define case_72_SBOX32(hash,state,key) /**/
1030 #endif
1031 #if SBOX32_MAX_LEN >= 71
1032 #define case_71_SBOX32(hash,state,key) _SBOX32_CASE(71,hash,state,key)
1033 #else
1034 #define case_71_SBOX32(hash,state,key) /**/
1035 #endif
1036 #if SBOX32_MAX_LEN >= 70
1037 #define case_70_SBOX32(hash,state,key) _SBOX32_CASE(70,hash,state,key)
1038 #else
1039 #define case_70_SBOX32(hash,state,key) /**/
1040 #endif
1041 #if SBOX32_MAX_LEN >= 69
1042 #define case_69_SBOX32(hash,state,key) _SBOX32_CASE(69,hash,state,key)
1043 #else
1044 #define case_69_SBOX32(hash,state,key) /**/
1045 #endif
1046 #if SBOX32_MAX_LEN >= 68
1047 #define case_68_SBOX32(hash,state,key) _SBOX32_CASE(68,hash,state,key)
1048 #else
1049 #define case_68_SBOX32(hash,state,key) /**/
1050 #endif
1051 #if SBOX32_MAX_LEN >= 67
1052 #define case_67_SBOX32(hash,state,key) _SBOX32_CASE(67,hash,state,key)
1053 #else
1054 #define case_67_SBOX32(hash,state,key) /**/
1055 #endif
1056 #if SBOX32_MAX_LEN >= 66
1057 #define case_66_SBOX32(hash,state,key) _SBOX32_CASE(66,hash,state,key)
1058 #else
1059 #define case_66_SBOX32(hash,state,key) /**/
1060 #endif
1061 #if SBOX32_MAX_LEN >= 65
1062 #define case_65_SBOX32(hash,state,key) _SBOX32_CASE(65,hash,state,key)
1063 #else
1064 #define case_65_SBOX32(hash,state,key) /**/
1065 #endif
1066 #if SBOX32_MAX_LEN >= 64
1067 #define case_64_SBOX32(hash,state,key) _SBOX32_CASE(64,hash,state,key)
1068 #else
1069 #define case_64_SBOX32(hash,state,key) /**/
1070 #endif
1071 #if SBOX32_MAX_LEN >= 63
1072 #define case_63_SBOX32(hash,state,key) _SBOX32_CASE(63,hash,state,key)
1073 #else
1074 #define case_63_SBOX32(hash,state,key) /**/
1075 #endif
1076 #if SBOX32_MAX_LEN >= 62
1077 #define case_62_SBOX32(hash,state,key) _SBOX32_CASE(62,hash,state,key)
1078 #else
1079 #define case_62_SBOX32(hash,state,key) /**/
1080 #endif
1081 #if SBOX32_MAX_LEN >= 61
1082 #define case_61_SBOX32(hash,state,key) _SBOX32_CASE(61,hash,state,key)
1083 #else
1084 #define case_61_SBOX32(hash,state,key) /**/
1085 #endif
1086 #if SBOX32_MAX_LEN >= 60
1087 #define case_60_SBOX32(hash,state,key) _SBOX32_CASE(60,hash,state,key)
1088 #else
1089 #define case_60_SBOX32(hash,state,key) /**/
1090 #endif
1091 #if SBOX32_MAX_LEN >= 59
1092 #define case_59_SBOX32(hash,state,key) _SBOX32_CASE(59,hash,state,key)
1093 #else
1094 #define case_59_SBOX32(hash,state,key) /**/
1095 #endif
1096 #if SBOX32_MAX_LEN >= 58
1097 #define case_58_SBOX32(hash,state,key) _SBOX32_CASE(58,hash,state,key)
1098 #else
1099 #define case_58_SBOX32(hash,state,key) /**/
1100 #endif
1101 #if SBOX32_MAX_LEN >= 57
1102 #define case_57_SBOX32(hash,state,key) _SBOX32_CASE(57,hash,state,key)
1103 #else
1104 #define case_57_SBOX32(hash,state,key) /**/
1105 #endif
1106 #if SBOX32_MAX_LEN >= 56
1107 #define case_56_SBOX32(hash,state,key) _SBOX32_CASE(56,hash,state,key)
1108 #else
1109 #define case_56_SBOX32(hash,state,key) /**/
1110 #endif
1111 #if SBOX32_MAX_LEN >= 55
1112 #define case_55_SBOX32(hash,state,key) _SBOX32_CASE(55,hash,state,key)
1113 #else
1114 #define case_55_SBOX32(hash,state,key) /**/
1115 #endif
1116 #if SBOX32_MAX_LEN >= 54
1117 #define case_54_SBOX32(hash,state,key) _SBOX32_CASE(54,hash,state,key)
1118 #else
1119 #define case_54_SBOX32(hash,state,key) /**/
1120 #endif
1121 #if SBOX32_MAX_LEN >= 53
1122 #define case_53_SBOX32(hash,state,key) _SBOX32_CASE(53,hash,state,key)
1123 #else
1124 #define case_53_SBOX32(hash,state,key) /**/
1125 #endif
1126 #if SBOX32_MAX_LEN >= 52
1127 #define case_52_SBOX32(hash,state,key) _SBOX32_CASE(52,hash,state,key)
1128 #else
1129 #define case_52_SBOX32(hash,state,key) /**/
1130 #endif
1131 #if SBOX32_MAX_LEN >= 51
1132 #define case_51_SBOX32(hash,state,key) _SBOX32_CASE(51,hash,state,key)
1133 #else
1134 #define case_51_SBOX32(hash,state,key) /**/
1135 #endif
1136 #if SBOX32_MAX_LEN >= 50
1137 #define case_50_SBOX32(hash,state,key) _SBOX32_CASE(50,hash,state,key)
1138 #else
1139 #define case_50_SBOX32(hash,state,key) /**/
1140 #endif
1141 #if SBOX32_MAX_LEN >= 49
1142 #define case_49_SBOX32(hash,state,key) _SBOX32_CASE(49,hash,state,key)
1143 #else
1144 #define case_49_SBOX32(hash,state,key) /**/
1145 #endif
1146 #if SBOX32_MAX_LEN >= 48
1147 #define case_48_SBOX32(hash,state,key) _SBOX32_CASE(48,hash,state,key)
1148 #else
1149 #define case_48_SBOX32(hash,state,key) /**/
1150 #endif
1151 #if SBOX32_MAX_LEN >= 47
1152 #define case_47_SBOX32(hash,state,key) _SBOX32_CASE(47,hash,state,key)
1153 #else
1154 #define case_47_SBOX32(hash,state,key) /**/
1155 #endif
1156 #if SBOX32_MAX_LEN >= 46
1157 #define case_46_SBOX32(hash,state,key) _SBOX32_CASE(46,hash,state,key)
1158 #else
1159 #define case_46_SBOX32(hash,state,key) /**/
1160 #endif
1161 #if SBOX32_MAX_LEN >= 45
1162 #define case_45_SBOX32(hash,state,key) _SBOX32_CASE(45,hash,state,key)
1163 #else
1164 #define case_45_SBOX32(hash,state,key) /**/
1165 #endif
1166 #if SBOX32_MAX_LEN >= 44
1167 #define case_44_SBOX32(hash,state,key) _SBOX32_CASE(44,hash,state,key)
1168 #else
1169 #define case_44_SBOX32(hash,state,key) /**/
1170 #endif
1171 #if SBOX32_MAX_LEN >= 43
1172 #define case_43_SBOX32(hash,state,key) _SBOX32_CASE(43,hash,state,key)
1173 #else
1174 #define case_43_SBOX32(hash,state,key) /**/
1175 #endif
1176 #if SBOX32_MAX_LEN >= 42
1177 #define case_42_SBOX32(hash,state,key) _SBOX32_CASE(42,hash,state,key)
1178 #else
1179 #define case_42_SBOX32(hash,state,key) /**/
1180 #endif
1181 #if SBOX32_MAX_LEN >= 41
1182 #define case_41_SBOX32(hash,state,key) _SBOX32_CASE(41,hash,state,key)
1183 #else
1184 #define case_41_SBOX32(hash,state,key) /**/
1185 #endif
1186 #if SBOX32_MAX_LEN >= 40
1187 #define case_40_SBOX32(hash,state,key) _SBOX32_CASE(40,hash,state,key)
1188 #else
1189 #define case_40_SBOX32(hash,state,key) /**/
1190 #endif
1191 #if SBOX32_MAX_LEN >= 39
1192 #define case_39_SBOX32(hash,state,key) _SBOX32_CASE(39,hash,state,key)
1193 #else
1194 #define case_39_SBOX32(hash,state,key) /**/
1195 #endif
1196 #if SBOX32_MAX_LEN >= 38
1197 #define case_38_SBOX32(hash,state,key) _SBOX32_CASE(38,hash,state,key)
1198 #else
1199 #define case_38_SBOX32(hash,state,key) /**/
1200 #endif
1201 #if SBOX32_MAX_LEN >= 37
1202 #define case_37_SBOX32(hash,state,key) _SBOX32_CASE(37,hash,state,key)
1203 #else
1204 #define case_37_SBOX32(hash,state,key) /**/
1205 #endif
1206 #if SBOX32_MAX_LEN >= 36
1207 #define case_36_SBOX32(hash,state,key) _SBOX32_CASE(36,hash,state,key)
1208 #else
1209 #define case_36_SBOX32(hash,state,key) /**/
1210 #endif
1211 #if SBOX32_MAX_LEN >= 35
1212 #define case_35_SBOX32(hash,state,key) _SBOX32_CASE(35,hash,state,key)
1213 #else
1214 #define case_35_SBOX32(hash,state,key) /**/
1215 #endif
1216 #if SBOX32_MAX_LEN >= 34
1217 #define case_34_SBOX32(hash,state,key) _SBOX32_CASE(34,hash,state,key)
1218 #else
1219 #define case_34_SBOX32(hash,state,key) /**/
1220 #endif
1221 #if SBOX32_MAX_LEN >= 33
1222 #define case_33_SBOX32(hash,state,key) _SBOX32_CASE(33,hash,state,key)
1223 #else
1224 #define case_33_SBOX32(hash,state,key) /**/
1225 #endif
1226 #if SBOX32_MAX_LEN >= 32
1227 #define case_32_SBOX32(hash,state,key) _SBOX32_CASE(32,hash,state,key)
1228 #else
1229 #define case_32_SBOX32(hash,state,key) /**/
1230 #endif
1231 #if SBOX32_MAX_LEN >= 31
1232 #define case_31_SBOX32(hash,state,key) _SBOX32_CASE(31,hash,state,key)
1233 #else
1234 #define case_31_SBOX32(hash,state,key) /**/
1235 #endif
1236 #if SBOX32_MAX_LEN >= 30
1237 #define case_30_SBOX32(hash,state,key) _SBOX32_CASE(30,hash,state,key)
1238 #else
1239 #define case_30_SBOX32(hash,state,key) /**/
1240 #endif
1241 #if SBOX32_MAX_LEN >= 29
1242 #define case_29_SBOX32(hash,state,key) _SBOX32_CASE(29,hash,state,key)
1243 #else
1244 #define case_29_SBOX32(hash,state,key) /**/
1245 #endif
1246 #if SBOX32_MAX_LEN >= 28
1247 #define case_28_SBOX32(hash,state,key) _SBOX32_CASE(28,hash,state,key)
1248 #else
1249 #define case_28_SBOX32(hash,state,key) /**/
1250 #endif
1251 #if SBOX32_MAX_LEN >= 27
1252 #define case_27_SBOX32(hash,state,key) _SBOX32_CASE(27,hash,state,key)
1253 #else
1254 #define case_27_SBOX32(hash,state,key) /**/
1255 #endif
1256 #if SBOX32_MAX_LEN >= 26
1257 #define case_26_SBOX32(hash,state,key) _SBOX32_CASE(26,hash,state,key)
1258 #else
1259 #define case_26_SBOX32(hash,state,key) /**/
1260 #endif
1261 #if SBOX32_MAX_LEN >= 25
1262 #define case_25_SBOX32(hash,state,key) _SBOX32_CASE(25,hash,state,key)
1263 #else
1264 #define case_25_SBOX32(hash,state,key) /**/
1265 #endif
1266 #if SBOX32_MAX_LEN >= 24
1267 #define case_24_SBOX32(hash,state,key) _SBOX32_CASE(24,hash,state,key)
1268 #else
1269 #define case_24_SBOX32(hash,state,key) /**/
1270 #endif
1271 #if SBOX32_MAX_LEN >= 23
1272 #define case_23_SBOX32(hash,state,key) _SBOX32_CASE(23,hash,state,key)
1273 #else
1274 #define case_23_SBOX32(hash,state,key) /**/
1275 #endif
1276 #if SBOX32_MAX_LEN >= 22
1277 #define case_22_SBOX32(hash,state,key) _SBOX32_CASE(22,hash,state,key)
1278 #else
1279 #define case_22_SBOX32(hash,state,key) /**/
1280 #endif
1281 #if SBOX32_MAX_LEN >= 21
1282 #define case_21_SBOX32(hash,state,key) _SBOX32_CASE(21,hash,state,key)
1283 #else
1284 #define case_21_SBOX32(hash,state,key) /**/
1285 #endif
1286 #if SBOX32_MAX_LEN >= 20
1287 #define case_20_SBOX32(hash,state,key) _SBOX32_CASE(20,hash,state,key)
1288 #else
1289 #define case_20_SBOX32(hash,state,key) /**/
1290 #endif
1291 #if SBOX32_MAX_LEN >= 19
1292 #define case_19_SBOX32(hash,state,key) _SBOX32_CASE(19,hash,state,key)
1293 #else
1294 #define case_19_SBOX32(hash,state,key) /**/
1295 #endif
1296 #if SBOX32_MAX_LEN >= 18
1297 #define case_18_SBOX32(hash,state,key) _SBOX32_CASE(18,hash,state,key)
1298 #else
1299 #define case_18_SBOX32(hash,state,key) /**/
1300 #endif
1301 #if SBOX32_MAX_LEN >= 17
1302 #define case_17_SBOX32(hash,state,key) _SBOX32_CASE(17,hash,state,key)
1303 #else
1304 #define case_17_SBOX32(hash,state,key) /**/
1305 #endif
1306 #if SBOX32_MAX_LEN >= 16
1307 #define case_16_SBOX32(hash,state,key) _SBOX32_CASE(16,hash,state,key)
1308 #else
1309 #define case_16_SBOX32(hash,state,key) /**/
1310 #endif
1311 #if SBOX32_MAX_LEN >= 15
1312 #define case_15_SBOX32(hash,state,key) _SBOX32_CASE(15,hash,state,key)
1313 #else
1314 #define case_15_SBOX32(hash,state,key) /**/
1315 #endif
1316 #if SBOX32_MAX_LEN >= 14
1317 #define case_14_SBOX32(hash,state,key) _SBOX32_CASE(14,hash,state,key)
1318 #else
1319 #define case_14_SBOX32(hash,state,key) /**/
1320 #endif
1321 #if SBOX32_MAX_LEN >= 13
1322 #define case_13_SBOX32(hash,state,key) _SBOX32_CASE(13,hash,state,key)
1323 #else
1324 #define case_13_SBOX32(hash,state,key) /**/
1325 #endif
1326 #if SBOX32_MAX_LEN >= 12
1327 #define case_12_SBOX32(hash,state,key) _SBOX32_CASE(12,hash,state,key)
1328 #else
1329 #define case_12_SBOX32(hash,state,key) /**/
1330 #endif
1331 #if SBOX32_MAX_LEN >= 11
1332 #define case_11_SBOX32(hash,state,key) _SBOX32_CASE(11,hash,state,key)
1333 #else
1334 #define case_11_SBOX32(hash,state,key) /**/
1335 #endif
1336 #if SBOX32_MAX_LEN >= 10
1337 #define case_10_SBOX32(hash,state,key) _SBOX32_CASE(10,hash,state,key)
1338 #else
1339 #define case_10_SBOX32(hash,state,key) /**/
1340 #endif
1341 #if SBOX32_MAX_LEN >= 9
1342 #define case_9_SBOX32(hash,state,key) _SBOX32_CASE(9,hash,state,key)
1343 #else
1344 #define case_9_SBOX32(hash,state,key) /**/
1345 #endif
1346 #if SBOX32_MAX_LEN >= 8
1347 #define case_8_SBOX32(hash,state,key) _SBOX32_CASE(8,hash,state,key)
1348 #else
1349 #define case_8_SBOX32(hash,state,key) /**/
1350 #endif
1351 #if SBOX32_MAX_LEN >= 7
1352 #define case_7_SBOX32(hash,state,key) _SBOX32_CASE(7,hash,state,key)
1353 #else
1354 #define case_7_SBOX32(hash,state,key) /**/
1355 #endif
1356 #if SBOX32_MAX_LEN >= 6
1357 #define case_6_SBOX32(hash,state,key) _SBOX32_CASE(6,hash,state,key)
1358 #else
1359 #define case_6_SBOX32(hash,state,key) /**/
1360 #endif
1361 #if SBOX32_MAX_LEN >= 5
1362 #define case_5_SBOX32(hash,state,key) _SBOX32_CASE(5,hash,state,key)
1363 #else
1364 #define case_5_SBOX32(hash,state,key) /**/
1365 #endif
1366 #if SBOX32_MAX_LEN >= 4
1367 #define case_4_SBOX32(hash,state,key) _SBOX32_CASE(4,hash,state,key)
1368 #else
1369 #define case_4_SBOX32(hash,state,key) /**/
1370 #endif
1371 #if SBOX32_MAX_LEN >= 3
1372 #define case_3_SBOX32(hash,state,key) _SBOX32_CASE(3,hash,state,key)
1373 #else
1374 #define case_3_SBOX32(hash,state,key) /**/
1375 #endif
1376 #if SBOX32_MAX_LEN >= 2
1377 #define case_2_SBOX32(hash,state,key) _SBOX32_CASE(2,hash,state,key)
1378 #else
1379 #define case_2_SBOX32(hash,state,key) /**/
1380 #endif
1381 #if SBOX32_MAX_LEN >= 1
1382 #define case_1_SBOX32(hash,state,key) _SBOX32_CASE(1,hash,state,key)
1383 #else
1384 #define case_1_SBOX32(hash,state,key) /**/
1385 #endif
1386
1387 #define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
1388     t = (x ^ ( x << 10 ) );                             \
1389     x = y; y = z;                                       \
1390     r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
1391 } STMT_END
1392
1393 #define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
1394     t = ( x ^ ( x << 5 ) );                             \
1395     x = y; y = z; z = w;                                \
1396     r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
1397 } STMT_END
1398
1399 #define SBOX32_SCRAMBLE32(v,prime) STMT_START {  \
1400     v ^= (v>>9);                        \
1401     v ^= (v<<21);                       \
1402     v ^= (v>>16);                       \
1403     v *= prime;                         \
1404     v ^= (v>>17);                       \
1405     v ^= (v<<15);                       \
1406     v ^= (v>>23);                       \
1407 } STMT_END
1408
1409 #ifndef SBOX32_CHURN_ROUNDS 
1410 #define SBOX32_CHURN_ROUNDS 5
1411 #endif
1412 #ifndef SBOX32_SKIP_MASK
1413 #define SBOX32_SKIP_MASK 0x3
1414 #endif
1415
1416 #define _SBOX32_CASE(len,hash,state,key) \
1417     case len: hash ^= state[ 1 + ( 256 * ( len - 1 ) ) + key[ len - 1 ] ];
1418
1419
1420 SBOX32_STATIC_INLINE void sbox32_seed_state96 (
1421     const U8 *seed_ch,
1422     U8 *state_ch
1423 ) {
1424     U32 *seed= (U32 *)seed_ch;
1425     U32 *state= (U32 *)state_ch;
1426     U32 *state_cursor = state + 1;
1427     U32 *sbox32_end = state + 1 + (256 * SBOX32_MAX_LEN);
1428     U32 s0 = seed[0] ^ 0x68736168; /* sbox */
1429     U32 s1 = seed[1] ^ 0x786f6273; /* hash */
1430     U32 s2 = seed[2] ^ 0x646f6f67; /* good */
1431     U32 t1,t2,i;
1432
1433     /* make sure we have all non-zero state elements */
1434     if (!s0) s0 = 1;
1435     if (!s1) s1 = 2;
1436     if (!s2) s2 = 4;
1437
1438     /* Do a bunch of mix rounds to avalanche the seedbits
1439      * before we use them for the XORSHIFT rng. */
1440     for ( i = 0; i < SBOX32_CHURN_ROUNDS; i++ )
1441         SBOX32_MIX3(s0,s1,s2,"SEED STATE");
1442
1443     while ( state_cursor < sbox32_end ) {
1444         U32 *row_end = state_cursor + 256; 
1445         for ( ; state_cursor < row_end; state_cursor++ ) {
1446             XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
1447         }
1448     }
1449     XORSHIFT96_set(*state,s0,s1,s2,t2);
1450 }
1451
1452 SBOX32_STATIC_INLINE void sbox32_seed_state128 (
1453     const U8 *seed_ch,
1454     U8 *state_ch
1455 ) {
1456     U32 *seed= (U32 *)seed_ch;
1457     U32 *state= (U32 *)state_ch;
1458     U32 *state_cursor = state + 1;
1459     U32 *sbox32_end = state + 1 + (256 * SBOX32_MAX_LEN);
1460     U32 s0 = seed[0] ^ 0x68736168; /* sbox */
1461     U32 s1 = seed[1] ^ 0x786f6273; /* hash */
1462     U32 s2 = seed[2] ^ 0x646f6f67; /* good */
1463     U32 s3 = seed[3] ^ 0x74736166; /* fast */
1464     U32 t1,t2,i;
1465
1466     /* make sure we have all non-zero state elements */
1467     if (!s0) s0 = 1;
1468     if (!s1) s1 = 2;
1469     if (!s2) s2 = 4;
1470     if (!s3) s3 = 8;
1471     
1472     /* Do a bunch of mix rounds to avalanche the seedbits
1473      * before we use them for the XORSHIFT rng. */
1474     for ( i = 0; i < SBOX32_CHURN_ROUNDS; i++ )
1475         SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
1476
1477     while ( state_cursor < sbox32_end ) {
1478         U32 *row_end = state_cursor + 256; 
1479         for ( ; state_cursor < row_end; state_cursor++ ) {
1480             XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
1481         }
1482     }
1483     XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
1484 }
1485
1486 SBOX32_STATIC_INLINE U32 sbox32_hash_with_state(
1487     const U8 *state_ch,
1488     const U8 *key,
1489     const STRLEN key_len
1490 ) {
1491     U32 *state= (U32 *)state_ch;
1492     U32 hash = *state;
1493     switch (key_len) {
1494         default: return zaphod32_hash_with_state(state_ch, key, key_len);
1495         case_256_SBOX32(hash,state,key)
1496         case_255_SBOX32(hash,state,key)
1497         case_254_SBOX32(hash,state,key)
1498         case_253_SBOX32(hash,state,key)
1499         case_252_SBOX32(hash,state,key)
1500         case_251_SBOX32(hash,state,key)
1501         case_250_SBOX32(hash,state,key)
1502         case_249_SBOX32(hash,state,key)
1503         case_248_SBOX32(hash,state,key)
1504         case_247_SBOX32(hash,state,key)
1505         case_246_SBOX32(hash,state,key)
1506         case_245_SBOX32(hash,state,key)
1507         case_244_SBOX32(hash,state,key)
1508         case_243_SBOX32(hash,state,key)
1509         case_242_SBOX32(hash,state,key)
1510         case_241_SBOX32(hash,state,key)
1511         case_240_SBOX32(hash,state,key)
1512         case_239_SBOX32(hash,state,key)
1513         case_238_SBOX32(hash,state,key)
1514         case_237_SBOX32(hash,state,key)
1515         case_236_SBOX32(hash,state,key)
1516         case_235_SBOX32(hash,state,key)
1517         case_234_SBOX32(hash,state,key)
1518         case_233_SBOX32(hash,state,key)
1519         case_232_SBOX32(hash,state,key)
1520         case_231_SBOX32(hash,state,key)
1521         case_230_SBOX32(hash,state,key)
1522         case_229_SBOX32(hash,state,key)
1523         case_228_SBOX32(hash,state,key)
1524         case_227_SBOX32(hash,state,key)
1525         case_226_SBOX32(hash,state,key)
1526         case_225_SBOX32(hash,state,key)
1527         case_224_SBOX32(hash,state,key)
1528         case_223_SBOX32(hash,state,key)
1529         case_222_SBOX32(hash,state,key)
1530         case_221_SBOX32(hash,state,key)
1531         case_220_SBOX32(hash,state,key)
1532         case_219_SBOX32(hash,state,key)
1533         case_218_SBOX32(hash,state,key)
1534         case_217_SBOX32(hash,state,key)
1535         case_216_SBOX32(hash,state,key)
1536         case_215_SBOX32(hash,state,key)
1537         case_214_SBOX32(hash,state,key)
1538         case_213_SBOX32(hash,state,key)
1539         case_212_SBOX32(hash,state,key)
1540         case_211_SBOX32(hash,state,key)
1541         case_210_SBOX32(hash,state,key)
1542         case_209_SBOX32(hash,state,key)
1543         case_208_SBOX32(hash,state,key)
1544         case_207_SBOX32(hash,state,key)
1545         case_206_SBOX32(hash,state,key)
1546         case_205_SBOX32(hash,state,key)
1547         case_204_SBOX32(hash,state,key)
1548         case_203_SBOX32(hash,state,key)
1549         case_202_SBOX32(hash,state,key)
1550         case_201_SBOX32(hash,state,key)
1551         case_200_SBOX32(hash,state,key)
1552         case_199_SBOX32(hash,state,key)
1553         case_198_SBOX32(hash,state,key)
1554         case_197_SBOX32(hash,state,key)
1555         case_196_SBOX32(hash,state,key)
1556         case_195_SBOX32(hash,state,key)
1557         case_194_SBOX32(hash,state,key)
1558         case_193_SBOX32(hash,state,key)
1559         case_192_SBOX32(hash,state,key)
1560         case_191_SBOX32(hash,state,key)
1561         case_190_SBOX32(hash,state,key)
1562         case_189_SBOX32(hash,state,key)
1563         case_188_SBOX32(hash,state,key)
1564         case_187_SBOX32(hash,state,key)
1565         case_186_SBOX32(hash,state,key)
1566         case_185_SBOX32(hash,state,key)
1567         case_184_SBOX32(hash,state,key)
1568         case_183_SBOX32(hash,state,key)
1569         case_182_SBOX32(hash,state,key)
1570         case_181_SBOX32(hash,state,key)
1571         case_180_SBOX32(hash,state,key)
1572         case_179_SBOX32(hash,state,key)
1573         case_178_SBOX32(hash,state,key)
1574         case_177_SBOX32(hash,state,key)
1575         case_176_SBOX32(hash,state,key)
1576         case_175_SBOX32(hash,state,key)
1577         case_174_SBOX32(hash,state,key)
1578         case_173_SBOX32(hash,state,key)
1579         case_172_SBOX32(hash,state,key)
1580         case_171_SBOX32(hash,state,key)
1581         case_170_SBOX32(hash,state,key)
1582         case_169_SBOX32(hash,state,key)
1583         case_168_SBOX32(hash,state,key)
1584         case_167_SBOX32(hash,state,key)
1585         case_166_SBOX32(hash,state,key)
1586         case_165_SBOX32(hash,state,key)
1587         case_164_SBOX32(hash,state,key)
1588         case_163_SBOX32(hash,state,key)
1589         case_162_SBOX32(hash,state,key)
1590         case_161_SBOX32(hash,state,key)
1591         case_160_SBOX32(hash,state,key)
1592         case_159_SBOX32(hash,state,key)
1593         case_158_SBOX32(hash,state,key)
1594         case_157_SBOX32(hash,state,key)
1595         case_156_SBOX32(hash,state,key)
1596         case_155_SBOX32(hash,state,key)
1597         case_154_SBOX32(hash,state,key)
1598         case_153_SBOX32(hash,state,key)
1599         case_152_SBOX32(hash,state,key)
1600         case_151_SBOX32(hash,state,key)
1601         case_150_SBOX32(hash,state,key)
1602         case_149_SBOX32(hash,state,key)
1603         case_148_SBOX32(hash,state,key)
1604         case_147_SBOX32(hash,state,key)
1605         case_146_SBOX32(hash,state,key)
1606         case_145_SBOX32(hash,state,key)
1607         case_144_SBOX32(hash,state,key)
1608         case_143_SBOX32(hash,state,key)
1609         case_142_SBOX32(hash,state,key)
1610         case_141_SBOX32(hash,state,key)
1611         case_140_SBOX32(hash,state,key)
1612         case_139_SBOX32(hash,state,key)
1613         case_138_SBOX32(hash,state,key)
1614         case_137_SBOX32(hash,state,key)
1615         case_136_SBOX32(hash,state,key)
1616         case_135_SBOX32(hash,state,key)
1617         case_134_SBOX32(hash,state,key)
1618         case_133_SBOX32(hash,state,key)
1619         case_132_SBOX32(hash,state,key)
1620         case_131_SBOX32(hash,state,key)
1621         case_130_SBOX32(hash,state,key)
1622         case_129_SBOX32(hash,state,key)
1623         case_128_SBOX32(hash,state,key)
1624         case_127_SBOX32(hash,state,key)
1625         case_126_SBOX32(hash,state,key)
1626         case_125_SBOX32(hash,state,key)
1627         case_124_SBOX32(hash,state,key)
1628         case_123_SBOX32(hash,state,key)
1629         case_122_SBOX32(hash,state,key)
1630         case_121_SBOX32(hash,state,key)
1631         case_120_SBOX32(hash,state,key)
1632         case_119_SBOX32(hash,state,key)
1633         case_118_SBOX32(hash,state,key)
1634         case_117_SBOX32(hash,state,key)
1635         case_116_SBOX32(hash,state,key)
1636         case_115_SBOX32(hash,state,key)
1637         case_114_SBOX32(hash,state,key)
1638         case_113_SBOX32(hash,state,key)
1639         case_112_SBOX32(hash,state,key)
1640         case_111_SBOX32(hash,state,key)
1641         case_110_SBOX32(hash,state,key)
1642         case_109_SBOX32(hash,state,key)
1643         case_108_SBOX32(hash,state,key)
1644         case_107_SBOX32(hash,state,key)
1645         case_106_SBOX32(hash,state,key)
1646         case_105_SBOX32(hash,state,key)
1647         case_104_SBOX32(hash,state,key)
1648         case_103_SBOX32(hash,state,key)
1649         case_102_SBOX32(hash,state,key)
1650         case_101_SBOX32(hash,state,key)
1651         case_100_SBOX32(hash,state,key)
1652         case_99_SBOX32(hash,state,key)
1653         case_98_SBOX32(hash,state,key)
1654         case_97_SBOX32(hash,state,key)
1655         case_96_SBOX32(hash,state,key)
1656         case_95_SBOX32(hash,state,key)
1657         case_94_SBOX32(hash,state,key)
1658         case_93_SBOX32(hash,state,key)
1659         case_92_SBOX32(hash,state,key)
1660         case_91_SBOX32(hash,state,key)
1661         case_90_SBOX32(hash,state,key)
1662         case_89_SBOX32(hash,state,key)
1663         case_88_SBOX32(hash,state,key)
1664         case_87_SBOX32(hash,state,key)
1665         case_86_SBOX32(hash,state,key)
1666         case_85_SBOX32(hash,state,key)
1667         case_84_SBOX32(hash,state,key)
1668         case_83_SBOX32(hash,state,key)
1669         case_82_SBOX32(hash,state,key)
1670         case_81_SBOX32(hash,state,key)
1671         case_80_SBOX32(hash,state,key)
1672         case_79_SBOX32(hash,state,key)
1673         case_78_SBOX32(hash,state,key)
1674         case_77_SBOX32(hash,state,key)
1675         case_76_SBOX32(hash,state,key)
1676         case_75_SBOX32(hash,state,key)
1677         case_74_SBOX32(hash,state,key)
1678         case_73_SBOX32(hash,state,key)
1679         case_72_SBOX32(hash,state,key)
1680         case_71_SBOX32(hash,state,key)
1681         case_70_SBOX32(hash,state,key)
1682         case_69_SBOX32(hash,state,key)
1683         case_68_SBOX32(hash,state,key)
1684         case_67_SBOX32(hash,state,key)
1685         case_66_SBOX32(hash,state,key)
1686         case_65_SBOX32(hash,state,key)
1687         case_64_SBOX32(hash,state,key)
1688         case_63_SBOX32(hash,state,key)
1689         case_62_SBOX32(hash,state,key)
1690         case_61_SBOX32(hash,state,key)
1691         case_60_SBOX32(hash,state,key)
1692         case_59_SBOX32(hash,state,key)
1693         case_58_SBOX32(hash,state,key)
1694         case_57_SBOX32(hash,state,key)
1695         case_56_SBOX32(hash,state,key)
1696         case_55_SBOX32(hash,state,key)
1697         case_54_SBOX32(hash,state,key)
1698         case_53_SBOX32(hash,state,key)
1699         case_52_SBOX32(hash,state,key)
1700         case_51_SBOX32(hash,state,key)
1701         case_50_SBOX32(hash,state,key)
1702         case_49_SBOX32(hash,state,key)
1703         case_48_SBOX32(hash,state,key)
1704         case_47_SBOX32(hash,state,key)
1705         case_46_SBOX32(hash,state,key)
1706         case_45_SBOX32(hash,state,key)
1707         case_44_SBOX32(hash,state,key)
1708         case_43_SBOX32(hash,state,key)
1709         case_42_SBOX32(hash,state,key)
1710         case_41_SBOX32(hash,state,key)
1711         case_40_SBOX32(hash,state,key)
1712         case_39_SBOX32(hash,state,key)
1713         case_38_SBOX32(hash,state,key)
1714         case_37_SBOX32(hash,state,key)
1715         case_36_SBOX32(hash,state,key)
1716         case_35_SBOX32(hash,state,key)
1717         case_34_SBOX32(hash,state,key)
1718         case_33_SBOX32(hash,state,key)
1719         case_32_SBOX32(hash,state,key)
1720         case_31_SBOX32(hash,state,key)
1721         case_30_SBOX32(hash,state,key)
1722         case_29_SBOX32(hash,state,key)
1723         case_28_SBOX32(hash,state,key)
1724         case_27_SBOX32(hash,state,key)
1725         case_26_SBOX32(hash,state,key)
1726         case_25_SBOX32(hash,state,key)
1727         case_24_SBOX32(hash,state,key)
1728         case_23_SBOX32(hash,state,key)
1729         case_22_SBOX32(hash,state,key)
1730         case_21_SBOX32(hash,state,key)
1731         case_20_SBOX32(hash,state,key)
1732         case_19_SBOX32(hash,state,key)
1733         case_18_SBOX32(hash,state,key)
1734         case_17_SBOX32(hash,state,key)
1735         case_16_SBOX32(hash,state,key)
1736         case_15_SBOX32(hash,state,key)
1737         case_14_SBOX32(hash,state,key)
1738         case_13_SBOX32(hash,state,key)
1739         case_12_SBOX32(hash,state,key)
1740         case_11_SBOX32(hash,state,key)
1741         case_10_SBOX32(hash,state,key)
1742         case_9_SBOX32(hash,state,key)
1743         case_8_SBOX32(hash,state,key)
1744         case_7_SBOX32(hash,state,key)
1745         case_6_SBOX32(hash,state,key)
1746         case_5_SBOX32(hash,state,key)
1747         case_4_SBOX32(hash,state,key)
1748         case_3_SBOX32(hash,state,key)
1749         case_2_SBOX32(hash,state,key)
1750         case_1_SBOX32(hash,state,key)
1751         case 0: break;
1752     }
1753     return hash;
1754 }
1755
1756 SBOX32_STATIC_INLINE U32 sbox32_hash96(
1757     const U8 *seed_ch,
1758     const U8 *key,
1759     const STRLEN key_len
1760 ) {
1761     U32 state[SBOX32_STATE_WORDS];
1762     sbox32_seed_state96(seed_ch,(U8*)state);
1763     return sbox32_hash_with_state((U8*)state,key,key_len);
1764 }
1765
1766 SBOX32_STATIC_INLINE U32 sbox32_hash128(
1767     const U8 *seed_ch,
1768     const U8 *key,
1769     const STRLEN key_len
1770 ) {
1771     U32 state[SBOX32_STATE_WORDS];
1772     sbox32_seed_state128(seed_ch,(U8*)state);
1773     return sbox32_hash_with_state((U8*)state,key,key_len);
1774 }
1775
1776
1777 #endif