Zeth - Zerocash on Ethereum  0.8
Reference implementation of the Zeth protocol by Clearmatics
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
libzeth::srs_mpc_phase2_publickey< ppT > Class Template Reference

#include <phase2.hpp>

Public Member Functions

 srs_mpc_phase2_publickey (const mpc_hash_t transcript_digest, const libff::G1< ppT > &new_delta_g1, const libff::G1< ppT > &s_g1, const libff::G1< ppT > &s_delta_j_g1, const libff::G2< ppT > &r_delta_j_g2)
 
bool operator== (const srs_mpc_phase2_publickey< ppT > &other) const
 
bool is_well_formed () const
 
void write (std::ostream &out) const
 
void compute_digest (mpc_hash_t out_digest) const
 

Static Public Member Functions

static srs_mpc_phase2_publickey< ppT > read (std::istream &in)
 

Public Attributes

mpc_hash_t transcript_digest
 
libff::G1< ppT > new_delta_g1
 
libff::G1< ppT > s_g1
 
libff::G1< ppT > s_delta_j_g1
 
libff::G2< ppT > r_delta_j_g2
 

Detailed Description

template<typename ppT>
class libzeth::srs_mpc_phase2_publickey< ppT >

Public Key representing a single contribution to the MPC. This includes a proof-of-knowledge, consisting of some point $s$ in G1, chosen randomly, $s

Similarly to the "Phase2" library (https://github.com/ebfull/phase2), we track both the new value of delta (after applying this contribution), and the transaction digest before applying, in order that we can efficiently check the transcript using just the public keys.

Implements the interfaces of StructuredT and ReadableT templates.

Definition at line 85 of file phase2.hpp.

Constructor & Destructor Documentation

◆ srs_mpc_phase2_publickey()

template<typename ppT >
libzeth::srs_mpc_phase2_publickey< ppT >::srs_mpc_phase2_publickey ( const mpc_hash_t  transcript_digest,
const libff::G1< ppT > &  new_delta_g1,
const libff::G1< ppT > &  s_g1,
const libff::G1< ppT > &  s_delta_j_g1,
const libff::G2< ppT > &  r_delta_j_g2 
)

Member Function Documentation

◆ compute_digest()

template<typename ppT >
void libzeth::srs_mpc_phase2_publickey< ppT >::compute_digest ( mpc_hash_t  out_digest) const

◆ is_well_formed()

template<typename ppT >
bool libzeth::srs_mpc_phase2_publickey< ppT >::is_well_formed ( ) const

◆ operator==()

template<typename ppT >
bool libzeth::srs_mpc_phase2_publickey< ppT >::operator== ( const srs_mpc_phase2_publickey< ppT > &  other) const

◆ read()

template<typename ppT >
static srs_mpc_phase2_publickey<ppT> libzeth::srs_mpc_phase2_publickey< ppT >::read ( std::istream &  in)
static

◆ write()

template<typename ppT >
void libzeth::srs_mpc_phase2_publickey< ppT >::write ( std::ostream &  out) const

Member Data Documentation

◆ new_delta_g1

template<typename ppT >
libff::G1<ppT> libzeth::srs_mpc_phase2_publickey< ppT >::new_delta_g1

Definition at line 89 of file phase2.hpp.

◆ r_delta_j_g2

template<typename ppT >
libff::G2<ppT> libzeth::srs_mpc_phase2_publickey< ppT >::r_delta_j_g2

Definition at line 92 of file phase2.hpp.

◆ s_delta_j_g1

template<typename ppT >
libff::G1<ppT> libzeth::srs_mpc_phase2_publickey< ppT >::s_delta_j_g1

Definition at line 91 of file phase2.hpp.

◆ s_g1

template<typename ppT >
libff::G1<ppT> libzeth::srs_mpc_phase2_publickey< ppT >::s_g1

Definition at line 90 of file phase2.hpp.

◆ transcript_digest

template<typename ppT >
mpc_hash_t libzeth::srs_mpc_phase2_publickey< ppT >::transcript_digest

Definition at line 88 of file phase2.hpp.


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