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

#include <ultra_keccak_flavor.hpp>

Inheritance diagram for bb::UltraKeccakFlavor:
bb::UltraFlavor bb::UltraKeccakZKFlavor

Classes

class  VerificationKey
 The verification key is responsible for storing the commitments to the precomputed (non-witnessk) polynomials used by the verifier. More...
 

Public Types

using Transcript = UltraKeccakFlavor::Transcript_< KeccakTranscriptParams >
 
using VerifierCommitments = VerifierCommitments_< Commitment, VerificationKey >
 
- Public Types inherited from bb::UltraFlavor
using CircuitBuilder = UltraCircuitBuilder
 
using Curve = curve::BN254
 
using FF = Curve::ScalarField
 
using GroupElement = Curve::Element
 
using Commitment = Curve::AffineElement
 
using PCS = KZG< Curve >
 
using Polynomial = bb::Polynomial< FF >
 
using CommitmentKey = bb::CommitmentKey< Curve >
 
using VerifierCommitmentKey = bb::VerifierCommitmentKey< Curve >
 
template<typename FF >
using Relations_ = std::tuple< bb::UltraArithmeticRelation< FF >, bb::UltraPermutationRelation< FF >, bb::LogDerivLookupRelation< FF >, bb::DeltaRangeConstraintRelation< FF >, bb::EllipticRelation< FF >, bb::MemoryRelation< FF >, bb::NonNativeFieldRelation< FF >, bb::Poseidon2ExternalRelation< FF >, bb::Poseidon2InternalRelation< FF > >
 
using Relations = Relations_< FF >
 
using SubrelationSeparators = std::array< FF, NUM_SUBRELATIONS - 1 >
 
template<size_t NUM_KEYS>
using ProtogalaxyTupleOfTuplesOfUnivariatesNoOptimisticSkipping = decltype(create_protogalaxy_tuple_of_tuples_of_univariates< Relations, NUM_KEYS >())
 
template<size_t NUM_KEYS>
using ProtogalaxyTupleOfTuplesOfUnivariates = decltype(create_protogalaxy_tuple_of_tuples_of_univariates< Relations, NUM_KEYS, true >())
 
using PrecomputedData = PrecomputedData_< Polynomial, NUM_PRECOMPUTED_ENTITIES >
 
using Transcript = Transcript_< NativeTranscriptParams >
 
template<size_t LENGTH>
using ProverUnivariates = AllEntities< bb::Univariate< FF, LENGTH > >
 A container for univariates used during Protogalaxy folding and sumcheck.
 
template<size_t LENGTH, size_t SKIP_COUNT>
using ProverUnivariatesWithOptimisticSkipping = AllEntities< bb::Univariate< FF, LENGTH, 0, SKIP_COUNT > >
 A container for univariates used during Protogalaxy folding and sumcheck.
 
using ExtendedEdges = ProverUnivariates< MAX_PARTIAL_RELATION_LENGTH >
 A container for univariates produced during the hot loop in sumcheck.
 
using WitnessCommitments = WitnessEntities< Commitment >
 A container for the witness commitments.
 
using VerifierCommitments = VerifierCommitments_< Commitment, VerificationKey >
 

Static Public Member Functions

static constexpr size_t DECIDER_PROOF_LENGTH (size_t virtual_log_n=VIRTUAL_LOG_N)
 
static constexpr size_t PROOF_LENGTH_WITHOUT_PUB_INPUTS (size_t virtual_log_n=VIRTUAL_LOG_N)
 
- Static Public Member Functions inherited from bb::UltraFlavor
static constexpr size_t DECIDER_PROOF_LENGTH (size_t virtual_log_n=VIRTUAL_LOG_N)
 
static constexpr size_t PROOF_LENGTH_WITHOUT_PUB_INPUTS (size_t virtual_log_n=VIRTUAL_LOG_N)
 

Static Public Attributes

static constexpr bool USE_PADDING = false
 
static constexpr size_t num_elements_comm = bb::field_conversion::calc_num_uint256_ts<Commitment>()
 
static constexpr size_t num_elements_fr = bb::field_conversion::calc_num_uint256_ts<FF>()
 
