circuit_minmaj3.cpp 984 B

123456789101112131415161718192021222324252627282930313233
  1. #include "circuit_minmaj3.hpp"
  2. void circuit_minmaj3(char& rop, char symbole, PublicKey public_key, PrivateKey private_key)
  3. {
  4. F2 clair1=0, clair2=0, clair3=0;
  5. clair1=bitset<sizeof(int)*CHAR_BIT>(symbole)[5] ;
  6. clair2=bitset<sizeof(int)*CHAR_BIT>(symbole)[6] ;
  7. clair3=bitset<sizeof(int)*CHAR_BIT>(symbole)[7] ;
  8. BitEvalL1<twistpoint_fp2_t> m6;
  9. BitEvalL1<curvepoint_fp_t> m7,m8;
  10. chiffrement(m6,clair1,public_key);
  11. chiffrement(m7,clair2,public_key);
  12. chiffrement(m8,clair3,public_key);
  13. BitEvalL1<curvepoint_fp_t> temp_curve, chiffre_1_curve;
  14. BitEvalL1<twistpoint_fp2_t> temp_twist;
  15. chiffrement(chiffre_1_curve,1, public_key);
  16. temp_curve = additionL1(chiffre_1_curve,m8,public_key); //calcul 1+m8
  17. BitEvalL2 temp_quadripoint; // m6(1+m8)
  18. temp_quadripoint = multiplicationL1(temp_curve,m6,public_key);
  19. BitEvalL3 evalue; // m6m7(1+m8)
  20. evalue = multiplicationL1L2(m7,temp_quadripoint,public_key);
  21. postcomputation(rop, symbole, evalue, private_key);
  22. }