static WhirlpoolDigest()
{
WhirlpoolDigest.SBOX = new int[]
{
24,
35,
198,
232,
135,
184,
1,
79,
54,
166,
210,
245,
121,
111,
145,
82,
96,
188,
155,
142,
163,
12,
123,
53,
29,
224,
215,
194,
46,
75,
254,
87,
21,
119,
55,
229,
159,
240,
74,
218,
88,
201,
41,
10,
177,
160,
107,
133,
189,
93,
16,
244,
203,
62,
5,
103,
228,
39,
65,
139,
167,
125,
149,
216,
251,
238,
124,
102,
221,
23,
71,
158,
202,
45,
191,
7,
173,
90,
131,
51,
99,
2,
170,
113,
200,
25,
73,
217,
242,
227,
91,
136,
154,
38,
50,
176,
233,
15,
213,
128,
190,
205,
52,
72,
255,
122,
144,
95,
32,
104,
26,
174,
180,
84,
147,
34,
100,
241,
115,
18,
64,
8,
195,
236,
219,
161,
141,
61,
151,
0,
207,
43,
118,
130,
214,
27,
181,
175,
106,
80,
69,
243,
48,
239,
63,
85,
162,
234,
101,
186,
47,
192,
222,
28,
253,
77,
146,
117,
6,
138,
178,
230,
14,
31,
98,
212,
168,
150,
249,
197,
37,
89,
132,
114,
57,
76,
94,
120,
56,
140,
209,
165,
226,
97,
179,
33,
156,
30,
67,
199,
252,
4,
81,
153,
109,
13,
250,
223,
126,
36,
59,
171,
206,
17,
143,
78,
183,
235,
60,
129,
148,
247,
185,
19,
44,
211,
231,
110,
196,
3,
86,
68,
127,
169,
42,
187,
193,
83,
220,
11,
157,
108,
49,
116,
246,
70,
172,
137,
20,
225,
22,
58,
105,
9,
112,
182,
208,
237,
204,
66,
152,
164,
40,
92,
248,
134
};
WhirlpoolDigest.C0 = new long[256];
WhirlpoolDigest.C1 = new long[256];
WhirlpoolDigest.C2 = new long[256];
WhirlpoolDigest.C3 = new long[256];
WhirlpoolDigest.C4 = new long[256];
WhirlpoolDigest.C5 = new long[256];
WhirlpoolDigest.C6 = new long[256];
WhirlpoolDigest.C7 = new long[256];
WhirlpoolDigest.EIGHT = new short[32];
WhirlpoolDigest.EIGHT[31] = 8;
for (int i = 0; i < 256; i++)
{
int num = WhirlpoolDigest.SBOX[i];
int num2 = WhirlpoolDigest.maskWithReductionPolynomial(num << 1);
int num3 = WhirlpoolDigest.maskWithReductionPolynomial(num2 << 1);
int num4 = num3 ^ num;
int num5 = WhirlpoolDigest.maskWithReductionPolynomial(num3 << 1);
int num6 = num5 ^ num;
WhirlpoolDigest.C0[i] = WhirlpoolDigest.packIntoLong(num, num, num3, num, num5, num4, num2, num6);
WhirlpoolDigest.C1[i] = WhirlpoolDigest.packIntoLong(num6, num, num, num3, num, num5, num4, num2);
WhirlpoolDigest.C2[i] = WhirlpoolDigest.packIntoLong(num2, num6, num, num, num3, num, num5, num4);
WhirlpoolDigest.C3[i] = WhirlpoolDigest.packIntoLong(num4, num2, num6, num, num, num3, num, num5);
WhirlpoolDigest.C4[i] = WhirlpoolDigest.packIntoLong(num5, num4, num2, num6, num, num, num3, num);
WhirlpoolDigest.C5[i] = WhirlpoolDigest.packIntoLong(num, num5, num4, num2, num6, num, num, num3);
WhirlpoolDigest.C6[i] = WhirlpoolDigest.packIntoLong(num3, num, num5, num4, num2, num6, num, num);
WhirlpoolDigest.C7[i] = WhirlpoolDigest.packIntoLong(num, num3, num, num5, num4, num2, num6, num);
}
}