use digest::{Digest, Output};
use num_bigint::BigUint;
-use crate::tools::powm;
use crate::types::{SrpAuthError, SrpGroup};
/// Data provided by users upon registration, usually stored in the database.
let k = params.compute_k::<D>();
// kv + g^b
let interm = (k * &v) % ¶ms.n;
- let b_pub = (interm + ¶ms.powm(&b)) % ¶ms.n;
+ let b_pub = (interm + ¶ms.modpow(&b)) % ¶ms.n;
// H(A || B)
let u = {
let mut d = D::new();
//(Av^u) ^ b
let key = {
let u = BigUint::from_bytes_be(u.as_slice());
- let t = (&a_pub * powm(&v, &u, ¶ms.n)) % ¶ms.n;
- let s = powm(&t, &b, ¶ms.n);
+ let t = (&a_pub * v.modpow(&u, ¶ms.n)) % ¶ms.n;
+ let s = t.modpow(&b, ¶ms.n);
D::digest(&s.to_bytes_be())
};
Ok(Self {