Zeth - Zerocash on Ethereum
0.8
Reference implementation of the Zeth protocol by Clearmatics
|
#include "libzeth/mpc/groth16/mpc_hash.hpp"
#include "libzeth/snarks/groth16/groth16_snark.hpp"
#include "libzeth/mpc/groth16/phase2.tcc"
Go to the source code of this file.
Namespaces | |
libzeth | |
Functions | |
template<mp_size_t n, const libff::bigint< n > & modulus> | |
void | libzeth::srs_mpc_digest_to_fp (const mpc_hash_t transcript_digest, libff::Fp_model< n, modulus > &out_fr) |
template<typename ppT > | |
libff::G2< ppT > | libzeth::srs_mpc_digest_to_g2 (const mpc_hash_t digest) |
template<typename ppT > | |
srs_mpc_phase2_accumulator< ppT > | libzeth::srs_mpc_phase2_begin (const mpc_hash_t cs_hash, const srs_mpc_layer_L1< ppT > &layer_L1, size_t num_inputs) |
template<typename ppT > | |
srs_mpc_phase2_publickey< ppT > | libzeth::srs_mpc_phase2_compute_public_key (const mpc_hash_t transcript_digest, const libff::G1< ppT > &last_delta, const libff::Fr< ppT > &secret) |
template<typename ppT > | |
bool | libzeth::srs_mpc_phase2_verify_publickey (const libff::G1< ppT > last_delta_g1, const srs_mpc_phase2_publickey< ppT > &publickey) |
template<typename ppT > | |
srs_mpc_phase2_accumulator< ppT > | libzeth::srs_mpc_phase2_update_accumulator (const srs_mpc_phase2_accumulator< ppT > &last_accum, const libff::Fr< ppT > &delta_j) |
template<typename ppT > | |
bool | libzeth::srs_mpc_phase2_update_is_consistent (const srs_mpc_phase2_accumulator< ppT > &last, const srs_mpc_phase2_accumulator< ppT > &updated) |
template<typename ppT > | |
bool | libzeth::srs_mpc_phase2_verify_update (const srs_mpc_phase2_accumulator< ppT > &last, const srs_mpc_phase2_accumulator< ppT > &updated, const srs_mpc_phase2_publickey< ppT > &publickey) |
template<typename ppT > | |
srs_mpc_phase2_challenge< ppT > | libzeth::srs_mpc_phase2_initial_challenge (srs_mpc_phase2_accumulator< ppT > &&initial_accumulator) |
template<typename ppT > | |
srs_mpc_phase2_response< ppT > | libzeth::srs_mpc_phase2_compute_response (const srs_mpc_phase2_challenge< ppT > &challenge, const libff::Fr< ppT > &delta_j) |
template<typename ppT > | |
bool | libzeth::srs_mpc_phase2_verify_response (const srs_mpc_phase2_challenge< ppT > &challenge, const srs_mpc_phase2_response< ppT > &response) |
template<typename ppT > | |
srs_mpc_phase2_challenge< ppT > | libzeth::srs_mpc_phase2_compute_challenge (srs_mpc_phase2_response< ppT > &&response) |
template<typename ppT , bool enable_contribution_check = true> | |
bool | libzeth::srs_mpc_phase2_verify_transcript (const mpc_hash_t initial_transcript_digest, const libff::G1< ppT > &initial_delta, const mpc_hash_t check_for_contribution, std::istream &transcript_stream, libff::G1< ppT > &out_final_delta, mpc_hash_t out_final_transcript_digest, bool &out_contribution_found) |
template<typename ppT > | |
bool | libzeth::srs_mpc_phase2_verify_transcript (const mpc_hash_t initial_transcript_digest, const libff::G1< ppT > &initial_delta, std::istream &transcript_stream, libff::G1< ppT > &out_final_delta, mpc_hash_t out_final_transcript_digest) |
template<typename ppT > | |
srs_mpc_phase2_challenge< ppT > | libzeth::srs_mpc_dummy_phase2 (const srs_mpc_layer_L1< ppT > &layer1, const libff::Fr< ppT > &delta, size_t num_inputs) |
template<typename ppT , libff::multi_exp_base_form BaseForm = libff::multi_exp_base_form_normal> | |
libsnark::r1cs_gg_ppzksnark_keypair< ppT > | libzeth::mpc_create_key_pair (srs_powersoftau< ppT > &&pot, srs_mpc_layer_L1< ppT > &&layer1, srs_mpc_phase2_accumulator< ppT > &&layer2, libsnark::r1cs_constraint_system< libff::Fr< ppT >> &&cs, const libsnark::qap_instance< libff::Fr< ppT >> &qap) |