#if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR) #pragma warning disable using System; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto { /// Base interface for a symmetric key block cipher. public interface IBlockCipher { /// The name of the algorithm this cipher implements. string AlgorithmName { get; } /// Initialise the cipher. /// Initialise for encryption if true, for decryption if false. /// The key or other data required by the cipher. void Init(bool forEncryption, ICipherParameters parameters); /// The block size for this cipher, in bytes. int GetBlockSize(); /// Indicates whether this cipher can handle partial blocks. bool IsPartialBlockOkay { get; } /// Process a block. /// The input buffer. /// The offset into inBuf that the input block begins. /// The output buffer. /// The offset into outBuf to write the output block. /// If input block is wrong size, or outBuf too small. /// The number of bytes processed and produced. int ProcessBlock(byte[] inBuf, int inOff, byte[] outBuf, int outOff); /// /// Reset the cipher to the same state as it was after the last init (if there was one). /// void Reset(); } } #pragma warning restore #endif