Skip to content

Commit

Permalink
revert to an older version of compute_proof
Browse files Browse the repository at this point in the history
  • Loading branch information
andyleiserson committed Nov 19, 2024
1 parent 232979e commit 158b68d
Showing 1 changed file with 22 additions and 10 deletions.
32 changes: 22 additions & 10 deletions ipa-core/src/protocol/ipa_prf/malicious_security/prover.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use std::{array, borrow::Borrow, marker::PhantomData};
use std::{array, borrow::Borrow, iter::zip, marker::PhantomData};

use crate::{
error::Error::{self, DZKPMasks},
Expand Down Expand Up @@ -275,15 +275,27 @@ impl<F: PrimeField, const L: usize, const P: usize, const M: usize> ProofGenerat
J: Iterator,
J::Item: Borrow<([F; P], [F; P])>,
{
pq_iterator
.fold(
<F as MultiplyAccumulate>::AccumulatorArray::<P>::new(),
|mut proof, pq| {
proof.multiply_accumulate(&pq.borrow().0, &pq.borrow().1);
proof
},
)
.take()
let mut proof = [F::ZERO; P];
let mut accums = [0u128; P];
let mut accum_count = 0;
for pq in pq_iterator {
for (accum, (p, q)) in zip(accums.iter_mut(), zip(&pq.borrow().0, &pq.borrow().1)) {
*accum += p.as_u128() * q.as_u128();
}

accum_count += 1;
if accum_count == 63 {
for (proof_elt, accum) in zip(proof.iter_mut(), accums.iter_mut()) {
*proof_elt = F::truncate_from(*accum + proof_elt.as_u128());
*accum = 0;
}
accum_count = 0;
}
}
for (proof_elt, accum) in zip(proof.iter_mut(), accums.iter_mut()) {
*proof_elt = F::truncate_from(*accum + proof_elt.as_u128())
}
proof
}

fn gen_challenge_and_recurse<I: LagrangeInput<F, L>, const N: usize>(
Expand Down

0 comments on commit 158b68d

Please sign in to comment.