diff options
author | Tom Cocagne <devnull@localhost> | 2010-12-07 17:08:36 -0500 |
---|---|---|
committer | Tom Cocagne <devnull@localhost> | 2010-12-07 17:08:36 -0500 |
commit | 8d58dad120a39b7fcb8b012ff584686f3fac5a8e (patch) | |
tree | b7bd87a27e3c0cec7a7569870b5560224adbace8 /doc | |
parent | 65ddaf633e95ac6114c12786d847467d5a47efb7 (diff) |
even more doc fixes
Diffstat (limited to 'doc')
-rw-r--r-- | doc/srp.rst | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/doc/srp.rst b/doc/srp.rst index 507c92e..e6708fe 100644 --- a/doc/srp.rst +++ b/doc/srp.rst @@ -276,33 +276,39 @@ The following is a complete description of the SRP-6a protocol as implemented by this library. Note that the ^ symbol indicates exponentiaion and the | symbol indicates concatenation. +.. rubric:: Primary Variables used in SRP 6a + ========= ================================================================= Variables Description ========= ================================================================= N A large, safe prime (N = 2q+1, where q is a Sophie Germain prime) All arithmetic is performed in the field of integers modulo N g A generator modulo N -s Small salt for the verification key +s Small salt for the verification key I Username p Cleartext password H() One-way hash function a,b Secret, random values K Session key ========= ================================================================= + +.. rubric:: Derived Values used in SRP 6a -====================================== ===================================== +====================================== ==================================== Derived Values Description -====================================== ===================================== +====================================== ==================================== k = H(N,g) Multiplier Parameter A = g^a Public ephemeral value B = kv + g^b Public ephemeral value -x = H( s, H( I | ':' | p ) ) Private key (as defined by RFC 5054) +x = H(s, H( I | ':' | p )) Private key (as defined by RFC 5054) v = g^x Password verifier u = H(A,B) Random scrambling parameter M = H(H(N) xor H(g), H(I), s, A, B, K) Session key verifier -====================================== ===================================== +====================================== ==================================== + +.. rubric:: Protocol Description The server stores the password verifier *v*. Authentication begins with a message from the client:: @@ -333,7 +339,9 @@ authentication they need to prove to each other that their keys match:: server -> client: H(A, M, K) SRP 6a requires the two parties to use the following safeguards: -1) The client will abort if it recieves B == 0 (mod N) or u == 0 -1) The server will abort if it detects A == 0 (mod N) -1) The client must show its proof of K first. If the server detects that this -proof is incorrect it must abort without showing its own proof of K
\ No newline at end of file + +1. The client will abort if it recieves B == 0 (mod N) or u == 0 +2. The server will abort if it detects A == 0 (mod N) +3. The client must show its proof of K first. If the server detects that this + proof is incorrect it must abort without showing its own proof of K + |