SecureRemotePassword::Verifier
Inherits SecureRemotePassword::Helpers / Reference / Object
Constructors
new(group : Int32, algorithm : Algorithm = Algorithm::SHA512, salt_size : Int32 | Nil = nil)
SourceInstance methods
algorithm
Sourcearg_g
Sourcearg_k
Sourcearg_N
Sourcegenerate_user_verifier(username : String, password : String, salt = random_hex(@salt_size))
Initial user creation for the persistance layer. Not part of the authentication process. Salt should only be provided for testing Returns { <username>, <password verifier>, <salt> }
get_challenge_and_proof(username : String, verifier : String, salt : String, client_A : String, arg_b : BigInt = random_big_int(32))
Authentication phase 1 - create challenge. Returns Hash with challenge for client and proof to be stored on server. Parameters should be given in hex.
verify_session(proof : Proof, client_m : String)
returns H_AMK on success, None on failure User -> Host: M = H(H(N) xor H(g), H(I), s, A, B, K) Host -> User: H(A, M, K)