]> Cypherpunks.ru repositories - govpn.git/blobdiff - doc/verifierstruct.texi
Use Argon2d PHC winner instead of PBKDF2
[govpn.git] / doc / verifierstruct.texi
index 65a4e086c14d7fbf8e5fd896fc4145c05845e077..792506dd9f93ac95f4509998c07b8ce2db8cbf14 100644 (file)
@@ -6,11 +6,17 @@ dictionary attacks and can not be used for authentication (only
 its verifying).
 
 @verbatim
-SOURCE = PBKDF2(SALT=PeerId, PASSWORD, 1<<16, SHA512)
+SOURCE = Argon2d(m, t, p, SALT=PeerId, PASSWORD)
 PUB, PRIV = Ed25519.Generate(SOURCE)
 @end verbatim
 
-Verifier is @code{PUB} public key of Ed25519 generated from the PBKDF2
-of the passphrase in hexadecimal encoding. @code{PeerId} is used as a
-128-bit salt. Server stores and knows only verifier. Client can compute
-the whole keypair every time he makes handshake.
+Verifier is serialized representation of public data above:
+@verbatim
+$argon2d$m=m,t=t,p=p$Base64(SALT)$Base64(PUB)
+@end verbatim
+
+m, t and p parameters are Argon2d-specific: memory, iterations and
+parallelizm parameters.
+
+Server stores and knows only verifier. Client can compute the whole
+keypair every time he makes handshake.