Org.BouncyCastle.Crypto.Engines.BlowfishEngine.DecryptBlock C# (CSharp) Method

DecryptBlock() private method

private DecryptBlock ( byte src, int srcIndex, byte dst, int dstIndex ) : void
src byte
srcIndex int
dst byte
dstIndex int
return void
        private void DecryptBlock(
            byte[] src,
            int srcIndex,
            byte[] dst,
            int dstIndex)
        {
            uint xl = Pack.LE_To_UInt32(src, srcIndex);
            uint xr = Pack.LE_To_UInt32(src, srcIndex + 4);

            xl ^= P[ROUNDS + 1];

            for (int i = ROUNDS; i > 0; i -= 2)
            {
                xr ^= F(xl) ^ P[i];
                xl ^= F(xr) ^ P[i - 1];
            }

            xr ^= P[0];

            Pack.UInt32_To_LE(xr, dst, dstIndex);
            Pack.UInt32_To_LE(xl, dst, dstIndex + 4);
        }