Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
shplemini.test.cpp File Reference

Go to the source code of this file.

Classes

class  bb::ShpleminiTest< Flavor >
 
class  bb::ShpleminiKZGTest
 

Namespaces

namespace  bb
 Entry point for Barretenberg command-line interface.
 

Typedefs

using bb::TestSettings = ::testing::Types< BN254Settings >
 

Functions

 bb::TYPED_TEST_SUITE (ShpleminiTest, TestSettings)
 
 bb::TYPED_TEST (ShpleminiTest, CorrectnessOfMultivariateClaimBatching)
 
 bb::TYPED_TEST (ShpleminiTest, CorrectnessOfGeminiClaimBatching)
 
 bb::TYPED_TEST (ShpleminiTest, ShpleminiZKNoSumcheckOpenings)
 Test Shplemini with ZK data consisting of a hiding polynomial generated by GeminiProver and Libra polynomials used to mask Sumcheck Round Univariates. This abstracts the PCS step in each ZK Flavor running over BN254.
 
 bb::TYPED_TEST (ShpleminiTest, ShpleminiZKWithSumcheckOpenings)
 Test Shplemini with ZK data consisting of a hiding polynomial generated by GeminiProver, Libra polynomials used to mask Sumcheck Round Univariates and prove/verify the claimed evaluations of committed sumcheck round univariates. This test abstracts the PCS step of the joint BatchedHonkTranslator flow, the remaining user of committed sumcheck round openings in Shplemini.
 
 bb::TYPED_TEST (ShpleminiTest, HighDegreeAttackAccept)
 High degree attack test: prover commits to a higher degree polynomial than expected.
 
 bb::TYPED_TEST (ShpleminiTest, HighDegreeAttackReject)
 High degree attack test: prover commits to a random higher degree polynomial.
 
 bb::TYPED_TEST (ShpleminiTest, ToBeShiftedNonZeroConstantTermRejected)
 Soundness of the to-be-shifted PCS backstop: a commitment with a non-zero constant coefficient must be rejected.
 
 bb::TYPED_TEST (ShpleminiTest, LibraConsistencyCheckFailsOnCorruptedEvaluation)
 Test that consistency_checked is false when a Libra univariate evaluation is corrupted.
 
template<typename TypeParam >
void bb::run_libra_tampering_test (ShpleminiTest< TypeParam > *test, typename ShpleminiTest< TypeParam >::TamperedPolynomial tamper_polynomial, typename ShpleminiTest< TypeParam >::TamperedCommitment tamper_commitment, bool expected_consistency_checked)
 Helper to run a Libra tampering test with configurable tampering options.
 
 bb::TYPED_TEST (ShpleminiTest, LibraQuotientPolynomialTamperingCausesVerificationFailure)
 Test tampering with quotient polynomial Q - breaks consistency check and PCS.
 
 bb::TYPED_TEST (ShpleminiTest, LibraQuotientCommitmentTamperingCausesVerificationFailure)
 Test tampering with quotient commitment [Q] - consistency check passes but PCS fails.
 
 bb::TYPED_TEST (ShpleminiTest, LibraGrandSumCommitmentTamperingCausesVerificationFailure)
 Test tampering with grand sum commitment [A] - consistency check passes but PCS fails.
 
 bb::TYPED_TEST (ShpleminiTest, LibraConcatenatedPolynomialTamperingCausesVerificationFailure)
 Test tampering with concatenated polynomial G - breaks consistency check and PCS.
 
 bb::TYPED_TEST (ShpleminiTest, LibraConcatenatedCommitmentTamperingCausesVerificationFailure)
 Test tampering with concatenated commitment [G] - consistency check passes but PCS fails.
 
 bb::TYPED_TEST (ShpleminiTest, SmallSubgroupIPABoundaryOpeningRejectsForgedInnerProduct)
 End-to-end Shplemini + SmallSubgroupIPA soundness regression.