EP1523824B1

List signature method and application to electronic voting

Abstract

The invention concerns a list signature method comprising: an organization phase whereby reliable authority defines parameters for implementing an anonymous electronic signature; a phase which consists in registering persons on a list of authorized members to generate a list signature, during which each person calculates a private key, and the reliable authority delivers to each person a certificate for membership of the list; a phase which consists in defining a serial number; a phase wherein a member of the list generates by means of certificate a signature containing an element common to all the signatures issued by one single member with one single serial number; a phase which consists in verifying whether the signature has been generated by a member of the list and whether the serial number has been used to generate the signature.

EP1523824B1, drawing sheet 1
Sheet 1 of 105

Term

Term ended

Expired 16 July 2023, 3.2 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

15 claims: 6 independent, 9 dependent

  1. 1
    Procédé de signature de liste comprenant au moins :- une phase d'organisation (10) consistant pour une autorité de confiance (1) à définir des paramètres de mise en oeuvre d'une signature électronique anonyme, dont une clé privée et une clé publique correspondante, - une phase d'enregistrement (20, 20') de personnes dans une liste de membres autorisés à générer une signature électronique propre aux membres de la liste, au cours de laquelle chaque personne (2) à enregistrer calcule (24) une clé privée (x i ) à l'aide de paramètres fournis par l'autorité de confiance et de paramètres choisis aléatoirement par la personne à enregistrer, et l'autorité de confiance délivre (25') à chaque personne à enregistrer un certificat ([A i , e i ]) de membre de la liste, - une phase de signature (30) au cours de laquelle un membre de la liste génère (35) et émet (36) une signature propre aux membres de la liste, cette signature étant construite de manière à contenir une preuve que le membre de la liste ayant émis la signature, connaît un certificat ([A i , e i ]) de membre de la liste, et - une phase de vérification (40) de la signature émise comprenant des étapes (41, 42) d'application d'un algorithme prédéfini pour mettre en évidence la preuve que la signature a été émise par une personne en possession d'un certificat de membre de la liste, caractérisé en ce qu' il comprend en outre : - une phase de définition d'une séquence consistant pour l'autorité de confiance (1) à générer un numéro de séquence m à utiliser dans la phase de signature (30), une signature (Sig liste ) générée durant la phase de signature comprenant un élément de signature (T 4 ) qui est commun à toutes les signatures émises par un même membre de la liste avec un même numéro de séquence et qui contient une preuve que le numéro de séquence m à été utilisé pour générer la signature, la phase de vérification (40) comprenant en outre une étape de vérification (43) de la preuve que le numéro de séquence m à été utilisé pour générer la signature ;- une phase de révocation d'un membre de la liste pour retirer un membre de la liste, au cours de laquelle l'autorité de confiance (1) retire de la liste le membre à retirer et met à jour les paramètres de mise en oeuvre de la signature électronique anonyme, pour tenir compte du retrait du membre de la liste ;et - une phase de mise à jour des certificats ([A i , e i ]) des membres de la liste pour tenir compte de modifications de la composition de la liste.
  2. 2
    Procédé selon la revendication 1, caractérisé en ce que la phase d'organisation (10) comprend la définition d'un paramètre commun (u) dépendant de la composition de la liste, la phase d'enregistrement (20, 20') d'une personne dans la liste comprenant la définition d'un paramètre (u i ) propre à la personne à enregistrer qui est calculé en fonction du paramètre (u ) dépendant de la composition de la liste et qui est intégré au certificat ([A i , e i , u i ]) remis à la personne, la phase d'enregistrement (20, 20') comprenant une étape de mise à jour du paramètre commun (u) dépendant de la composition de la liste, la phase de révocation d'un membre de la liste comprenant une étape de modification du paramètre commun (u) dépendant de la composition de la liste, pour tenir compte du retrait du membre de la liste, et la phase de mise à jour des certificats des membres de la liste comportant une étape de mise à jour du paramètre (u i ) propre à chaque membre de la liste pour tenir compte des modifications de la composition de la liste.
  3. 3
    Procédé selon la revendication 1 ou 2, caractérisé en ce qu' une signature propre à un membre de la liste et possédant le certificat [A i , e i ] comprend des paramètres T 1 , T 2 , T 3 tels que :T 1 = A i ⁢ b ω mod n , T 2 = g ω mod n , T 3 = g e i ⁢ h ω mod n , ω étant un nombre choisi aléatoirement lors de la phase de signature (30), et b, g, h et n étant des paramètres généraux de mise en oeuvre de la signature de groupe, tels que les paramètres b, g et h ne peuvent pas se déduire les uns des autres par des fonctions d'élévation de puissance entière modulo n, de sorte que le nombre A i , et donc l'identité du membre de la liste possédant le certificat [A i , e i ] ne peut pas se déduire d'une signature émise par le membre.
  4. 4
    Procédé selon l'une des revendications 1 à 3, caractérisé en ce que le numéro m d'une séquence utilisé pour générer une signature de liste est calculé en fonction d'une date de début de séquence.
  5. 5
    Procédé selon la revendication 4, caractérisé en ce que la fonction de calcul du numéro d'une séquence est de la forme :F d = H d 2 mod n dans laquelle H est une fonction de hachage résistante aux collisions, d est la date de début de la séquence, et n est un paramètre général de mise en oeuvre de la signature de groupe.
  6. 6
    Procédé selon l'une des revendications 1 à 5, caractérisé en ce qu' une signature (Sig liste ) émise par un membre de la liste contient un paramètre (T 4 ) qui est calculé en fonction du numéro de séquence et de la clé privée (x i ) du membre signataire.
  7. 7
    Procédé selon la revendication 6, caractérisé en ce que le paramètre T 4 d'une signature émise par un membre de la liste et dépendant du numéro de séquence m et de la clé privée x i du membre signataire est obtenu par la formule suivante :T 4 = m x i m ⁢ o ⁢ d n n étant un paramètre général de mise en oeuvre de la signature de groupe, et en ce que la signature comprend la preuve que le paramètre T 4 a été calculé avec la clé privée x i du membre de la liste qui a émis la signature.
  8. 8
    Procédé de vote électronique comprenant une phase d'organisation (50) des élections, au cours de laquelle une autorité organisatrice procède à la génération de paramètres nécessaires à un scrutin, et attribue à des scrutateurs des clés leur permettant de déchiffrer et vérifier des bulletins de vote, une phase d'attribution d'un droit de signature à chacun des électeurs, une phase de vote (60) au cours de laquelle les électeurs signent un bulletin de vote, et une phase de dépouillement (70) au cours de laquelle les scrutateurs vérifient les bulletins de vote, et calculent le résultat du scrutin en fonction du contenu des bulletins de vote déchiffrés et valides, caractérisé en ce qu' il met en oeuvre un procédé de signature de liste selon l'une des revendications 1 à 7, pour signer les bulletins de vote, chaque électeur étant enregistré comme membre d'une liste, et un numéro de séquence m étant généré pour le scrutin, pour détecter si un même électeur a émis ou non plusieurs bulletins de vote pour le scrutin.
  9. 9
    Procédé selon la revendication 8, caractérisé en ce que la phase d'organisation (50) comprend la remise à chaque scrutateur d'une clé publique et d'une clé privée, en ce que les bulletins de vote (v i ) sont chiffrés (62) à l'aide d'une clé publique (Y) obtenue par le produit des clés publiques (y i ) respectives de tous les scrutateurs, et en ce que la clé privée (X) de déchiffrement correspondante est obtenue en calculant la somme de clés privées (x i ) respectives de tous les scrutateurs.
  10. 10
    Procédé selon la revendication 9, caractérisé en ce que le chiffrement (62) des bulletins de vote est effectué à l'aide d'un algorithme de chiffrement probabiliste.
  11. 11
    Procédé selon l'une des revendications 8 à 10, caractérisé en ce que les bulletins de vote émis par les électeurs sont stockés dans une base de données publique (4), en ce que le résultat de la vérification et du dépouillement de chaque bulletin de vote est stocké dans la base de données en association avec le bulletin de vote, et en ce que la clé privée (X) de déchiffrement des bulletins de vote est publiée.
  12. 12
    Calculateur pour la mise en oeuvre d'une signature de liste, comprenant des moyens pour :- générer des paramètres de mise en oeuvre d'une signature électronique anonyme propre aux membres d'une liste, les paramètres comportant une clé privée et une clé publique correspondante ;et - transmettre à chaque personne (2) à enregistrer dans la liste, des paramètres à utiliser par la personne à enregistrer pour calculer (24) une clé privée (x i ), et un certificat ([A i , e i ]) de membre de la liste, caractérisé en ce qu' il comprend en outre des moyens pour : - générer un numéro de séquence m à utiliser par les membres de la liste pour émettre une signature anonyme propre aux membres de la liste, une signature anonyme (Sig liste ) émise par un membre de la liste comprenant un élément de signature (T 4 ) qui est commun à toutes les signatures émises par le même membre de la liste avec un même numéro de séquence, et qui contient une preuve que le numéro de séquence m a été utilisé pour générer la signature ;- retirer de la liste un membre à révoquer de la liste, et mettre à jour les paramètres de mise en oeuvre de la signature électronique anonyme propre aux membres de la liste, pour tenir compte du retrait du membre de la liste ;et - mettre à jour les certificats ([A i , e i ]) des membres de la liste à chaque modification de la composition de la liste.
  13. 13
    Calculateur pour la mise en oeuvre d'un procédé de vote électronique, comprenant des moyens pour :- générer au cours d'une phase d'organisation d'un scrutin des paramètres de mise en oeuvre d'une signature électronique anonyme propre aux membres d'une liste d'électeurs, les paramètres comportant une clé privée et une clé publique correspondante ;- attribuer à des scrutateurs des clés leur permettant de déchiffrer et vérifier des bulletins de vote émis pour le scrutin ;et - transmettre à chaque membre (2) de la liste d'électeurs du scrutin des paramètres à utiliser par l'électeur pour calculer (24) une clé privée (x i ), et un certificat ([A i , e i ]) de membre de la liste d'électeurs du scrutin, caractérisé en ce qu' il comprend en outre des moyens pour : - générer un numéro de séquence m propre au scrutin à utiliser par les membres de la liste d'électeurs pour signer un bulletin de vote, une signature (Sig liste ) d'un bulletin de vote comprenant un élément de signature (T 4 ) qui est commun à toutes les signatures émises avec un même numéro de séquence par un même membre de la liste d'électeurs du scrutin, et qui contient une preuve que le numéro de séquence m a été utilisé pour générer la signature ;- retirer de la liste un électeur du scrutin à révoquer, et mettre à jour les paramètres de mise en oeuvre de la signature électronique anonyme propre aux membres de la liste d'électeurs du scrutin, pour tenir compte du retrait de l'électeur ;et - mettre à jour les certificats ([A i , e i ]) des électeurs du scrutin à chaque modification de la composition de la liste des électeurs du scrutin.
  14. 14
    Terminal (2) pour émettre une signature de liste comprenant des moyens pour :- recevoir des paramètres de calcul d'une clé privée (x i ) ;- calculer (24) la clé privée (x i ) à l'aide des paramètres reçus et de paramètres choisis aléatoirement ;- recevoir (25) un certificat ([A i , e i ]) de membre d'une liste ;- générer (35) une signature propre aux membres de la liste, cette signature étant construite de manière à contenir une preuve que le membre de la liste ayant émis la signature, connaît un certificat ([A i , e i ]) de membre de la liste ;et - vérifier une signature émise par un membre de la liste en appliquant un algorithme prédéfini pour mettre en évidence la preuve que la signature a été émise par une personne en possession d'un certificat de membre de la liste, caractérisé en ce qu' il comprend en outre des moyens pour : - recevoir un numéro de séquence m à utiliser dans une phase de signature (30) ;- générer une signature (Sig liste ) en calculant un élément de signature (T 4 ) qui est commun à toutes les signatures émises par un même membre de la liste avec un même numéro de séquence, et qui contient une preuve que le numéro de séquence m a été utilisé pour générer la signature ;- vérifier la preuve que le numéro de séquence m a été utilisé pour générer une signature ;et - recevoir un nouveau certificat ([A i , e i ]) de membre de la liste à chaque modification de la composition de la liste.
  15. 15
    Terminal (2) pour émettre une signature de bulletin de vote à un scrutin, comprenant des moyens pour :- recevoir des paramètres de calcul d'une clé privée (x i ) ;- calculer (24) la clé privée (x i ) à l'aide des paramètres reçus et de paramètres choisis aléatoirement ;- recevoir (25) un certificat ([A i , e i ]) de membre d'une liste d'électeurs du scrutin ;- générer (35) une signature d'un bulletin de vote, cette signature étant construite de manière à contenir une preuve que le membre de la liste ayant émis la signature, connaît un certificat ([A i , e i ]) de membre de la liste d'électeurs ;et - vérifier une signature d'un bulletin de vote, émise par un membre de la liste d'électeur, en appliquant un algorithme prédéfini pour mettre en évidence la preuve que la signature a été émise par une personne en possession d'un certificat de membre de la liste, caractérisé en ce qu' il comprend en outre des moyens pour : - recevoir un numéro de séquence m à utiliser pour signer un bulletin de vote ;- générer une signature (Sig liste ) d'un bulletin de vote en calculant un élément de signature (T 4 ) qui est commun à toutes les signatures émises par un même membre de la liste d'électeurs avec un même numéro de séquence, et qui contient une preuve que le numéro de séquence m a été utilisé pour générer la signature ;- vérifier la preuve que le numéro de séquence m a été utilisé pour générer une signature d'un bulletin de vote ;et - recevoir un nouveau certificat ([A i , e i ]) de membre de la liste d'électeurs à chaque modification de la composition de la liste d'électeurs.
Independent claims15