Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ TEST_F(IPATest, ShpleminiIPAWithoutShift)
mle_opening_point,
ck);

auto prover_transcript = NativeTranscript::prover_init_empty();
auto prover_transcript = NativeTranscript::test_prover_init_empty();

// Run the full prover PCS protocol:
// Compute:
Expand All @@ -293,7 +293,7 @@ TEST_F(IPATest, ShpleminiIPAWithoutShift)
const auto opening_claim = ShplonkProver::prove(ck, prover_opening_claims, prover_transcript);
PCS::compute_opening_proof(ck, opening_claim, prover_transcript);

auto verifier_transcript = NativeTranscript::verifier_init_empty(prover_transcript);
auto verifier_transcript = NativeTranscript::test_verifier_init_empty(prover_transcript);

std::array<Fr, log_n> padding_indicator_array;
std::ranges::fill(padding_indicator_array, Fr{ 1 });
Expand All @@ -320,7 +320,7 @@ TEST_F(IPATest, ShpleminiIPAWithShift)
/*num_to_be_shifted*/ 1,
mle_opening_point,
ck);
auto prover_transcript = NativeTranscript::prover_init_empty();
auto prover_transcript = NativeTranscript::test_prover_init_empty();

// Run the full prover PCS protocol:

Expand All @@ -332,7 +332,7 @@ TEST_F(IPATest, ShpleminiIPAWithShift)
const auto opening_claim = ShplonkProver::prove(ck, prover_opening_claims, prover_transcript);
PCS::compute_opening_proof(ck, opening_claim, prover_transcript);

auto verifier_transcript = NativeTranscript::verifier_init_empty(prover_transcript);
auto verifier_transcript = NativeTranscript::test_verifier_init_empty(prover_transcript);

std::array<Fr, log_n> padding_indicator_array;
std::ranges::fill(padding_indicator_array, Fr{ 1 });
Expand Down Expand Up @@ -361,7 +361,7 @@ TEST_F(IPATest, ShpleminiIPAShiftsRemoval)
mle_opening_point,
ck);

auto prover_transcript = NativeTranscript::prover_init_empty();
auto prover_transcript = NativeTranscript::test_prover_init_empty();

// Run the full prover PCS protocol:

Expand All @@ -387,7 +387,7 @@ TEST_F(IPATest, ShpleminiIPAShiftsRemoval)
// since commitments to poly2, poly3 and their shifts are the same group elements, we simply combine the scalar
// multipliers of commitment2 and commitment3 in one place and remove the entries of the commitments and scalars
// vectors corresponding to the "shifted" commitment
auto verifier_transcript = NativeTranscript::verifier_init_empty(prover_transcript);
auto verifier_transcript = NativeTranscript::test_verifier_init_empty(prover_transcript);

std::array<Fr, log_n> padding_indicator_array;
std::ranges::fill(padding_indicator_array, Fr{ 1 });
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,11 @@ class KZGTest : public CommitmentTest<Curve> {

auto opening_claim = OpeningClaim<Curve>{ opening_pair, commitment };

auto prover_transcript = NativeTranscript::prover_init_empty();
auto prover_transcript = NativeTranscript::test_prover_init_empty();

PCS::compute_opening_proof(ck, { witness, opening_pair }, prover_transcript);

auto verifier_transcript = NativeTranscript::verifier_init_empty(prover_transcript);
auto verifier_transcript = NativeTranscript::test_verifier_init_empty(prover_transcript);
const auto pairing_points = PCS::reduce_verify(opening_claim, verifier_transcript);

EXPECT_EQ(vk.pairing_check(pairing_points[0], pairing_points[1]), true);
Expand Down Expand Up @@ -83,12 +83,12 @@ TEST_F(KZGTest, WrongEvaluationFails)
const Fr wrong_evaluation = evaluation + Fr::random_element();
// Prove with the wrong evaluation
Commitment commitment = ck.commit(witness);
auto prover_transcript = NativeTranscript::prover_init_empty();
auto prover_transcript = NativeTranscript::test_prover_init_empty();
PCS::compute_opening_proof(ck, { witness, { challenge, wrong_evaluation } }, prover_transcript);

auto opening_claim = OpeningClaim<Curve>{ { challenge, wrong_evaluation }, commitment };
// Run the verifier
auto verifier_transcript = NativeTranscript::verifier_init_empty(prover_transcript);
auto verifier_transcript = NativeTranscript::test_verifier_init_empty(prover_transcript);
auto pairing_point = PCS::reduce_verify(opening_claim, verifier_transcript);
// Make sure that the pairing check fails
EXPECT_EQ(vk.pairing_check(pairing_point[0], pairing_point[1]), false);
Expand Down Expand Up @@ -162,11 +162,11 @@ TEST_F(KZGTest, SingleInLagrangeBasis)
auto opening_pair = OpeningPair<Curve>{ challenge, evaluation };
auto opening_claim = OpeningClaim<Curve>{ opening_pair, commitment };

auto prover_transcript = NativeTranscript::prover_init_empty();
auto prover_transcript = NativeTranscript::test_prover_init_empty();

PCS::compute_opening_proof(ck, { witness_polynomial, opening_pair }, prover_transcript);

auto verifier_transcript = NativeTranscript::verifier_init_empty(prover_transcript);
auto verifier_transcript = NativeTranscript::test_verifier_init_empty(prover_transcript);
auto pairing_points = PCS::reduce_verify(opening_claim, verifier_transcript);

EXPECT_EQ(vk.pairing_check(pairing_points[0], pairing_points[1]), true);
Expand All @@ -183,7 +183,7 @@ TEST_F(KZGTest, ShpleminiKzgWithShift)
mle_opening_point,
ck);

