Table of Contents

Class SM2KeyExchange

Namespace
Org.BouncyCastle.Crypto.Agreement
Assembly
BouncyCastle.Cryptography.dll

SM2 Key Exchange protocol - based on https://tools.ietf.org/html/draft-shen-sm2-ecdsa-02

public class SM2KeyExchange
Inheritance
SM2KeyExchange
Inherited Members

Constructors

SM2KeyExchange()

public SM2KeyExchange()

SM2KeyExchange(IDigest)

public SM2KeyExchange(IDigest digest)

Parameters

digest IDigest

Methods

CalculateKey(int, ICipherParameters)

public virtual byte[] CalculateKey(int kLen, ICipherParameters pubParam)

Parameters

kLen int
pubParam ICipherParameters

Returns

byte[]

CalculateKeyWithConfirmation(int, byte[], ICipherParameters)

public virtual byte[][] CalculateKeyWithConfirmation(int kLen, byte[] confirmationTag, ICipherParameters pubParam)

Parameters

kLen int
confirmationTag byte[]
pubParam ICipherParameters

Returns

byte[][]

CalculateU(SM2KeyExchangePublicParameters)

protected virtual ECPoint CalculateU(SM2KeyExchangePublicParameters otherPub)

Parameters

otherPub SM2KeyExchangePublicParameters

Returns

ECPoint

Init(ICipherParameters)

public virtual void Init(ICipherParameters privParam)

Parameters

privParam ICipherParameters

Kdf(ECPoint, byte[], byte[], int)

protected virtual byte[] Kdf(ECPoint u, byte[] za, byte[] zb, int klen)

Parameters

u ECPoint
za byte[]
zb byte[]
klen int

Returns

byte[]