My Project
Loading...
Searching...
No Matches
Srp Struct Reference

Data Fields

SrpSide side
SrpType type
byte * user
word32 userSz
byte * salt
word32 saltSz
mp_int N
mp_int g
byte k [SRP_MAX_DIGEST_SIZE]
mp_int auth
mp_int priv
SrpHash client_proof
SrpHash server_proof
byte * key
word32 keySz
int(* keyGenFunc_cb )(struct Srp *srp, byte *secret, word32 size)
void * heap

Field Documentation

◆ auth

mp_int Srp::auth

Client: x = H(salt + H(user:pswd)) Server: v = g ^ x % N

◆ client_proof

SrpHash Srp::client_proof

Client proof. Sent to the Server.

◆ g

mp_int Srp::g

Generator. A generator modulo N.

◆ heap

void* Srp::heap

heap hint pointer

◆ k

byte Srp::k[SRP_MAX_DIGEST_SIZE]

Multiplier parameter. k = H(N, g)

◆ key

byte* Srp::key

Session key.

◆ keyGenFunc_cb

int(* Srp::keyGenFunc_cb) (struct Srp *srp, byte *secret, word32 size)

Function responsible for generating the session key. It MUST use XMALLOC with type DYNAMIC_TYPE_SRP to allocate the key buffer for this structure and set keySz to the buffer size. The default function used by this implementation is a modified version of t_mgf1 that uses the proper hash function according to srp->type.

◆ keySz

word32 Srp::keySz

Session key length.

◆ N

mp_int Srp::N

Modulus. N = 2q+1, [q, N] are primes.

◆ priv

mp_int Srp::priv

Private ephemeral value.

◆ salt

byte* Srp::salt

Small salt.

◆ saltSz

word32 Srp::saltSz

Salt length.

◆ server_proof

SrpHash Srp::server_proof

Server proof. Sent to the Client.

◆ side

SrpSide Srp::side

Client or Server,

See also
SrpSide.

◆ type

SrpType Srp::type

Hash type,

See also
SrpType.

◆ user

byte* Srp::user

Username, login.

◆ userSz

word32 Srp::userSz

Username length.