<PackageReference Include="BouncyCastle.Cryptography" Version="2.3.1" />

Org.BouncyCastle.Crypto.Agreement.SM2KeyExchange

public class SM2KeyExchange
SM2 Key Exchange protocol - based on https://tools.ietf.org/html/draft-shen-sm2-ecdsa-02
namespace Org.BouncyCastle.Crypto.Agreement { public class SM2KeyExchange { public SM2KeyExchange(); public SM2KeyExchange(IDigest digest); public virtual void Init(ICipherParameters privParam); public virtual byte[] CalculateKey(int kLen, ICipherParameters pubParam); public virtual byte[][] CalculateKeyWithConfirmation(int kLen, byte[] confirmationTag, ICipherParameters pubParam); protected virtual ECPoint CalculateU(SM2KeyExchangePublicParameters otherPub); protected virtual byte[] Kdf(ECPoint u, byte[] za, byte[] zb, int klen); } }