diff --git a/src/lib.rs b/src/lib.rs index 9006df9..9190075 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -41,10 +41,12 @@ impl Generator { pub fn hash(&self, value: PrimeOrderDomain) -> Hash { let mut hash = vec![value]; + for i in 0..self.synthetic_max as usize { + // Here evaluate our polynomial key[i]*X key[i]*X^2 key[i]*X^3 etc.... let mut result = PrimeOrderDomain::new(0); for j in 0..self.threshold as usize { - result = self.key[i][j].clone() * value.pow(j as u64); + result = result + (self.key[i][j].clone() * value.pow(j as u64)); } hash.push(result); }