pub struct ZeroConstantFunctionsAggregation<'a> { /* private fields */ }
Expand description
This struct serves as aggregation of functions with constant value 0.
Implementations§
Source§impl<'a> ZeroConstantFunctionsAggregation<'a>
impl<'a> ZeroConstantFunctionsAggregation<'a>
pub fn new(parameters: &'a EnvironmentParameters) -> Self
Sourcepub fn calculate_agg_a_double_prime(
&mut self,
vector_psi: &[Vec<Zq>],
a_prime: &[RqMatrix],
)
pub fn calculate_agg_a_double_prime( &mut self, vector_psi: &[Vec<Zq>], a_prime: &[RqMatrix], )
Calculate a_double_primes from a_prime, a_{i,j}^{’‘k} = \sum_{l=1}^{L}\psi_l^{k}a_{ij}^{’(l)}
@param: vector_psi: \psi_l^k @param: a_prime: a_{ij}^{’(l)}, each a_{ij} is a ring element (PolyRing)
@return: a_{ij}^{‘’(k)}, return a vector length k of matrix a_{ij}^{‘’}
Sourcepub fn calculate_agg_phi_double_prime(
&mut self,
phi_prime: &[Vec<RqVector>],
conjugated_pi: &[RqMatrix],
vector_psi: &[Vec<Zq>],
vector_omega: &[Vec<Zq>],
)
pub fn calculate_agg_phi_double_prime( &mut self, phi_prime: &[Vec<RqVector>], conjugated_pi: &[RqMatrix], vector_psi: &[Vec<Zq>], vector_omega: &[Vec<Zq>], )
calculate \phi_{i}^{‘’(k)} = \sum_{l=1}^{L}\psi_l^{k}\phi_{i}^{’(l)} + \sum(\omega_j^{k} * \sigma_{-1} * pi_i^{j}) in the prover process, page 17 from the paper.
@param: phi_ct: \phi_{i}^{’(l)} @param: pi: pi_i^{j} @param: random_psi: \psi_l^{k} @param: random_omega: \omega_j^{k}
return: \phi_{i}^{‘’(k)}
Sourcepub fn calculate_agg_b_double_prime(&mut self, witness: &[RqVector]) -> RqVector
pub fn calculate_agg_b_double_prime(&mut self, witness: &[RqVector]) -> RqVector
calculate b^{‘’(k)} = \sum_{i,j=1}^{r} a_{ij}^{‘’(k)} * <s_i, s_j> + \sum_{i=1}^{r} <\phi_{i}^{‘’(k)} * s_i>
@param: a_ct_aggr: a_{ij}^{‘’(k)} @param: phi_ct_aggr: \phi_{i}^{‘’(k)} @param: witness: s_i
@return: b^{‘’(k)}