]> Cypherpunks.ru repositories - govpn.git/blob - doc/verifierstruct.texi
Replace Argon2 with Balloon hashing
[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 = Balloon(PASSWORD, SALT=PeerId, sCost, tCost, pJobs)
10 PUB, PRIV = Ed25519.Generate(SOURCE)
11 @end verbatim
12
13 Balloon hashing uses BLAKE2b-256 hash. Space cost (sCost), time cost
14 (tCost) and number of parallel jobs (pJobs) are specific to Balloon
15 implementation.
16
17 Verifier is serialized representation of public data above:
18 @verbatim
19 $balloon$s=s,t=t,p=p$Base64(SALT)$Base64(PUB)
20 @end verbatim
21
22 Server stores and knows only verifier. Client can compute the whole
23 keypair every time he makes handshake.