]> Cypherpunks.ru repositories - govpn.git/blob - doc/verifierstruct.texi
792506dd9f93ac95f4509998c07b8ce2db8cbf14
[govpn.git] / doc / verifierstruct.texi
1 @node Verifier structure
2 @section Verifier structure
3
4 Verifier is a derivative of the password. It is resistant to
5 dictionary attacks and can not be used for authentication (only
6 its verifying).
7
8 @verbatim
9 SOURCE = Argon2d(m, t, p, SALT=PeerId, PASSWORD)
10 PUB, PRIV = Ed25519.Generate(SOURCE)
11 @end verbatim
12
13 Verifier is serialized representation of public data above:
14 @verbatim
15 $argon2d$m=m,t=t,p=p$Base64(SALT)$Base64(PUB)
16 @end verbatim
17
18 m, t and p parameters are Argon2d-specific: memory, iterations and
19 parallelizm parameters.
20
21 Server stores and knows only verifier. Client can compute the whole
22 keypair every time he makes handshake.