]> Cypherpunks.ru repositories - govpn.git/blobdiff - doc/verifierstruct.texi
[DOC] Add various concept indexes
[govpn.git] / doc / verifierstruct.texi
index 3b969dc07ac09f57752f228fcc38216e41473002..51cf2893e3b2bf564485df76ee36bed9f4d6686b 100644 (file)
@@ -1,16 +1,26 @@
 @node Verifier structure
+@cindex Verifier structure
+@cindex Argon2
+@cindex Argon2d
+@cindex Salt
 @section Verifier structure
 
 Verifier is a derivative of the password. It is resistant to
 dictionary attacks and can not be used for authentication (only
-it's verifying).
+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 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.