Next: , Up: Developer manual  


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).

SOURCE = PBKDF2(SALT=PeerId, PASSWORD, 1<<16, SHA512)
PUB, PRIV = Ed25519.Generate(SOURCE)

Verifier is public key of Ed25519 generated from the PBKDF2 of the passphrase in hexadecimal encoding. 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.