static constexpr size_t OINK_PROOF_LENGTH_WITHOUT_PUB_INPUTS
 
- Static Public Attributes inherited from bb::UltraFlavor
static constexpr size_t VIRTUAL_LOG_N = CONST_PROOF_SIZE_LOG_N
 
static constexpr bool USE_SHORT_MONOMIALS = true
 
static constexpr bool HasZK = false
 
static constexpr bool USE_PADDING = true
 
static constexpr size_t NUM_WIRES = CircuitBuilder::NUM_WIRES
 
static constexpr size_t NUM_ALL_ENTITIES = 41
 
static constexpr size_t NUM_PRECOMPUTED_ENTITIES = 28
 
static constexpr size_t NUM_WITNESS_ENTITIES = 8
 
static constexpr size_t NUM_FOLDED_ENTITIES = NUM_PRECOMPUTED_ENTITIES + NUM_WITNESS_ENTITIES
 
static constexpr size_t NUM_SHIFTED_WITNESSES = 5
 
static constexpr RepeatedCommitmentsData REPEATED_COMMITMENTS
 
static constexpr size_t MAX_PARTIAL_RELATION_LENGTH = compute_max_partial_relation_length<Relations>()
 
static constexpr size_t MAX_TOTAL_RELATION_LENGTH = compute_max_total_relation_length<Relations>()
 
static constexpr size_t NUM_SUBRELATIONS = compute_number_of_subrelations<Relations>()
 
static constexpr size_t BATCHED_RELATION_PARTIAL_LENGTH = MAX_PARTIAL_RELATION_LENGTH + 1
 
static constexpr size_t NUM_RELATIONS = std::tuple_size_v<Relations>
 
static constexpr size_t num_frs_comm = bb::field_conversion::calc_num_bn254_frs<Commitment>()
 
static constexpr size_t num_frs_fr = bb::field_conversion::calc_num_bn254_frs<FF>()
 
static constexpr size_t OINK_PROOF_LENGTH_WITHOUT_PUB_INPUTS
 
static constexpr bool has_zero_row = true
 
static constexpr bool is_decider = true
 

Detailed Description

Definition at line 33 of file ultra_keccak_flavor.hpp.

Member Typedef Documentation

◆ Transcript

◆ VerifierCommitments

Member Function Documentation

◆ DECIDER_PROOF_LENGTH()

static constexpr size_t bb::UltraKeccakFlavor::DECIDER_PROOF_LENGTH ( size_t  virtual_log_n = VIRTUAL_LOG_N)
inlinestaticconstexpr

Definition at line 47 of file ultra_keccak_flavor.hpp.

◆ PROOF_LENGTH_WITHOUT_PUB_INPUTS()

static constexpr size_t bb::UltraKeccakFlavor::PROOF_LENGTH_WITHOUT_PUB_INPUTS ( size_t  virtual_log_n = VIRTUAL_LOG_N)
inlinestaticconstexpr

Definition at line 58 of file ultra_keccak_flavor.hpp.

Member Data Documentation

◆ num_elements_comm

constexpr size_t bb::UltraKeccakFlavor::num_elements_comm = bb::field_conversion::calc_num_uint256_ts<Commitment>()
staticconstexpr

Definition at line 40 of file ultra_keccak_flavor.hpp.

◆ num_elements_fr

constexpr size_t bb::UltraKeccakFlavor::num_elements_fr = bb::field_conversion::calc_num_uint256_ts<FF>()
staticconstexpr

Definition at line 41 of file ultra_keccak_flavor.hpp.

◆ OINK_PROOF_LENGTH_WITHOUT_PUB_INPUTS

constexpr size_t bb::UltraKeccakFlavor::OINK_PROOF_LENGTH_WITHOUT_PUB_INPUTS
staticconstexpr
Initial value:
=
static constexpr size_t NUM_WITNESS_ENTITIES
static constexpr size_t num_elements_comm

Definition at line 44 of file ultra_keccak_flavor.hpp.

◆ USE_PADDING

constexpr bool bb::UltraKeccakFlavor::USE_PADDING = false
staticconstexpr

Definition at line 37 of file ultra_keccak_flavor.hpp.


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