u64x s[8];
u64x t[8];
+ #ifdef _unroll
#pragma unroll
+ #endif
for (int i = 0; i < 8; i++)
{
t[i] = h[i];
k[i] = SBOG_LPSti64;
}
+ #ifdef _unroll
#pragma unroll
+ #endif
for (int i = 0; i < 8; i++)
{
s[i] = m[i];
for (int r = 0; r < 12; r++)
{
+ #ifdef _unroll
#pragma unroll
+ #endif
for (int i = 0; i < 8; i++)
{
t[i] = s[i] ^ k[i];
}
+ #ifdef _unroll
#pragma unroll
+ #endif
for (int i = 0; i < 8; i++)
{
s[i] = SBOG_LPSti64;
t[i] = k[i] ^ sbob_rc64[r][i];
}
+ #ifdef _unroll
#pragma unroll
+ #endif
for (int i = 0; i < 8; i++)
{
k[i] = SBOG_LPSti64;
}
}
+ #ifdef _unroll
#pragma unroll
+ #endif
for (int i = 0; i < 8; i++)
{
h[i] ^= s[i] ^ k[i] ^ m[i];