Skip to content

Commit

Permalink
refactor: avoid creating intermediate vectors during commit (#365)
Browse files Browse the repository at this point in the history
* refactor: avoid creating intermediate vectors in hyperkzg commitment

* refactor: avoid creating intermediate vectors in pedersen commitment

* refactor: remove unnecessary reference and clone

Co-authored-by: Jay White <JayWhite2357@users.noreply.github.com>

---------

Co-authored-by: Jay White <JayWhite2357@users.noreply.github.com>
  • Loading branch information
jacobtrombetta and JayWhite2357 authored Feb 18, 2025
1 parent b7f5be7 commit b3d8cd4
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 12 deletions.
8 changes: 2 additions & 6 deletions src/provider/hyperkzg.rs
Original file line number Diff line number Diff line change
Expand Up @@ -272,13 +272,9 @@ where
fn commit(ck: &Self::CommitmentKey, v: &[E::Scalar], r: &E::Scalar) -> Self::Commitment {
assert!(ck.ck.len() >= v.len());

let mut scalars: Vec<E::Scalar> = v.to_vec();
scalars.push(*r);
let mut bases = ck.ck[..v.len()].to_vec();
bases.push(ck.h.clone());

Commitment {
comm: E::GE::vartime_multiscalar_mul(&scalars, &bases),
comm: E::GE::vartime_multiscalar_mul(v, &ck.ck[..v.len()])
+ <E::GE as DlogGroup>::group(&ck.h) * r,
}
}

Expand Down
8 changes: 2 additions & 6 deletions src/provider/pedersen.rs
Original file line number Diff line number Diff line change
Expand Up @@ -188,13 +188,9 @@ where
assert!(ck.ck.len() >= v.len());

if ck.h.is_some() {
let mut scalars: Vec<E::Scalar> = v.to_vec();
scalars.push(*r);
let mut bases = ck.ck[..v.len()].to_vec();
bases.push(ck.h.as_ref().unwrap().clone());

Commitment {
comm: E::GE::vartime_multiscalar_mul(&scalars, &bases),
comm: E::GE::vartime_multiscalar_mul(v, &ck.ck[..v.len()])
+ <E::GE as DlogGroup>::group(ck.h.as_ref().unwrap()) * r,
}
} else {
assert_eq!(*r, E::Scalar::ZERO);
Expand Down

0 comments on commit b3d8cd4

Please sign in to comment.