modpgrp.hpp
Go to the documentation of this file.
1 
12 #ifndef _MODPGRP_H_
13 #define _MODPGRP_H_
14 
15 #include "psubgroup.hpp"
16 
17 
18 namespace arithm {
19 
23 class ModPGrp : public PSubGroup
24 {
25 private:
30  uint8_t code;
31 
35  mpz_class addOrder;
36 
37 public:
43  ModPGrp(mpz_class ord, mpz_class add, mpz_class gen, uint8_t encoding);
44 
55 
57 
58  ArrayOfElmts getRandArray(cryptoTools::PRG * prg, unsigned int nr, unsigned int n0);
59 
60  // @name Encoding as ModPGrp element.
61  // @{
62 
63  // Elmt encode(std::vector<uint8_t> message);
64  // Elmt encode0(std::vector<uint8_t> message);
65  // Elmt encode1(std::vector<uint8_t> message);
66  // Elmt encode2(std::vector<uint8_t> message);
67 
68  // std::vector<uint8_t> decode(Elmt e);
69  // std::vector<uint8_t> decode0(Elmt e);
70  // std::vector<uint8_t> decode1(Elmt e);
71  // std::vector<uint8_t> decode2(Elmt e);
72 
73  // @}
74 
75 
76 };
77 
78 } // closing namespace
79 
80 #endif