Org.BouncyCastle.Tls.Crypto.Impl.BC.BcTlsMLKemDomain
namespace Org.BouncyCastle.Tls.Crypto.Impl.BC
{
public class BcTlsMLKemDomain : TlsKemDomain
{
protected readonly BcTlsCrypto m_crypto;
protected readonly TlsKemConfig m_config;
protected readonly MLKemParameters m_domainParameters;
protected readonly bool m_isServer;
public virtual bool IsServer { get; }
public static MLKemParameters GetDomainParameters(TlsKemConfig kemConfig);
public BcTlsMLKemDomain(BcTlsCrypto crypto, TlsKemConfig kemConfig);
public virtual TlsAgreement CreateKem();
public virtual BcTlsSecret Decapsulate(MLKemPrivateKeyParameters privateKey, byte[] ciphertext);
public virtual MLKemPublicKeyParameters DecodePublicKey(byte[] encoding);
public virtual byte[] Encapsulate(MLKemPublicKeyParameters publicKey, out TlsSecret secret);
public virtual byte[] EncodePublicKey(MLKemPublicKeyParameters publicKey);
public virtual AsymmetricCipherKeyPair GenerateKeyPair();
}
}