verification.hpp
Go to the documentation of this file.
1 
11 #ifndef _VERIFICATION_H_
12 #define _VERIFICATION_H_
13 
14 #include <vector>
15 #include <string>
16 #include <iostream>
17 #include <gmp.h>
18 #include <gmpxx.h>
19 
20 #include "../verifierutils/verifierutils.hpp"
21 #include "../cryptotools/cryptotools.hpp"
22 #include "../arithm/arithm.hpp"
23 #include "../xmlconfig/xmlconfig.hpp"
24 #include "../elgamal/elgamal.hpp"
25 
26 
27 namespace proofs {
28 
39 {
40 protected:
46 
51 
56 
61 
66  std::vector<uint8_t> rho;
67 
71  unsigned int n0;
72 
77  unsigned int ne;
78 
83  unsigned int nr;
84 
88  unsigned int nv;
89 
95 
100 
105 
111 
116 
121 
122 public:
131  Verification(XmlConfig * config, std::vector<uint8_t> prefix,
132  unsigned int nZero);
133 
151  verifierUtils::ByteTree * bts, std::vector<uint8_t> &s);
152 
166  arithm::Elmt getChallenge(std::vector<uint8_t> s);
167 
172 
180  virtual bool isEverythingOK();
181 
182 };
183 
184 
185 } // closing namespace
186 
187 #endif