
|
My Project
|
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 |
| mp_int Srp::auth |
Client: x = H(salt + H(user:pswd))
Server: v = g ^ x % N
| SrpHash Srp::client_proof |
Client proof. Sent to the Server.
| mp_int Srp::g |
Generator. A generator modulo N.
| void* Srp::heap |
heap hint pointer
| byte Srp::k[SRP_MAX_DIGEST_SIZE] |
Multiplier parameter. k = H(N, g)
| byte* Srp::key |
Session key.
| 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.
| word32 Srp::keySz |
Session key length.
| mp_int Srp::N |
Modulus. N = 2q+1, [q, N] are primes.
| mp_int Srp::priv |
Private ephemeral value.
| byte* Srp::salt |
Small salt.
| word32 Srp::saltSz |
Salt length.
| SrpHash Srp::server_proof |
Server proof. Sent to the Client.
| SrpSide Srp::side |
Client or Server,
| byte* Srp::user |
Username, login.
| word32 Srp::userSz |
Username length.