private int encryptBlock(
byte[] inBytes,
int inOff,
byte[] outBytes,
int outOff)
{
// Pack bytes into integers
uint v0 = Pack.BE_To_UInt32(inBytes, inOff);
uint v1 = Pack.BE_To_UInt32(inBytes, inOff + 4);
uint sum = 0;
for (int i = 0; i != rounds; i++)
{
sum += delta;
v0 += ((v1 << 4) + _a) ^ (v1 + sum) ^ ((v1 >> 5) + _b);
v1 += ((v0 << 4) + _c) ^ (v0 + sum) ^ ((v0 >> 5) + _d);
}
Pack.UInt32_To_BE(v0, outBytes, outOff);
Pack.UInt32_To_BE(v1, outBytes, outOff + 4);
return block_size;
}