]> git.lizzy.rs Git - PAKEs.git/blobdiff - srp/src/utils.rs
include salt in client proof
[PAKEs.git] / srp / src / utils.rs
index 6eeb3a366eda000964918fee363c9eed9229f9f7..5258c7abb7d75e9269a36f2718e8399360cd44c1 100644 (file)
@@ -28,6 +28,8 @@ pub fn compute_k<D: Digest>(params: &SrpGroup) -> BigUint {
 // M1 = H(H(N) XOR H(g) | H(U) | s | A | B | K)
 pub fn compute_m1<D: Digest>(
     params: &SrpGroup,
+    identity_hash: &[u8],
+    salt: &[u8],
     a_pub: &[u8],
     b_pub: &[u8],
     key: &[u8],
@@ -44,6 +46,8 @@ pub fn compute_m1<D: Digest>(
 
     let mut d = D::new();
     d.update(ng_xor);
+    d.update(identity_hash);
+    d.update(salt);
     d.update(a_pub);
     d.update(b_pub);
     d.update(key);
@@ -53,8 +57,8 @@ pub fn compute_m1<D: Digest>(
 // M2 = H(A, M1, K)
 pub fn compute_m2<D: Digest>(a_pub: &[u8], m1: &Output<D>, key: &[u8]) -> Output<D> {
     let mut d = D::new();
-    d.update(&a_pub);
-    d.update(&m1);
-    d.update(&key);
+    d.update(a_pub);
+    d.update(m1);
+    d.update(key);
     d.finalize()
 }