private UInt64 DecodeBlock(UInt64 block) { UInt32 b = block.HiWord(); UInt32 a = block.LoWord(); for (int i = 0; i < RoundsCount; i++) { var temp = a; a = b ^ FeistelFunc(a, _roundKeys[i]); b = temp; } UInt64 encodedBlock = a.Combine(b); return encodedBlock; }