#if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR) using System; namespace Org.BouncyCastle.Crypto { /// The interface stream ciphers conform to. public interface IStreamCipher { /// The name of the algorithm this cipher implements. string AlgorithmName { get; } /// Initialise the cipher. /// If true the cipher is initialised for encryption, /// if false for decryption. /// The key and other data required by the cipher. /// /// If the parameters argument is inappropriate. /// void Init(bool forEncryption, ICipherParameters parameters); /// encrypt/decrypt a single byte returning the result. /// the byte to be processed. /// the result of processing the input byte. byte ReturnByte(byte input); /// /// Process a block of bytes from input putting the result into output. /// /// The input byte array. /// /// The offset into input where the data to be processed starts. /// /// The number of bytes to be processed. /// The output buffer the processed bytes go into. /// /// The offset into output the processed data starts at. /// /// If the output buffer is too small. void ProcessBytes(byte[] input, int inOff, int length, byte[] output, int outOff); /// /// Reset the cipher to the same state as it was after the last init (if there was one). /// void Reset(); } } #endif