#if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
using System;
namespace Org.BouncyCastle.Crypto
{
/// Base interface for a public/private key block cipher.
public interface IAsymmetricBlockCipher
{
/// 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 maximum size, in bytes, an input block may be.
int GetInputBlockSize();
/// The maximum size, in bytes, an output block will be.
int GetOutputBlockSize();
/// Process a block.
/// The input buffer.
/// The offset into inBuf that the input block begins.
/// The length of the input block.
/// Input decrypts improperly.
/// Input is too large for the cipher.
byte[] ProcessBlock(byte[] inBuf, int inOff, int inLen);
}
}
#endif