public override int EncryptBlock(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 (_encryptionKey == null)
{
_encryptionKey = GenerateWorkingKey(true, Key);
}
DesFunc(_encryptionKey, inputBuffer, inputOffset, outputBuffer, outputOffset);
return BlockSize;
}