public int ProcessBlock(
byte[] inBytes,
int inOff,
byte[] outBytes,
int outOff)
{
if (!_initialised)
throw new InvalidOperationException(AlgorithmName + " not initialised");
if ((inOff + block_size) > inBytes.Length)
throw new DataLengthException("input buffer too short");
if ((outOff + block_size) > outBytes.Length)
throw new DataLengthException("output buffer too short");
return _forEncryption
? encryptBlock(inBytes, inOff, outBytes, outOff)
: decryptBlock(inBytes, inOff, outBytes, outOff);
}