diff options
Diffstat (limited to 'srp/src/tools.rs')
-rw-r--r-- | srp/src/tools.rs | 19 |
1 files changed, 0 insertions, 19 deletions
diff --git a/srp/src/tools.rs b/srp/src/tools.rs deleted file mode 100644 index 7f7da0f..0000000 --- a/srp/src/tools.rs +++ /dev/null @@ -1,19 +0,0 @@ -use num_bigint::BigUint; - -pub fn powm(base: &BigUint, exp: &BigUint, modulus: &BigUint) -> BigUint { - let zero = BigUint::from(0u32); - let one = BigUint::from(1u32); - let two = BigUint::from(2u32); - let mut exp = exp.clone(); - let mut result = one.clone(); - let mut base = base % modulus; - - while exp > zero { - if &exp % &two == one { - result = (result * &base) % modulus; - } - exp >>= 1; - base = (&base * &base) % modulus; - } - result -} |