dechiffrementL3.cpp 705 B

1234567891011121314151617
  1. #include "dechiffrementL3.hpp"
  2. void dechiffrementL3(F2& bit_dechiffre, BitEvalL3 bit_chiffre, PrivateKey private_key)
  3. {
  4. //signature;
  5. F2 alpha_dechiffre;
  6. dechiffrementL2(alpha_dechiffre,bit_chiffre.get_alpha() ,private_key);
  7. bit_dechiffre=alpha_dechiffre;
  8. int nb_bipoints=(bit_chiffre.get_vec_bipoints()).size(); //égal à B dans bgnfcf p.6
  9. F2 beta1_dechiffre[nb_bipoints], beta2_dechiffre[nb_bipoints];
  10. for (int i=0; i<nb_bipoints; i++)
  11. {
  12. dechiffrement(beta1_dechiffre[i],bit_chiffre.get_vec_bipoints()[i], private_key);
  13. dechiffrementL2(beta2_dechiffre[i],bit_chiffre.get_vec_quadripoints()[i] ,private_key);
  14. bit_dechiffre = (bit_dechiffre+(beta1_dechiffre[i]*beta2_dechiffre[i]))%2;
  15. }
  16. }