FR2906058A1 - Electronic voting method for e.g. polling station, involves verifying content of virtual ballot box by detecting abnormality if comparison indicates that register contains value different from stored ballot multiplication result - Google Patents

Electronic voting method for e.g. polling station, involves verifying content of virtual ballot box by detecting abnormality if comparison indicates that register contains value different from stored ballot multiplication result Download PDF

Info

Publication number
FR2906058A1
FR2906058A1 FR0608062A FR0608062A FR2906058A1 FR 2906058 A1 FR2906058 A1 FR 2906058A1 FR 0608062 A FR0608062 A FR 0608062A FR 0608062 A FR0608062 A FR 0608062A FR 2906058 A1 FR2906058 A1 FR 2906058A1
Authority
FR
France
Prior art keywords
register
ballot
value
encrypted
multiplication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0608062A
Other languages
French (fr)
Other versions
FR2906058B1 (en
Inventor
Bruno Grilheres
Stephan Brunessaux
Christophe Beauce
Julien Prat
Marc Mouffron
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Docapost Bpo Fr
Original Assignee
Airbus Defence and Space Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Airbus Defence and Space Ltd filed Critical Airbus Defence and Space Ltd
Priority to FR0608062A priority Critical patent/FR2906058B1/en
Publication of FR2906058A1 publication Critical patent/FR2906058A1/en
Application granted granted Critical
Publication of FR2906058B1 publication Critical patent/FR2906058B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C13/00Voting apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Time Recorders, Dirve Recorders, Access Control (AREA)

Abstract

The method involves initializing a register to a neutral value. Each encrypted ballot arriving on a server is multiplied with the register value, and the value is replaced by a multiplication result such that the value is equal to product of all encrypted voting ballots arrived on the server. Content of a virtual ballot box is verified by multiplying encrypted ballots stored in the box, comparing the multiplication of stored ballots with the value, and detecting abnormality if the comparison indicates that the register contains a value different from the stored ballot multiplication result. The ballots are encrypted by a variant of Elgamal encryption algorithm. Independent claims are also included for the following: (1) an electronic voting server (2) a computer program product comprising instructions to perform an electronic voting method.

Description

1 PROCEDE ET SERVEUR DE VERIFICATION DU CONTENU D'UNE URNE VIRTUELLE D'UN1 METHOD AND SERVER FOR VERIFYING THE CONTENT OF A VIRTUAL URN OF A

SYSTEME DE VOTE ELECTRONIQUE CHIFFRE PAR UN ALGORITHME HOMOMORPHIQUE.  ELECTRONIC VOTING SYSTEM DIGIT BY A HOMOMORPHIC ALGORITHM.

La présente invention concerne un serveur et un procédé de vote électronique, ainsi qu'un produit programme d'ordinateur pour mettre en oeuvre le procédé. Un système de vote électronique à distance est un système qui permet le vote de manière dématérialisée en utilisant des machines dédiées ou des terminaux informatiques classiques. Dans un tel système, les données de vote sont transmises à des serveurs à travers un réseau de données classique tel que, par exemple, internet ou le réseau téléphonique public. Selon les types d'élection, de tels systèmes permettent de voter dans des bureaux de vote ou à partir de son bureau ou de son domicile. Les normes de sécurité, de confidentialité et d'authentification sont plus ou moins sévères en fonction du type d'élection, les élections publiques étant celles qui font preuve des exigences les plus élevées. En particulier, pour ces élections, les organismes de gestion du vote exigent de forte garantie sur la qualité des votants et de leurs votes tout en exigeant également une parfaite confidentialité sur le vote de chaque électeur. Pour répondre à ces exigences, les systèmes de vote électronique utilisent différentes techniques de cryptographie avancée.  The present invention relates to a server and an electronic voting method, as well as a computer program product for implementing the method. A remote electronic voting system is a system that allows voting in a dematerialized manner using dedicated machines or conventional computer terminals. In such a system, the voting data is transmitted to servers through a conventional data network such as, for example, the internet or the public telephone network. Depending on the type of election, such systems allow voting in polling stations or from his office or home. The standards of security, confidentiality and authentication are more or less severe depending on the type of election, public elections being those that show the highest requirements. In particular, for these elections, the organizations managing the vote require strong guarantee on the quality of the voters and their votes while also requiring a perfect confidentiality on the vote of each voter. To meet these requirements, e-voting systems use a variety of advanced cryptography techniques.

A titre d'exemple, le document B. Schoenmaker, a Fully Auditable Electronic Secret-Ballot election , XOOTIC, 2000, décrit l'utilisation du codage El Gamal pour garantir l'intégrité des bulletins de vote et le comptage de ceux-ci sans qu'il soit possible de connaître le détail d'un bulletin de vote particulier.  For example, B. Schoenmaker, a Fully Auditable Electronic Secret-Ballot Election, XOOTIC, 2000, describes the use of El Gamal coding to ensure the integrity of ballots and counting them without it is possible to know the details of a particular ballot.

En effet, l'anonymisation des bulletins de vote est une exigence des systèmes de vote électronique et en particulier des systèmes de vote électronique à distance.  Indeed, the anonymization of ballot papers is a requirement of electronic voting systems and in particular remote electronic voting systems.

2906058 2 Classiquement, les bulletins de vote chiffrés et validés sont stockés sur un serveur ayant des moyens de stockage faisant office d'urne virtuelle. A ce moment là, les bulletins de vote sont chiffrés et séparés des 5 données relatives aux électeurs. II y a alors un besoin de garantir que le contenu de l'urne correspond bien aux bulletins de vote validés et qu'aucune manipulation frauduleuse n'a affecté ce contenu, manipulation pouvant consister en des tentatives d'ajout ou de suppression de bulletins de vote, ou de modification /remplacement de 10 tout ou partie des bulletins de vote. Pour répondre à ce besoin, selon un aspect de l'invention, il est avantageusement proposé un procédé de vote électronique comportant les étapes de : - saisie et validation de bulletins de vote électronique par des 15 électeurs, -chiffrement de chaque bulletin de vote validé par un algorithme de chiffrement homomorphique opérant entre un groupe dont la loi est notée comme une addition et un groupe dont la loi est notée comme une multiplication, 20 - envoi de chaque bulletin de vote chiffré à un serveur comportant des moyens de stockage de tous les bulletins de vote chiffrés, lesdits moyens de stockage faisant office d'urne virtuelle. Le procédé comporte en outre les étapes de : - initialisation d'un registre à la valeur neutre pour la multiplication 25 à l'ouverture du vote, -multiplication de chaque bulletin chiffré arrivant sur le serveur avec la valeur du registre et remplacement de la valeur du registre par le résultat de la multiplication de telle sorte que la valeur du registre soit égale au produit de tous les bulletins de vote chiffrés arrivés sur le serveur, 30 - vérification du contenu de l'urne virtuelle comportant les sous étapes de : • multiplication de tous les bulletins de vote chiffrés stockés dans l'urne virtuelle, 2906058 3 • comparaison de la multiplication des bulletins de vote stockés avec la valeur du registre, • détection d'une anomalie si la comparaison indique que le registre contient une valeur différente du résultat de la multiplication 5 des bulletins de vote stockés ; Selon un autre aspect de l'invention, un serveur de vote électronique comporte : - des moyens de communication avec des terminaux de vote adaptés pour recevoir des bulletins de vote électronique saisis et validés par 10 des électeurs et chiffrés par un algorithme de chiffrement homomorphique opérant entre un groupe dont la loi est notée comme une addition et un groupe dont la loi est notée comme une multiplication, - un premier multiplieur à deux entrées, la première entrée étant adaptée pour recevoir les bulletins de vote chiffrés la seconde entrée étant 15 connectée à un registre et la sortie étant connectée au registre de telle sorte que chaque bulletin de vote chiffré reçu soit multiplié par la valeur du registre et le produit résultat soit stocké dans le registre, - des moyens de stockage formant une urne virtuelle des bulletins de vote reçus, 20 - un second multiplieur adapté pour multiplier tous les bulletins de vote chiffrés stockés dans l'urne virtuelle, - des moyens de comparaison de la valeur du registre et du résultat du second multiplieur adaptés pour déclencher un drapeau d'anomalie si le résultat est différent de la valeur du registre.Ordinarily, the encrypted and validated ballots are stored on a server having storage means acting as a virtual ballot box. At this point, the ballots are encrypted and separated from the voter data. There is then a need to ensure that the contents of the ballot box correspond to the validated ballots and that no fraudulent manipulation has affected this content, which may consist of attempts to add or delete ballot papers. vote, or modification / replacement of all or part of the ballot papers. To meet this need, according to one aspect of the invention, it is advantageously proposed an electronic voting method comprising the steps of: - seizure and validation of electronic voting ballots by voters, - encryption of each validated ballot by a homomorphic encryption algorithm operating between a group whose law is noted as an addition and a group whose law is noted as a multiplication, 20 - sending each encrypted ballot to a server including storage means of all encrypted ballots, said storage means acting as a virtual ballot box. The method further comprises the steps of: - initialization of a register at the neutral value for the multiplication 25 at the opening of the vote, - multiplication of each encrypted bulletin arriving on the server with the value of the register and replacement of the value of the register by the result of the multiplication so that the value of the register is equal to the product of all the encrypted ballot papers arrived on the server, 30 - verification of the contents of the virtual urn comprising the sub-steps of: • multiplication of all the encrypted ballot papers stored in the virtual ballot box, • comparison of the multiplication of the ballot papers stored with the value of the register, • detection of an anomaly if the comparison indicates that the register contains a value different from the result of the multiplication 5 of the stored ballots; According to another aspect of the invention, an electronic voting server comprises: means of communication with voting terminals adapted to receive electronic voting ballots entered and validated by voters and encrypted by a homomorphic encryption algorithm operating between a group whose law is noted as an addition and a group whose law is noted as a multiplication, - a first two-way multiplier, the first entry being adapted to receive the encrypted ballot papers the second entry being connected to a register and the output being connected to the register such that each received encrypted voting ballot is multiplied by the value of the register and the result product is stored in the register; - storage means forming a virtual ballot box of the ballot papers received , 20 - a second multiplier adapted to multiply all the encrypted ballots stored in the ballot box vi rual, - means for comparing the value of the register and the result of the second multiplier adapted to trigger an anomaly flag if the result is different from the value of the register.

25 Selon un autre aspect de l'invention, un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, comprend des instructions de code de programme pour la mise en oeuvre des étapes de : 30 - initialisation d'un registre à la valeur neutre pour la multiplication à l'ouverture du vote, - multiplication de chaque bulletin chiffré arrivant sur le serveur avec la valeur du registre et remplacement de la valeur du registre par le 2906058 4 résultat de la multiplication de telle sorte que la valeur du registre soit égale au produit de tous les bulletins de vote chiffrés arrivés sur le serveur, vérification du contenu de l'urne virtuelle comportant les sous étapes de : 5 • multiplication de tous les bulletins de vote chiffrés stockés dans l'urne virtuelle, • comparaison de la multiplication des bulletins de vote stockés avec la valeur du registre, • détection d'une anomalie si la comparaison indique que le registre 10 contient une valeur différente du résultat de la multiplication des bulletins de vote stockés ; du procédé précédent. D'autres caractéristiques et modes de réalisation particuliers sont décrits dans les revendications dépendantes.According to another aspect of the invention, a computer program product downloadable from a communication network and / or recorded on a computer readable and / or executable medium by a processor, includes program code instructions for setting implement steps of: - initialization of a register to the neutral value for the multiplication at the opening of the vote, - multiplication of each encrypted bulletin arriving on the server with the value of the register and replacement of the value of the register by the result of the multiplication so that the value of the register is equal to the product of all the encrypted ballots arrived on the server, verification of the contents of the virtual urn including the sub-steps of: 5 • multiplication of all the encrypted ballot papers stored in the virtual ballot box, • comparison of the multiplication of the ballot papers stored with the value of the register, • detect an anomaly if the comparison indicates that the register 10 contains a value different from the result of the multiplication of the stored ballots; of the previous method. Other features and particular embodiments are described in the dependent claims.

15 L'invention sera mieux comprise à la lecture de la description qui suit, donnée uniquement à titre d'exemple, et faite en référence aux figures en annexe dans lesquelles : - la figure 1 est une vue schématique d'un mode de réalisation d'un système de vote électronique ; 20 - la figure 2 est une vue schématique d'un mode de réalisation d'un serveur de vote, et, - la figure 3 est un ordinogramme d'un mode de réalisation d'un procédé selon l'invention. En référence à la figure 1, un système de vote électronique à 25 distance comporte au moins un terminal de vote 1 connecté à un serveur de vote 3 par l'intermédiaire d'un réseau de données 5 tel qu'internet ou un réseau téléphonique public. Comme il est bien connu de l'homme du métier, un système de vote comporte également de nombreux autres éléments nécessaires à son fonctionnement tel qu'un serveur de gestion des électeurs, 30 par exemple, qui ne sont pas représentés sur la figure 1 et qui ne seront décrits ci-après que dans la mesure où cela est utile à la compréhension de l'invention et de ses modes de réalisation.The invention will be better understood on reading the description which follows, given solely by way of example, and with reference to the appended figures in which: FIG. 1 is a diagrammatic view of an embodiment of the invention; an electronic voting system; FIG. 2 is a schematic view of an embodiment of a voting server, and FIG. 3 is a flowchart of an embodiment of a method according to the invention. With reference to FIG. 1, a remote electronic voting system comprises at least one voting terminal 1 connected to a vote server 3 via a data network 5 such as the Internet or a public telephone network. . As is well known to those skilled in the art, a voting system also has many other elements necessary for its operation such as a voter management server, for example, which are not shown in FIG. which will be described hereinafter only to the extent that it is useful for understanding the invention and its embodiments.

2906058 5 Le terminal de vote 1 et le réseau de vote comporte chacun des moyens 7, 9 de communication permettant d'établir une liaison entre les deux machines. Cette liaison peut être sécurisée afin d'éviter qu'un tiers puisse écouter ou s'intercaler dans la communication.The polling terminal 1 and the voting network each comprise communication means 7, 9 for establishing a link between the two machines. This connection can be secured to prevent a third party can listen or interfere in the communication.

5 Le terminal de vote 1 comporte également une interface homme-machine 11 classique du type écran-souris /clavier ou du type écran tactile ou tout autre type d'interface homme/machine pertinente pour un homme du métier. Cette interface est pilotée par logiciel. Par exemple, dans un mode de réalisation, le pilotage de l'interface homme-machine est réalisé par un 10 navigateur internet permettant le rendu de page HTML ou plus généralement XML. Le terminal comporte de plus un dispositif 13 d'authentification et de signature, par exemple, un lecteur de cartes à puce. Le dispositif 13 d'authentification permet à l'électeur d'utiliser les moyens 15 15 d'authentification et de signature qui lui ont été fournis par l'organisation du vote. On conçoit aisément que, dans le cadre d'une élection publique, l'organisation mette en place un système d'authentification avancé, par exemple à base de cartes à puce, afin de réduire au maximum les fraudes 20 possibles en utilisant des techniques de cryptographie avancée. Le serveur de vote 3, figure 2, comporte des moyens de stockage 17 faisant office d'urne virtuelle. Ce sont, par exemple, des disques durs dans une grappe RAID permettant de protéger les données stockées d'un incident matériel sur les disques durs.The voting terminal 1 also comprises a conventional human-machine interface 11 of the screen-mouse / keyboard or touch-screen type or any other type of man / machine interface relevant to a person skilled in the art. This interface is software driven. For example, in one embodiment, the man-machine interface is controlled by an internet browser that renders HTML pages or, more generally, XML. The terminal further comprises a device 13 for authentication and signature, for example, a smart card reader. The authentication device 13 enables the elector to use the authentication and signature means 15 provided to him by the voting organization. It is easy to imagine that, in the context of a public election, the organization implements an advanced authentication system, for example based on smart cards, in order to minimize possible fraud by using advanced cryptography. The vote server 3, FIG. 2, comprises storage means 17 acting as virtual urns. These are, for example, hard drives in a RAID array to protect the stored data from a hardware incident on the hard drives.

25 Le serveur de vote 3 comporte également un registre 19 pouvant contenir un nombre entier de valeur élevée relié à un premier multiplieur 21. Le premier multiplieur 21 a deux entrées, la première est reliée aux moyens 9 de communication et la seconde entrée est reliée au registre 19. La sortie du multiplieur 21 est reliée au registre 19 pour y stocker le 30 résultat de la multiplication. Entre les moyens 9 de communication et la première entrée du premier multiplieur 21, le serveur de vote 3 comporte des moyens 23 de 2906058 6 stockage intermédiaire, formant tampon et, en aval de ses moyens 23 de stockage intermédiaire, des moyens 25 de validation des bulletins de vote. Le serveur de vote 3 comporte également un second multiplieur 27 5 connectés aux moyens 17 de stockage de l'urne virtuelle et des moyens 29 de comparaison connectés au registre 21 et à la sortie du second multiplieur 27. Les moyens 29 de comparaison commandent des moyens 31 d'alarme.The voting server 3 also comprises a register 19 which can contain a high value integer connected to a first multiplier 21. The first multiplier 21 has two inputs, the first is connected to the communication means 9 and the second input is connected to the register 19. The output of the multiplier 21 is connected to the register 19 to store the result of the multiplication. Between the communication means 9 and the first input of the first multiplier 21, the vote server 3 comprises intermediate buffer storage means 23 and, downstream of its intermediate storage means 23, means 25 for validating the data. ballots. The vote server 3 also has a second multiplier 27 connected to the storage means 17 of the virtual ballot box and comparison means 29 connected to the register 21 and to the output of the second multiplier 27. The comparison means 29 control means 31 alarm.

10 Le fonctionnement du système de vote électronique va être explicité en relation avec la figure 3. Préliminairement à l'ouverture du vote, le registre 19 est initialisé en 38 à la valeur 1. Sur les terminaux de vote 1, les électeurs préparent et valident en 15 40 leurs bulletins de vote. Ceux-ci sont chiffrés en 42 par les terminaux de vote 1 en utilisant un algorithme de chiffrement homomorphique. En mathématique, un homomorphisme de groupes est une fonction entre ces deux groupes qui respecte la structure des groupes. Ainsi, soit (G, 20 +, neutre 0) un groupe G dont la loi de groupe est notée + et l'élément neutre 0 et (H, x, neutre 1) un groupe H dont la loi de groupe est notée x et l'élément neutre 1 , une fonction f : G ---> H est un homomorphisme de groupes lorsque : d(x, y) E G2 , f(x+y) = f(x) x f(y). Selon cette notation, un algorithme de chiffrement homomorphique se 25 caractérise par le fait que le produit des éléments chiffrés est égal au résultat chiffré de la somme des éléments non chiffrés. Afin de clarifier cette description, les notations d'addition et de multiplication seront utilisées par la suite pour désigner la loi du premier groupe et du second groupe respectivement. Mais l'homme du métier notera que tout homomorphisme et 30 toute opération de groupe est utilisable et donc, que ces notations ne sont que des conventions. Ainsi, si Vi est un bulletin de vote d'un vote comportant n bulletins de vote, l'utilisation d'un algorithme de chiffrement Ch homomorphique donne la relation 2906058 JJ(Ch(Vi)) = Ch(lVi) Cette caractéristique est particulièrement avantageuse dans le cadre d'un système de vote électronique puisque, en considérant que la somme des votes correspond au résultat du scrutin, il est possible d'obtenir ce 5 résultat sans avoir à connaître les votes individuels. Dans la classe des algorithmes de chiffrement homomorphique, la variante de l'algorithme El-Gamal est particulièrement avantageuse en ce qu'elle utilise peu de ressources de calcul et de stockage mais tout homomorphisme et toute opération de groupe est utilisable.The operation of the electronic voting system will be explained in connection with FIG. 3. Preliminary to the opening of the vote, the register 19 is initialized at 38 to the value 1. On the voting terminals 1, the voters prepare and validate in 15 40 their ballots. These are encrypted at 42 by the polling terminals 1 using a homomorphic encryption algorithm. In mathematics, group homomorphism is a function between these two groups that respects the structure of groups. Thus, let (G, 20 +, neutral 0) be a group G whose group law is denoted + and the neutral element 0 and (H, x, neutral 1) a group H whose group law is denoted x and the neutral element 1, a function f: G ---> H is a homomorphism of groups when: d (x, y) E G2, f (x + y) = f (x) xf (y). According to this notation, a homomorphic encryption algorithm is characterized by the fact that the product of the encrypted elements is equal to the encrypted result of the sum of the non-encrypted elements. In order to clarify this description, the addition and multiplication notations will be used later to designate the law of the first group and the second group respectively. But the skilled person will note that any homomorphism and any group operation is usable and therefore, that these notations are only conventions. Thus, if Vi is a ballot of a vote with n ballots, the use of a homomorphic Ch encryption algorithm gives the relationship 2906058 JJ (Ch (Vi)) = Ch (lVi) This characteristic is particularly advantageous in the context of an electronic voting system since, considering that the sum of the votes corresponds to the result of the vote, it is possible to obtain this result without having to know the individual votes. In the class of homomorphic encryption algorithms, the variant of the El-Gamal algorithm is particularly advantageous in that it uses few computing and storage resources, but any homomorphism and any group operation is usable.

10 Les bulletins de vote ainsi chiffrés sont transmis en 44 au serveur de vote 3 par l'intermédiaire des moyens de communication 7, 9. En réception sur le serveur de vote 3, les bulletins de vote sont, de préférence, stockés temporairement en 46, dans les moyens 23 de stockage intermédiaire.The ballots thus encrypted are transmitted at 44 to the vote server 3 by means of the communication means 7, 9. In reception on the vote server 3, the ballot papers are preferably stored temporarily in the voting server. in the intermediate storage means 23.

15 Les moyens 23 de stockage intermédiaire ont un rôle de tampon permettant de déconnecter le flux d'arrivée des bulletins de vote de leurs traitements ultérieurs par le serveur. En effet, comme il est bien connu, le rythme de vote par les électeurs varie fortement en fonction de différents éléments comme l'heure de la journée. Il n'est alors pas toujours possible, 20 pour des raisons techniques et/ou économiques, de dimensionner les moyens de vote, et en particulier, les serveurs de vote pour les instants d'afflux maximum. L'utilisation de la zone de stockage intermédiaire 23 permet alors un lissage du traitement des bulletins de vote. Le bulletin de vote est marqué comme non-traité .Intermediate storage means 23 serve as a buffer for disconnecting the arrival stream from the ballots from their subsequent processing by the server. Indeed, as it is well known, the rate of voting by voters varies greatly depending on different elements such as the time of day. It is therefore not always possible, for technical and / or economic reasons, to size the means of voting, and in particular, the voting servers for the maximum influx times. The use of the intermediate storage area 23 then allows a smoothing of the processing of ballots. The ballot is marked as untreated.

25 Dans un mode particulier de réalisation, avant de stocker le bulletin de vote dans les moyens de stockage intermédiaire, le serveur de vote 3 vérifie que le bulletin de vote provient bien d'un électeur habilité à voter. II vérifie, par exemple, des codes associés au bulletin de vote correspondent aux identifiants de l'électeur. En cas de succès de cette vérification, le 30 serveur de vote 3 annote une liste d'émargement d'électeurs et confirme à l'électeur la prise en compte de son vote.In a particular embodiment, before storing the ballot in the intermediate storage means, the vote server 3 verifies that the ballot comes from a voter eligible to vote. He checks, for example, codes associated with the ballot corresponding to the voter's credentials. If this verification is successful, the voting server 3 annotates a voter registration list and confirms to the voter that his vote has been taken into account.

7 2906058 8 Tant que les moyens 23 de stockage contiennent des bulletins de vote et de manière asynchrone par rapport à l'arrivée des bulletins de vote sur le serveur de vote 3, les moyens 25 de validation effectuent en 48 une preuve de connaissance . Ils vérifient que le bulletin de vote a été chiffré 5 en utilisant la clé de chiffrement El-Gama) prévue pour le vote et que le contenu contient des valeurs correctes par rapport aux consignes de vote. Il est à noter que, grâce en particulier aux caractéristiques de l'algorithme de chiffrement homomorphique, les vérifications sont faites sans déchiffrer le bulletin de vote.As long as the storage means contain ballot papers and asynchronously with respect to the arrival of the ballot papers on the vote server 3, the validation means perform a proof of knowledge at 48. They verify that the ballot has been encrypted using the El-Gama encryption key) provided for the vote and that the content contains correct values with respect to the voting instructions. It should be noted that, thanks in particular to the characteristics of the homomorphic encryption algorithm, the verifications are made without deciphering the ballot.

10 Si les vérifications constatent que le bulletin de vote comporte des anomalies, celui-ci est marqué comme invalide ou nul et stocké dans une zone spéciale. Lors du décompte final, il sera compté comme bulletin nul . Chaque bulletin vérifié est accumulé en 50 au produit El-Gamal du 15 vote. Pour cela, le bulletin de vote chiffré est multiplié avec le contenu du registre 19 et le résultat est stocké dans le registre 19 à la place du contenu précédent. Ainsi, le registre 19 contient à tout instant le produit des bulletins de vote vérifiés.10 If the verifications find that the ballot contains anomalies, it is marked as invalid or void and stored in a special zone. At the final count, it will be counted as a zero ballot. Each verified ballot is accumulated in 50 to the El-Gamal product of the vote. For this, the encrypted ballot is multiplied with the contents of the register 19 and the result is stored in the register 19 instead of the previous content. Thus, the register 19 contains at any time the product of the verified ballots.

20 En même temps que le contenu du registre est mis à jour, le bulletin de vote est marqué vérifié et stocké en 52 dans l'urne virtuelle. Pour vérifier le contenu de l'urne virtuelle, tous les bulletins de vote chiffrés et stockés dans l'urne virtuelle 17 sont multipliés en 54. Le résultat de cette multiplication est comparé en 56 avec la valeur 25 contenue dans le registre 19. Si la comparaison indique que le registre contient une valeur différente du résultat de la multiplication, une alarme est déclenchée en 58 car cela indique que le contenu de l'urne virtuelle a été manipulé. Ainsi la tenue du registre 19 permet d'effectuer un contrôle 30 d'intégrité de l'urne virtuelle. Le contrôle peut être effectué à tout moment pendant le vote soit par un déclenchement automatique aléatoire, soit sur l'initiative d'un scrutateur.At the same time as the contents of the register are updated, the ballot is marked checked and stored at 52 in the virtual ballot box. To verify the contents of the virtual ballot box, all the ballots encrypted and stored in the virtual ballot box 17 are multiplied by 54. The result of this multiplication is compared in 56 with the value 25 contained in the register 19. If the comparison indicates that the register contains a value different from the result of the multiplication, an alarm is triggered in 58 because it indicates that the contents of the virtual urn has been manipulated. Thus, the holding of the register 19 makes it possible to carry out an integrity check of the virtual urn. The check may be carried out at any time during the voting either by a random automatic trigger or on the initiative of a scrutineer.

2906058 9 Le procédé de contrôle décrit permet de renforcer l'intégrité de l'urne virtuelle car il est nettement plus difficile de modifier de manière consistante un bulletin de vote de l'urne virtuelle et le produit contenu dans le registre 17.The control method described makes it possible to reinforce the integrity of the virtual ballot box because it is much more difficult to substantially modify a ballot paper of the virtual ballot box and the product contained in the register 17.

5 Pour renforcer la sécurité, il est également possible de donner des droits d'accès différents au registre 17 et à l'urne virtuelle. Pour compléter la vérification de l'intégrité du vote, on vérifie également qu'il n'y a aucun bulletin de vote restant comme marqué non traité .To enhance security, it is also possible to give different access rights to the register 17 and to the virtual ballot box. To complete the verification of the integrity of the vote, it is also verified that there is no remaining ballot as marked untreated.

10 Ainsi, le nombre de bulletins reçus doit être égal à la somme du nombre de bulletins contenus dans l'urne virtuelle plus le nombre de bulletins marqués nuls ou invalides . Pour la clarté de la description, l'élection considérée comporte une seule question.10 Thus, the number of ballots received must be equal to the sum of the number of ballots contained in the virtual ballot box plus the number of ballots marked invalid or invalid. For the sake of clarity, the election under consideration contains only one question.

15 Cependant une élection peut nécessiter des opérations de vote portant sur plusieurs questions. Par exemple, l'élection à plusieurs postes combinée avec des questions référendaires. Les produits homomorphiques, tels que, par exemple, El-Gamal, considérés portent alors sur chaque élément comme pour un vote unitaire. 2015 However, an election may require voting on a number of issues. For example, multi-position elections combined with referendum questions. Homomorphic products, such as, for example, El-Gamal, considered then relate to each element as for a unit vote. 20

Claims (10)

REVENDICATIONS 1. Procédé de vote électronique comportant les étapes de : - saisie et validation (40) de bulletins de vote électronique par des électeurs, -chiffrement (42) de chaque bulletin de vote validé par un algorithme de chiffrement homomorphique et sa clé de chiffrement, algorithme opérant entre un groupe dont la loi est notée comme une addition et un groupe dont la loi est notée comme une multiplication, - envoi (44) de chaque bulletin de vote chiffré à un serveur comportant des moyens de stockage de tous les bulletins de vote chiffrés, lesdits moyens de stockage faisant office d'urne virtuelle, caractérisé en ce qu'il comporte en outre les étapes de : - initialisation (38) d'un registre à la valeur neutre pour la multiplication à l'ouverture du vote, - multiplication (50) de chaque bulletin chiffré arrivant sur le serveur avec la valeur du registre et remplacement de la valeur du registre par le résultat de la multiplication de telle sorte que la valeur du registre soit égale au produit de tous les bulletins de vote chiffrés arrivés sur le serveur, - vérification du contenu de l'urne virtuelle comportant les sous étapes de : • multiplication (54) de tous les bulletins de vote chiffrés stockés dans l'urne virtuelle, • comparaison (56) de la multiplication des bulletins de vote stockés avec la valeur du registre, • détection (58) d'une anomalie si la comparaison indique que le registre contient une valeur différente du résultat de la multiplication des bulletins de vote stockés ;  1. Electronic voting method comprising the steps of: - seizure and validation (40) of electronic voting ballots by voters, - encryption (42) of each ballot validated by a homomorphic encryption algorithm and its encryption key, algorithm operating between a group whose law is noted as an addition and a group whose law is noted as a multiplication, - sending (44) each encrypted ballot to a server including means for storing all the ballot papers encrypted, said storage means acting as virtual urn, characterized in that it further comprises the steps of: - initialization (38) of a register to the neutral value for the multiplication at the opening of the vote, - multiplication (50) of each encrypted bulletin arriving on the server with the value of the register and replacement of the value of the register by the result of the multiplication so that the value of the register is equal to the product of all the encrypted ballot papers arrived on the server, - verification of the contents of the virtual ballot box comprising the following steps: • multiplication (54) of all the encrypted ballot papers stored in the virtual ballot box, • comparing (56) the multiplication of the ballots stored with the value of the register, • detecting (58) an anomaly if the comparison indicates that the register contains a value different from the result of the multiplication of the stored ballots; 2. Procédé selon la revendication 1, caractérisé en ce que l'algorithme de chiffrement homomorphique est une variante de l'algorithme EI-Gamal. 2906058 11  2. Method according to claim 1, characterized in that the homomorphic encryption algorithm is a variant of the EI-Gamal algorithm. 2906058 11 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que, l'étape de vérification est déclenchée soit par l'utilisateur, soit de façon automatisée régulièrement ou aléatoirement pendant la durée du vote. 5  3. Method according to claim 1 or 2, characterized in that the verification step is triggered either by the user, or automatically or randomly for the duration of the vote. 5 4. Procédé selon la revendication 1 ou 2, caractérisé en ce que, avant la multiplication de chaque bulletin chiffré avec la valeur du registre, chaque bulletin de vote est vérifié (48) sans être déchiffré afin d'assurer la validité du bulletin de vote, et seulement les bulletins de vote validés 10 sont multipliés avec la valeur du registre et stockés dans l'urne virtuelle.  4. Method according to claim 1 or 2, characterized in that, before the multiplication of each encrypted bulletin with the value of the register, each ballot is verified (48) without being deciphered to ensure the validity of the ballot and only the validated ballots 10 are multiplied with the value of the register and stored in the virtual ballot box. 5. Procédé selon la revendication 4, caractérisé en ce que, à la réception des bulletins de vote chiffrés par le serveur, ceux-ci sont stockés (46) dans une zone de stockage temporaire avant d'être vérifiés. 15  5. Method according to claim 4, characterized in that, upon receipt of the vote ballots encrypted by the server, they are stored (46) in a temporary storage area before being checked. 15 6. Serveur de vote électronique comportant : - des moyens (9) de communication avec des terminaux de vote adaptés pour recevoir des bulletins de vote électronique saisis et validés par des électeurs et cryptés par un algorithme de chiffrement 20 homomorphique opérant entre un groupe dont la loi est notée comme une addition et un groupe dont la loi est notée comme une multiplication, - un premier multiplieur (21) à deux entrées, la première entrée étant adaptée pour recevoir les bulletins de vote cryptés la seconde entrée étant connectée à un registre (19) et la sortie étant connectée au 25 registre de telle sorte que chaque bulletin de vote chiffré reçu soit multiplié par la valeur du registre et le produit résultat soit stocké dans le registre, - des moyens (17) de stockage formant une urne virtuelle des bulletins de vote reçus, 30 - un second multiplieur (27) adapté pour multiplier tous les bulletins de vote chiffrés stockés dans l'urne virtuelle, 2906058 12 - des moyens (29) de comparaison de la valeur du registre et du résultat du second multiplieur adaptés pour déclencher un drapeau d'anomalie si le résultat est différent de la valeur du registre. 5  6. Electronic voting server comprising: means (9) for communication with polling terminals adapted to receive electronic voting ballots entered and validated by voters and encrypted by a homomorphic encryption algorithm operating between a group whose law is noted as an addition and a group whose law is noted as a multiplication, - a first multiplier (21) with two entries, the first entry being adapted to receive the encrypted ballot papers the second entry being connected to a register ( 19) and the output being connected to the register such that each received encrypted ballot is multiplied by the value of the register and the result product is stored in the register; - storage means (17) forming a virtual ballot box; ballots received, 30 - a second multiplier (27) adapted to multiply all the encrypted ballot papers stored in the virtual ballot box, 29060 Means 12 (29) for comparing the value of the register and the result of the second multiplier adapted to trigger an anomaly flag if the result is different from the value of the register. 5 7. Serveur selon la revendication 6, caractérisé en ce qu'il comporte en outre des moyens (25) de validation des bulletins de vote reçus tels que seuls les bulletins de vote validés sont transmis au premier multiplieur.  7. Server according to claim 6, characterized in that it further comprises means (25) for validating the ballots received such that only the validated ballots are transmitted to the first multiplier. 8. Serveur selon la revendication 7, caractérisé en ce qu'il comporte en 10 outre des moyens (23) de stockage intermédiaire en amont des moyens de validation adaptés pour permettre un fonctionnement asynchrone des moyens de validation par rapport au flux de réception des bulletins de vote. 15  8. Server according to claim 7, characterized in that it further comprises intermediate storage means (23) upstream of the validation means adapted to allow an asynchronous operation of the validation means with respect to the flow of receipt of the ballots. of vote. 15 9. Serveur selon les revendications 6, 7 ou 8, caractérisé en ce que les bulletins de vote sont chiffrés en utilisant une variante de l'algorithme El-Gamal.  9. Server according to claims 6, 7 or 8, characterized in that the ballots are encrypted using a variant of the algorithm El-Gamal. 10. Produit programme d'ordinateur téléchargeable depuis un réseau de 20 communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en oeuvre des étapes de : -initialisation d'un registre à la valeur neutre pour la multiplication à 25 l'ouverture du vote, - multiplication de chaque bulletin chiffré arrivant sur le serveur avec la valeur du registre et remplacement de la valeur du registre par le résultat de la multiplication de telle sorte que la valeur du registre soit égale au produit de tous les bulletins de vote chiffrés arrivés sur le serveur, 30 - vérification du contenu de l'urne virtuelle comportant les sous étapes de : 5 2906058 13 • multiplication de tous les bulletins de vote chiffrés stockés dans l'urne virtuelle, • comparaison de la multiplication des bulletins de vote stockés avec la valeur du registre, • détection d'une anomalie si la comparaison indique que le registre contient une valeur différente du résultat de la multiplication des bulletins de vote stockés ; du procédé selon l'une quelconque des revendications 1 à 5.  10. Computer program product downloadable from a communication network and / or recorded on a computer-readable and / or executable medium by a processor, characterized in that it comprises program code instructions for the implementation steps of: -initialization of a register to the neutral value for the multiplication at the opening of the vote, - multiplication of each encrypted bulletin arriving on the server with the value of the register and replacement of the value of the register by the result the multiplication so that the value of the register is equal to the product of all the encrypted ballot papers arrived on the server, 30 - verification of the contents of the virtual urn comprising the sub-steps of: 5 2906058 13 • multiplication of all the encrypted ballot papers stored in the virtual ballot box, • comparison of the multiplication of the ballot papers stored with the value of the register, • detection of an anomaly if the comparison indicates that the register contains a value different from the result of the multiplication of the stored ballots; process according to any one of claims 1 to 5.
FR0608062A 2006-09-14 2006-09-14 METHOD AND SERVER FOR VERIFYING THE CONTENT OF A VIRTUAL URN OF A DIGITAL ELECTRONIC VOTING SYSTEM USING A HOMOMORPHIC ALGORITHM Active FR2906058B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0608062A FR2906058B1 (en) 2006-09-14 2006-09-14 METHOD AND SERVER FOR VERIFYING THE CONTENT OF A VIRTUAL URN OF A DIGITAL ELECTRONIC VOTING SYSTEM USING A HOMOMORPHIC ALGORITHM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0608062A FR2906058B1 (en) 2006-09-14 2006-09-14 METHOD AND SERVER FOR VERIFYING THE CONTENT OF A VIRTUAL URN OF A DIGITAL ELECTRONIC VOTING SYSTEM USING A HOMOMORPHIC ALGORITHM

Publications (2)

Publication Number Publication Date
FR2906058A1 true FR2906058A1 (en) 2008-03-21
FR2906058B1 FR2906058B1 (en) 2008-11-21

Family

ID=37907993

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0608062A Active FR2906058B1 (en) 2006-09-14 2006-09-14 METHOD AND SERVER FOR VERIFYING THE CONTENT OF A VIRTUAL URN OF A DIGITAL ELECTRONIC VOTING SYSTEM USING A HOMOMORPHIC ALGORITHM

Country Status (1)

Country Link
FR (1) FR2906058B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2944907A1 (en) * 2009-04-23 2010-10-29 Alain Ratignier Secured electronic voting method for real voter in polling station, involves randomly selecting possibility of vote in memory, and transmitting selected vote couple and voter code to voter
BE1021435B1 (en) * 2014-07-28 2015-11-20 Elegio METHOD FOR MANAGING AN ELECTRONIC VOTE

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60220456A (en) * 1984-04-17 1985-11-05 Fujitsu Ltd Counter checking system
JPH087600A (en) * 1994-06-22 1996-01-12 Nec Corp Checking circuit for writing in rom
WO2003069448A2 (en) * 2002-02-14 2003-08-21 Votehere, Inc. A coercion-free voting scheme
WO2005043808A1 (en) * 2003-11-03 2005-05-12 Koninklijke Philips Electronics N.V. Method and device for efficient multiparty multiplication
WO2005093671A2 (en) * 2004-03-25 2005-10-06 Cryptomathic A/S Electronic voting systems

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60220456A (en) * 1984-04-17 1985-11-05 Fujitsu Ltd Counter checking system
JPH087600A (en) * 1994-06-22 1996-01-12 Nec Corp Checking circuit for writing in rom
WO2003069448A2 (en) * 2002-02-14 2003-08-21 Votehere, Inc. A coercion-free voting scheme
WO2005043808A1 (en) * 2003-11-03 2005-05-12 Koninklijke Philips Electronics N.V. Method and device for efficient multiparty multiplication
WO2005093671A2 (en) * 2004-03-25 2005-10-06 Cryptomathic A/S Electronic voting systems

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2944907A1 (en) * 2009-04-23 2010-10-29 Alain Ratignier Secured electronic voting method for real voter in polling station, involves randomly selecting possibility of vote in memory, and transmitting selected vote couple and voter code to voter
BE1021435B1 (en) * 2014-07-28 2015-11-20 Elegio METHOD FOR MANAGING AN ELECTRONIC VOTE

