BitChiffre.hpp 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #ifndef __BITCHIFFRE_HPP
  2. #define __BITCHIFFRE_HPP
  3. #include "typedef.h"
  4. #include "Bipoint.hpp"
  5. #include "zout.hpp"
  6. class BitChiffre
  7. {
  8. public:
  9. BitChiffre() = default; //on remet le constructeur par défaut par défaut qui n'existe plus lorsqu'un constructeur est spécifié
  10. BitChiffre(F2 a,Bipoint<curvepoint_fp_t> b ,Bipoint<twistpoint_fp2_t> c);
  11. void set_bit_masque(F2); //prototype
  12. F2 get_bit_masque() const;
  13. Type get_type() const;
  14. Bipoint<curvepoint_fp_t> get_bipoint_curve() const;
  15. Bipoint<twistpoint_fp2_t> get_bipoint_twist() const;
  16. void set_bipoint_curve(Bipoint<curvepoint_fp_t> b);
  17. void set_bipoint_twist(Bipoint<twistpoint_fp2_t> c);
  18. void print() const;
  19. void print_bit_masque() const;
  20. void makeaffine();
  21. private:
  22. F2 bit_masque=0; //initialisation, attribut tjrs privé
  23. Type type;
  24. Bipoint<curvepoint_fp_t> bipoint_curve;
  25. Bipoint<twistpoint_fp2_t> bipoint_twist;
  26. };
  27. //typedef BitChiffre BitEvalL1; //BitEvalL1 est un alias utilisé pour dénommer le type de la somme homomorphique de chiffrés de niveau 1
  28. #endif