option.ggo 2.4 KB

123456789101112131415161718192021222324252627282930313233343536
  1. # gengetopt < ../gengetopt/option.ggo --output-dir=../gengetopt --file-name=option --unamed-opts
  2. package "BGNFCF"
  3. version "(version 2)"
  4. purpose
  5. "
  6. Ce programme a pour objectif de démontrer la faisabilité d'un traitement cohérent sur des données chiffrées, avec la cryptographie homomorphe. Il s'agit d'une preuve de concept. Les données traitées sont des sous-titres chiffrés avec le schéma homomorphe BGNFCF. Il s'agit d'une variante du schéma de Boneh Goh Nissim (2006) ayant subi la conversion de Freeman (2010) ainsi que la transformation de Catalano et Fiore (2015). Le traitement opéré sur les sous-titres est le changement de casse des caractères. Il s'opère en évaluant un circuit arithmétique de profondeur multiplicative 2.
  7. Description des circuits :
  8. minmaj : passage minuscule majuscule, sans erreur, avec précalcul et postcalcul
  9. demo : minmaj sur un caractère avec affichage des chiffrés et de l'évalué
  10. minmaj2 : passage minuscule majuscule, avec erreur
  11. minmaj3 : passage minuscule majuscule, avec erreur et postcalcul
  12. size : donne la taille en octets des chiffrés de différents niveaux
  13. time : donne le temps en millisecondes du précalcul, calcul et postcalcul
  14. time2 : donne le temps en millisecondes du chiffrement, de l'évaluation et du déchiffrement
  15. addition et multiplication : teste les différentes opérations possibles et donne le temps pour chacune
  16. chiffrement : chiffre et déchiffre en mode curve et twist sans évaluation homomorphique
  17. ip : mise à jour des ips et du compteur selon la valeur du compteur
  18. scalar_product : calcul du produit scalaire de vecteur de bits
  19. La version 2 effectue du calcul parallèle avec OpenMP. Le temps de calcul est diminué si l'on dispose de processeurs multi-coeurs.
  20. "
  21. #option "subtitle_source" s "Les sous-titres peuvent être choisis par le développeur ou l'utilisateur" values="dev", "usr" enum default="dev" optional
  22. option "subtitle" s "Pour indiquer les sous-titres en ligne de commande" string typestr="SUBTITLE" optional
  23. option "circuit" c "Pour indiquer le circuit de calcul. minmaj=avec précalcul et postcalcul, minmaj2=avec erreur, minmaj3=avec erreur et postcalcul." values="minmaj", "chiffrement", "additionL1", "additionL2", "additionL3", "additionL4", "multiplicationL1", "multiplicationL1L2", "multiplicationL2", "size", "time", "minmaj2", "minmaj3", "demo", "ip", "scalar_product", "time2" enum default="minmaj" optional