SRP-6a (RFC 5054 compatatible)
SRP6a Client side
| string identifier | the username we are attempting login for |
| string password | the password we are attempting to use |
| string group_id | specifies the shared SRP group |
| string hash_id | specifies a secure hash function |
| Vector!ubyte salt | is the salt value sent by the server |
| BigInt B | is the server's public value |
| RandomNumberGenerator rng | is a random number generator |
Generate a new SRP-6 verifier
| string identifier | a username or other client identifier |
| string password | the secret used to authenticate user |
| Vector!ubyte salt | a randomly chosen value, at least 128 bits long |
| string group_id | specifies the shared SRP group |
| string hash_id | specifies a secure hash function |
Return the group id for this SRP param set, or else thrown an exception
| BigInt N | the group modulus |
| BigInt g | the group generator |
Represents a SRP-6a server session
Server side step 1
| BigInt v | the verification value saved from client registration |
| string group_id | the SRP group id |
| string hash_id | the SRP hash in use |
| RandomNumberGenerator rng | a random number generator |
Server side step 2
| BigInt A | the client's value |