auto prover_transcript = NativeTranscript::prover_init_empty();
auto prover_transcript = NativeTranscript::test_prover_init_empty();

// Run the full prover PCS protocol:

Expand All @@ -204,7 +204,7 @@ TEST_F(KZGTest, ShpleminiKzgWithShift)

// Run the full verifier PCS protocol with genuine opening claims (genuine commitment, genuine evaluation)

auto verifier_transcript = NativeTranscript::verifier_init_empty(prover_transcript);
auto verifier_transcript = NativeTranscript::test_verifier_init_empty(prover_transcript);

// Gemini verifier output:
// - claim: d+1 commitments to Fold_{r}^(0), Fold_{-r}^(0), Fold^(l), d+1 evaluations a_0_pos, a_l, l = 0:d-1
Expand Down Expand Up @@ -238,7 +238,7 @@ TEST_F(KZGTest, ShpleminiKzgWithShiftAndInterleaving)
/*num_interleaved*/ 3,
/*num_to_be_interleaved*/ 2);

auto prover_transcript = NativeTranscript::prover_init_empty();
auto prover_transcript = NativeTranscript::test_prover_init_empty();

// Run the full prover PCS protocol:

Expand All @@ -259,7 +259,7 @@ TEST_F(KZGTest, ShpleminiKzgWithShiftAndInterleaving)

// Run the full verifier PCS protocol with genuine opening claims (genuine commitment, genuine evaluation)

auto verifier_transcript = NativeTranscript::verifier_init_empty(prover_transcript);
auto verifier_transcript = NativeTranscript::test_verifier_init_empty(prover_transcript);

// Gemini verifier output:
// - claim: d+1 commitments to Fold_{r}^(0), Fold_{-r}^(0), Fold^(l), d+1 evaluations a_0_pos, a_l, l = 0:d-1
Expand Down Expand Up @@ -294,7 +294,7 @@ TEST_F(KZGTest, ShpleminiKzgShiftsRemoval)
mle_opening_point,
ck);

auto prover_transcript = NativeTranscript::prover_init_empty();
auto prover_transcript = NativeTranscript::test_prover_init_empty();

// Run the full prover PCS protocol:

Expand All @@ -315,7 +315,7 @@ TEST_F(KZGTest, ShpleminiKzgShiftsRemoval)

// Run the full verifier PCS protocol with genuine opening claims (genuine commitment, genuine evaluation)

auto verifier_transcript = NativeTranscript::verifier_init_empty(prover_transcript);
auto verifier_transcript = NativeTranscript::test_verifier_init_empty(prover_transcript);
// the index of the first commitment to a polynomial to be shifted in the union of unshifted_commitments and
// shifted_commitments. in our case, it is poly2
const size_t to_be_shifted_commitments_start = 2;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -278,7 +278,7 @@ TYPED_TEST(ShpleminiTest, ShpleminiZKNoSumcheckOpenings)
using CK = typename TypeParam::CommitmentKey;

// Initialize transcript and commitment key
auto prover_transcript = TypeParam::Transcript::prover_init_empty();
auto prover_transcript = TypeParam::Transcript::test_prover_init_empty();

