28 #include <NTL/ZZ_pX.h>
29 #include <NTL/vec_ZZ.h>
31 #include "../PolyCommit/PolyCommitCommon.h"
39 typedef vector<PolyCommitment> vec_PolyCommitment;
40 NTL_vector_decl(G1,vec_G1)
41 NTL_io_vector_decl(G1,vec_G1)
42 NTL_vector_decl(G2,vec_G2)
43 NTL_io_vector_decl(G2,vec_G2)
44 NTL_vector_decl(GT,vec_GT)
45 NTL_io_vector_decl(GT,vec_GT)
48 unsigned char * hash(std::iostream &stream);
49 ZZ hash_ZZ(std::iostream &stream);
50 G1 hash_G1(const PolyCommitParams &p, std::iostream &stream);
52 gcry_md_hd_t * incr_hash_init();
53 void incr_hash(std::iostream &stream, gcry_md_hd_t *hash_handle_p);
54 unsigned char * incr_hash_final(gcry_md_hd_t *hash_handle_p);
56 uint64_t hash_long(std::iostream &stream, const
unsigned int bits);
66 ZZ_p dot_product(const vec_ZZ_p &rhovec, const uint64_t *avec);
68 ZZ_pX dot_product(const vec_ZZ_pX &polyvec, const uint64_t *avec);