CN102521910B - Vote-hiding type electronic voting method - Google Patents

Vote-hiding type electronic voting method Download PDF

Info

Publication number
CN102521910B
CN102521910B CN201110425662.XA CN201110425662A CN102521910B CN 102521910 B CN102521910 B CN 102521910B CN 201110425662 A CN201110425662 A CN 201110425662A CN 102521910 B CN102521910 B CN 102521910B
Authority
CN
China
Prior art keywords
calculate
modn
random
bit
votes
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.)
Expired - Fee Related
Application number
CN201110425662.XA
Other languages
Chinese (zh)
Other versions
CN102521910A (en
Inventor
李继国
罗翀
张亦辰
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.)
Hohai University HHU
Original Assignee
Hohai University HHU
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 Hohai University HHU filed Critical Hohai University HHU
Priority to CN201110425662.XA priority Critical patent/CN102521910B/en
Publication of CN102521910A publication Critical patent/CN102521910A/en
Application granted granted Critical
Publication of CN102521910B publication Critical patent/CN102521910B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

The invention discloses a vote-hiding type electronic voting method, which comprises the steps of: firstly setting a public system parameter, and a relative public key and a private key; and then, responding to the votes of voters to select the input so as to generate an electronic voting customization machine of electronically encrypted votes; performing a relative secure multi-party computation according to the formed electronically encrypted votes, and finally obtaining a voting result hiding votes of all candidates. The invention provides the electronic voting method capable of hiding the votes of all candidates by utilizing the secure multi-party computation and the vote guarantee technology for solving the problem of publishing the votes of the candidates in the voting in the prior art, and guaranteeing the final votes of all candidates in the electronic voting to be confidential so as to guarantee the privacy of the voters in electronic voting, especially small scale voting.

Description

