Skip to content

Commit

Permalink
use general evaluation domain
Browse files Browse the repository at this point in the history
  • Loading branch information
piotr-roslaniec committed Jul 6, 2023
1 parent d5ec5e0 commit 2c20efb
Show file tree
Hide file tree
Showing 7 changed files with 19 additions and 21 deletions.
4 changes: 2 additions & 2 deletions ferveo/benches/benchmarks/eval_domain.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ pub fn bench_eval_domain(c: &mut Criterion) {
for shares_num in NUM_SHARES_CASES {
let eval_radix2_eval_domain = {
let domain =
ark_poly::MixedRadixEvaluationDomain::new(shares_num).unwrap();
ark_poly::GeneralEvaluationDomain::new(shares_num).unwrap();
let phi = SecretPolynomial::<ark_bls12_381::Bls12_381>::new(
&s, shares_num, rng,
);
Expand All @@ -33,7 +33,7 @@ pub fn bench_eval_domain(c: &mut Criterion) {

let eval_mixed_eval_domain = {
let domain =
ark_poly::MixedRadixEvaluationDomain::new(shares_num).unwrap();
ark_poly::GeneralEvaluationDomain::new(shares_num).unwrap();
let phi = SecretPolynomial::<ark_bls12_381::Bls12_381>::new(
&s, shares_num, rng,
);
Expand Down
4 changes: 2 additions & 2 deletions ferveo/src/api.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use std::io;

use ark_poly::{EvaluationDomain, MixedRadixEvaluationDomain};
use ark_poly::{EvaluationDomain, GeneralEvaluationDomain};
use ark_serialize::{CanonicalDeserialize, CanonicalSerialize};
use ark_std::UniformRand;
use bincode;
Expand Down Expand Up @@ -204,7 +204,7 @@ impl AggregatedTranscript {
messages: &[ValidatorMessage],
) -> Result<bool> {
let pvss_params = PubliclyVerifiableParams::<E>::default();
let domain = MixedRadixEvaluationDomain::<Fr>::new(shares_num as usize)
let domain = GeneralEvaluationDomain::<Fr>::new(shares_num as usize)
.expect("Unable to construct an evaluation domain");

let is_valid_optimistic = self.0.verify_optimistic();
Expand Down
11 changes: 5 additions & 6 deletions ferveo/src/dkg.rs
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ pub struct PubliclyVerifiableDkg<E: Pairing> {
pub pvss_params: PubliclyVerifiableParams<E>,
pub validators: ValidatorsMap<E>,
pub vss: PVSSMap<E>,
pub domain: ark_poly::MixedRadixEvaluationDomain<E::ScalarField>,
pub domain: ark_poly::GeneralEvaluationDomain<E::ScalarField>,
pub me: DkgValidator<E>,
pub state: DkgState<E>,
}
Expand All @@ -76,11 +76,10 @@ impl<E: Pairing> PubliclyVerifiableDkg<E> {
dkg_params: &DkgParams,
me: &Validator<E>,
) -> Result<Self> {
let domain =
ark_poly::MixedRadixEvaluationDomain::<E::ScalarField>::new(
dkg_params.shares_num as usize,
)
.expect("unable to construct domain");
let domain = ark_poly::GeneralEvaluationDomain::<E::ScalarField>::new(
dkg_params.shares_num as usize,
)
.expect("unable to construct domain");

// Sort the validators to verify a global ordering
if !is_sorted(validators) {
Expand Down
4 changes: 2 additions & 2 deletions ferveo/src/pvss.rs
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ pub fn do_verify_full<E: Pairing>(
pvss_encrypted_shares: &[E::G2Affine],
pvss_params: &PubliclyVerifiableParams<E>,
validators: &[Validator<E>],
domain: &ark_poly::MixedRadixEvaluationDomain<E::ScalarField>,
domain: &ark_poly::GeneralEvaluationDomain<E::ScalarField>,
) -> bool {
let mut commitment = batch_to_projective_g1::<E>(pvss_coefficients);
domain.fft_in_place(&mut commitment);
Expand Down Expand Up @@ -256,7 +256,7 @@ pub fn do_verify_aggregation<E: Pairing>(
pvss_agg_encrypted_shares: &[E::G2Affine],
pvss_params: &PubliclyVerifiableParams<E>,
validators: &[Validator<E>],
domain: &ark_poly::MixedRadixEvaluationDomain<E::ScalarField>,
domain: &ark_poly::GeneralEvaluationDomain<E::ScalarField>,
vss: &PVSSMap<E>,
) -> Result<bool> {
let is_valid = do_verify_full(
Expand Down
4 changes: 2 additions & 2 deletions subproductdomain/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ use ark_ec::{
use ark_ff::{FftField, Field, Zero};
use ark_poly::{
univariate::DensePolynomial, DenseUVPolynomial, EvaluationDomain,
MixedRadixEvaluationDomain, Polynomial,
GeneralEvaluationDomain, Polynomial,
};

/// Compute a fast multiexp of many scalars times the same base
Expand Down Expand Up @@ -342,7 +342,7 @@ pub fn toeplitz_mul<E: Pairing, const NORMALIZE: bool>(
let m = polynomial.coeffs.len() - 1;
let size = ark_std::cmp::max(size, m);

let domain = MixedRadixEvaluationDomain::<E::ScalarField>::new(2 * size)
let domain = GeneralEvaluationDomain::<E::ScalarField>::new(2 * size)
.ok_or_else(|| {
anyhow::anyhow!("toeplitz multiplication on too large a domain")
})?;
Expand Down
5 changes: 2 additions & 3 deletions tpke/src/combine.rs
Original file line number Diff line number Diff line change
Expand Up @@ -161,14 +161,13 @@ mod tests {
use ark_poly::EvaluationDomain;
use ark_std::One;
let fft_domain =
ark_poly::MixedRadixEvaluationDomain::<ScalarField>::new(500)
.unwrap();
ark_poly::GeneralEvaluationDomain::<ScalarField>::new(500).unwrap();

let mut domain = Vec::with_capacity(500);
let mut point = ScalarField::one();
for _ in 0..500 {
domain.push(point);
point *= fft_domain.group_gen;
point *= fft_domain.group_gen();
}

let mut lagrange_n_0 = domain.iter().product::<ScalarField>();
Expand Down
8 changes: 4 additions & 4 deletions tpke/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ pub mod test_common {
DensePolynomial::<E::ScalarField>::rand(threshold - 1, rng);
// Domain, or omega Ω
let fft_domain =
ark_poly::MixedRadixEvaluationDomain::<E::ScalarField>::new(
ark_poly::GeneralEvaluationDomain::<E::ScalarField>::new(
shares_num,
)
.unwrap();
Expand Down Expand Up @@ -123,9 +123,9 @@ pub mod test_common {

for _ in 0..shares_num {
domain_points.push(point); // 1, t, t^2, t^3, ...; where t is a scalar generator fft_domain.group_gen
point *= fft_domain.group_gen;
point *= fft_domain.group_gen();
domain_points_inv.push(point_inv);
point_inv *= fft_domain.group_gen_inv;
point_inv *= fft_domain.group_gen_inv();
}

let mut private_contexts = vec![];
Expand Down Expand Up @@ -195,7 +195,7 @@ pub mod test_common {
DensePolynomial::<E::ScalarField>::rand(threshold - 1, rng);
// Domain, or omega Ω
let fft_domain =
ark_poly::MixedRadixEvaluationDomain::<E::ScalarField>::new(
ark_poly::GeneralEvaluationDomain::<E::ScalarField>::new(
shares_num,
)
.unwrap();
Expand Down

0 comments on commit 2c20efb

Please sign in to comment.