]> git.lizzy.rs Git - PAKEs.git/commitdiff
doc update
authornewpavlov <newpavlov@gmail.com>
Sat, 14 Apr 2018 10:06:36 +0000 (13:06 +0300)
committernewpavlov <newpavlov@gmail.com>
Sat, 14 Apr 2018 10:06:36 +0000 (13:06 +0300)
srp/Cargo.toml
srp/src/lib.rs

index 5eb84706962ea110692eb0af5521f464f50b1bc6..53c6eea7b0c92c7375f31d25a1f8c75b2619f5c3 100644 (file)
@@ -1,6 +1,6 @@
 [package]
 name = "srp"
-version = "0.2.4"
+version = "0.2.5"
 authors = ["RustCrypto Developers"]
 license = "MIT/Apache-2.0"
 description = "Secure Remote Password (SRP) protocol implementation"
index 03c6bc32fdab9486b44fbac11916b85c55ccdad7..472b19779807ee84569bb000a965a6047dbe991f 100644 (file)
 //! a generator modulo `N`. It's STRONGLY recommended to use SRP parameters
 //! provided by this crate in the [`groups`](groups/index.html) module.
 //!
-//!        Client           |                   |      Server
-//! ------------------------|-------------------|------------------------
-//! `a_pub = g^a`           | — `a_pub`, `I` —> | (lookup `s`, `v` for given `I`)
-//! `x = PH(P, s)`          | <— `b_pub`, `s` — | `b_pub = k*v + g^b`
-//! `u = H(a_pub || b_pub)` |                   | `u = H(a_pub || b_pub)`
-//! `s = (b_pub - k*g^x)^(a+u*x)` |             | `S = (b_pub - k*g^x)^(a+u*x)`
-//! `K = H(s)`              |                   | `K = H(s)`
-//! `M1 = H(A || B || K)`   |     — `M1` —>     | (verify `M1`)
-//! (verify `M2`)           |    <— `M2` —      | `M2 = H(A || M1 || K)`
+//! |       Client           |   Data transfer   |      Server                     |
+//! |------------------------|-------------------|---------------------------------|
+//! |`a_pub = g^a`           | — `a_pub`, `I` —> | (lookup `s`, `v` for given `I`) |
+//! |`x = PH(P, s)`          | <— `b_pub`, `s` — | `b_pub = k*v + g^b`             |
+//! |`u = H(a_pub ‖ b_pub)`  |                   | `u = H(a_pub ‖ b_pub)`          |
+//! |`s = (b_pub - k*g^x)^(a+u*x)` |             | `S = (b_pub - k*g^x)^(a+u*x)`   |
+//! |`K = H(s)`              |                   | `K = H(s)`                      |
+//! |`M1 = H(A ‖ B ‖ K)`     |     — `M1` —>     | (verify `M1`)                   |
+//! |(verify `M2`)           |    <— `M2` —      | `M2 = H(A ‖ M1 ‖ K)`            |
 //!
 //! Variables and notations have the following
 //! meaning:
@@ -50,9 +50,9 @@
 //! - `P` — user password
 //! - `H` — one-way hash function
 //! - `PH` — password hashing algroithm, in the RFC 5054 described as
-//! `H(s || H(I || ":" || P))`
+//! `H(s ‖ H(I ‖ ":" ‖ P))`
 //! - `^` — (modular) exponentiation
-//! - `||` — concatenation
+//! - `` — concatenation
 //! - `x` — user private key
 //! - `s` — salt generated by user and stored on the server
 //! - `v` — password verifier equal to `g^x` and stored on the server