KeyExchange public abstract class KeyExchange : Algorithm, IDisposable Documentation public byte[] ExchangeHash { get; } protected Session Session { get; } public BigInteger SharedKey { get; protected set; } public event EventHandler<HostKeyEventArgs> HostKeyReceived protected KeyExchange() protected abstract byte[] CalculateHash() protected bool CanTrustHostKey(KeyHostAlgorithm host) public BlockCipher CreateClientCipher() public HashAlgorithm CreateClientHash() public Compressor CreateCompressor() public Compressor CreateDecompressor() public BlockCipher CreateServerCipher() public HashAlgorithm CreateServerHash() public void Dispose() protected virtual void Dispose(bool disposing) public virtual void Finish() protected virtual byte[] Hash(byte[] hashData) protected void SendMessage(Message message) public virtual void Start(Session session, KeyExchangeInitMessage message) protected abstract bool ValidateExchangeHash()