6 #define LT(i,a,b,c,d,e) {\ 7 a = rotlFixed(a, 13); \ 9 d = rotlFixed(d ^ c ^ (a << 3), 7); \ 10 b = rotlFixed(b ^ a ^ c, 1); \ 11 a = rotlFixed(a ^ b ^ d, 5); \ 12 c = rotlFixed(c ^ d ^ (b << 7), 22);} 15 #define ILT(i,a,b,c,d,e) {\ 16 c = rotrFixed(c, 22); \ 17 a = rotrFixed(a, 5); \ 20 b = rotrFixed(b, 1); \ 21 d = rotrFixed(d, 7) ^ c ^ (a << 3); \ 23 c = rotrFixed(c, 3); \ 24 a = rotrFixed(a, 13);} 27 #define beforeS0(f) f(0,a,b,c,d,e) 28 #define afterS0(f) f(1,b,e,c,a,d) 29 #define afterS1(f) f(2,c,b,a,e,d) 30 #define afterS2(f) f(3,a,e,b,d,c) 31 #define afterS3(f) f(4,e,b,d,c,a) 32 #define afterS4(f) f(5,b,a,e,c,d) 33 #define afterS5(f) f(6,a,c,b,e,d) 34 #define afterS6(f) f(7,a,c,d,b,e) 35 #define afterS7(f) f(8,d,e,b,a,c) 38 #define beforeI7(f) f(8,a,b,c,d,e) 39 #define afterI7(f) f(7,d,a,b,e,c) 40 #define afterI6(f) f(6,a,b,c,e,d) 41 #define afterI5(f) f(5,b,d,e,c,a) 42 #define afterI4(f) f(4,b,c,e,a,d) 43 #define afterI3(f) f(3,a,b,e,c,d) 44 #define afterI2(f) f(2,b,d,e,c,a) 45 #define afterI1(f) f(1,a,b,c,e,d) 46 #define afterI0(f) f(0,a,d,b,e,c) 51 #define S0(i, r0, r1, r2, r3, r4) \ 73 #define I0(i, r0, r1, r2, r3, r4) \ 96 #define S1(i, r0, r1, r2, r3, r4) \ 118 #define I1(i, r0, r1, r2, r3, r4) \ 141 #define S2(i, r0, r1, r2, r3, r4) \ 161 #define I2(i, r0, r1, r2, r3, r4) \ 184 #define S3(i, r0, r1, r2, r3, r4) \ 207 #define I3(i, r0, r1, r2, r3, r4) \ 229 #define S4(i, r0, r1, r2, r3, r4) \ 253 #define I4(i, r0, r1, r2, r3, r4) \ 277 #define S5(i, r0, r1, r2, r3, r4) \ 300 #define I5(i, r0, r1, r2, r3, r4) \ 323 #define S6(i, r0, r1, r2, r3, r4) \ 345 #define I6(i, r0, r1, r2, r3, r4) \ 366 #define S7(i, r0, r1, r2, r3, r4) \ 390 #define I7(i, r0, r1, r2, r3, r4) \ 414 #define KX(r, a, b, c, d, e) {\ 420 #define LK(r, a, b, c, d, e) {\ 421 a = k[(8-r)*4 + 0]; \ 422 b = k[(8-r)*4 + 1]; \ 423 c = k[(8-r)*4 + 2]; \ 426 #define SK(r, a, b, c, d, e) {\ 427 k[(8-r)*4 + 4] = a; \ 428 k[(8-r)*4 + 5] = b; \ 429 k[(8-r)*4 + 6] = c; \
#define NAMESPACE_BEGIN(x)
void Serpent_KeySchedule(word32 *k, unsigned int rounds, const byte *userKey, size_t keylen)