Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::TranslationData< Transcript > Class Template Reference

A class designed to accept the ECCVM Transcript Polynomials, concatenate their masking terms in Lagrange basis over the SmallSubgroup, and commit to the concatenation. More...

#include <eccvm_translation_data.hpp>

Public Types

using Flavor = ECCVMFlavor
 
using FF = typename Flavor::FF
 
using BF = typename Flavor::BF
 
using Commitment = typename Flavor::Commitment
 
using CommitmentKey = typename Flavor::CommitmentKey
 
using Polynomial = typename Flavor::Polynomial
 

Public Member Functions

 TranslationData (const RefVector< Polynomial > &transcript_polynomials, const std::shared_ptr< Transcript > &transcript, CommitmentKey &commitment_key)
 Let \( s = \text{TRACE\_OFFSET} \) and \( T = \text{NUM\_TRANSLATION\_EVALUATIONS} \). Given masked transcript polynomials \( \tilde{T}_i(X) \) for \( i = 0, \ldots, T-1 \), we extract their first \( s \) coefficients (the masking terms \( m_i \)) and concatenate them. Let \( M(X) \) be the polynomial whose first \( s \cdot T \) Lagrange coefficients over \( H \) are given by \( (m_0 \| \ldots \| m_{T-1}) \) padded by zeroes.
 
void compute_concatenated_polynomials (const RefVector< Polynomial > &transcript_polynomials)
 Extract the first \( s = \text{TRACE\_OFFSET} \) coefficients from each of the \( T \) transcript polynomials, concatenate them as \( (m_0 \| \ldots \| m_{T-1}) \), and mask the result.
 

Public Attributes

Polynomial concatenated_polynomial_lagrange
 
Polynomial masked_concatenated_polynomial
 
std::array< FF, SUBGROUP_SIZEinterpolation_domain
 

Static Public Attributes

static constexpr size_t SUBGROUP_SIZE = Flavor::Curve::SUBGROUP_SIZE
 
static constexpr size_t WITNESS_MASKING_TERM_LENGTH = 2
 
static constexpr size_t MASKED_CONCATENATED_WITNESS_LENGTH = SUBGROUP_SIZE + WITNESS_MASKING_TERM_LENGTH
 

Detailed Description

template<typename Transcript>
class bb::TranslationData< Transcript >

A class designed to accept the ECCVM Transcript Polynomials, concatenate their masking terms in Lagrange basis over the SmallSubgroup, and commit to the concatenation.

Template Parameters
Transcript

Definition at line 20 of file eccvm_translation_data.hpp.

Member Typedef Documentation

◆ BF

template<typename Transcript >
using bb::TranslationData< Transcript >::BF = typename Flavor::BF

Definition at line 24 of file eccvm_translation_data.hpp.

◆ Commitment

template<typename Transcript >
using bb::TranslationData< Transcript >::Commitment = typename Flavor::Commitment

Definition at line 25 of file eccvm_translation_data.hpp.

◆ CommitmentKey

template<typename Transcript >
using bb::TranslationData< Transcript >::CommitmentKey = typename Flavor::CommitmentKey

Definition at line 26 of file eccvm_translation_data.hpp.

◆ FF

template<typename Transcript >
using bb::TranslationData< Transcript >::FF = typename Flavor::FF

Definition at line 23 of file eccvm_translation_data.hpp.

◆ Flavor

Definition at line 22 of file eccvm_translation_data.hpp.

◆ Polynomial

template<typename Transcript >
using bb::TranslationData< Transcript >::Polynomial = typename Flavor::Polynomial

Definition at line 27 of file eccvm_translation_data.hpp.

Constructor & Destructor Documentation

◆ TranslationData()

template<typename Transcript >
bb::TranslationData< Transcript >::TranslationData ( const RefVector< Polynomial > &  transcript_polynomials,
const std::shared_ptr< Transcript > &  transcript,
CommitmentKey commitment_key 
)
inline

Let \( s = \text{TRACE\_OFFSET} \) and \( T = \text{NUM\_TRANSLATION\_EVALUATIONS} \). Given masked transcript polynomials \( \tilde{T}_i(X) \) for \( i = 0, \ldots, T-1 \), we extract their first \( s \) coefficients (the masking terms \( m_i \)) and concatenate them. Let \( M(X) \) be the polynomial whose first \( s \cdot T \) Lagrange coefficients over \( H \) are given by \( (m_0 \| \ldots \| m_{T-1}) \) padded by zeroes.

An object of this class is fed to the SmallSubgroupIPA prover to establish claims about the inner product of Lagrange coefficients of \( M \) against vectors of the form \((1, x, \ldots, x^{s-1},\; v, vx, \ldots, v^{T-1} x^{s-1})\).

Parameters
transcript_polynomials
transcript
commitment_key

Definition at line 58 of file eccvm_translation_data.hpp.

Member Function Documentation

◆ compute_concatenated_polynomials()

template<typename Transcript >
void bb::TranslationData< Transcript >::compute_concatenated_polynomials ( const RefVector< Polynomial > &  transcript_polynomials)
inline

Extract the first \( s = \text{TRACE\_OFFSET} \) coefficients from each of the \( T \) transcript polynomials, concatenate them as \( (m_0 \| \ldots \| m_{T-1}) \), and mask the result.

Parameters
transcript_polynomials

Definition at line 88 of file eccvm_translation_data.hpp.

Member Data Documentation

◆ concatenated_polynomial_lagrange

template<typename Transcript >
Polynomial bb::TranslationData< Transcript >::concatenated_polynomial_lagrange

Definition at line 35 of file eccvm_translation_data.hpp.

◆ interpolation_domain

template<typename Transcript >
std::array<FF, SUBGROUP_SIZE> bb::TranslationData< Transcript >::interpolation_domain

Definition at line 41 of file eccvm_translation_data.hpp.

◆ masked_concatenated_polynomial

template<typename Transcript >
Polynomial bb::TranslationData< Transcript >::masked_concatenated_polynomial

Definition at line 38 of file eccvm_translation_data.hpp.

◆ MASKED_CONCATENATED_WITNESS_LENGTH

template<typename Transcript >
constexpr size_t bb::TranslationData< Transcript >::MASKED_CONCATENATED_WITNESS_LENGTH = SUBGROUP_SIZE + WITNESS_MASKING_TERM_LENGTH
staticconstexpr

Definition at line 32 of file eccvm_translation_data.hpp.

◆ SUBGROUP_SIZE

template<typename Transcript >
constexpr size_t bb::TranslationData< Transcript >::SUBGROUP_SIZE = Flavor::Curve::SUBGROUP_SIZE
staticconstexpr

Definition at line 28 of file eccvm_translation_data.hpp.

◆ WITNESS_MASKING_TERM_LENGTH

template<typename Transcript >
constexpr size_t bb::TranslationData< Transcript >::WITNESS_MASKING_TERM_LENGTH = 2
staticconstexpr

Definition at line 31 of file eccvm_translation_data.hpp.


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