Secure Remote Password (SRP) JavaScript Demo

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: