Valves publiques


vote de Alice : (17319529099688809212, 11826209503349517402)

vote de Bob : (33315721834369182188, 10218100799532704522)

vote de Charlie : (37912427866290869158, 53278378620240792845)

vote de Diane : (39262247913233436864, 30547514713113254519)

vote de Eve : (45922623595382234874, 24094054372807318332)



Additionner deux votes chiffrés consiste en deux multiplications modulo p ou p = 2q+1 = 65305172031546028403.1

Cette opération modulaire consiste à garder le reste de la division par p du résultat de la multiplication. La raison pour laquelle on définit « l’addition » de deux chiffrés comme ceci nous mènerait un peu trop loin dans les développements mathématiques. L’essentiel qu’il faut retenir c’est qu’en réalisant cette opération sur deux chiffrés, on obtient un chiffré sur la somme des votes de chacun. De manière tout à fait similaire, lorsque l’on multiplie deux puissances de 2, on obtient 2 exposant la somme des puissances (2a fois 2b = 2a+b).


Appliquons maintenant cela à nos valves :

Le bulletin chiffré des votes d’Alice et Bob sera (35619783183469970129, 41668952437262636326) car

35619783183469970129 = 17319529099688809212 fois 33315721834369182188 modulo 65305172031546028403.

et

41668952437262636326 = 11826209503349517402 fois 10218100799532704522 modulo 65305172031546028403.


En procédant de la même manière et en "additionnant" chaque bulletin, on obtient le bulletin chiffré uu résultat : (25235193997331996671, 40071011363907537135)



1Attention, à nouveau les paramètres de sécurité choisis ici ne sont pas sûr. À l’heure actuelle, on choisira un p de taille 3072 bits pour un q de taille 256 bits avec une relation entre p et q autre que p = 2q+1.