// SmallSubgroupIPAProver requires at least CURVE::SUBGROUP_SIZE + 3 elements in the ck.
static constexpr size_t log_subgroup_size = static_cast<size_t>(numeric::get_msb(Curve::SUBGROUP_SIZE));
Expand Down Expand Up @@ -323,7 +323,7 @@ TYPED_TEST(ShpleminiTest, ShpleminiZKNoSumcheckOpenings)
}

// Initialize verifier's transcript
auto verifier_transcript = NativeTranscript::verifier_init_empty(prover_transcript);
auto verifier_transcript = NativeTranscript::test_verifier_init_empty(prover_transcript);

// Start populating Verifier's array of Libra commitments
std::array<Commitment, NUM_LIBRA_COMMITMENTS> libra_commitments = {};
Expand Down Expand Up @@ -392,7 +392,7 @@ TYPED_TEST(ShpleminiTest, ShpleminiZKWithSumcheckOpenings)
// Generate Sumcheck challenge
std::vector<Fr> challenge = this->random_evaluation_point(this->log_n);

auto prover_transcript = TypeParam::Transcript::prover_init_empty();
auto prover_transcript = TypeParam::Transcript::test_prover_init_empty();

// Generate masking polynomials for Sumcheck Round Univariates
ZKSumcheckData<TypeParam> zk_sumcheck_data(this->log_n, prover_transcript, ck);
Expand Down Expand Up @@ -431,7 +431,7 @@ TYPED_TEST(ShpleminiTest, ShpleminiZKWithSumcheckOpenings)
}

// Initialize verifier's transcript
auto verifier_transcript = NativeTranscript::verifier_init_empty(prover_transcript);
auto verifier_transcript = NativeTranscript::test_verifier_init_empty(prover_transcript);

std::array<Commitment, NUM_LIBRA_COMMITMENTS> libra_commitments = {};
libra_commitments[0] =
Expand Down Expand Up @@ -518,7 +518,7 @@ TYPED_TEST(ShpleminiTest, HighDegreeAttackAccept)
MockClaimGenerator<Curve> mock_claims(
this->n, std::vector{ std::move(poly) }, std::vector<Fr>{ claimed_multilinear_eval }, ck);

auto prover_transcript = NativeTranscript::prover_init_empty();
auto prover_transcript = NativeTranscript::test_prover_init_empty();

// Run Shplemini prover
const auto opening_claim =
Expand All @@ -532,7 +532,7 @@ TYPED_TEST(ShpleminiTest, HighDegreeAttackAccept)
}

// Verifier side
auto verifier_transcript = NativeTranscript::verifier_init_empty(prover_transcript);
auto verifier_transcript = NativeTranscript::test_verifier_init_empty(prover_transcript);

std::vector<Fr> padding_indicator_array(small_log_n, Fr{ 1 });

Expand Down Expand Up @@ -585,7 +585,7 @@ TYPED_TEST(ShpleminiTest, HighDegreeAttackReject)
MockClaimGenerator<Curve> mock_claims(
big_n, std::vector{ std::move(poly) }, std::vector<Fr>{ claimed_multilinear_eval }, ck);

auto prover_transcript = NativeTranscript::prover_init_empty();
auto prover_transcript = NativeTranscript::test_prover_init_empty();

// Run Shplemini prover
const auto opening_claim = ShpleminiProver::prove(big_n, mock_claims.polynomial_batcher, u, ck, prover_transcript);
Expand All @@ -598,7 +598,7 @@ TYPED_TEST(ShpleminiTest, HighDegreeAttackReject)
}

// Verifier side
auto verifier_transcript = NativeTranscript::verifier_init_empty(prover_transcript);
auto verifier_transcript = NativeTranscript::test_verifier_init_empty(prover_transcript);

std::vector<Fr> padding_indicator_array(small_log_n, Fr{ 1 });

Expand Down Expand Up @@ -637,7 +637,7 @@ TYPED_TEST(ShpleminiTest, LibraConsistencyCheckFailsOnCorruptedEvaluation)
using CK = typename TypeParam::CommitmentKey;

// Initialize transcript and commitment key
auto prover_transcript = TypeParam::Transcript::prover_init_empty();
auto prover_transcript = TypeParam::Transcript::test_prover_init_empty();

