Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::ECCVMRecursiveTests Class Reference
Inheritance diagram for bb::ECCVMRecursiveTests:

Public Types

enum class  TamperType {
  MODIFY_SUMCHECK_UNIVARIATE , MODIFY_SUMCHECK_EVAL , MODIFY_IPA_CLAIM , MODIFY_TRANSLATION_EVAL ,
  MODIFY_LIBRA_EVAL , END
}
 
using RecursiveFlavor = ECCVMRecursiveFlavor
 
using InnerFlavor = RecursiveFlavor::NativeFlavor
 
using InnerBuilder = InnerFlavor::CircuitBuilder
 
using InnerProver = ECCVMProver
 
using InnerVerifier = ECCVMVerifier
 
using InnerG1 = InnerFlavor::Commitment
 
using InnerFF = InnerFlavor::FF
 
using InnerBF = InnerFlavor::BF
 
using InnerPK = InnerFlavor::ProvingKey
 
using InnerVK = InnerFlavor::VerificationKey
 
using Transcript = InnerFlavor::Transcript
 
using StdlibTranscript = RecursiveFlavor::Transcript
 
using RecursiveVerifier = ECCVMRecursiveVerifier
 
using OuterBuilder = RecursiveFlavor::CircuitBuilder
 
using OuterFlavor = std::conditional_t< IsMegaBuilder< OuterBuilder >, MegaFlavor, UltraFlavor >
 
using OuterProver = UltraProver_< OuterFlavor >
 
using OuterVerifier = UltraVerifier_< OuterFlavor, bb::DefaultIO >
 
using OuterProverInstance = ProverInstance_< OuterFlavor >
 
using PCS = IPA< ECCVMFlavor::Curve, CONST_ECCVM_LOG_N >
 

Static Public Member Functions

static void SetUpTestSuite ()
 
static InnerBuilder generate_circuit (numeric::RNG *engine=nullptr, const size_t num_iterations=1)
 Adds operations in BN254 to the op_queue and then constructs and ECCVM circuit from the op_queue.
 
static void test_recursive_verification ()
 
static void test_recursive_verification_failure ()
 
static void test_structured_proof_round_trip ()
 Verify that StructuredProof<ECCVMFlavor> can round-trip serialize/deserialize a proof.
 
static void tamper_eccvm_proof (InnerProver &prover, typename InnerFlavor::Transcript::Proof &proof, TamperType tamper_type)
 
static void test_recursive_verification_fails ()
 
static void test_independent_vk_hash ()
 

Detailed Description

Definition at line 17 of file eccvm_recursive_verifier.test.cpp.

Member Typedef Documentation

◆ InnerBF

◆ InnerBuilder

◆ InnerFF

◆ InnerFlavor

◆ InnerG1

◆ InnerPK

◆ InnerProver

◆ InnerVerifier

◆ InnerVK

◆ OuterBuilder

◆ OuterFlavor

◆ OuterProver

◆ OuterProverInstance

◆ OuterVerifier

◆ PCS

Definition at line 41 of file eccvm_recursive_verifier.test.cpp.

◆ RecursiveFlavor

◆ RecursiveVerifier

◆ StdlibTranscript

◆ Transcript

Member Enumeration Documentation

◆ TamperType

Enumerator
MODIFY_SUMCHECK_UNIVARIATE 
MODIFY_SUMCHECK_EVAL 
MODIFY_IPA_CLAIM 
MODIFY_TRANSLATION_EVAL 
MODIFY_LIBRA_EVAL 
END 

Definition at line 216 of file eccvm_recursive_verifier.test.cpp.

Member Function Documentation

◆ generate_circuit()

static InnerBuilder bb::ECCVMRecursiveTests::generate_circuit ( numeric::RNG engine = nullptr,
const size_t  num_iterations = 1 
)
inlinestatic

Adds operations in BN254 to the op_queue and then constructs and ECCVM circuit from the op_queue.

Parameters
engine
Returns
ECCVMCircuitBuilder

Definition at line 50 of file eccvm_recursive_verifier.test.cpp.

◆ SetUpTestSuite()

static void bb::ECCVMRecursiveTests::SetUpTestSuite ( )
inlinestatic

Definition at line 42 of file eccvm_recursive_verifier.test.cpp.

◆ tamper_eccvm_proof()

static void bb::ECCVMRecursiveTests::tamper_eccvm_proof ( InnerProver prover,
typename InnerFlavor::Transcript::Proof proof,
TamperType  tamper_type 
)
inlinestatic

Definition at line 225 of file eccvm_recursive_verifier.test.cpp.

◆ test_independent_vk_hash()

static void bb::ECCVMRecursiveTests::test_independent_vk_hash ( )
inlinestatic

Definition at line 308 of file eccvm_recursive_verifier.test.cpp.

◆ test_recursive_verification()

static void bb::ECCVMRecursiveTests::test_recursive_verification ( )
inlinestatic

Definition at line 86 of file eccvm_recursive_verifier.test.cpp.

◆ test_recursive_verification_fails()

static void bb::ECCVMRecursiveTests::test_recursive_verification_fails ( )
inlinestatic

Definition at line 264 of file eccvm_recursive_verifier.test.cpp.

◆ test_recursive_verification_failure()

static void bb::ECCVMRecursiveTests::test_recursive_verification_failure ( )
inlinestatic

Definition at line 162 of file eccvm_recursive_verifier.test.cpp.

◆ test_structured_proof_round_trip()

static void bb::ECCVMRecursiveTests::test_structured_proof_round_trip ( )
inlinestatic

Verify that StructuredProof<ECCVMFlavor> can round-trip serialize/deserialize a proof.

Validates the field layout matches the actual ECCVM proof structure. This is the foundation for targeted proof tampering in TargetedProofTampering.

Definition at line 197 of file eccvm_recursive_verifier.test.cpp.


The documentation for this class was generated from the following file: