TrinityCore
Trinity::Crypto::SRP::BnetSRP6v1Base Class Reference

#include <SRP6.h>

+ Inheritance diagram for Trinity::Crypto::SRP::BnetSRP6v1Base:

Public Member Functions

 BnetSRP6v1Base (std::string const &username, Salt const &salt, Verifier const &verifier, BigNumber const &k)
 
 BnetSRP6v1Base (ForRegistrationTag t)
 
BigNumber const & GetN () const final
 
BigNumber const & Getg () const final
 
uint8 GetVersion () const final
 
uint32 GetXIterations () const final
 
- Public Member Functions inherited from Trinity::Crypto::SRP::BnetSRP6Base
 BnetSRP6Base (BigNumber const &i, Salt const &salt, Verifier const &verifier, BigNumber const &N, BigNumber const &g, BigNumber const &k)
 
 BnetSRP6Base (ForRegistrationTag t)
 
BigNumber CalculateServerEvidence (BigNumber const &A, BigNumber const &clientM1, BigNumber const &K) const final
 
virtual uint8 GetVersion () const =0
 
virtual uint32 GetXIterations () const =0
 
- Public Member Functions inherited from Trinity::Crypto::SRP::SRP6
 SRP6 (BigNumber const &i, Salt const &salt, Verifier const &verifier, BigNumber const &N, BigNumber const &g, BigNumber const &k)
 
 SRP6 (ForRegistrationTag)
 
 SRP6 (SRP6 const &)=delete
 
 SRP6 (SRP6 &&)=delete
 
SRP6operator= (SRP6 const &)=delete
 
SRP6operator= (SRP6 &&)=delete
 
virtual ~SRP6 ()=default
 
virtual BigNumber const & GetN () const =0
 
virtual BigNumber const & Getg () const =0
 
Optional< BigNumberVerifyClientEvidence (BigNumber const &A, BigNumber const &clientM1)
 
virtual BigNumber CalculateServerEvidence (BigNumber const &A, BigNumber const &clientM1, BigNumber const &K) const =0
 
bool CheckCredentials (std::string const &username, std::string const &password) const
 

Static Public Attributes

static BigNumber const N = "86A7F6DEEB306CE519770FE37D556F29944132554DED0BD68205E27F3231FEF5A10108238A3150C59CAF7B0B6478691C13A6ACF5E1B5ADAFD4A943D4A21A142B800E8A55F8BFBAC700EB77A7235EE5A609E350EA9FC19F10D921C2FA832E4461B7125D38D254A0BE873DFC27858ACB3F8B9F258461E4373BC3A6C2A9634324AB"s
 
static BigNumber const g = 2
 

Protected Member Functions

BigNumber CalculateX (std::string const &username, std::string const &password, Salt const &salt) const final
 
- Protected Member Functions inherited from Trinity::Crypto::SRP::BnetSRP6Base
Optional< BigNumberDoVerifyClientEvidence (BigNumber const &A, BigNumber const &clientM1) final
 
virtual BigNumber CalculateU (BigNumber const &A) const =0
 
virtual BigNumber DoCalculateEvidence (std::span< BigNumber const * > bns) const =0
 
template<typename CryptoHash >
BigNumber DoCalculateEvidence (std::span< BigNumber const * > bns) const
 
- Protected Member Functions inherited from Trinity::Crypto::SRP::SRP6
BigNumber CalculatePublicB (BigNumber const &N, BigNumber const &g, BigNumber const &k) const
 
virtual BigNumber CalculateX (std::string const &username, std::string const &password, Salt const &salt) const =0
 
Verifier CalculateVerifier (std::string const &username, std::string const &password, Salt const &salt) const
 
virtual Optional< BigNumberDoVerifyClientEvidence (BigNumber const &A, BigNumber const &clientM1)=0
 

Additional Inherited Members

- Static Public Member Functions inherited from Trinity::Crypto::SRP::SRP6
template<typename Impl >
static std::pair< Salt, VerifierMakeRegistrationData (std::string const &username, std::string const &password)
 
- Public Attributes inherited from Trinity::Crypto::SRP::SRP6
Salt const s
 
BigNumber const B
 
- Static Protected Member Functions inherited from Trinity::Crypto::SRP::BnetSRP6Base
static std::vector< uint8GetBrokenEvidenceVector (BigNumber const &bn)
 
- Static Protected Member Functions inherited from Trinity::Crypto::SRP::SRP6
static BigNumber CalculatePrivateB (BigNumber const &N)
 
- Protected Attributes inherited from Trinity::Crypto::SRP::SRP6
BigNumber const I
 
BigNumber const b
 
BigNumber const v
 

Detailed Description

Definition at line 153 of file SRP6.h.

Constructor & Destructor Documentation

◆ BnetSRP6v1Base() [1/2]

Trinity::Crypto::SRP::BnetSRP6v1Base::BnetSRP6v1Base ( std::string const &  username,
Salt const &  salt,
Verifier const &  verifier,
BigNumber const &  k 
)
explicit

Definition at line 189 of file SRP6.cpp.

◆ BnetSRP6v1Base() [2/2]

Trinity::Crypto::SRP::BnetSRP6v1Base::BnetSRP6v1Base ( ForRegistrationTag  t)
inlineexplicit

Definition at line 160 of file SRP6.h.

Member Function Documentation

◆ CalculateX()

BigNumber Trinity::Crypto::SRP::BnetSRP6v1Base::CalculateX ( std::string const &  username,
std::string const &  password,
Salt const &  salt 
) const
finalprotectedvirtual

Implements Trinity::Crypto::SRP::SRP6.

Definition at line 194 of file SRP6.cpp.

+ Here is the call graph for this function:

◆ Getg()

BigNumber const & Trinity::Crypto::SRP::BnetSRP6v1Base::Getg ( ) const
inlinefinalvirtual

Implements Trinity::Crypto::SRP::SRP6.

Definition at line 163 of file SRP6.h.

◆ GetN()

BigNumber const & Trinity::Crypto::SRP::BnetSRP6v1Base::GetN ( ) const
inlinefinalvirtual

Implements Trinity::Crypto::SRP::SRP6.

Definition at line 162 of file SRP6.h.

◆ GetVersion()

uint8 Trinity::Crypto::SRP::BnetSRP6v1Base::GetVersion ( ) const
inlinefinalvirtual

Implements Trinity::Crypto::SRP::BnetSRP6Base.

Definition at line 165 of file SRP6.h.

◆ GetXIterations()

uint32 Trinity::Crypto::SRP::BnetSRP6v1Base::GetXIterations ( ) const
inlinefinalvirtual

Implements Trinity::Crypto::SRP::BnetSRP6Base.

Definition at line 166 of file SRP6.h.

Member Data Documentation

◆ g

BigNumber const Trinity::Crypto::SRP::BnetSRP6v1Base::g = 2
static

Definition at line 157 of file SRP6.h.

◆ N

BigNumber const Trinity::Crypto::SRP::BnetSRP6v1Base::N = "86A7F6DEEB306CE519770FE37D556F29944132554DED0BD68205E27F3231FEF5A10108238A3150C59CAF7B0B6478691C13A6ACF5E1B5ADAFD4A943D4A21A142B800E8A55F8BFBAC700EB77A7235EE5A609E350EA9FC19F10D921C2FA832E4461B7125D38D254A0BE873DFC27858ACB3F8B9F258461E4373BC3A6C2A9634324AB"s
static

Definition at line 156 of file SRP6.h.


The documentation for this class was generated from the following files: