X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=doc%2Fverifierstruct.texi;h=b199d72faebc09f42b48488179baf1c8724db75e;hb=f9209136cff0331fc2293f25061971f6c77ff213;hp=51cf2893e3b2bf564485df76ee36bed9f4d6686b;hpb=1fea06143f0580f3d40a9ddbb1425ab613910155;p=govpn.git diff --git a/doc/verifierstruct.texi b/doc/verifierstruct.texi index 51cf289..b199d72 100644 --- a/doc/verifierstruct.texi +++ b/doc/verifierstruct.texi @@ -1,8 +1,4 @@ @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 @@ -10,17 +6,18 @@ dictionary attacks and can not be used for authentication (only its verifying). @verbatim -SOURCE = Argon2d(m, t, p, SALT=PeerId, PASSWORD) +SOURCE = Balloon(PASSWORD, SALT=PeerId, sCost, tCost, pJobs) PUB, PRIV = Ed25519.Generate(SOURCE) @end verbatim +Balloon hashing uses BLAKE2b-256 hash. Space cost (sCost), time cost +(tCost) and number of parallel jobs (pJobs) are specific to Balloon +implementation. + Verifier is serialized representation of public data above: @verbatim -$argon2d$m=m,t=t,p=p$Base64(SALT)$Base64(PUB) +$balloon$s=s,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.