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

Org.BouncyCastle.Crypto.Agreement.Srp.Srp6Server

public class Srp6Server
namespace Org.BouncyCastle.Crypto.Agreement.Srp { public class Srp6Server { protected BigInteger N; protected BigInteger g; protected BigInteger v; protected SecureRandom random; protected IDigest digest; protected BigInteger A; protected BigInteger privB; protected BigInteger pubB; protected BigInteger u; protected BigInteger S; protected BigInteger M1; protected BigInteger M2; protected BigInteger Key; public Srp6Server(); public virtual void Init(BigInteger N, BigInteger g, BigInteger v, IDigest digest, SecureRandom random); public virtual void Init(Srp6GroupParameters group, BigInteger v, IDigest digest, SecureRandom random); public virtual BigInteger GenerateServerCredentials(); public virtual BigInteger CalculateSecret(BigInteger clientA); protected virtual BigInteger SelectPrivateValue(); public virtual bool VerifyClientEvidenceMessage(BigInteger clientM1); public virtual BigInteger CalculateServerEvidenceMessage(); public virtual BigInteger CalculateSessionKey(); } }