Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
ultra_keccak_flavor.hpp
Go to the documentation of this file.
1// === AUDIT STATUS ===
2// internal: { status: Planned, auditors: [], commit: }
3// external_1: { status: not started, auditors: [], commit: }
4// external_2: { status: not started, auditors: [], commit: }
5// =====================
6
7// TODO: the only change should be making honk generic over the transcript
8#pragma once
10
11namespace bb {
12
14 public:
18
19 static constexpr bool USE_PADDING = false;
20
21 // Override as proof length is different
22 static constexpr size_t num_elements_comm = U256Codec::calc_num_fields<Commitment>();
23 static constexpr size_t num_elements_fr = U256Codec::calc_num_fields<FF>();
24
25 // Proof length formula methods
26 static constexpr size_t OINK_PROOF_LENGTH_WITHOUT_PUB_INPUTS =
27 /* 1. NUM_WITNESS_ENTITIES commitments */ (NUM_WITNESS_ENTITIES * num_elements_comm);
28
29 static constexpr size_t DECIDER_PROOF_LENGTH(size_t virtual_log_n = VIRTUAL_LOG_N)
30 {
31 return /* 2. virtual_log_n sumcheck univariates */
33 /* 3. NUM_ALL_ENTITIES sumcheck evaluations */ (NUM_ALL_ENTITIES * num_elements_fr) +
34 /* 4. virtual_log_n - 1 Gemini Fold commitments */ ((virtual_log_n - 1) * num_elements_comm) +
35 /* 5. virtual_log_n Gemini a evaluations */ (virtual_log_n * num_elements_fr) +
36 /* 6. Shplonk Q commitment */ (num_elements_comm) +
37 /* 7. KZG W commitment */ (num_elements_comm);
38 }
39
40 static constexpr size_t PROOF_LENGTH_WITHOUT_PUB_INPUTS(size_t virtual_log_n = VIRTUAL_LOG_N)
41 {
43 }
44
46
47 // Specialize for Ultra (general case used in UltraRecursive).
49
51};
52
53} // namespace bb
Common transcript class for both parties. Stores the data for the current round, as well as the manif...
CommitmentKey object over a pairing group 𝔾₁.
Base Native verification key class.
Definition flavor.hpp:141
A container encapsulating all the commitments that the verifier receives (to precomputed polynomials ...
static constexpr size_t BATCHED_RELATION_PARTIAL_LENGTH
static constexpr size_t VIRTUAL_LOG_N
static constexpr size_t NUM_ALL_ENTITIES
static constexpr size_t NUM_WITNESS_ENTITIES
bb::crypto::Keccak HashFunction
static constexpr bool USE_PADDING
static constexpr size_t num_elements_comm
static constexpr size_t num_elements_fr
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 constexpr size_t OINK_PROOF_LENGTH_WITHOUT_PUB_INPUTS
Wrapper holding a verification key and its precomputed hash.
Definition flavor.hpp:521
A wrapper class used to construct KeccakTranscript.
Definition keccak.hpp:52
Entry point for Barretenberg command-line interface.
Definition api.hpp:5