Data Fields
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.