// SmallSubgroupIPAProver requires at least CURVE::SUBGROUP_SIZE + 3 elements in the ck.
static constexpr size_t log_subgroup_size = static_cast<size_t>(numeric::get_msb(Curve::SUBGROUP_SIZE));
Expand Down Expand Up @@ -685,7 +685,7 @@ TYPED_TEST(ShpleminiTest, LibraConsistencyCheckFailsOnCorruptedEvaluation)
}

// Initialize verifier's transcript
auto verifier_transcript = NativeTranscript::verifier_init_empty(prover_transcript);
auto verifier_transcript = NativeTranscript::test_verifier_init_empty(prover_transcript);

// Start populating Verifier's array of Libra commitments
std::array<Commitment, NUM_LIBRA_COMMITMENTS> libra_commitments = {};
Expand Down Expand Up @@ -742,7 +742,7 @@ void run_libra_tampering_test(ShpleminiTest<TypeParam>* test,
using Commitment = typename Curve::AffineElement;
using CK = typename TypeParam::CommitmentKey;

auto prover_transcript = TypeParam::Transcript::prover_init_empty();
auto prover_transcript = TypeParam::Transcript::test_prover_init_empty();

static constexpr size_t log_subgroup_size = static_cast<size_t>(numeric::get_msb(Curve::SUBGROUP_SIZE));
CK ck = create_commitment_key<CK>(std::max<size_t>(test->n, 1ULL << (log_subgroup_size + 1)));
Expand Down Expand Up @@ -777,7 +777,7 @@ void run_libra_tampering_test(ShpleminiTest<TypeParam>* test,
KZG<Curve>::compute_opening_proof(test->ck(), opening_claim, prover_transcript);
}

auto verifier_transcript = NativeTranscript::verifier_init_empty(prover_transcript);
auto verifier_transcript = NativeTranscript::test_verifier_init_empty(prover_transcript);

std::array<Commitment, NUM_LIBRA_COMMITMENTS> libra_commitments = {};
libra_commitments[0] =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ TYPED_TEST(ShplonkTest, ShplonkSimple)
using ShplonkProver = ShplonkProver_<TypeParam>;
using ShplonkVerifier = ShplonkVerifier_<TypeParam>;

auto prover_transcript = NativeTranscript::prover_init_empty();
auto prover_transcript = NativeTranscript::test_prover_init_empty();

// Generate two random (unrelated) polynomials of two different sizes, as well as their evaluations at a (single
// but different) random point and their commitments.
Expand All @@ -37,7 +37,7 @@ TYPED_TEST(ShplonkTest, ShplonkSimple)
this->verify_opening_pair(batched_opening_claim.opening_pair, batched_opening_claim.polynomial);

// Initialize verifier transcript from prover transcript
auto verifier_transcript = NativeTranscript::verifier_init_empty(prover_transcript);
auto verifier_transcript = NativeTranscript::test_verifier_init_empty(prover_transcript);

// Execute the shplonk verifier functionality
const auto batched_verifier_claim = ShplonkVerifier::reduce_verification(
Expand All @@ -53,7 +53,7 @@ TYPED_TEST(ShplonkTest, ExportBatchClaimAndVerify)
using ShplonkProver = ShplonkProver_<TypeParam>;
using ShplonkVerifier = ShplonkVerifier_<TypeParam>;

auto prover_transcript = NativeTranscript::prover_init_empty();
auto prover_transcript = NativeTranscript::test_prover_init_empty();

// Generate two random (unrelated) polynomials of two different sizes and a random linear combinations
auto setup = this->generate_claim_data({ MAX_POLY_DEGREE, MAX_POLY_DEGREE / 2 });
Expand All @@ -72,7 +72,7 @@ TYPED_TEST(ShplonkTest, ExportBatchClaimAndVerify)
}

// Shplonk verification
auto verifier_transcript = NativeTranscript::verifier_init_empty(prover_transcript);
auto verifier_transcript = NativeTranscript::test_verifier_init_empty(prover_transcript);

// Execute the shplonk verifier functionality
auto verifier_opening_claims = ClaimData::verifier_opening_claims(setup);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ TYPED_TEST(SmallSubgroupIPATest, ProverComputationsCorrectness)
static constexpr size_t log_subgroup_size = static_cast<size_t>(numeric::get_msb(SUBGROUP_SIZE));
CK ck = create_commitment_key<CK>(std::max<size_t>(this->circuit_size, 1ULL << (log_subgroup_size + 1)));

auto prover_transcript = TypeParam::Transcript::prover_init_empty();
auto prover_transcript = TypeParam::Transcript::test_prover_init_empty();

ZKData zk_sumcheck_data(this->log_circuit_size, prover_transcript, ck);
std::vector<FF> multivariate_challenge = this->generate_random_vector(this->log_circuit_size);
Expand Down Expand Up @@ -179,7 +179,7 @@ TYPED_TEST(SmallSubgroupIPATest, LibraEvaluationsConsistency)
using ZKData = ZKSumcheckData<TypeParam>;
using CK = typename TypeParam::CommitmentKey;

auto prover_transcript = TypeParam::Transcript::prover_init_empty();
auto prover_transcript = TypeParam::Transcript::test_prover_init_empty();

// SmallSubgroupIPAProver requires at least CURVE::SUBGROUP_SIZE + 3 elements in the ck.
static constexpr size_t log_subgroup_size = static_cast<size_t>(numeric::get_msb(Curve::SUBGROUP_SIZE));
Expand Down Expand Up @@ -216,7 +216,7 @@ TYPED_TEST(SmallSubgroupIPATest, LibraEvaluationsConsistencyFailure)
using ZKData = ZKSumcheckData<TypeParam>;
using CK = typename TypeParam::CommitmentKey;

auto prover_transcript = TypeParam::Transcript::prover_init_empty();
auto prover_transcript = TypeParam::Transcript::test_prover_init_empty();

// SmallSubgroupIPAProver requires at least CURVE::SUBGROUP_SIZE + 3 elements in the ck.
static constexpr size_t log_subgroup_size = static_cast<size_t>(numeric::get_msb(Curve::SUBGROUP_SIZE));
Expand Down Expand Up @@ -264,7 +264,7 @@ TYPED_TEST(SmallSubgroupIPATest, TranslationMaskingTermConsistency)
using Prover = SmallSubgroupIPAProver<TypeParam>;
using CK = typename TypeParam::CommitmentKey;

auto prover_transcript = TypeParam::Transcript::prover_init_empty();
auto prover_transcript = TypeParam::Transcript::test_prover_init_empty();
// Must satisfy num_wires * NUM_DISABLED_ROWS_IN_SUMCHECK + 1 < SUBGROUP_SIZE
const size_t num_wires = 5;

Expand Down Expand Up @@ -316,7 +316,7 @@ TYPED_TEST(SmallSubgroupIPATest, TranslationMaskingTermConsistencyFailure)
using Prover = SmallSubgroupIPAProver<TypeParam>;
using CK = typename TypeParam::CommitmentKey;

auto prover_transcript = TypeParam::Transcript::prover_init_empty();
auto prover_transcript = TypeParam::Transcript::test_prover_init_empty();
// Must satisfy num_wires * NUM_DISABLED_ROWS_IN_SUMCHECK + 1 < SUBGROUP_SIZE
const size_t num_wires = 5;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ template <class PCS> class ShpleminiRecursionTest : public CommitmentTest<typena
std::vector<NativeFr> u_challenge = random_challenge_vector(log_circuit_size);

MockClaimGen mock_claims(N, num_polys, num_shifted, u_challenge, commitment_key);
auto prover_transcript = NativeTranscript::prover_init_empty();
auto prover_transcript = NativeTranscript::test_prover_init_empty();
// Initialize polys outside of `if` as they are used inside RefVector ClaimBatcher members.
Polynomial<NativeFr> squashed_unshifted(N);
Polynomial<NativeFr> squashed_shifted(Polynomial<NativeFr>::shiftable(N));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ TYPED_TEST(ShplonkRecursionTest, Simple)
using StdlibProof = stdlib::Proof<Builder>;

// Prover transcript
auto prover_transcript = NativeTranscript::prover_init_empty();
auto prover_transcript = NativeTranscript::test_prover_init_empty();

// Test data
auto setup = this->generate_claim_data({ MAX_POLY_DEGREE, MAX_POLY_DEGREE / 2 });
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -673,7 +673,8 @@ print(" static constexpr size_t rounds_p = {};".format(R_P_FIXED))
print(" static constexpr size_t sbox_size = {};".format(FIELD_SIZE))

# Efficient partial matrix (diagonal - 1)
print("static constexpr std::array<FF, t> internal_matrix_diagonal = {")
# These are D_i - 1 where D_i are the actual diagonal values of M_I
print("static constexpr std::array<FF, t> internal_matrix_diagonal_minus_one = {")
for val in MATRIX_PARTIAL_DIAGONAL_M_1:
to_hex(val)
print("};")
Expand Down
Loading