dechiffrementL4.cpp 720 B

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