SRP in JavaScript

Radix: 10 16 64
Protocol: SRP-3 (k=1) SRP-6 (k=3) SRP-6a (k=H(N || g))
1. Parameters

If the fields below are empty, re-initialize this page.

Modulus (N) =
Generator (g) =
Predefined values:
Multiplier (k) =


2. Password Database (server-side)

Setup the server's password verifier. Default password is password.

Username:
Password (server):
Salt (s) =
x =H(salt || H(username || ":" || password))
=
Verifier (v) =g^x   (mod N)
=


3. Authentication Protocol

Authentication will succeed if the client password corresponds to the server's verifier entry (set above).

Client Server
a=b=
A=g^a   (mod N)B=kv + g^b   (mod N)
==
Password (client):u=
x=v=
S=(B - kg^x) ^ (a + ux)   (mod N)S=(Av^u) ^ b   (mod N)
==


Status: