public override int DecryptBlock(byte[] inputBuffer, int inputOffset, int inputCount, byte[] outputBuffer, int outputOffset)
{
if ((inputOffset + BlockSize) > inputBuffer.Length)
throw new IndexOutOfRangeException("input buffer too short");
if ((outputOffset + BlockSize) > outputBuffer.Length)
throw new IndexOutOfRangeException("output buffer too short");
if (_decryptionKey == null)
{
_decryptionKey = GenerateWorkingKey(false, Key);
}
DesFunc(_decryptionKey, inputBuffer, inputOffset, outputBuffer, outputOffset);
return BlockSize;
}