![]() |
TrinityCore
|
#include <SRP6.h>
Inheritance diagram for Trinity::Crypto::SRP::SRP6:Classes | |
| struct | ForRegistrationTag |
Public Member Functions | |
| 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 | |
| SRP6 & | operator= (SRP6 const &)=delete |
| SRP6 & | operator= (SRP6 &&)=delete |
| virtual | ~SRP6 ()=default |
| virtual BigNumber const & | GetN () const =0 |
| virtual BigNumber const & | Getg () const =0 |
| Optional< BigNumber > | VerifyClientEvidence (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 Member Functions | |
| template<typename Impl > | |
| static std::pair< Salt, Verifier > | MakeRegistrationData (std::string const &username, std::string const &password) |
Public Attributes | |
| Salt const | s |
| BigNumber const | B |
Protected Member Functions | |
| 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< BigNumber > | DoVerifyClientEvidence (BigNumber const &A, BigNumber const &clientM1)=0 |
Static Protected Member Functions | |
| static BigNumber | CalculatePrivateB (BigNumber const &N) |
Protected Attributes | |
| BigNumber const | I |
| BigNumber const | b |
| BigNumber const | v |
Private Attributes | |
| bool | _used = false |
|
explicit |
|
delete |
|
delete |
|
virtualdefault |
Definition at line 58 of file SRP6.cpp.
References b, BigNumber::GetNumBits(), and BigNumber::SetRand().
|
protected |
Definition at line 66 of file SRP6.cpp.
References b, BigNumber::ModExp(), and v.
|
pure virtual |
Implemented in Trinity::Crypto::SRP::BnetSRP6Base, and Trinity::Crypto::SRP::GruntSRP6.
|
protected |
Definition at line 71 of file SRP6.cpp.
References CalculateX(), Getg(), GetN(), BigNumber::ModExp(), and BigNumber::ToByteVector().
Referenced by CheckCredentials().
|
protectedpure virtual |
Implemented in Trinity::Crypto::SRP::BnetSRP6v1Base, Trinity::Crypto::SRP::BnetSRP6v2Base, and Trinity::Crypto::SRP::GruntSRP6.
Referenced by CalculateVerifier().
| bool Trinity::Crypto::SRP::SRP6::CheckCredentials | ( | std::string const & | username, |
| std::string const & | password | ||
| ) | const |
Definition at line 53 of file SRP6.cpp.
References CalculateVerifier(), s, and v.
Referenced by AccountMgr::CheckPassword(), and AccountMgr::CheckPassword().
|
protectedpure virtual |
Implemented in Trinity::Crypto::SRP::BnetSRP6Base, and Trinity::Crypto::SRP::GruntSRP6.
Referenced by VerifyClientEvidence().
|
pure virtual |
Implemented in Trinity::Crypto::SRP::BnetSRP6v1Base, Trinity::Crypto::SRP::BnetSRP6v2Base, and Trinity::Crypto::SRP::GruntSRP6.
Referenced by CalculateVerifier().
|
pure virtual |
Implemented in Trinity::Crypto::SRP::BnetSRP6v1Base, Trinity::Crypto::SRP::BnetSRP6v2Base, and Trinity::Crypto::SRP::GruntSRP6.
Referenced by CalculateVerifier(), and Trinity::Crypto::SRP::BnetSRP6Base::DoVerifyClientEvidence().
| Optional< BigNumber > Trinity::Crypto::SRP::SRP6::VerifyClientEvidence | ( | BigNumber const & | A, |
| BigNumber const & | clientM1 | ||
| ) |
Definition at line 45 of file SRP6.cpp.
References _used, ASSERT, and DoVerifyClientEvidence().
|
private |
Definition at line 90 of file SRP6.h.
Referenced by VerifyClientEvidence().
|
protected |
Definition at line 83 of file SRP6.h.
Referenced by CalculatePrivateB(), CalculatePublicB(), Trinity::Crypto::SRP::BnetSRP6Base::DoVerifyClientEvidence(), and Trinity::Crypto::SRP::GruntSRP6::DoVerifyClientEvidence().
| BigNumber const Trinity::Crypto::SRP::SRP6::B |
Definition at line 87 of file SRP6.h.
Referenced by Trinity::Crypto::SRP::BnetSRP6v1< CryptoHash >::CalculateU(), Trinity::Crypto::SRP::BnetSRP6v2< CryptoHash >::CalculateU(), Trinity::Crypto::SRP::BnetSRP6Base::DoVerifyClientEvidence(), and Trinity::Crypto::SRP::GruntSRP6::DoVerifyClientEvidence().
|
protected |
Definition at line 82 of file SRP6.h.
Referenced by Trinity::Crypto::SRP::GruntSRP6::DoVerifyClientEvidence().
| Salt const Trinity::Crypto::SRP::SRP6::s |
Definition at line 69 of file SRP6.h.
Referenced by CheckCredentials(), and Trinity::Crypto::SRP::GruntSRP6::DoVerifyClientEvidence().
|
protected |
Definition at line 84 of file SRP6.h.
Referenced by CalculatePublicB(), CheckCredentials(), Trinity::Crypto::SRP::BnetSRP6Base::DoVerifyClientEvidence(), and Trinity::Crypto::SRP::GruntSRP6::DoVerifyClientEvidence().