1
Vote électronique vérifiable
Michel de Rougemont
University Paris II & Liafa CNRS
2
Plan
1. Vote électronique et Vote vérifiable
2. Rôle du hasard
3. TWIN (R. Rivest)
4. SCANTEGRITY II (D. Chaum)
3
1. Vote électronique
1. Vote:– Plurality – Approval voting – Borda voting– Condorcet systems – Range Voting
2. Electronique– Internet, accès général avant le vote– Machines à voter– Vérification
4
Contraintes, Motivations
Contraintes:• Secret du vote• Vérification: chaque vote est pris en compte
Motivations:• Calculs sur le Cloud• Comment se convaincre, que le résultat est
correct ?• Vote: vérification de l’addition
5
Vérification
Tous les bulletins sont sur le Web.
http://www.ump.fr
C: 89F: 91
C:101F:102
C:12F:11
C:2F:1
C:10F:10
Bulletin
Cope X
Fillon
874()&$0*@!~
Bulletin
Cope X
Fillon
884()&$0x@!~
Bulletin
Cope
Fillon X
984()&$0x@!~
ID: 884()&$0x@!~
Comment contester?
6
Problèmes
Secret du vote: • On peut convaincre quelqu’un de son vote
(les votes peuvent s’acheter)• Pas de secret si on vote librement sur le
Web • Donner un reçu
Questions:• Peut-on vérifier et maintenir le secret?• Recherches actuelles (situation Diffie-
Hellman en 1975 sur le chiffrement)
7
Le marché du vote électronique: Suisse et USA
1. La Suisse(1er marché en %)
Eveline Widmer-Schlumpf
瑞士的象征
8
Le marché Suisse du vote électronique
Genève: votation de Mars 2012
Electeurs suisses de l’étranger de toutes les communes, Electeurs des communes:
Aire-la-Ville, Anières, Avusy, Bernex, Chêne-Bougeries, ChêneBourg, Collonge-Bellerive, Cologny, Grand-Saconnex, Onex, Perly-Certoux, Planles-Ouates et Vandœuvres
7 cantons sur 26.
Vote direct sur Internet.
Vérification: une commission des usagers a accès au programme et au serveur.
•Programme C qui gère les échanges et « l’addition » est public pour la commission.
9
Marché US du vote électronique
2. USA
Ronald RIVEST
• R de R.S.A• Prof. M.I.T• Advisor to the Election Assistance Commission
Technical Guidelines Development Committee (TGDC)
• Recommandation: “Not safe enough”
10
2. Hasard et calcul
1. Hasard
Pile :
Face :
Rand()
Rand(1,100)
2. Applications– Calcul d’une fonction f(x)=y– Sondages– Correction de calculs
1
2 1
2
Qbit
10Pr [f ( ) ] 10
x y
11
Correction arithmétique
Fonction arithmétique:
Opérateurs: +, . , / buggés à 30% Comment calculer f ?
Exemple:
2
2. .( , , ) 5 . .
3
x yf x y z x y z
z
0
( , ) ( , ) .
( , ) 1 , 100
f x y q r x q y r r y
f x y q x y
0
1 2 2 1
(15,5) ? 15/5=9 (bug, 30% d'erreur)
(1,100) : , ,....
. . /
Majorité{ : 1,...2 1}
k
i i i i i i i
i
f
r rand r r r
x r x y r y q x y
q q i k
1
1 1 1 1 1
= 4, 7, 35, 72.....
. 4.15 60 . 4.5 20 60 / 20 3
Majorité{3,41,3,9,11,3,3} 3
Hasard nécessaire: impossible avec une méthode déterministe
r
x r x y r y q
q
12
3. Twin (R. Rivest)
Vote classique: ID du bulletin inconnue, ID révélée dans l’urne,
Reçu: bulletin aléatoire de l’urne.
Bulletin
Cope X
Fillon
874()&$0*@!~
Bulletin
Cope X
Fillon
xxxxxxxxxxxx
Bulletin
Cope X
Fillon
974()&$0*@!~
Bulletin
Cope
Fillon X
674()&$0*@!~
Bulletin
Cope
Fillon X
674()&$0*@!~
reçu
http://static.usenix.org/event/evt07/tech/full_papers/rivest/rivest_html
13
Vérification
Tous les bulletins sont sur le Web.
http://www.ump.fr
C: 89F: 91
C:101F:102
C:12F:11
C:2F:1
C:10F:10
Bulletin
Cope X
Fillon
874()&$0*@!~
Bulletin
Cope X
Fillon
884()&$0x@!~
Bulletin
Cope
Fillon X
674()&$0x@!~
ID: 884()&$0x@!~
On vérifie un bulletin aléatoire
14
Twin-Threeballot (R. Rivest)
Vote classique à 3 bulletins: Vote Copé: 2 voix pour Copé, 1 voix pour Fillon
Bulletin
Cope X
Fillon
874()&$0*@!~
Bulletin
Cope X
Fillon
874()&$0*@!~
Bulletin
Cope X
Fillon
974()&$0*@!~
Bulletin
Cope
Fillon X
674()&$0*@!~
Reçu aléatoire 1/3
Bulletin
Cope X
Fillon X
174()&$0*@!~
Bulletin
Cope
Fillon
374()&$0*@!~
15
Vérification
Tous les bulletins sont sur le Web.
http://www.ump.fr
C: 89F: 91
C:101F:102
C:12F:11
C:2F:1
C:10F:10
Bulletin
Cope X
Fillon
874()&$0*@!~
Bulletin
Cope X
Fillon
884()&$0x@!~
Bulletin
Cope
Fillon X
674()&$0x@!~
ID: 884()&$0x@!~
On vérifie un seul deses 3 bulletins
9 Bulletins: total: 5 Copé, 4 Fillon
Bulletin
Cope X
Fillon X
174()&$0x@!~
16
4. Scantegrity II
Un pas vers le vote vérifiable pratique: D. Chaum, R. Rivest,…..
http://static.usenix.org/event/evt08/tech/full_papers/chaum/chaum_html/
Expérimentation dans une élection locale.
17
Scantegrity IITable P secrète
Tables Q, R, and S will be public for the verification.Q is a permutation of P’s rows.
Vote for Carl on ballot 0002 code J3K (0002,1) in table Q (0002,1) in table R points to position (4,3) in table S.
Position (4,3) in table S corresponds to a vote for Carl, since it is in column 3.
18
Scantegrity II
Votes:0001,0003 for Alice, 0002 for Carl, 0005 for Bob,
0004 for audit
Suppress the invisible codes in Q
In table R, suppress randomly:•either the Q-pointer •or the the S-pointer
•Flag the S table (from the secret P) and the R table
19
Scantegrity II
Verification:0001,0003 for Alice, 0002 for Carl, 0005 for Bob, 0004 for audit
Check lines of table R: Flags must be coherent with Q and R
Case 1: no Q-pointerCoherence Q-R
Case 2: no R-pointerCoherence S-R
20
Conclusion
1. Vote électronique et Vote vérifiable
2. TWIN (R. Rivest)
3. SCANTEGRITY II (D. Chaum)
4. Calculs fiables sur le Cloud
Top Related