circuit_size.cpp 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #include "circuit_size.hpp"
  2. void circuit_size(PublicKey public_key, PrivateKey private_key)
  3. {
  4. BitEvalL1<curvepoint_fp_t> bit_chiffre_0_curve;
  5. BitEvalL1<twistpoint_fp2_t> bit_chiffre_0_twist;
  6. BitEvalL2 chiffre_L2_0;
  7. BitEvalL3 chiffre_L3_0, chiffre_somme_2_L3, chiffre_somme_3_L3, chiffre_somme_4_L3;
  8. BitEvalL4 chiffre_L4_0, chiffre_somme_2_L4, chiffre_somme_3_L4, chiffre_somme_4_L4;
  9. chiffrement(bit_chiffre_0_curve,0,public_key);
  10. chiffrement(bit_chiffre_0_twist,0,public_key);
  11. chiffre_L2_0 = multiplicationL1(bit_chiffre_0_curve,bit_chiffre_0_twist,public_key);
  12. chiffre_L3_0 = multiplicationL1L2(bit_chiffre_0_curve,chiffre_L2_0,public_key);
  13. chiffre_L4_0 = multiplicationL2(chiffre_L2_0,chiffre_L2_0,public_key);
  14. chiffre_somme_2_L3=additionL3(chiffre_L3_0,chiffre_L3_0,public_key);
  15. chiffre_somme_3_L3=additionL3(chiffre_L3_0,chiffre_somme_2_L3,public_key);
  16. chiffre_somme_4_L3=additionL3(chiffre_somme_2_L3,chiffre_somme_2_L3,public_key);
  17. chiffre_somme_2_L4=additionL4(chiffre_L4_0,chiffre_L4_0,public_key);
  18. chiffre_somme_3_L4=additionL4(chiffre_L4_0,chiffre_somme_2_L4,public_key);
  19. chiffre_somme_4_L4=additionL4(chiffre_somme_2_L4,chiffre_somme_2_L4,public_key);
  20. cout << "taille d'un chiffré de niveau 1 de type curve = " << sizeof(bit_chiffre_0_curve) << " octets " << GREEN <<"(taille de deux des trois chiffrés envoyés au serveur)" << RESET<< endl;
  21. cout << "taille d'un chiffré de niveau 1 de type twist = " << sizeof(bit_chiffre_0_twist) << " octets " << GREEN <<"(taille d'un des trois chiffrés envoyé au serveur)" << RESET<< endl;
  22. cout << "taille d'un chiffré de niveau 2 = " << sizeof(chiffre_L2_0) << " octets" << endl;
  23. cout << "taille d'un chiffrais de niveau 3 = " << sizeof(chiffre_L3_0)+sizeof(Bipoint<curvepoint_fp_t>)*(chiffre_L3_0.get_vec_bipoints().capacity()) +sizeof(Quadripoint)*(chiffre_L3_0.get_vec_quadripoints().capacity())<< " octets " GREEN << "(taille de l'évalué calculé par le serveur dans les circuit minmaj et minmaj3)" << RESET << endl;
  24. cout << "taille d'un chiffrais de niveau 4 = " << sizeof(chiffre_L4_0)+sizeof(Quadripoint)*(chiffre_L4_0.get_vec_quadripoints(0).capacity()+(chiffre_L4_0.get_vec_quadripoints(1).capacity())) << " octets" << endl;
  25. cout << "taille de la somme de deux chiffrés de niveau 3 = " << sizeof(chiffre_somme_2_L3)+sizeof(Bipoint<curvepoint_fp_t>)*(chiffre_somme_2_L3.get_vec_bipoints().capacity()) +sizeof(Quadripoint)*(chiffre_somme_2_L3.get_vec_quadripoints().capacity())<< " octets " GREEN << "(taille de l'évalué calculé par le serveur dans le circuit minmaj2)" << RESET << endl;
  26. cout << "taille de la somme de trois chiffrés de niveau 3 = " << sizeof(chiffre_somme_3_L3)+sizeof(Bipoint<curvepoint_fp_t>)*(chiffre_somme_3_L3.get_vec_bipoints().capacity()) +sizeof(Quadripoint)*(chiffre_somme_3_L3.get_vec_quadripoints().capacity())<< " octets " << endl;
  27. cout << "taille de la somme de quatre chiffrés de niveau 3 = " << sizeof(chiffre_somme_4_L3)+sizeof(Bipoint<curvepoint_fp_t>)*(chiffre_somme_4_L3.get_vec_bipoints().capacity()) +sizeof(Quadripoint)*(chiffre_somme_4_L3.get_vec_quadripoints().capacity())<< " octets " << endl;
  28. cout << "taille de la somme de deux chiffrés de niveau 4 = " << sizeof(chiffre_somme_2_L4)+sizeof(Quadripoint)*(chiffre_somme_2_L4.get_vec_quadripoints(0).capacity()+(chiffre_somme_2_L4.get_vec_quadripoints(1).capacity())) << " octets" << endl;
  29. cout << "taille de la somme de trois chiffrés de niveau 4 = " << sizeof(chiffre_somme_3_L4)+sizeof(Quadripoint)*(chiffre_somme_3_L4.get_vec_quadripoints(0).capacity()+(chiffre_somme_3_L4.get_vec_quadripoints(1).capacity())) << " octets" << endl;
  30. cout << "taille de la somme de quatre chiffrés de niveau 4 = " << sizeof(chiffre_somme_4_L4)+sizeof(Quadripoint)*(chiffre_somme_4_L4.get_vec_quadripoints(0).capacity()+(chiffre_somme_4_L4.get_vec_quadripoints(1).capacity())) << " octets" << endl;
  31. cout << "taille de la clef publique = " << sizeof(public_key) << " octets " << endl;
  32. cout << "taille de la clef privée = " << sizeof(private_key) << " octets " << endl;
  33. cout << "taille d'un Fp = " << sizeof(Fp) << " octets " << endl;
  34. cout << "taille d'un point de la courbe = " << sizeof(curvepoint_fp_t) << " octets " << endl;
  35. cout << "taille d'un point du twist = " << sizeof(twistpoint_fp2_t) << " octets " << endl;
  36. cout << "taille d'un fpe_t = " << sizeof(fpe_t) << " octets " << endl;
  37. cout << "taille d'un scalar_t = " << sizeof(scalar_t) << " octets " << endl;
  38. cout << "taille d'un ull = " << sizeof(unsigned long long) << " octets " << endl;
  39. cout << "taille d'un double = " << sizeof(double) << " octets " << endl;
  40. cout << "taille d'un fp12e_t = " << sizeof(fp12e_t) << " octets " << endl;
  41. cout << "taille d'un quadripoint = " << sizeof(Quadripoint) << " octets " << endl;
  42. }