Secure electronic voting using partially compatible homomorphisms
First Claim
1. A method of secure electronic voting with a plurality of voting means and a plurality of vote counting means using partially compatible homomorphisms comprising the steps of:
- (a) choosing a randomly selected family of partially compatible encryption functions, Ea, Eb {Ei }, for voting means V1, V2, . . . , Vn and vote counting means C1, C2, . . . , Cn which functions are posted;
(b) each voting means Vk randomly choosing masking votes, vk,j ε
{1,-1} and then randomly choosing two representations for vk,j ;
vk,j =Xk,j.sup.(1) +Xk,j.sup.(2) + . . . +Xk,j.sup.(n) =Ak,j +Bk,j and posting Ei (Xk,j.sup.(i)),Ea (Ak,j) and Eb (Bk,j);
(c) reducing the equations in step (b) to X--k.sup.(1) +X--k.sup.(2) +. . . +X--k.sup.(n) = Ak + Bk,(d) proving the validity of the equation in step (c) by using prove-sum algorithm;
(e) executing algorithm prove±
1, and(f) encrypting Xk,j.sup.(i) using Ci '"'"'s public encryption algorithm for all j and i and posting the encryptions.
3 Assignments
0 Petitions
Accused Products
Abstract
A number-theoretic based algorithm provides for secure electronic voting. A voter may cast a votes among n centers in a manner which prevents fraud and authenticates the votes. Preprocessing allows for nearly all of the communication and computation to be performed before any voting takes place. Each center can verify that each vote has been properly counted. The algorithm is based on families of homomorphic encryptions which have a partial compatibility property. The invention can be realized by current-generation PCs with access to an electronic bulletin board.
87 Citations
28 Claims
-
1. A method of secure electronic voting with a plurality of voting means and a plurality of vote counting means using partially compatible homomorphisms comprising the steps of:
-
(a) choosing a randomly selected family of partially compatible encryption functions, Ea, Eb {Ei }, for voting means V1, V2, . . . , Vn and vote counting means C1, C2, . . . , Cn which functions are posted; (b) each voting means Vk randomly choosing masking votes, vk,j ε
{1,-1} and then randomly choosing two representations for vk,j ;
vk,j =Xk,j.sup.(1) +Xk,j.sup.(2) + . . . +Xk,j.sup.(n) =Ak,j +Bk,j and posting Ei (Xk,j.sup.(i)),Ea (Ak,j) and Eb (Bk,j);(c) reducing the equations in step (b) to X--k.sup.(1) +X--k.sup.(2) +. . . +X--k.sup.(n) = Ak + Bk, (d) proving the validity of the equation in step (c) by using prove-sum algorithm; (e) executing algorithm prove±
1, and(f) encrypting Xk,j.sup.(i) using Ci '"'"'s public encryption algorithm for all j and i and posting the encryptions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of secure electronic voting with a plurality of voting means and a plurality of vote counting means using partially compatible homomorphisms comprising the steps of:
-
(a) choosing a randomly selected family of partially compatible encryption functions, Ea, Eb {Ei } for voting means V1, V2, . . . Vn and vote counting means C1, C2,. . . Cn, which functions are posted; (b) each voting means Vk randomly choosing a masking vote, vk,j ε
{1,-1} andthen randomly choosing two representations for vk,j ;
vk,j =Xk,j.sup.(1) +Xk,j.sup.(2) + . . . +Xx,j.sup.(n) =Ak,j +Bk,j ;(c) voting means k in order to use vote j, computing sk,j ε
{-1,1} such that an actual vote is equal to sk,j vk,j, and posting sk,j ;(d) each vote counting means Ci calculating subtally t.sup.(i) =Σ
k sk ·
Xk,j.sup.(i) and posting t.sup.(i) ; and(e) combining said subtallies for determining the outcome of the voting.
-
-
13. An apparatus for secure electronic voting using partially compatible homomorphisms comprising:
-
a plurality of voting means and a plurality of vote counting means, each having a randomly selected family of partially compatible encryption functions, Ea, Eb {Ei } which are posted on a publicly accessible media; each voting means randomly choosing masking votes, vk,j ε
{1,-1} and randomly choosing two representations for vk,j ;
vk,j =Xk,j.sup.(1) +Xk,j.sup.(2) +. . . +Xk,j.sup.(n) =Ak,j +Bk,j and posting Ei (Xk,j.sup.(i)), Ea (Ak,j) and Eb (Bk,j) on said publicly accessible media;means for reducing the equations for vk,j to the form X--k.sup.(1) +X--k.sup.(2) +. . . +X--k.sup.(n) = Ak + Bk,; means for proving the validity of vk,j using prove-sum algorithm; means for executing algorithm±
1;means for encrypting Xk,j.sup.(i) using said partial encryption function for all j and i and posting the encryptions on said publicly accessible media. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. An apparatus for secure electronic voting using partially compatible homomorphisms comprising:
-
a plurality of voting means and a plurality of vote counting means, each having a randomly selected family of partially compatible encryption functions Ea, Eb {Ei } which are posted on a publicly accessible media; each voting means randomly choosing a masking vote, vk,j ε
{1,-1} and randomly choosing two representations for vk,j ;
vk,j =Xk,j.sup.(1) +Xk,j.sup.(2) + . . . +Xk,j.sup.(n) =Ak,j +Bk,j and posting Ei (Xk,j.sup.(i)), Ea (Ak,j) and Eb (Bk,j) on said publicly accessible media;means for computing sk,j ε
{-1,1} such that an actual vote is equal to sk,j vk,j, and posting sk,j on said publicly accessible media, where k is one of said plurality of voters and j is a vote;means associated with each of said vote counting means for decrypting Xk,j.sup.(i) for all k and j, and verifying whether it is consistent with Ei (Xk,j.sup.(i)); means associated with each of said vote counting means for calculating a subtally t.sup.(i) =Σ
k sk ·
Xk,j.sup.(i) and posting t.sup.(i) on said publicly accessible media; andmeans for combining said subtallies for determining the outcome of said voting. - View Dependent Claims (25, 26, 27, 28)
-
Specification