A kind of electronic voting method of hiding number of votes obtained
Technical field
The present invention relates to electronic voting field, particularly the electronic voting of the higher applicable small-scale application of security requirement.
Background technology
If the people such as Endo pointed out the disclosed words of final number of votes obtained of each candidate in small-scale vote by ballot in 2008, can reveal group internal and neutral voter's ballot wish.Consider such a case: if Alice is a directors, and the board of directors determines to hold the chairman that single ballot elects to select next.Incumbent chairman and vice-president announce all qualified ballot name lists of the candidates, and they strive for ballot paper in their group and other voters' ballot paper teeth and nail.Alice is a neutral voter, does not belong to any one group.Alice wishes to keep the ballot purpose of oneself by other people, not known, and clashes avoiding with any one group.If but neutral voter's quantity is fewer, from each candidate's final gained vote situation, even if the ballot paper of Alice encrypted form is not decrypted, his ballot wish is also easy to be inferred out, and this has run counter to voter's privacy, thereby destroyed the freedom of electing.
To a certain extent, voting scheme depends on that to the degree of protection of voter's privacy opponent understands the uncertainty of honest voter's ballot paper.Give an example: if having two candidate Alice and Bob, and each voter wishes to throw to Alice, and now opponent forces a voter to vote to Bob.When final vote result is made known, if the number of votes obtained of final Bob is 0, opponent can determine that voter does not go to the polls by his wish, and this situation has also been run counter to voter's privacy.
Owing to participating in, the number of voting is on a small scale fewer; the ballot paper number that opponent can control proportion in small-scale vote by ballot is larger; and honest voter's proportion is less; honest voter's ballot wish is easy to be inferred out by other people ballot paper, therefore the protection of privacy is considered should specific efficiency more important in ballot on a small scale.Endo etc. point out that the poll that discloses all ballot candidates can reduce honest neutral voter's uncertainty, and the total number of persons of participation ballot is fewer, and the uncertainty of reduction is larger.
The threat of buying and selling ballot paper and compulsory voting in small-scale electronic voting is larger, so hide all candidates' final poll, seem particularly important, in security, electronic voting requirement is higher than extensive electronic voting on a small scale, votes on a small scale for one and keep all candidates' number of votes obtained to maintain secrecy.
Regrettably, nearly all electronic voting has all directly provided every candidate's ballot paper poll, but the electronic voting scheme that seldom has hiding ballot paper poll to require is suggested.
Saisho etc. utilize ElGamal cipher system to propose the electronic voting scheme that can hide voter's quantity, but this scheme be not for small-scale electronic voting design and also need special count of votes method.Endo etc. utilize ceiling price auction protocol to propose the voting scheme that can hide ballot candidate poll, but scheme can not be hidden the ballot paper of triumph side, and process can not be disclosed checking completely.The people such as calendar year 2001 Cramer and Schoenmakers in 2006 and Tuyls have provided the related protocol that Secure calculates, Adida in 2006 and Neff have provided a ballot assurance technology, and these are all that the electronic voting scheme of hiding candidate's number of votes obtained of the present invention provides the foundation.
Summary of the invention
Technical matters to be solved by this invention is for the security of small-scale electronic voting, confidentiality, proposes a kind of electronic voting method of hiding number of votes obtained.
The present invention is for solving the problems of the technologies described above by the following technical solutions:
An electronic voting method for hiding number of votes obtained, comprises the steps:
Step (1), arranges disclosed systematic parameter, comprising: the sum l of count of votes mechanism; The challenge number of bits L of ballot paper customization machine; Ballot candidate gathers C 1..., C cn, legal voter gathers V 1..., V d, wherein cn represents candidate's sum, d vote by proxy people sum;
Step (2), arranges relevant PKI and private key, and concrete steps are as follows:
Step (201), selects Integer n by trust authority KMC (KMC), and wherein n is strong prime p, and the product of q, meets p=2p '+1, q=2q '+1,
Step (202), makes m=p ' q ', by trust authority KMC (KMC), is selected at random make g=(1+n) ab nmod n 2;
Step (203), calculates private key SK=β m by trust authority KMC (KMC), and adopts (t, n) thresholding pattern of Shamir to share, specific as follows: to make a 0=β m, selects t a at random by trust authority KMC (KMC) i∈ 0 ..., mn-1}, order calculate the P of count of votes mechanism isecret share s i=f (i) mod mn also issues the P of count of votes mechanism by safe lane i, i ∈ 1 ..., t}, t ∈ 1 ..., n};
Step (204), open PKI PK=(g, n, θ=am β mod n), authentication secret VK, sub-authentication secret VK i, wherein VK=v be by in an element of the cyclic subgroup that forms of square number, wherein Δ=l! ;
Step (3), gathers the ballot of the legal voter's input in V and selects in response to legal voter, ballot is selected to convert to the electronics ballot paper of encryption, produce the ballot paper customization machine of electronics ballot paper, and open relevant information is checked for voter; Wherein the mutual step of ballot paper customization machine and legal voter comprises:
Step (301): by the random 01 Bit String p that selects a L position of ballot paper customization machine *, and p *tell voter; Then voter selects candidate; Bit String p *after being finished, destroyed;
Step (302): according to voter V ij is selected in the ballot of input, and wherein j represents voter V iballot is to candidate C j, i ∈ 1 ..., d}, j ∈ 1 ..., and cn}, ballot paper customization machine prints 2Lcn Paillier to be encrypted: PE i(1) ..., PE i(cn); Each PE wherein i() is all that 2L Paillier encrypts, each PE i() is divided into left and right two parts: PE i() land PE i() r, PE i() land PE i() rcorresponding L Paillier encrypts respectively, and the plaintext that wherein each Paillier encrypts is 0 or 1; PE wherein i(t) lcorresponding plaintext and PE i(t) rcorresponding plaintext is identical, PE i(j) lcorresponding plaintext is p *, PE i(j) rcorresponding plaintext and p *on the contrary;
Step (303): voter V ilong challenge Bit String c in L position of random selection tells ballot paper customization machine, wherein challenges Bit String c and is comprised of L position and R position, and L position and R position represent with 0 and 1 respectively;
Step (304): according to challenge Bit String c, calculate cn corresponding value p by ballot paper customization machine 1i, p 2i..., p cni: p ji=p *, wherein, u ∈ 1 ..., cn}, u ≠ j; And by p 1i, p 2i..., p cnitell voter V i; Voter V ichecking p jiwhether equal p *if unequal voter raises an objection;
Step (305): according to challenge Bit String c, by the open PE of ballot paper customization machine i(1) ..., PE i(cn) whether the random value of using when corresponding plaintext is with encryption correctly forms for encryption corresponding to check, checking p 1i, p 2i..., p cniwhether complete contrary with the locational bit of the corresponding R of disclosed encryption;
Step (306): t ∈ of the random selection of ballot paper customization machine 1,2 ..., L}, will and reservation is as ballot paper;
Step (4), carries out associated safety and in many ways calculates; Concrete steps are as follows:
Step (401): calculate:
E V i 1 = P E i ( 1 ) L t ⊕ P E i ( 1 ) R t , E V i 2 = P E i ( 2 ) L t ⊕ P E i ( 2 ) R t , ..., E V icn = P E i ( cn ) L t ⊕ P E i ( cn ) R t , Wherein i ∈ 1 ..., v}, the principle of wherein using is: PE ( ) L t ⊕ PE ( ) R t = PE ( ) L t + PE ( ) R t - 2 PE ( ) L t PE ( ) R t , The isomorphism that utilizes Paillier to encrypt, candidate C 1the encrypted form of final number of votes obtained is similarly, to other candidate C 2..., C cnalso can obtain the number of votes obtained of respective encrypted
Step (402): right in any two carry out plaintext same test, by number of votes obtained identical be classified as a class;
Step (403): establish after step (402) is processed and become m≤cn wherein; To each C ' j, l the P of mechanism 1..., P lutilize goalkeeper BITREP become corresponding binary bit and encrypt expression j ∈ 1 ..., M};
Step (404): to a pair of with i wherein, j ∈ 1 ..., M}, i ≠ j, l the P of mechanism 1..., P lutilize [x > y] comparison ring to obtain if set up, candidate C ' is described ifinal number of votes obtained be greater than candidate C ' jpoll, by C ' icontinue to carry out analog with other remaining candidates;
Step (5), after Secure calculates, obtains candidate's collection that poll is maximum, announces the net result of ballot.
Further, the electronic voting method of a kind of hiding number of votes obtained of the present invention, Secure noted earlier calculates and relates to lower module:
1. multiplication gate: definition [[x]]=g xr nbe that Paillier encrypts, g wherein, n is PKI, and r is random value, and x is message value; Given [[x]] and [[y]], l the P of mechanism 1..., P lby cooperation, calculate safely [[xy]], wherein l>=2;
2. same test expressly: given [[x]] and [[y]], l the P of mechanism 1..., P lby cooperation, carry out safely correlation computations, to judge that whether corresponding plaintext x and y equate, l>=2 wherein;
3. addition ring or subtraction ring: for given, about x, the binary bit of y is encrypted and represented [[x 0]] ..., [[x m '-1]] and [[y 0]] ..., [[y m '-1]], addition ring or subtraction ring calculate about the binary bit of x+y or x-y and encrypt and represent [[x 0]] ..., [[z m '-1]]; The principle of utilizing is as follows:
C -1=0, c i=x iy i+ x ic i-1+ y ic i-1-2x iy ic i-1, z i=x i+ y i+ c i-1-2c i; 0≤i≤m '-1 wherein;
4. [x > y] comparison ring: about x, the binary bit of y is encrypted and represented [[x for given 0]] ..., [[x m '-1]] and [[y 0]] ..., [[y m '-1]], calculate [x > y], if wherein x > y to set up the value of [x > y] be 1, otherwise [x > y] is 0; Derivation is as follows: t 0=0, t i+1=(1-(x i-y i) 2) t i+ x i-x iy i; 0≤i≤m '-1 wherein, the value of [x > y] is t m ';
5. random bit door: for i=1 ..., l, the P of mechanism ia bit b of random generation i{ 0,1}, to b for ∈ iencrypt and form [[b i]], and broadcast [[b i]] and relevant non-interactive zero-knowledge proof, prove b i{ 0,1} is a bit to ∈ really; To all [[b i]], calculate [[b]], wherein the principle of utilizing is as follows: for i, j ∈ 1 ..., l},
6. BITREP door: a given Paillier encrypts [[x]], the P of mechanism 1..., P lbinary bit corresponding to x that cooperative computation goes out in [[x]] encrypted expression [[x 0]] ..., [[x m '-1]], l>=2 wherein.
Further, the electronic voting method of a kind of hiding number of votes obtained of the present invention, the correlation step that multiplication gate noted earlier calculates comprises:
Steps A 1: suppose that l mechanism produces the secret about x:
A1-a: each P of mechanism iselect a random value d i, to d iencrypt and form [[d i] and broadcast [[d i] and relevant non-interactive zero-knowledge proof, prove P ireally know d i, make d represent
A1-b: calculate [[x]] [[d 1]] ... [[d l]]=[[x+d]], t institution cooperation thresholding deciphering obtains x+d;
A1-c: by P 1obtain x 1=(x+d)-d 1, the P of other mechanisms iobtain x i=-d i,
Steps A 2: each P of mechanism ibroadcast [[x i]], and relevant non-interactive zero-knowledge proof, to prove [[x iy]] really corresponding to [[x i]] in x iy in [[y]];
Steps A 3: suppose that H gathers for the mechanism by above step, the mechanism that C be other gathers; Calculate * i ∈ C[[x i]], and thresholding deciphering obtains x c=∑ i ∈ Cx i, by x c[[y]] calculates [[x cy]]; Therefore, by { [[x iy]] | i ∈ H} and [[x cy]], all mechanism's calculating (* i ∈ H[[x iy]]) * [[x cy]], obtain [[xy]] about xy.
Further, the electronic voting method of a kind of hiding number of votes obtained of the present invention, the correlation step that plaintext same test noted earlier calculates comprises:
Step B1: calculate [[y]] -1=[[y]];
Step B2: calculate [[x]] [[y]] -1=[[x-y]];
Step B3: each P of mechanism iselect a random value d i, broadcast [[d i]] and relevant non-interactive zero-knowledge proof, make d represent
Step B4: calculate [ [ x - y ] ] d 1 [ [ x - y ] ] d 2 . . . [ [ x - y ] ] d n = [ [ x - y ] ] d , N institution cooperation thresholding deciphering [[x-y]] dif corresponding plaintext is 0, x and y equate, otherwise corresponding plaintext is not that 0, x and y are unequal.
Further, the electronic voting method of a kind of hiding number of votes obtained of the present invention, random bit door noted earlier adopts relevant non-interactive zero-knowledge proof step to be: to [[b i]] calculating [[b i]] 2=[[b i]] [[b i]], l the P of mechanism 1..., P lto [[b i]] and [[b i]] 2carry out plaintext same test, if both expressly identical establishments of end product prove b iequal 0 or 1; Otherwise be false.
Further, the electronic voting method of a kind of hiding number of votes obtained of the present invention, the correlation step that BITREP door noted earlier calculates comprises:
Step F 1: establishing N is the modulus PKI during Paillier encrypts, and produces a random value r ∈ r[0, N), carry out following steps:
F1-a: the P of mechanism 1..., P lutilize random bit door to produce the individual random bit bit encryption of m ' value [[r 0]] ..., [[r m '-1]];
F1-b: the binary bits of supposing N is expressed as N 0..., N m '-1, to [[r 0]] ..., [[r m '-1]] and N 0..., N m '-1, utilize [x > y] comparison ring to calculate [[[N > r]]], wherein
F1-c: thresholding deciphering [[[N > r]]] obtains [N > r], if set up [N > r]=1, continues; Otherwise jump to step F 1-a;
Step F 2: calculate l the P of mechanism 1..., P lthresholding deciphering [[y]] obtains y=x+r mod N, 0≤y < N;
Step F 3: to y 0..., y m-1[[r 0]] ..., [[r m-1]], utilize subtraction ring to obtain corresponding bit and encrypt expression [[z 0]] ..., [[z m]], wherein z=x or z=x-N, wherein z mrepresent sign bit;
Step F 4: according to sign bit z mdetermine z=x or z=x-N; If z=x-N, to [[z 0]] ..., [[z m-1]] and N 0..., N m-1utilize addition ring to obtain the [[x that x is corresponding 0]] ..., [[x m-1]].
Further, the electronic voting method of a kind of hiding number of votes obtained of the present invention, non-interactive zero-knowledge proof method relevant described in steps A 1-a noted earlier is: to given [[α]]=g αs nbmod n 2, reference P proves the value that it knows α really, comprises the following steps:
A1, chooses x ∈ Z at random by reference P n, calculate B=g xu nmod n 2;
A2, utilizes safe collisionless hash function H:{0,1} by reference P *→ Z ncalculating challenging value e=H (n, g, [[α]], B);
A3, makes w=x+e α mod n, by reference P, calculates z=us eg tmod n 2, wherein t meets x+e α=w+tn, then by reference P, announces (B, e, w, z);
During checking, calculate e = ? H ( n , g , [ [ &alpha; ] ] , B ) , g w z n = ? B [ [ &alpha; ] ] e mod n 2 .
Further, the electronic voting method of a kind of hiding number of votes obtained of the present invention, relevant non-interactive zero-knowledge proof method is described in steps A 2 noted earlier: to given [[a]]=g ar nmod n 2, [[α]]=g αs nmod n 2and D=[[a]] αγ nmod n 2, by reference P proof D=[[a α]] set up, comprise the following steps:
B1, chooses x ∈ Z at random by reference P n, calculate A=[[a]] xv nmod n 2, B=g xu nmod n 2;
B2, utilizes safe collisionless hash function H:{0,1} by reference P *→ Z ncalculate challenging value e=H (n, g, [[a]], [[α]], D, A, B);
B3, makes w=x+e α mod n, by reference P, calculates z=us eg tmod n 2, y=v[[a]] tγ emod n 2, wherein t meets x+e α=w+tn, and P announces (A, B, e, w, z, y);
Checking is calculated e = ? H ( n , g , [ [ a ] ] , [ [ &alpha; ] ] , D , A , B ) , g w z n = ? B [ [ &alpha; ] ] e mod n 2 , [ [ a ] ] w y n = ? AD e mod n 2 .
Further, the electronic voting method of a kind of hiding number of votes obtained of the present invention, relevant non-interactive zero-knowledge proof method is described in step B3 noted earlier: to given [[a]]=g ar nmod n 2, [[α]]=g αs nmod n 2and D=[[a]] αγ nmod n 2, by reference P proof D=[[a α]] set up, comprise the following steps:
B1, chooses x ∈ Z at random by reference P n, calculate A=[[a]] xv nmod n 2, B=g xu nmod n 2;
B2, utilizes safe collisionless hash function H:{0,1} by reference P *→ Z ncalculate challenging value e=H (n, g, [[a]], [[α]], D, A, B);
B3, makes w=x+e α mod n, by reference P, calculates z=us eg tmod n 2, y=v[[a]] tγ emod n 2, wherein t meets x+e α=w+tn, and P announces (A, B, e, w, z, y);
Checking is calculated e = ? H ( n , g , [ [ a ] ] , [ [ &alpha; ] ] , D , A , B ) , g w z n = ? B [ [ &alpha; ] ] e mod n 2 , [ [ a ] ] w y n = ? AD e mod n 2 .
Further, the electronic voting method of a kind of hiding number of votes obtained of the present invention, the correlation step that thresholding deciphering noted earlier is calculated comprises:
Step 001: the P of count of votes mechanism icalculate wherein i ∈ 1,2 ..., l}, and announce relevant non-interactive zero-knowledge proof: wherein Δ=l! , concrete method of proof is: for by reference P proof log gh i=log xw i, specifically comprise the steps:
First, by reference P, choose at random w ∈ Z mn, calculate (x w, g w)=(a, b); Secondly, by reference P, utilize safe collisionless hash function H:{0,1} *→ Z mncalculate challenging value e=H (a, b, u, v); Then, by reference P, calculate r=w+s ie, announces (a, b, e, r); Finally, calculate during checking e = ? H ( a , b , u , v ) , x r = ? au e , g r = ? bv e ;
Step 002: if be less than t correctly by the non-interactive zero-knowledge proof of last step, stop; Otherwise making S is by above-mentioned steps t+1 secret shared set, calculates: M = L ( &Pi; j &Element; S c j 2 &mu; 0 , j S mod n 2 ) 1 4 &Delta; 2 &theta; mod n , Wherein &mu; 0 , j S = &Delta; &Pi; j &prime; &Element; S \ { j } j &prime; j &prime; - j &Element; Z , L ( u ) = u - 1 n .
The present invention adopts above technical scheme compared with prior art, has following technique effect:
The present invention is based on Secure calculating and ballot assurance technology, proposed the method for the electronic voting scheme of a new applicable small-scale application and hiding candidate's number of votes obtained, can really make all candidates' final number of votes obtained all hide.
Accompanying drawing explanation
Fig. 1 is method flow diagram of the present invention.
Embodiment
Below in conjunction with accompanying drawing, technical scheme of the present invention is described in further detail:
Shown in Fig. 1, the concrete enforcement of this programme is described below with a simple case.
Disclosed systematic parameter is set: suppose count of votes mechanism sum l=4, totally 4 count of votes mechanism: P 1, P 2, P 3, P 4; Ballot candidate people is C 1, C 2, C 3, C 4, cn=4; Legal voter's list V 1, V 2, V 3, V 4, V 5, d=5; L=3.
Relevant PKI and private key are set: suppose p=11, q=17, n=pq=187, m=5 * 8=40, β=6, a=7, b=8,
g=(1+187) 78 187mod187 2=16645,t=2,SK=a 0=240,a 1=11,a 2=10,
f(x)=240+11x+10x 2,s 1=f(1)=261,s 2=f(2)=302,s 3=f(3)=363,s 4=f(4)=444,
PK=(16645,187,184),VK=v=4,Δ=24,VK 1=v 1=1378,VK 2=v 2=33185,
VK 3=v 3=511,VK 4=v 4=1038。
Voter V 1as follows with the reciprocal process of ballot paper customization machine:
Steps A: the random 01 Bit String p that selects 3 of ballot paper customization machine *(being assumed to be 101), and p *=101 tell voter V 1.Then V 1select candidate (to suppose V 1select candidate c 3).P *will later destroyed.
Step B: ballot paper customization machine prints totally 24 Paillier to be encrypted: PE 1(1), PE 1(2), PE 1(3), PE 1(4), each PE wherein 1() is all that 6 Paillier encrypt, and is divided into left and right two parts: PE 1() land PE 1() r, PE 1() land PE 1() rcorresponding 3 Paillier encrypt respectively, and the plaintext that each Paillier encrypts is 0 or 1.PE 1(t), (t ∈ 1 ..., and 4}, t ≠ 3) corresponding plaintext is 6 random 01 Bit Strings, wherein PE 1(t) lcorresponding plaintext and PE 1(t) rcorresponding plaintext is identical: for example getting and encrypting random value is 2,3,4,5,6,7, PE 1(1) land PE 1(1) rbe that 3 Paillier encrypt, corresponding plaintext is: 001, and corresponding ciphertext is respectively PE 1 ( 1 ) L 1 : g 0 2 187 mod 34969 = 14560 , PE 1 ( 1 ) L 2 : g 0 3 187 mod 34969 = 28686 ,
PE 1 ( 1 ) L 3 : g 1 4 187 mod 34969 = 13694 , PE 1 ( 1 ) R 1 : g 0 5 187 mod 34969 = 21057 ,
PE 1 ( 1 ) R 2 : g 0 6 187 mod 34969 = 33393 , PE 1 ( 1 ) R 3 : g 1 7 187 mod 34969 = 20428 ;
Similarly, PE 1(2) land PE 1(2) rbe that 3 Paillier encrypt, corresponding plaintext is: 110; PE 1(4) land PE 1(4) rbe that 3 Paillier encrypt, corresponding plaintext is: 100.And PE 1(3) lcorresponding plaintext is p *=101, PE 1(3) rcorresponding plaintext and p *be 010 on the contrary.
Step C: voter V 1random one 3 the long challenge Bit String c (c is comprised of L (left side) and R (right side), represents respectively with 0 and 1, makes c=011 at this) that select tell ballot paper customization machine.
Step D: according to challenging value c, ballot paper customization machine calculates corresponding value p 11, p 21, p 31, p 41: p 31=p *=101,
p 11 = PE 1 ( 1 ) L &CirclePlus; c = 001 &CirclePlus; 011 = 010 , p 21 = PE 1 ( 2 ) L &CirclePlus; c = 110 &CirclePlus; 011 = 101 ,
p 41 = PE 1 ( 4 ) L &CirclePlus; c = 100 &CirclePlus; 011 = 111 And by p 11, p 21, p 31, p 41tell voter V 1.Voter V 1checking p 31whether equal p *if unequal voter can raise an objection.
Step e: according to challenging value c, the open PE of ballot paper customization machine 1(1), PE 1(2), PE 1(3), PE 1(4) whether the random value of using when corresponding plaintext is with encryption correctly forms for encryption corresponding to check.Checking p 11, p 21, p 31, p 41whether complete contrary with the locational bit of the corresponding R of disclosed encryption.C=011 for example, left and right is right, therefore ballot paper customization machine provides whether corresponding plaintext 001 and the random value 2,6,7 of using correctly form for encryption corresponding to check.On the position of all 1 correspondences in check c, p 11whether (corresponding to 10) be complete contrary with disclosed plaintext (corresponding to 01).In like manner right and
Step F: a t=2 of the random selection of ballot paper customization machine, will
reservation is as ballot paper.
In like manner, voter V 2, V 3, V 4, V 5similar with reciprocal process and the steps A-F of ballot paper customization machine.
The ballot paper forming is carried out to associated safety to be calculated in many ways:
Steps A 1: the P of mechanism 1, P 2, P 3, P 4cooperative computation obtains E V i 1 = PE i ( 1 ) L t &CirclePlus; PE i ( 1 ) R t , E V i 2 = PE i ( 2 ) L t &CirclePlus; PE i ( 2 ) R t , E V i 3 = PE i ( 3 ) L t &CirclePlus; PE i ( 3 ) R t , E V i 4 = PE i ( 4 ) L t &CirclePlus; PE i ( 4 ) R t (i ∈ 1 ..., d}), the principle of wherein using is: PE ( ) L t &CirclePlus; PE ( ) R t = PE ( ) L t + PE ( ) R t - 2 PE ( ) L t PE ( ) R t . The isomorphism that utilizes Paillier to encrypt, candidate C 1the encrypted form of final number of votes obtained can be expressed as E C 1 = &Pi; i = 1 v E V i 1 . For example, E V 11 = PE 1 ( 1 ) L 2 &CirclePlus; PE 1 ( 1 ) R 2 = [ [ 0 &CirclePlus; 0 ] ] = [ [ 0 ] ] , E V 12 = [ [ 1 &CirclePlus; 1 ] ] = [ [ 0 ] ] , E V 13 = [ [ 0 &CirclePlus; 1 ] ] = [ [ 1 ] ] , E V 14 = [ [ 0 &CirclePlus; 0 ] ] = [ [ 0 ] ] . In like manner can obtain with suppose voter V 2select candidate C 2, V 3select candidate C 3, V 4select candidate C 1, V 5select candidate C 4, candidate C now 1the encrypted form of final number of votes obtained be E C 1 = E V 11 &times; E V 21 &times; E V 31 &times; E V 41 &times; E V 51 = [ [ 0 + 0 + 0 + 1 + 0 ] ] = [ [ 1 ] ] , C 2the encrypted form of final number of votes obtained be E C 2 = E V 12 &times; E V 22 &times; E V 32 &times; E V 42 &times; E V 52 = [ [ 0 + 1 + 0 + 0 + 0 ] ] = [ [ 1 ] ] , Ballot candidate C 3the encrypted form of final number of votes obtained can be expressed as E C 3 = E V 13 &times; E V 23 &times; E V 33 &times; E V 43 &times; E V 53 = [ [ 1 + 0 + 1 + 0 + 0 ] ] = [ [ 2 ] ] , C 4the encrypted form of final number of votes obtained be E C 4 = E V 14 &times; E V 24 &times; E V 34 &times; E V 44 &times; E V 54 = [ [ 0 + 0 + 0 + 0 + 1 ] ] = [ [ 1 ] ] .
Step B1: right in any two carry out plaintext same test, by number of votes obtained identical be classified as a class.So time it is a class it is a class m=2.
Step C1: become after step B1 to each C ' j, j ∈ { 1,2}, the P of mechanism 1, P 2, P 3, P 4utilize goalkeeper BITREP become corresponding binary bit and encrypt expression
Step D1: right with the P of mechanism 1, P 2, P 3, P 4utilize [x > y] comparison ring to obtain deciphering obtain plaintext 0, candidate C ' is described 1={ C 1, C 2, C 4number of votes obtained be less than candidate C ' 2={ C 3poll, therefore ballot candidate C 3poll maximum, C 3for final ballot victor.
Steps A 1 is asked step be: PE 1 ( 1 ) L 2 + PE 1 ( 1 ) R 2 = 28686 &times; 33393 mod 34969 = 5781 , With reference to claim 2, utilize multiplication gate to obtain recycling PE ( ) L t &CirclePlus; PE ( ) R t = PE ( ) L t + PE ( ) R t - 2 PE ( ) L t PE ( ) R t Can obtain.With reference to claim 2, wherein ask step as follows:
Steps A 2: the P of mechanism 1, P 2, P 3, P 4generation about secret:
A2a: the P of mechanism 1select a random value d 1=2, to d 1encrypt and form [[d 1]]=16645 28 187mod34969=14407, P 2select a random value d 2=3, to d 2encrypt and form [[d 2]]=16645 35 187mod34969=6514, P 3select a random value d 3=4, to d 3encrypt and form [[d 3]]=16645 46 187mod34969=30884, P 4select a random value d 4=5, to d 4encrypt and form [[d 4]]=16645 57 187mod34969=24282, broadcast [[d i] and relevant non-interactive zero-knowledge proof, prove P ireally know d i.Make d represent
A2b: calculate PE 1 ( 1 ) L 2 [ [ d 1 ] ] . . . [ [ d 4 ] ] = 28686 &times; 14407 &times; 6514 &times; 30884 &times; 24282 mod
34969=33618=[[0+2+3+4+5]]=[[14]], the P of mechanism 1, P 2, P 3, P 4thresholding deciphering obtains 14.
A2c:P 1obtain x 1=14-d 1=12, P 2obtain x 2=-d 2=-3, P 3obtain x 3=-d 3=-4, P 4obtain x 4=-d 4=-5, order
Step B2: calculate [[x 1]], [[x 2]], [[x 3]], [[x 4]], each P of mechanism ibroadcast [[x i]], and relevant non-interactive zero-knowledge proof, to prove [[x iy]] really corresponding to [[x i]] in x iy in [[y]].
Step C2: suppose that H gathers for the mechanism by above step, the mechanism that C be other gathers.Calculate * i ∈ C[[x i]], and thresholding deciphering obtains x c=∑ i ∈ Cx i, by x c[[y]] calculates [[x cy]].Therefore by { [[x iy]] | i ∈ H} and [[x cy]], all mechanism's calculating (* i ∈ H[[x iy]]) * [[x cy]], obtain [[xy]] about xy.
The non-interactive zero-knowledge proof of steps A 2a with reference to 15 in claim instructions (with [[d 1]]=14407 be example):
(1) reference P chooses 2 ∈ Z at random n, calculate B=16645 23 187modn34969=2170.
(2) P utilizes safe collisionless hash function H:{0,1} *→ Z ncalculate challenging value e=H (187,16645,14407,2170).Suppose e=4.
(3) make w=2+4 * 2=10, P calculates z=3 * 8 416645 0mod34969=12288, wherein 0 meets 2+4 * 2=10+187t, and P announces (2170,4,10,12288).
During checking, calculate 4 = ? H ( 187,16645,14407,2170 ) , 16645 10 12288 187 mod 34969 = ? 2170 &times; 14407 4 mod 34969 .
Wherein the thresholding decryption portion of steps A 2b is with reference to 17 in claim instructions (decrypt c=33618):
Steps A 5: the P of count of votes mechanism 1calculate c 1=33618 2 * 24 * 261mod34969=18956, P 2calculate c 2=33618 2 * 24 * 302mod34969=19347, P 3calculate c 3=33618 2 * 24 * 363mod34969=14910, P 4calculate c 4=33618 2 * 24 * 444mod34969=7957, and relevant non-interactive zero-knowledge proof is disclosed.
Step B5: if be less than 2 correct non-interactive zero-knowledge proofs of steps A 5 that pass through, stop.Otherwise making S is by the shared set P of 3 secrets of above-mentioned steps 1, P 2, P 3, calculate: M = L ( &Pi; j &Element; S c j 2 &mu; 0 , j S mod n 2 ) 1 4 &Delta; 2 &theta; mod n = L ( c 1 &mu; 0,1 S c 2 &mu; 0,2 S c 3 &mu; 0,3 S mod 34969 ) &times; 1 4 &times; 24 &times; 24 &times; 184 mod 187 = 14 , Wherein &mu; 0,1 S = 24 &times; 2 2 - 1 &times; 3 3 - 1 = 72 , &mu; 0,2 S = 24 &times; 1 1 - 2 &times; 3 3 - 2 = - 72 , &mu; 0,3 S = 24 &times; 1 1 - 3 &times; 2 2 - 3 = 24 , L ( u ) = u - 1 n .
Wherein the zero-knowledge proof partial reference claim 10 of steps A 5 is (with c 1=18956, c=33618 is example, wherein (c 1 2=18956 2mod34969=23461, v 1=1378)=(u, v)):
(1): reference P chooses 2 ∈ Z at random mn, calculate:
(33618 2×4×24mod34969,4 2×24mod34969)=(34698,6818)=(a,b)。
(2): P utilizes safe collisionless hash function H:{0,1} *→ Z mncalculate challenging value:
E=H (34698,6818,23461,1378), supposes e=3.
(3): P calculates r=2+261 * 3=785, announce (34698,6818,3,785).
During checking, calculate:
3 = ? H ( 34698,6818,23461,1378 ) , 33618 4 &times; 24 &times; 785 mod 34969 = ? 34698 &times; 23461 3 mod 34969 , 4 24 &times; 785 mod 34969 = ? 6818 &times; 1378 3 mod 34969 .
Wherein the zero-knowledge proof partial reference claim 9:(of step B2 supposes [[x 1]]=16645 14* 14407 -1mod34969=23179=16645 12(8 -1mod34969) 187mod34969=16645 12* 30598 187mod34969, [[y]]=33393, [[x 1y]]=33393 125 187mod34969=28825)
(1) reference P chooses 2 ∈ Z at random n, calculate A=33393 24 187mod34969=31945, B=16645 23 187modn34969=2170.
(2) P utilizes safe collisionless hash function H:{0,1} *→ Z ncalculate challenging value e=H (187,16645,33393,23179,28825,31945,2170).Suppose e=4.
(3) make w=2+4 * 12=50, P calculates z=3 * 30598 416645 0mod34969=28455, y=4 * 33393 0* 5 4mod34969=2500 wherein 0 meets 2+4 * 12=50+187 * 0, and P announces (31945,2170,4,50,28455,2500).
Checking: 4 = ? H ( 187,16645,33393,23179,28825,31945,2170 ) , 16645 50 &times; 28455 187 = ? 2170 &times; 23179 4 mod 34969 , 33393 50 &times; 2500 187 = ? 31945 &times; 28825 4 mod 34969 .
Step C2 wherein: suppose H={P 1, C={P 2, P 3, P 4, calculate [[x 2]] [[x 3]] [[x 4]]=6514 -130884 -124282 -1mod34969, mechanism's thresholding deciphering obtains x c=x 2+ x 3+ x 4=175, calculate [ [ x C y ] ] = [ [ y ] ] x C = 33393 175 mod 34969 = 10768 , Finally
[[xy]]=[[x 1y]][[x Cy]]=28825×10768mod?34969=2756。
Therefore - 2 PE 1 ( 1 ) L 2 PE 1 ( 1 ) R 2 = 2756 - 2 mod 34969 = 10366 , E V 11 = PE 1 ( 1 ) L 2 &CirclePlus; PE 1 ( 1 ) R 2 = PE ( ) L t + PE ( ) R t - 2 PE ( ) L t PE ( ) R t = 5781 &times; 10366 mod 34969 = 23949 . In like manner calculate with
Step B1 couple in any two carry out plaintext same test, with reference to 9 in claim instructions (with for example, suppose E C 1 = [ [ 1 ] ] = 16645 &times; 7 187 mod 34969 = 20428 , E C 2 = [ [ 1 ] ] = 16645 &times; 4 187 mod 34969 = 13694 ):
Steps A 3: calculate E C 2 - 1 = 13694 - 1 mod 34969 = 33373 .
Step B3: calculate E C 1 E C 2 - 1 = 20428 &times; 33373 mod 34969 = 22989 .
Step C3: the P of mechanism 1select a random value d 1=2, to d 1encrypt and form [[d 1]]=16645 28 187mod34969=14407, calculates 22989 2mod34969=7624, broadcast 7624 and 14407 and relevant non-interactive zero-knowledge proof; P 2select a random value d 2=3, to d 2encrypt and form [[d 2]]=16645 35 187mod34969=6514, calculates 22989 3mod34969=3508, broadcast 3508 and 6514 and relevant non-interactive zero-knowledge proof; P 3select a random value d 3=4, to d 3encrypt and form [[d 3]]=16645 46 187mod34969=30884, calculates 22989 4mod34969=6898, broadcast 6898 and 30884 and relevant non-interactive zero-knowledge proof; P 4select a random value d 4=5, to d 4encrypt and form [[d 4]]=16645 57 187mod34969=24282, calculates 22989 5mod 34969=28676, broadcast 28676 and 24282 and relevant non-interactive zero-knowledge proof.Zero-knowledge proof partial reference claim 9 (above for example) wherein.
Step D3: calculate 7624 * 3508 * 6898 * 28676mod 34969=27589, institution cooperation thresholding deciphering 27589, obtaining corresponding plaintext is 0, therefore corresponding plaintext is equal, i.e. candidate C 1and C 2draw in votes.Wherein thresholding decryption portion is with reference to 17 in claim instructions (having been appeared example above).
Step C1 conversion binary bit represent 14 in partial reference claim instructions (with for example, suppose E C 3 = [ [ 2 ] ] = 16645 2 &times; 3 187 mod 34969 = 2170 ):
Steps A 4: produce a random value r ∈ r[0,187), suppose r=5=00000101:
A4a: the P of mechanism 1, P 2, P 3, P 4utilize random bit door to produce 8 random bit bit encryption value [[r 0]] ..., [[r 7]].
The binary bits of A4b:187 is expressed as 10111011, to [[r 0]] ..., [[r 7]] and 10111011, utilize [x > y] comparison ring to calculate [[[187 > r]]], wherein
A4c: thresholding deciphering [[[187 > r]]] obtains [187 > r], if set up [187 > r]=1, continues; Otherwise jump to steps A 5a.Wherein thresholding decryption portion is with reference to claim 10.
Step B4: calculate [ [ y ] ] = E C 3 &Pi; j = 0 7 [ [ r j ] ] 2 j = [ [ 2 + 5 ] ] = [ [ 7 ] ] , Mechanism's thresholding deciphering [[y]] obtains y=7=00000111.Wherein thresholding decryption portion is with reference to 17 in claim instructions.
Step C4: to 00000111 and [[r 0]] ..., [[r 7]], utilize subtraction ring to obtain corresponding bit and encrypt and represent [[z 0]] ..., [[z 7]], respectively corresponding [[0]], [[0]], [[0]], [[0]], [[0]], [[0]], [[1]], [[0]].
Wherein the random bit door of steps A 4a is with reference to the random bit door in claim 5, for i=1 ..., 4, the P of mechanism ia bit b of random generation i{ 0,1}, to b for ∈ iencrypt and form [[b i], and broadcast [[b i] and relevant non-interactive zero-knowledge proof, prove b i{ 0,1} is a bit to ∈ really.To all [[b i], calculate [[b]], wherein the principle of utilizing is for i, j ∈ 1 ..., l}, (with ask above process similar).Non-interactive zero-knowledge proof partial reference claim 5: to [[b i]] calculating [[b i]] 2=[[b i]] [[b i]], the P of mechanism 1..., P 4to [[b i]] and [[b i]] 2carry out plaintext same test, if both expressly identical establishments of result prove b iequal 0 or 1; Otherwise be false.
[x > y] comparison ring of steps A 4b (is supposed [[r with reference to claim 2 0]]=16645 02 187mod34969=14560, [[r 1]]=16645 03 187mod34969=28686, [[r 2]]=16645 04 187mod 34969=11522, [[r 3]]=16645 05 187mod34969=21057, [[r 4]]=16645 06 187mod34969=33393, [[r 5]]=16645 17 187mod34969=20428, [[r 6]]=16645 08 187mod34969=14027, [[r 7]]=16645 19 187mod34969=32007):
According to t 0=0, t i+1=(1-(x i-y i) 2) t i+ x i-x iy ican release successively t 1 = 1 - r 0 &DoubleRightArrow; [ [ t 1 ] ] = 16645 &times; 14560 - 1 mod 34969 = 16645 &times; 13428 = 22181 ; T 2=(1-(r 1) 2) t 1, [[(r 1) 2]]=11522 -2mod34969=11020 2mod34969=28032, [[(1-(r 1) 2)]]=16645 * 28032 -1mod34969=16645 * 14160mod34969=2140, therefore by [[t 1]]=22181 and [[(1-(r 1) 2)]]=2140 utilize multiplication gate can obtain [[t 2]]=[[((1-(t 1) 2) t 1)]].Can obtain [[t similarly 3]], [[t 4]] ..., [[t 7]], the value of [[[187 > r]]] is [[t 7]].
The subtraction ring of step C4 (is supposed [[r with reference to claim 2 0]]=[[0]]=14560, [[r 1]]=[[0]]=28686, [[r 2]]=[[0]]=11522, [[r 3]]=[[0]]=21057, [[r 4]]=[[0]]=33393, [[r 5]]=[[1]]=20428, [[r 6]]=[[0]]=14027, [[r 7]]=[[1]]=32007):
According to c -1=0, c i=x iy i+ x ic i-1+ y ic i-1-2x iy ic i-1, z i=x i+ y i+ c i-1-2c ican release c 0=0, z 0=y 0therefore, [[z 0]]=14560 -1mod34969=13428, can release [[z similarly 1]] ..., [[z 7]].

Claims (10)

1. an electronic voting method for hiding number of votes obtained, is characterized in that, comprises the steps:
Step (1), arranges disclosed systematic parameter, comprising: the sum l of count of votes mechanism; The challenge number of bits L of ballot paper customization machine; Ballot candidate gathers C 1..., C cn, legal voter gathers V 1..., V d, wherein cn represents candidate's sum, d vote by proxy people sum;
Step (2), arranges relevant PKI and private key, and concrete steps are as follows:
Step (201), selects Integer n by trust authority KMC (KMC), and wherein n is strong prime p, and the product of q meets wherein p ' and q ' are large prime numbers;
Step (202), makes m=p ' q ', by trust authority KMC (KMC), selects at random β ∈ Z n *, (a, b) ∈ Z n ** Z n *, make g=(1+n) ab nmodn 2;
Step (203), calculates private key SK=β m by trust authority KMC (KMC), and adopts (t, n) thresholding pattern of Shamir to share, specific as follows: to make a 0=β m, selects t a at random by trust authority KMC (KMC) i∈ 0 ..., mn-1}, order calculate the P of count of votes mechanism isecret share s i=f (i) modmn also issues the P of count of votes mechanism by safe lane i, i ∈ 1 ..., t}, t ∈ 1 ..., n};
Step (204), open PKI PK=(g, n, θ=am β modn), authentication secret VK, sub-authentication secret VK i, wherein VK=v be by in an element of the cyclic subgroup that forms of square number, wherein Δ=l! ;
Step (3), gathers the ballot of the legal voter's input in V and selects in response to legal voter, ballot is selected to convert to the electronics ballot paper of encryption, produce the ballot paper customization machine of electronics ballot paper, and open relevant information is checked for voter; Wherein the mutual step of ballot paper customization machine and legal voter comprises:
Step (301): by the random 01 Bit String p that selects a L position of ballot paper customization machine *, and p *tell voter; Then voter selects candidate; Bit String p *after being finished, destroyed;
Step (302): according to voter V ij is selected in the ballot of input, and wherein j represents voter V iballot is to candidate C j, i ∈ 1 ..., d}, j ∈ 1 ..., and cn}, ballot paper customization machine prints 2Lcn Paillier to be encrypted: PE i(1) ..., PE i(cn); Each PE wherein i() is all that 2L Paillier encrypts, each PE i() is divided into left and right two parts: PE i() land PE i() r, PE i() land PE i() rcorresponding L Paillier encrypts respectively, and the plaintext that wherein each Paillier encrypts is 0 or 1; PE wherein i(t) lcorresponding plaintext and PE i(t) rcorresponding plaintext is identical, PE i(j) lcorresponding plaintext is p *, PE i(j) rcorresponding plaintext and p *on the contrary;
Step (303): voter V ilong challenge Bit String c in L position of random selection tells ballot paper customization machine, wherein challenges Bit String c and is comprised of L position and R position, and L position and R position represent with 0 and 1 respectively;
Step (304): according to challenge Bit String c, calculate cn corresponding value p by ballot paper customization machine 1i, p 2i..., p cni: p ji=p *, wherein, u ∈ 1 ..., cn}, u ≠ j; And by p 1i, p 2i..., p cnitell voter V i; Voter V ichecking p jiwhether equal p *if unequal voter raises an objection;
Step (305): according to challenge Bit String c, by the open PE of ballot paper customization machine i(1) ..., PE i(cn) whether the random value of using when corresponding plaintext is with encryption correctly forms for encryption corresponding to check, checking p 1i, p 2i..., p cniwhether complete contrary with the locational bit of the corresponding R of disclosed encryption;
Step (306): t ∈ of the random selection of ballot paper customization machine 1,2 ..., L}, will and reservation is as ballot paper;
Step (4), carries out associated safety and in many ways calculates; Concrete steps are as follows:
Step (401): calculate:
E V i 1 = PE i ( 1 ) L t &CirclePlus; PE i ( 1 ) R t , E V i 2 = PE i ( 2 ) L t &CirclePlus; PE i ( 2 ) R t , . . . , E V icn = PE i ( cn ) L t &CirclePlus; PE i ( cn ) R t , Wherein i ∈ 1 ..., v}, the principle of wherein using is: PE ( ) L t &CirclePlus; PE ( ) R t = PE ( ) L t + PE ( ) R t - 2 PE ( ) L t PE ( ) R t , The isomorphism that utilizes Paillier to encrypt, candidate C 1the encrypted form of final number of votes obtained is similarly, to other candidate C 2..., C cnalso can obtain the number of votes obtained of respective encrypted
Step (402): right in any two carry out plaintext same test, by number of votes obtained identical be classified as a class;
Step (403): establish after step (402) is processed and become m≤cn wherein; To each C j', l the P of mechanism 1..., P lutilize goalkeeper BITREP become corresponding binary bit and encrypt expression j ∈ 1 ..., M};
Step (404): to a pair of with i wherein, j ∈ 1 ..., M}, i ≠ j, l the P of mechanism 1..., P lutilize [x>y] comparison ring to obtain if set up, candidate C is described i' final number of votes obtained be greater than candidate C j' poll, by C i' continue to carry out analog with other remaining candidates;
Step (5), after Secure calculates, obtains candidate's collection that poll is maximum, announces the net result of ballot.
2. the electronic voting method of a kind of hiding number of votes obtained as claimed in claim 1, is characterized in that, described Secure calculates and relates to lower module:
1. multiplication gate: definition [[x]]=g xr nbe that Paillier encrypts, g wherein, n is PKI, and r is random value, and x is message value; Given [[x]] and [[y]], l the P of mechanism 1..., P lby cooperation, calculate safely [[xy]], wherein l>=2;
2. same test expressly: given [[x]] and [[y]], l the P of mechanism 1..., P lby cooperation, carry out safely correlation computations, to judge that whether corresponding plaintext x and y equate, l>=2 wherein;
3. addition ring or subtraction ring: for given, about x, the binary bit of y is encrypted and represented [[x 0]] ..., [[x m '-1]] and [[y 0]] ..., [[y m '-1]], addition ring or subtraction ring calculate about the binary bit of x+y or x-y and encrypt and represent [[z 0]] ..., [[z m '-1]]; The principle of utilizing is as follows:
C -1=0, c i=x iy i+ x ic i-1+ y ic i-1-2x iy ic i-1, z i=x i+ y i+ c i-1-2c i; 0≤i≤m '-1 wherein;
4. [x>y] comparison ring: about x, the binary bit of y is encrypted and represented [[x for given 0]] ..., [[x m '-1]] and [[y 0]] ..., [[y m '-1]], calculate [x>y], if wherein x>y to set up the value of [x>y] be 1, otherwise [x>y] is 0; Derivation is as follows: t 0=0, t i+1=(1-(x i-y i) 2) t i+ x i-x iy i; 0≤i≤m '-1 wherein, the value of [x>y] is t m ';
5. random bit door: for i=1 ..., l, the P of mechanism ia bit b of random generation i{ 0,1}, to b for ∈ iencrypt and form [[b i]], and broadcast [[b i]] and relevant non-interactive zero-knowledge proof, prove b i{ 0,1} is a bit to ∈ really; To all [[b i]], calculate [[b]], wherein the principle of utilizing is as follows: for i, j ∈ 1 ..., l},
6. BITREP door: a given Paillier encrypts [[x]], the P of mechanism 1..., P lbinary bit corresponding to x that cooperative computation goes out in [[x]] encrypted expression [[x 0]] ..., [[x m '-1]], l>=2 wherein.
3. the electronic voting method of a kind of hiding number of votes obtained according to claim 2, is characterized in that, the correlation step that described multiplication gate calculates comprises:
Steps A 1: suppose that l mechanism produces the secret about x:
A1-a: each P of mechanism iselect a random value d i, to d iencrypt and form [[d i]] and broadcast [[d i]] and relevant non-interactive zero-knowledge proof, prove P ireally know d i, make d represent
A1-b: calculate [[x]] [[d 1]] ... [[d l]]=[[x+d]], t institution cooperation thresholding deciphering obtains x+d;
A1-c: by P 1obtain x 1=(x+d)-d 1, the P of other mechanisms iobtain x i=-d i,
Steps A 2: each P of mechanism ibroadcast [[x i]], and relevant non-interactive zero-knowledge proof, to prove [[x iy]] really corresponding to [[x i]] in x iy in [[y]];
Steps A 3: suppose that H gathers for the mechanism by above step, the mechanism that C be other gathers; Calculate * i ∈ C[[x i]], and thresholding deciphering obtains by x c[[y]] calculates [[x cy]]; Therefore, by { [[x iy]] | i ∈ H} and [[x cy]], all mechanism's calculating (* i ∈ H[[x iy]]) * [[x cy]], obtain [[xy]] about xy.
4. the electronic voting method of a kind of hiding number of votes obtained according to claim 2, is characterized in that, the correlation step that described plaintext same test calculates comprises:
Step B1: calculate [[y]] -1=[[y]];
Step B2: calculate [[x]] [[y]] -1=[[x-y]];
Step B3: each P of mechanism iselect a random value d i, broadcast [[d i]] and relevant non-interactive zero-knowledge proof, make d represent
Step B4: calculate [ [ x - y ] ] d 1 [ [ x - y ] ] d 2 . . . [ [ x - y ] ] d n = [ [ x - y ] ] d , N institution cooperation thresholding deciphering [[x-y]] dif corresponding plaintext is 0, x and y equate, otherwise corresponding plaintext is not that 0, x and y are unequal.
5. the electronic voting method of a kind of hiding number of votes obtained according to claim 2, is characterized in that, described random bit door adopts relevant non-interactive zero-knowledge proof step to be: to [[b i]] calculating [[b i]] 2=[[b i]] [[b i]], l the P of mechanism 1..., P lto [[b i]] and [[b i]] 2carry out plaintext same test, if both expressly identical establishments of end product prove b iequal 0 or 1; Otherwise be false.
6. the electronic voting method of a kind of hiding number of votes obtained according to claim 2, is characterized in that, the correlation step that described BITREP door calculates comprises:
Step F 1: establishing N is the modulus PKI during Paillier encrypts, and produces a random value r ∈ r[0, N), carry out following steps:
F1-a: the P of mechanism 1..., P lutilize random bit door to produce the individual random bit bit encryption of m ' value [[r 0]] ..., [[r m '-1]];
F1-b: the binary bits of supposing N is expressed as N 0..., N m '-1, to [[r 0]] ..., [[r m '-1]] and N 0..., N m '-1, utilize [x>y] comparison ring to calculate [[[N>r]]], wherein
F1-c: thresholding deciphering [[[N>r]]] obtains [N>r], if set up [N>r]=1, continues; Otherwise jump to step F 1-a;
Step F 2: calculate l the P of mechanism 1..., P lthresholding deciphering [[y]] obtains y=x+rmodN, 0≤y<N;
Step F 3: to y 0..., y m-1[[r 0]] ..., [[r m-1]], utilize subtraction ring to obtain corresponding bit and encrypt expression [[z 0]] ..., [[z m]], wherein z=x or z=x-N, wherein z mrepresent sign bit;
Step F 4: according to sign bit z mdetermine z=x or z=x-N; If z=x-N, to [[z 0]] ..., [[z m-1]] and N 0..., N m-1utilize addition ring to obtain the [[x that x is corresponding 0]] ..., [[x m-1]].
7. the electronic voting method of a kind of hiding number of votes obtained according to claim 3, is characterized in that, non-interactive zero-knowledge proof method relevant described in steps A 1-a is: to given [[α]]=g αs nmodn 2, reference P proves the value that it knows α really, comprises the following steps:
A1, is chosen at random by reference P calculate B=g xu nmodn 2;
A2, utilizes safe collisionless hash function H:{0,1} by reference P *→ Z ncalculating challenging value e=H (n, g, [[α]], B);
A3, makes w=x+e α modn, by reference P, calculates z=us eg tmodn 2, wherein t meets x+e α=w+tn, then by reference P, announces (B, e, w, z);
During checking, calculate e = ? H ( n , g , [ [ &alpha; ] ] , B ) , g w z n = ? B [ [ &alpha; ] ] e mod n 2 .
8. the electronic voting method of a kind of hiding number of votes obtained according to claim 3, is characterized in that, relevant non-interactive zero-knowledge proof method is described in steps A 2: to given [[a]]=g ar nmodn 2, [[α]]=g αs nmodn 2and D=[[a]] αγ nmodn 2, by reference P proof D=[[a α]] set up, comprise the following steps:
B1, is chosen at random by reference P calculate A=[[a]] xv nmodn 2, B=g xu nmodn 2;
B2, utilizes safe collisionless hash function H:{0,1} by reference P *→ Z ncalculate challenging value e=H (n, g, [[a]], [[α]], D, A, B);
B3, makes w=x+e α modn, by reference P, calculates z=us eg tmodn 2, y=v[[a]] tγ emodn 2, wherein t meets x+e α=w+tn, and P announces (A, B, e, w, z, y);
Checking is calculated e = ? H ( n , g , [ [ &alpha; ] ] , [ [ &alpha; ] ] , D , A , B ) , g w z n = ? B [ [ &alpha; ] ] e mod n 2 , [ [ a ] ] w y n = ? AD e mod n 2 .
9. the electronic voting method of a kind of hiding number of votes obtained according to claim 4, is characterized in that, relevant non-interactive zero-knowledge proof method is described in step B3: to given [[a]]=g ar nmodn 2, [[α]]=g αs nmodn 2and D=[[a]] αγ nmodn 2, by reference P proof D=[[a α]] set up, comprise the following steps:
B1, is chosen at random by reference P calculate A=[[a]] xv nmodn 2, B=g xu nmodn 2;
B2, utilizes safe collisionless hash function H:{0,1} by reference P *→ Z ncalculate challenging value e=H (n, g, [[a]], [[α]], D, A, B);
B3, makes w=x+e α modn, by reference P, calculates z=us eg tmodn 2, y=v[[a]] tγ emodn 2, wherein t meets x+e α=w+tn, and P announces (A, B, e, w, z, y);
Checking is calculated e = ? H ( n , g , [ [ &alpha; ] ] , [ [ &alpha; ] ] , D , A , B ) , g w z n = ? B [ [ &alpha; ] ] e mod n 2 , [ [ a ] ] w y n = ? AD e mod n 2 .
10. according to the electronic voting method of a kind of hiding number of votes obtained described in claim 3 or 4 or 6, it is characterized in that the correlation step that described thresholding deciphering is calculated comprises:
Step 001: the P of count of votes mechanism icalculate wherein i ∈ 1,2 ..., l}, and announce relevant non-interactive zero-knowledge proof: wherein Δ=l! , concrete method of proof is: for by reference P proof log gh i=log xw i, specifically comprise the steps:
First, by reference P, choose at random w ∈ Z mn, calculate (x w, g w)=(a, b); Secondly, by reference P, utilize safe collisionless hash function H:{0,1} *→ Z mncalculate challenging value e=H (a, b, u, v); Then, by reference P, calculate r=w+s ie, announces (a, b, e, r); Finally, calculate during checking e = ? H ( a , b , u , v ) , x r = ? au e , g r = ? bv e ;
Step 002: if be less than t correctly by the non-interactive zero-knowledge proof of last step, stop; Otherwise making S is by above-mentioned steps t+1 secret shared set, calculates: M = L ( &Pi; j &Element; S c j 2 &mu; 0 , j S mod n 2 ) 1 4 &Delta; 2 &theta; mod n , Wherein &mu; 0 , j S = &Delta; &Pi; j &prime; &Element; S \ { j } j &prime; j &prime; - j &Element; Z , L ( u ) = u - 1 n .
CN201110425662.XA 2011-12-16 2011-12-16 Vote-hiding type electronic voting method Expired - Fee Related CN102521910B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110425662.XA CN102521910B (en) 2011-12-16 2011-12-16 Vote-hiding type electronic voting method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110425662.XA CN102521910B (en) 2011-12-16 2011-12-16 Vote-hiding type electronic voting method

