static WhirlpoolDigest()
{
EIGHT[BITCOUNT_ARRAY_SIZE - 1] = 8;
for (int i = 0; i < 256; i++)
{
int v1 = SBOX[i];
int v2 = maskWithReductionPolynomial(v1 << 1);
int v4 = maskWithReductionPolynomial(v2 << 1);
int v5 = v4 ^ v1;
int v8 = maskWithReductionPolynomial(v4 << 1);
int v9 = v8 ^ v1;
C0[i] = packIntoLong(v1, v1, v4, v1, v8, v5, v2, v9);
C1[i] = packIntoLong(v9, v1, v1, v4, v1, v8, v5, v2);
C2[i] = packIntoLong(v2, v9, v1, v1, v4, v1, v8, v5);
C3[i] = packIntoLong(v5, v2, v9, v1, v1, v4, v1, v8);
C4[i] = packIntoLong(v8, v5, v2, v9, v1, v1, v4, v1);
C5[i] = packIntoLong(v1, v8, v5, v2, v9, v1, v1, v4);
C6[i] = packIntoLong(v4, v1, v8, v5, v2, v9, v1, v1);
C7[i] = packIntoLong(v1, v4, v1, v8, v5, v2, v9, v1);
}
}