circuit_chiffrement.cpp 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #include "circuit_chiffrement.hpp"
  2. void circuit_chiffrement(char lettre, PublicKey public_key, PrivateKey private_key)
  3. {
  4. signature;
  5. F2 bit_clair=0, bit_dechiffre=0;
  6. BitEvalL1<curvepoint_fp_t> bit_chiffre_curve;
  7. BitEvalL1<twistpoint_fp2_t> bit_chiffre_twist;
  8. for (unsigned int j=0; j<CHAR_BIT;j++) //pour chaque bit
  9. {
  10. bit_clair=bitset<CHAR_BIT>(lettre)[j] ;
  11. //zout(bit_clair);
  12. chiffrement(bit_chiffre_curve,bit_clair,public_key);
  13. dechiffrement(bit_dechiffre,bit_chiffre_curve,private_key);
  14. //zout(bit_dechiffre);
  15. if (bit_clair != bit_dechiffre)
  16. {
  17. cout << BOLDRED << "KO" << endl;
  18. exit(0);
  19. }
  20. cout << BOLDRED << "OK" << endl;
  21. chiffrement(bit_chiffre_twist,bit_clair,public_key);
  22. dechiffrement(bit_dechiffre,bit_chiffre_twist,private_key);
  23. //zout(bit_dechiffre);
  24. if (bit_clair != bit_dechiffre)
  25. {
  26. cout << BOLDRED << "KO" << endl;
  27. exit(0);
  28. }
  29. cout << BOLDRED << "OK" << endl;
  30. }
  31. //BitChiffre eval11, eval12;
  32. //chiffrement(eval11,bit_clair,public_key,CURVE);
  33. //chiffrement(eval12,bit_clair,public_key,TWIST);
  34. //BitEvalL2 eval2= multiplicationL1 ( eval11, eval12, public_key);
  35. //BitEvalL3 eval3= multiplicationL1L2 ( eval11, eval2, public_key);
  36. //BitEvalL3 eval31 = multiplicationL1L2 ( eval11, eval2, public_key);
  37. //BitEvalL3 eval32 = additionL3(eval31,eval31,public_key);
  38. //BitEvalL3 eval33 = additionL3(eval32,eval32,public_key);
  39. //BitEvalL3 eval34 = additionL3(eval33,eval33,public_key);
  40. //BitEvalL3 eval35 = additionL3(eval31,eval33,public_key);
  41. //BitEvalL3 eval36 = additionL3(eval33,eval31,public_key);
  42. //zout(lettre, char(lettre+31), char(lettre+5));
  43. }