Publications (2)

Publication Number Publication Date
CN102521910A CN102521910A (en) 2012-06-27
CN102521910B true CN102521910B (en) 2014-09-10

Family

ID=46292811

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110425662.XA Expired - Fee Related CN102521910B (en) 2011-12-16 2011-12-16 Vote-hiding type electronic voting method

Country Status (1)

Country Link
CN (1) CN102521910B (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103903325B (en) * 2013-07-08 2016-02-24 苏州大学 A kind of safe electronic ballot system of identity-based signature
CN105704117A (en) * 2015-12-29 2016-06-22 金华鸿正科技有限公司 Internet online voting system
DE102016205121A1 (en) * 2016-03-29 2017-10-05 Siemens Aktiengesellschaft Voting procedure with linked signatures
CN108494738B (en) * 2018-02-27 2020-10-27 华南理工大学 Verifiable post-quantum electronic voting system and implementation method thereof
CN110825922B (en) * 2018-08-14 2020-08-04 阿里巴巴集团控股有限公司 Data statistical method and device
CN109544772B (en) * 2018-10-18 2021-01-05 杭州电子科技大学 Safe and efficient electronic voting method
CN109446828B (en) * 2018-11-07 2020-10-13 北京邮电大学 Secure multi-party computing method and device
CN110135847A (en) * 2019-05-22 2019-08-16 同济大学 The system and method for being used to improve electronic auction safety based on block chain
CN110555933B (en) * 2019-07-31 2021-04-30 中钞信用卡产业发展有限公司杭州区块链技术研究院 Electronic voting method, device, equipment and computer storage medium
CN112669513B (en) * 2020-12-28 2022-09-06 杭州趣链科技有限公司 Electronic voting system with evaluation function and privacy protection

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7130452B2 (en) * 2002-12-03 2006-10-31 International Business Machines Corporation System and method for multi-party validation, authentication and/or authorization via biometrics
CN1804886A (en) * 2006-01-24 2006-07-19 浙江大学 Distributed type private and protected data digging based enterprise credit evaluation method
US7822739B2 (en) * 2008-01-31 2010-10-26 International Business Machines Corporation Method for exploitation of social networks to derive a location of employees
US20110153387A1 (en) * 2009-12-17 2011-06-23 Google Inc. Customizing surveys
CN102196431B (en) * 2011-05-13 2014-10-22 南京邮电大学 Internet of things application scene-based protection method of privacy query and private identity verification

Also Published As

Publication number Publication date
CN102521910A (en) 2012-06-27

Similar Documents

Publication Publication Date Title
CN102521910B (en) Vote-hiding type electronic voting method
CN109558517B (en) Multi-party secure election system based on block chain
Mursi et al. On the development of electronic voting: a survey
Araújo et al. Remote electronic voting can be efficient, verifiable and coercion-resistant
CN102340483B (en) Methods for generation, verification and tracking of democratic group signature and democratic group signature system
CN105187425B (en) Facing cloud calculus communication system safety without certificate thresholding decryption method
Nguyen-Van et al. Scalable distributed random number generation based on homomorphic encryption
Cortier et al. BeleniosRF: A Strongly Receipt-Free Electronic Voting Scheme.
CN111612961B (en) Electronic voting method for encrypting voter vote information
Yi et al. Practical remote end-to-end voting scheme
Meng et al. An efficient receiver deniable encryption scheme and its applications
Porkodi et al. Multi-authority Electronic Voting Scheme Based on Elliptic Curves.
Pan et al. E-NOTE: An E-voting system that ensures voter confidentiality and voting accuracy
Jafari et al. A new secure and practical electronic voting protocol without revealing voters identity
Hirt Receipt-free K-out-of-L voting based on ElGamal encryption
Ye et al. A Coercion-Resistant E-Voting System Based on Blockchain Technology
Meng et al. A Receipt-free Coercion-resistant Remote Internet Voting Protocol without Physical Assumptions through Deniable Encryption and Trapdoor Commitment Scheme.
Liu et al. A Robust Electronic Voting Scheme Against Side Channel Attack.
Smyth First-past-the-post suffices for ranked voting
Pu et al. An electronic voting scheme using secure multi-party computation based on secret sharing
Wang et al. A secure and fully private borda voting protocol with universal verifiability
Lu et al. Self-tallying e-voting with public traceability based on blockchain
Ren et al. Blockchain-based CP-ABE data sharing and privacy-preserving scheme using distributed KMS and zero-knowledge proof
Porkodi et al. Matrix Based Single Authority Electronic Voting Schemes
Huszti A secure electronic voting scheme

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140910

Termination date: 20161216