TrinityCore
|
#include <SRP6.h>
Public Types | |
using | EphemeralKey = std::array< uint8, EPHEMERAL_KEY_LENGTH > |
using | SessionKey = std::array< uint8, SHA1::DIGEST_LENGTH *2 > |
Public Member Functions | |
GruntSRP6 (std::string const &username, Salt const &salt, Verifier const &verifier) | |
GruntSRP6 (ForRegistrationTag t) | |
BigNumber const & | GetN () const override |
BigNumber const & | Getg () const override |
BigNumber | CalculateServerEvidence (BigNumber const &A, BigNumber const &clientM1, BigNumber const &K) const override |
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 | |
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 Attributes | |
static constexpr size_t | EPHEMERAL_KEY_LENGTH = 32 |
static BigNumber const | N = "894B645E89E1535BBDAD5B8B290650530801B18EBFBF5E8FAB3C82872A3E9BB7"s |
static BigNumber const | g = 7 |
Protected Member Functions | |
BigNumber | CalculateX (std::string const &username, std::string const &password, Salt const &salt) const override |
Optional< BigNumber > | DoVerifyClientEvidence (BigNumber const &A, BigNumber const &clientM1) override |
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< BigNumber > | DoVerifyClientEvidence (BigNumber const &A, BigNumber const &clientM1)=0 |
Static Protected Member Functions | |
static SessionKey | SHA1Interleave (EphemeralKey const &S) |
Static Protected Member Functions inherited from Trinity::Crypto::SRP::SRP6 | |
static BigNumber | CalculatePrivateB (BigNumber const &N) |
Additional Inherited Members | |
Static Public Member Functions inherited from Trinity::Crypto::SRP::SRP6 | |
template<typename Impl > | |
static std::pair< Salt, Verifier > | MakeRegistrationData (std::string const &username, std::string const &password) |
Public Attributes inherited from Trinity::Crypto::SRP::SRP6 | |
Salt const | s |
BigNumber const | B |
Protected Attributes inherited from Trinity::Crypto::SRP::SRP6 | |
BigNumber const | I |
BigNumber const | b |
BigNumber const | v |
using Trinity::Crypto::SRP::GruntSRP6::EphemeralKey = std::array<uint8, EPHEMERAL_KEY_LENGTH> |
using Trinity::Crypto::SRP::GruntSRP6::SessionKey = std::array<uint8, SHA1::DIGEST_LENGTH * 2> |
|
inlineexplicit |
|
overridevirtual |
Implements Trinity::Crypto::SRP::SRP6.
Definition at line 86 of file SRP6.cpp.
|
overrideprotectedvirtual |
Implements Trinity::Crypto::SRP::SRP6.
Definition at line 91 of file SRP6.cpp.
|
overrideprotectedvirtual |
Implements Trinity::Crypto::SRP::SRP6.
Definition at line 99 of file SRP6.cpp.
|
inlineoverridevirtual |
Implements Trinity::Crypto::SRP::SRP6.
|
inlineoverridevirtual |
Implements Trinity::Crypto::SRP::SRP6.
|
staticprotected |
|
staticconstexpr |
|
static |
|
static |