Next: , Up: Developer   [Index]


Verifier structure

Verifier is a derivative of the password. It is resistant to dictionary attacks and can not be used for authentication (only its verifying).

SOURCE = Argon2d(m, t, p, SALT=PeerId, PASSWORD)
PUB, PRIV = Ed25519.Generate(SOURCE)

Verifier is serialized representation of public data above:

$argon2d$m=m,t=t,p=p$Base64(SALT)$Base64(PUB)

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.