aboutsummaryrefslogtreecommitdiff
path: root/srp/src/client.rs
diff options
context:
space:
mode:
authorHimbeerserverDE <himbeerserverde@gmail.com>2023-02-18 17:08:35 +0100
committerHimbeerserverDE <himbeerserverde@gmail.com>2023-02-18 17:08:35 +0100
commitde080a45f1b186352fd79ba69149d2ba988777bc (patch)
tree93aac8fd07b043213c7735c03903a645ac07a54d /srp/src/client.rs
parentd597c62367000e00125ed5aa376ba268717da69a (diff)
downloadPAKEs-de080a45f1b186352fd79ba69149d2ba988777bc.tar.xz
use hashed key to compute MHEADmaster
Diffstat (limited to 'srp/src/client.rs')
-rw-r--r--srp/src/client.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/srp/src/client.rs b/srp/src/client.rs
index dd21982..d284835 100644
--- a/srp/src/client.rs
+++ b/srp/src/client.rs
@@ -206,13 +206,17 @@ impl<'a, D: Digest> SrpClient<'a, D> {
let key = self.compute_premaster_secret(&b_pub, &k, &x, &a, &u);
+ let mut d = D::new();
+ d.update(key.to_bytes_be());
+ let k_hashed = d.finalize();
+
let m1 = compute_m1::<D>(
self.params,
username_hash.as_slice(),
salt,
&a_pub.to_bytes_be(),
&b_pub.to_bytes_be(),
- &key.to_bytes_be(),
+ k_hashed.as_slice(),
);
let m2 = compute_m2::<D>(&a_pub.to_bytes_be(), &m1, &key.to_bytes_be());