aboutsummaryrefslogtreecommitdiff
path: root/srp/src
diff options
context:
space:
mode:
Diffstat (limited to 'srp/src')
-rw-r--r--srp/src/client.rs6
-rw-r--r--srp/src/server.rs4
2 files changed, 7 insertions, 3 deletions
diff --git a/srp/src/client.rs b/srp/src/client.rs
index eed1153..845c6f8 100644
--- a/srp/src/client.rs
+++ b/srp/src/client.rs
@@ -200,11 +200,15 @@ impl<'a, D: Digest> SrpClient<'a, D> {
let identity_hash = Self::compute_identity_hash(username, password);
let x = Self::compute_x(identity_hash.as_slice(), salt);
+ let mut d = D::new();
+ d.update(username);
+ let username_hash = d.finalize();
+
let key = self.compute_premaster_secret(&b_pub, &k, &x, &a, &u);
let m1 = compute_m1::<D>(
self.params,
- identity_hash.as_slice(),
+ username_hash.as_slice(),
&a_pub.to_bytes_be(),
&b_pub.to_bytes_be(),
&key.to_bytes_be(),
diff --git a/srp/src/server.rs b/srp/src/server.rs
index e1eb331..08c0475 100644
--- a/srp/src/server.rs
+++ b/srp/src/server.rs
@@ -145,13 +145,13 @@ impl<'a, D: Digest> SrpServer<'a, D> {
let mut d = D::new();
d.update(username);
- let identity_hash = d.finalize();
+ let username_hash = d.finalize();
let key = self.compute_premaster_secret(&a_pub, &v, &u, &b);
let m1 = compute_m1::<D>(
self.params,
- identity_hash.as_slice(),
+ username_hash.as_slice(),
&a_pub.to_bytes_be(),
&b_pub.to_bytes_be(),
&key.to_bytes_be(),