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