A highly anonymous electronic voting method based on verifiable computing
By generating and distributing keys based on verifiable computing methods, ensuring the security and impartiality of anonymous electronic voting, the problem of insufficient anonymity in the prior art and the inability to achieve multi-voting unlinkability and vote traceability is solved.
Patent Information
- Application Number
- CN202211252020.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-10-13
- Publication Date
- 2025-04-29
- Estimated Expiration
- 2042-10-13
AI Technical Summary
When existing anonymous electronic voting technology realizes information theory security, the anonymity is not strict enough, which may reveal user privacy, and it is impossible to achieve the unlinkability of multiple votes and the traceability of votes between untrusted parties in the system.
Using a highly anonymous electronic voting method based on verifiable calculations, the keys are generated and distributed by authoritative institutions. Voters encrypt the ballots and verify them through certifiers and vote counters to ensure the anonymity, uniqueness and traceability of the vote.
A highly anonymous electronic voting between untrusted parties in the system is realized to ensure the security and impartiality of the voting, especially when both the certifier and the vote counter are untrusted parties.
Smart Images

Figure CN115643066B_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the technical field of information theory, and in particular relates to a highly anonymous electronic voting method based on verifiable calculation. Background Art
[0002] Anonymous electronic voting allows voters to vote without revealing their identities. The basic requirements of this issue include anonymity, user legitimacy, uniqueness of ballots, integrity of ballots, fairness, etc. A considerable number of studies on anonymous electronic voting are based on cryptography-related technologies such as blind signatures, homomorphic encryption, and blockchain, which achieve computational security, but not security in the sense of information theory. In the studies that have achieved information theory security, many studies or implementations of anonymity are not strict enough, which will partially leak user privacy; or must be based on the premise that at least one of the participants is a trusted party in the system; or cannot achieve the unlinkability of multiple votes and the traceability of ballots. Summary of the invention
[0003] The purpose of the present invention is to study the problem of anonymous electronic voting from the perspective of information theory, to establish an information theory model of anonymous electronic voting, and to provide a highly anonymous electronic voting method based on verifiable computing, so as to solve the technical problems of achieving high anonymity of electronic voting, unlinkability of multiple votes and traceability of ballots in a scenario where both the authenticator and the vote counter are untrusted parties in the system.
[0004] In order to solve the above technical problems, the present invention is based on verifiable computing and proposes the following specific technical solutions:
[0005] A highly anonymous electronic voting method based on verifiable computing, comprising the following steps:
[0006] Step 1: Initialization phase; in this phase, the voting authority publishes voting rules, generates keys for voters, and sends required data to authenticators and vote counters;
[0007] Step 2: Voting stage. In this stage, voters fill out ballots based on their own wishes, encrypt them with a key to generate encrypted ballots, and send them to the authenticator. The authenticator verifies the legitimacy of the identity of the voter corresponding to the encrypted ballot, retains valid ballots, and discards invalid ballots. After that, the authenticator collects the sum of all valid ballots and broadcasts it to the vote counters and the authority. The authority verifies whether the ballot content has been tampered with by the authenticator.
[0008] Step 3: Counting stage. In this stage, the vote counter calculates the number of votes corresponding to each option based on the sum of valid votes in step 2, i.e. the voting result, and announces it.
[0009] Step 4: Verification phase. During this phase, the authority verifies whether voters have voted multiple times and whether vote counters have tampered with voting results. If the above malicious behavior is detected, the authority will implement corresponding punishment measures.
[0010] Furthermore, the steps for the authority in step 1 to publish voting rules are as follows:
[0011] First, GF(q) represents a finite field of order q, and α is a randomly selected element from GF(q); let C1,C2,…,C L Represent candidates, c1, c2, …, c L represents the vote value corresponding to the above candidates, where c1=α∈GF(q), c2=α 2 ∈GF(q),…,c L =α L ∈GF(q), c0=α 0 =1 corresponds to the abstention event;
[0012] The steps for the authority to generate keys for voters are as follows. Suppose there are a total of ω voters in the voting system, namely V1, V2, …, V ω ;
[0013] Step 1.1: The authority generates n linearly independent n-dimensional column vectors: x1, x2, … x n , which form the matrix X n×n =[x1,x2,…x n ];
[0014] Step 1.2: The authority generates two n-dimensional column vectors: [a1, a2, …, a n ] and [b1,b2,…,b n ], respectively for X n×n Perform linear transformation to obtain A 1×n =[a1,a2,…,a n ]·[x1,x2,…x n ] and B 1×n =[b1,b2,…,b n ]·[x1,x2,…x n ];
[0015] Step 1.3: The authority selects x1, x2, … x n Uniformly and randomly select k column vectors from V and use them as voters i The first key: Key i,1 =[x i1 ,x i2 ,…,x ik ],in k < n; the keys of different voters are different; next, the authority selects from A 1×n the elements with subscripts i1, i2,..., i k to obtain the second key: Key i,2 = [a1, a2,..., a n [x i1 , x i2 ,..., x ik ; select from B 1×n the elements with subscripts i1, i2,..., i k to obtain the third key: Key i,3 = [b1, b2,..., b n [x i1 , x i2 ,..., x ik ;
[0016] Step 1.4. Finally, the authority sends the three keys: Key i , Key i,1 , and Key i,2 to the voter V i,3 , i ∈ {1, 2,..., ω} through a secure channel; the authority retains the correspondence between the voter's identity and their key;
[0017] The steps for the authority to send the required data to the authenticator and the ballot counter are as follows:
[0018] The authority sends [a1, a2,..., a n to the authenticator and sends X n×n = [x1, x2,...x n to the ballot counter.
[0019] Furthermore, the steps for the voter to generate the encrypted ballot in Step 2 are as follows. The voter is denoted as V i , i ∈ {1, 2,..., ω}:
[0020] Step 2.1.1. The voter V i determines the ballot v i ∈ {c0, c1, c2,..., c L} based on their own will and randomly splits it into a k-dimensional vector: v i ' = [v i1 ', v i2 ',..., v ik '], where this vector does not contain the element 0 and the sum of all elements is equal to v i ;
[0021] Step 2.1.2. The voter V i uses the key Key i,1,Key i,2 and Key i,3 Encryptionv i ', get the encrypted ballot X i ,XA i and XB i :X i =Key i,1 ·(v i ') T =[x i1 ,x i2 ,…,x ik ][v1',v2',…,v k '] T , XA i =Key i,2 ·(v i ') T =[a1,q2,…,q n ][x i1 ,x i2 ,…,x ik ][v1',v2',…,v k '] T , XB i =Key i,3 ·(v i ') T =[b1,b2,…,b n ][x i1 ,x i2 ,…,x ik ][v1',v2',…,v k '] T ; where X i is a k-dimensional column vector, XA i and XB i All are scalar;
[0022] Step 2.1.3, Voter V i Encrypt the vote X i ,XA i and XB i Send to the authenticator;
[0023] The steps for the authenticator to verify the legitimacy of the user corresponding to the ballot are as follows:
[0024] Step 2.2.1 Receive the encrypted ballot X from step 2.1.3 i ,XA i and XB i After that, the authenticator first checks whether the following equation holds:
[0025] [a1,a2,…,a n ]·Xi =XA i
[0026] where [a1,a2,…,a n ] comes from the authority in step 1; if this formula is true, the legitimacy of the identity of the voter corresponding to the ballot is confirmed, and the ballot will be retained; otherwise it will be discarded;
[0027] Step 2.2.2: The authenticator collects the sum of the valid votes in step 2.2.1, that is, ∑ i X i and∑ i XB i ;
[0028] Step 2.2.3, the authenticator will i X i Broadcast to the authority and vote counters; at the same time, the authenticator will i XB i and all X i ,i∈{1,2,…,ω} is sent to the authority;
[0029] The steps for the authority to verify whether the ballot has been tampered with are as follows:
[0030] In order to test i X i Whether it has been tampered with by the authenticator, the authority verifies whether the following equation is true:
[0031]
[0032] where ∑ i X i and∑ i XB i From the authenticator in step 2.2.3; if this formula is true, the authority accepts the above encrypted ballot; otherwise, the authority rejects it and asks the authenticator to resend the correct version.
[0033] Furthermore, the specific steps for the vote counter in step 3 to calculate and announce the voting results are as follows:
[0034] Step 3.1: The vote counter first calculates the auxiliary vector W n×1 :W n×1 =(X n×n ) -1 ·∑ i X i ; After that, the vote counter calculates the sum of all elements of the vector and obtains ∑ i v i ;
[0035] Step 3.2: The vote counter calculates the number of votes each candidate receives as follows. Let Ni Representative Candidate C i The number of votes received, where i∈{1,…,L}, N0 represents the number of abstentions; mod represents the remainder operation, and div represents the division operation:
[0036]
[0037] Step 3.3: The vote counter announces the above voting results.
[0038] Furthermore, in step 4, the specific steps for the authority to verify whether voters and vote counters have engaged in malicious behavior are as follows:
[0039] Step 4.1: The authority shall check all X in step 2.2.3. i , i∈{1,2,…,ω} and the correspondence between the voter identity and its key in step 1.4, and calculate the vote v of each voter i :First calculate another auxiliary vector W n×1 '=(X n×n ) -1 ·X i , extract the subscripts {i1,i2,…,i k}, compare the correspondence between the voter identity and its key in step 1.3 and step 1.4 to obtain the voter identity; for vector W n×1 'Sum all elements to get the voter's vote v i , which ensures the uniqueness of anonymous electronic voting and the traceability of ballots: if a voter votes multiple times or disrupts the voting order maliciously, the authority will find out and punish them;
[0040] Step 4.2: The authority shall determine the value of the ∑ i X i Calculate the voting results; if the results are different from the counting results announced by the vote counter in step 3.3, the authority has reason to suspect that the vote counter has tampered with the voting results and impose corresponding punishment measures on the vote counter;
[0041] Step 4.3: The authority does not need to perform the calculation process of steps 4.1-4.2 in full, because the authority is capable of performing the above calculations, and has strict punishment measures after detecting malicious attacks, so that untrustworthy parties in the system are deterred and try to remain honest. Because the authority is capable of calculating the data of steps 4.1-4.2, as long as the calculation is found to be wrong, the malicious party will be severely punished, which will deter the malicious party and prevent them from making malicious mistakes. In fact, the authority does not need to calculate these data, which can reduce the calculation burden of the authority.
[0042] The highly anonymous electronic method based on verifiable calculation of the present invention has the following advantages:
[0043] The present invention is based on verifiable computing and implements the following requirements of a secure electronic voting protocol: Steps 1 and 2 implement user legitimacy, high anonymity, and unlinkability of multiple votes; Step 3 implements ballot integrity and fairness; and Step 4 implements ballot uniqueness and traceability. Compared with other anonymous electronic voting schemes, the present invention has the advantages of achieving high anonymity, unlinkability of multiple votes, and ballot traceability, especially when both the system authenticator and the vote counter are untrusted parties, the above properties can still be guaranteed. The scheme is applicable to any 1-out-of-L voting scenario that allows multiple votes. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] Figure 1 It is a schematic diagram of the information theory anonymous electronic voting model of the present invention. DETAILED DESCRIPTION
[0045] In order to better understand the purpose, structure and function of the present invention, the following is a further detailed description of a highly anonymous electronic voting method based on verifiable calculation of the present invention in conjunction with the accompanying drawings.
[0046] A highly anonymous electronic voting method based on verifiable computing, comprising the following steps:
[0047] Step 1: Initialization phase; in this phase, the voting authority publishes voting rules, generates keys for voters, and sends required data to authenticators and vote counters;
[0048] The steps for the authority to publish voting rules are as follows:
[0049] First, GF(q) represents a finite field of order q, and α is a randomly selected element from GF(q). Let C1, C2, …, C L Represent candidates, c1, c2, …, c L represents the vote value corresponding to the above candidates, where c1=α∈GF(q), c2=α 2 ∈GF(q),…,c L =α L ∈GF(q), c0=α 0 =1 corresponds to the abstention event;
[0050] The steps for the authority to generate keys for voters are as follows. Assume that there are ω voters in the voting system, namely V1, V2, …, V ω .
[0051] Step 1.1: The authority generates n linearly independent n-dimensional column vectors: x1, x2, … xn , which form matrix X n×n = [x1, x2, …, x n ;
[0052] Step 1.2: The authoritative institution generates 2 n-dimensional column vectors: [a1, a2, …, a n and [b1, b2, …, b n , and performs linear transformations on X n×n respectively to obtain A 1×n = [a1, a2, …, a n ·[x1, x2, …, x n and B 1×n = [b1, b2, …, b n ·[x1, x2, …, x n ;
[0053] Step 1.3: The authoritative institution uniformly and randomly selects k (k < n) column vectors from x1, x2, …, x n and uses them as the first secret key of the voter V i : Key i,1 = [x i1 , x i2 , …, x ik , where the secret keys of different voters are different; Next, the authoritative institution selects the elements with the same subscripts i1, i2, …, i 1×n from A k to obtain the second secret key: Key i,2 = [a1, a2, …, a n [x i1 , x i2 , …, x ik ; Select the elements with the same subscripts i1, i2, …, i 1×n from B k to obtain the third secret key: Key i,3 = [b1, b2, …, b n [x i1 , x i2 , …, x ik ;
[0054] Step 1.4: Finally, the authoritative institution sends the three secret keys: Key i , i ∈ {1, 2, …, ω} to the voter V i,1 , Key i,2 and Key i,3 through a secure channel; The authoritative institution retains the correspondence between the voter identities and their secret keys;
[0055] The steps for the authority to send the required data to the authenticator and the vote counter are as follows:
[0056] The authority sends [a1, a2, …, a n ], send X to the vote counter n×n =[x1,x2,…x n ].
[0057] Step 2: Voting stage. In this stage, voters fill out ballots based on their own wishes, encrypt them with a key to generate encrypted ballots, and send them to the authenticator. The authenticator verifies the legitimacy of the identity of the voter corresponding to the encrypted ballot, retains valid ballots, and discards invalid ballots. After that, the authenticator collects the sum of all valid ballots and broadcasts it to the vote counters and the authority. The authority verifies whether the ballot content has been tampered with by the authenticator.
[0058] The steps for voters to generate encrypted ballots are as follows: i ,i∈{1,2,…,ω}:
[0059] Step 2.1.1. Voter V i Determine your vote based on your own wishes i ∈{c0,c1,c2,…,c L}, and randomly split it into a k-dimensional vector: v i '=[v1',v2',…,v k '], the vector does not contain 0 elements, and the sum of all elements is equal to v i ;
[0060] Step 2.1.2, Voter V i With the help of key i,1 ,Key i,2 and Key i,3 Encryptionv i ', get the encrypted ballot X i ,XA i and XB i The process is as follows: i =Key i,1 ·(v i ') T =[x i1 ,x i2 ,…,x ik ][v1',v2',…,v k '] T , XA i =Key i,2 ·(v i ') T =[a1,a2,…,a n ][x i1 ,xi2 ,…,x ik ][v1',v2',…,v k '] T ,
[0061] XB i =Key i,3 ·(v i ') T =[b1,b2,…,b n ][x i1 ,x i2 ,…,x ik ][v1',v2',…,v k '] T ; where X i is a k-dimensional column vector, XA i and XB i All are scalar;
[0062] Step 2.1.3, Voter V i Encrypt the vote X i ,XA i and XB i Send to the authenticator;
[0063] The steps for the authenticator to verify the legitimacy of the user corresponding to the ballot are as follows:
[0064] Step 2.2.1 Receive the encrypted ballot X from step 2.1.3 i ,XA i and XB i Afterwards, the authenticator verifies whether the following equation holds:
[0065] [a1,a2,…,a n ]·X i =XA i
[0066] where [a1,a2,…,a n ] comes from the authority in step 1; if this formula is true, the legitimacy of the identity of the voter corresponding to the ballot is confirmed, and the ballot will be retained; otherwise it will be discarded;
[0067] Step 2.2.2: The authenticator collects the sum of the valid votes in step 2.2.1, that is, ∑ i X i and∑ i XB i ;
[0068] Step 2.2.3, the authenticator will i X i Broadcast to the authority and vote counters; at the same time, the authenticator will i XBi and all X i ,i∈[ω] is sent to the authority;
[0069] The steps for the authority to verify whether the ballot has been tampered with are as follows:
[0070] In order to test i X i Whether it has been tampered with by the authenticator, the authority verifies whether the following equation is true:
[0071]
[0072] where ∑ i X i and∑ i XB i From the authenticator in step 2.2.3; if this formula is true, the authority accepts the above encrypted ballot; otherwise, the authority rejects it and asks the authenticator to resend the correct version.
[0073] Step 3: Counting stage. In this stage, the vote counter calculates the number of votes corresponding to each option based on the sum of valid votes in step 2, i.e. the voting result, and announces it.
[0074] The specific steps for the vote counter to calculate the voting results and announce them are as follows:
[0075] Step 3.1: The vote counter first calculates the auxiliary vector W n×1 =(X n×n ) -1 ·∑ i X i ; After that, the vote counter calculates the sum of all elements of the vector and obtains ∑ i v i ;
[0076] Step 3.2: The vote counter calculates the number of votes each candidate receives as follows. Let N i Representative Candidate C i The number of votes received, where i∈{1,…,L}, N0 represents the number of abstentions. In the following formula, mod represents the remainder operation and div represents the division operation:
[0077]
[0078] Step 3.3: The vote counter announces the above voting results.
[0079] Step 4: Verification phase. During this phase, the authority verifies whether voters have voted multiple times and whether vote counters have tampered with voting results. If the above malicious behavior is detected, the authority will implement corresponding punishment measures.
[0080] The specific steps for the authority to verify whether voters and vote counters have engaged in malicious behavior are as follows:
[0081] Step 4.1: The authority shall check all X in step 2.2.3. i , i∈{1,2,…,ω} and the correspondence between the voter identity and its key in step 1.4, and calculate the vote v of each voter i :First calculate another auxiliary vector W n×1 '=(X n×n ) -1 ·X i , extract the subscripts {i1,i2,…,i k}, compare the correspondence between the voter identity and its key in step 1.3 and step 1.4 to obtain the voter identity; for vector W n×1 'Sum all elements to get the voter's vote v i , which ensures the uniqueness of anonymous electronic voting and the traceability of ballots: if a voter engages in malicious behavior, it will be identified and punished by the authority;
[0082] Step 4.2: The authority shall determine the value of the ∑ i X i Calculate the voting results; if the results are different from the counting results announced by the vote counter in step 3.3, the authority will take corresponding punishment measures against the vote counter;
[0083] Step 4.3: The authority does not need to perform the above calculation process in its entirety, because it is capable of performing the above calculations, and has strict punishment measures after detecting malicious attacks, so that untrustworthy parties in the system are deterred and try to remain honest. Because the authority is capable of calculating the data of steps 4.1-4.2, as long as the calculations are found to be incorrect, the malicious party will be severely punished, which will deter the malicious party and prevent them from making malicious mistakes. In fact, the authority does not need to calculate these data, which can reduce the calculation burden of the authority.
[0084] It is to be understood that the present invention is described by some embodiments, and it is known to those skilled in the art that various changes or equivalent substitutions may be made to these features and embodiments without departing from the spirit and scope of the present invention. In addition, under the teachings of the present invention, these features and embodiments may be modified to adapt to specific circumstances and materials without departing from the spirit and scope of the present invention. Therefore, the present invention is not limited by the specific embodiments disclosed herein, and all embodiments falling within the scope of the claims of this application are within the scope of protection of the present invention.
Claims
1. A highly anonymous electronic voting method based on verifiable computing, characterized in that: The steps include: Step 1: Initialization phase; During this initialization phase, the voting authority publishes voting rules, generates keys for voters, and sends required data to authenticators and vote counters; Step 2: Voting stage; In this voting phase, voters fill out the ballot based on their own wishes, encrypt it with a key to generate an encrypted ballot, and send it to the authenticator; the authenticator verifies the legitimacy of the identity of the voter corresponding to the encrypted ballot, retains the valid ballot, and discards the invalid ballot; After that, the certifier collects the sum of all valid votes and broadcasts it to the vote counters and authorities; The authority verifies whether the content of the ballot has been tampered with by the certifier; Step 3: Counting stage: In this counting stage, the vote counter calculates the number of votes corresponding to each option based on the sum of valid votes in step 2, i.e. the voting result, and announces it; Step 4: Inspection phase; During this inspection phase, the authority will inspect whether there is any malicious behavior, including whether voters have voted multiple times and whether vote counters have tampered with voting results. If the above malicious behavior is detected, the authority will implement corresponding punishment measures; The steps for the authority in step 1 to publish the voting rules are as follows: First, GF(q) represents a finite field of order q, and α is a randomly selected element from GF(q); let C1,C2,…,C L Represent candidates, c1, c2, …, c L represents the vote value corresponding to the above candidates, where c1=α∈GF(q), c2=α 2 ∈GF(q),…,c L =α L ∈GF(q), c0=α 0 =1 corresponds to the abstention event; The steps for the authority to generate keys for voters are as follows. Suppose there are a total of ω voters in the voting system, namely V1, V2, …, V ω ; Step 1.1: The authority generates n linearly independent n-dimensional column vectors: x1, x2, … x n , which form the matrix X n×n =[x1,x2,…x n ]; Step 1.2: The authority generates two n-dimensional column vectors: [a1, a2, …, a n ] and [b1,b2,…,b n ], respectively for X n×n Perform linear transformation to obtain A 1×n =[a1,a2,…,a n ]·[x1,x2,…x n ] and B 1×n =[b1,b2,…,b n ]·[x1,x2,…x n ]; Step 1.
3. The authoritative institution uniformly and randomly selects k column vectors from x1, x2, …, x n and uses them as the first secret key of the voter V i : Key i,1 = [x i1 , x i2 , …, x ik , where k < n; the secret keys of different voters are different; Next, the authoritative institution selects the elements with subscripts i1, i2, …, i 1×n from A k to obtain the second secret key: Key i,2 = [a1, a2, …, a n [x i1 , x i2 , …, x ik ; Select the elements with subscripts i1, i2, …, i 1×n from B k to obtain the third secret key: Key i,3 = [b1, b2, …, b n [x i1 , x i2 , …, x ik ; Step 1.4: Finally, the authority sends a message to the voter V through a secure channel. i ,i∈{1,2,…,ω} sends three keys: Key i,1 ,Key i,2 and Key i,3 ; The authority retains the correspondence between the voter identity and their key; The steps for the authority to send the required data to the authenticator and the vote counter are as follows: The authority sends [a1, a2, …, a n ], send X to the vote counter n×n =[x1,x2,…x n ]; The steps for the voter to generate an encrypted ballot in step 2 are as follows, and the voter is denoted as V i ,i∈{1,2,…,ω}: Step 2.1.
1. Voter V i Determine your vote based on your own wishes i ∈{c0,c1,c2,…,c L }, and randomly split it into a k-dimensional vector: v i '=[v i1 ',v i2 ',…,v ik '], the vector does not contain 0 elements, and the sum of all elements is equal to v i ; Step 2.1.2, Voter V i With the help of key i,1 ,Key i,2 and Key i,3 Encryptionv i ', get the encrypted ballot X i ,XA i and XB i :X i =Key i,1 ·(v i ') T =[x i1 ,x i2 ,…,x ik ][v1',v2',…,v k '] T , XA i =Key i,2 ·(v i ') T =[a1,a2,…,a n ][x i1 ,x i2 ,…,x ik ][v1',v2',…,v k '] T , XB i =Key i,3 ·(v i ') T =[b1,b2,…,b n ][x i1 ,x i2 ,…,x ik ][v1',v2',…,v k '] T ; where X i is a k-dimensional column vector, XA i and XB i All are scalar; Step 2.1.3, Voter V i Encrypt the vote X i ,XA i and XB i Send to the authenticator; The steps for the authenticator to verify the legitimacy of the user corresponding to the ballot are as follows: Step 2.2.1 Receive the encrypted ballot X from step 2.1.3 i ,XA i and XB i After that, the authenticator first checks whether the following equation holds: [a1,a2,…,a n ]·X i =XA i where [a1,a2,…,a n ] comes from the authority in step 1; if the equation holds, the legitimacy of the voter's identity corresponding to the ballot is confirmed, and the ballot will be retained; otherwise it will be discarded; Step 2.2.2: The authenticator collects the sum of the valid votes in step 2.2.1, that is, ∑ i X i and∑ i XB i ; Step 2.2.3, the authenticator will i X i Broadcast to the authority and vote counters; at the same time, the authenticator will i XB i and all X i ,i∈{1,2,…,ω} is sent to the authority; The steps for the authority to verify whether the ballot has been tampered with are as follows: In order to test i X i Whether it has been tampered with by the authenticator, the authority verifies whether the following equation is true: where ∑ i X i and∑ i XB i From the authenticator in step 2.2.3; if the equality holds, the authority accepts the encrypted ballot; otherwise, the authority rejects it and asks the authenticator to resend the correct version; The specific steps for the vote counter to calculate and announce the voting results in step 3 are as follows: Step 3.1: The vote counter first calculates the auxiliary vector W n×1 :W n×1 =(X n×n ) -1 ·∑ i X i ; After that, the vote counter calculates the sum of all elements of the vector and obtains ∑ i v i ; Step 3.2: The vote counter calculates the number of votes each candidate receives as follows. Let N i Representative Candidate C i The number of votes received, where i∈{1,…,L}, N0 represents the number of abstentions; mod represents the remainder operation, and div represents the division operation: Step 3.3: The vote counter announces the above voting results; The specific steps for the authority to verify whether voters and vote counters have malicious behavior in step 4 are as follows: Step 4.1: The authority shall check all X in step 2.2.
3. i , i∈{1,2,…,ω} and the correspondence between the voter identity and its key in step 1.4, and calculate the vote v of each voter i :First calculate another auxiliary vector W n×1 '=(X n×n ) -1 ·X i , extract the subscripts {i1,i2,…,i k }, compare the correspondence between the voter identity and its key in step 1.3 and step 1.4 to obtain the voter identity; for vector W n×1 'Sum all elements to get the voter's vote v i , which ensures the uniqueness of anonymous electronic voting and the traceability of ballots: if a voter engages in malicious behavior, it will be identified and punished by the authority; Step 4.2: The authority shall determine the value of the ∑ i X i Calculate the voting results; if the results are different from the counting results announced by the vote counter in step 3.3, the authority will take corresponding punishment measures against the vote counter; Step 4.3: The authority does not need to perform the calculation process of steps 4.1-4.2 in full.
Citation Information
Patent Citations
Anonymous electronic voting method based on blockchain
CN108109257A
Anonymous and anti-stress electronic voting system based on partial blind signature and block chain
CN114333137A