Also Published As

Publication number Publication date
FR2906058B1 (en) 2008-11-21

Similar Documents

Publication Publication Date Title
EP0055986B1 (en) Security system and apparatus for the three-way communication of confidential data
Chaum Security without identification: Transaction systems to make big brother obsolete
FR3054905A1 (en) KEY GENERATION METHOD AND ACCESS CONTROL METHOD
US11087578B2 (en) Voting booth, system, and methods of making and using same
Culnane et al. Knights and knaves run elections: Internet voting and undetectable electoral fraud
Madise et al. Internet voting in Estonia: from constitutional debate to evaluation of experience over six elections
FR2507359A1 (en) METHOD AND DEVICE FOR SECURING AND CONTROLLING THE AUTHENTICITY OF DOCUMENTS AND DOCUMENTS THEREFOR
EP3928488A1 (en) System and apparatus for providing authenticable electronic communication
Gupta et al. Issues and effectiveness of blockchain technology on digital voting
Hall Internet voting: the state of the debate
US20120095811A1 (en) Electronic voting system
Guasch Castelló Individual verifiability in electronic voting
FR2906058A1 (en) Electronic voting method for e.g. polling station, involves verifying content of virtual ballot box by detecting abnormality if comparison indicates that register contains value different from stored ballot multiplication result
EP2922010A2 (en) Digital voucher authentication
Singh et al. Blockchain-based decentralized voting system security Perspective: Safe and secure for digital voting system
WO2016135419A1 (en) Method of transaction without physical support of a security identifier and without token, secured by the structural decoupling of the personal and service identifiers
CN113570369B (en) Block chain privacy transaction method, device, equipment and readable storage medium
Bissessar et al. Privacy, security and convenience: biometric encryption for smartphone-based electronic travel documents
EP3136354B1 (en) Method for securing and ensuring the auditability of an electronic vote
US8983074B2 (en) Input content data managing system and method of managing input content data
Olaniyi et al. Enhanced stegano-cryptographic model for secure electronic voting
Averin et al. Review of e-voting systems based on blockchain technology
BE1021435B1 (en) METHOD FOR MANAGING AN ELECTRONIC VOTE
Dhote et al. A Safe and Effective Online Voting System Based on The Blockchain as A Concept
Sarier Efficient and Usable Coercion-Resistant E-Voting on the Blockchain

Legal Events

Date Code Title Description
TP Transmission of property
CD Change of name or company name
CA Change of address

Effective date: 20130131

CD Change of name or company name

Owner name: DOCAPOST BPO, FR

Effective date: 20130131

PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 12

PLFP Fee payment

Year of fee payment: 13

PLFP Fee payment

Year of fee payment: 15

PLFP Fee payment

Year of fee payment: 16

PLFP Fee payment

Year of fee payment: 17

PLFP Fee payment

Year of fee payment: 18

PLFP Fee payment

Year of fee payment: 19