CN110400410A - A kind of electronic voting system - Google Patents

A kind of electronic voting system Download PDF

Info

Publication number
CN110400410A
CN110400410A CN201910702695.0A CN201910702695A CN110400410A CN 110400410 A CN110400410 A CN 110400410A CN 201910702695 A CN201910702695 A CN 201910702695A CN 110400410 A CN110400410 A CN 110400410A
Authority
CN
China
Prior art keywords
voting
terminal
sent
ballot
block chain
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.)
Pending
Application number
CN201910702695.0A
Other languages
Chinese (zh)
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.)
Zhongchao Credit Card Industry Development Co Ltd Hangzhou Blockchain Technology Research Institute
Original Assignee
Zhongchao Credit Card Industry Development Co Ltd Hangzhou Blockchain Technology Research Institute
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 Zhongchao Credit Card Industry Development Co Ltd Hangzhou Blockchain Technology Research Institute filed Critical Zhongchao Credit Card Industry Development Co Ltd Hangzhou Blockchain Technology Research Institute
Priority to CN201910702695.0A priority Critical patent/CN110400410A/en
Publication of CN110400410A publication Critical patent/CN110400410A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C13/00Voting apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

This application discloses a kind of electronic voting systems, the ballot initiating terminal including being deployed in block chain network, voting terminal, count of votes terminal and polling server;Each candidate information is sent to the block chain network for the weight information of each voting terminal to be sent to polling server by ballot initiating terminal;Voting terminal obtains vote information for carrying out ballot according to each candidate information, carries out encryption to the vote information and obtain encrypted vote, the encrypted vote is sent to polling server;Polling server obtains Nearest Neighbor with Weighted Voting, each Nearest Neighbor with Weighted Voting is sent to the block chain network for corresponding encrypted vote to be weighted according to the weight information;Count of votes terminal obtains voting results, and the voting results are sent to the block chain network for calculating to be decrypted to each Nearest Neighbor with Weighted Voting;The electronic voting system is truly realized the transparence of electronic voting process and the fair and just property of voting results.

Description

A kind of electronic voting system
Technical field
This application involves block chain technical field, in particular to a kind of electronic voting system.
Background technique
Electronic voting be it is a kind of electronically vote, or the ballot mode by electronically counting poll, one As based on electronic voting (e-voting) system realize.
Existing electronic voting system is centralized system, and encryption technology is mainly used to realize the guarantor of ballot content It is close, and using the anonymity of signature technology realization voter's identity, finally, the encrypted vote of signature is sent to ballot by voter Server decrypts the encrypted vote in polling server by count of votes person, then carries out statistics to poll and by count of votes result publicity.
However, the electronic voting system of existing centralization makes count of votes process not open and clear enough, anyone (ballot Person) correctness of count of votes result can not all be verified, it is thrown for example, voter can not verify the received encryption of polling server Whether ticket includes itself selected polling option, and can not also verifying itself selected polling option, whether to be voted-for server correct Storage;Moreover, the electronic voting system of centralization is difficult to prevent count of votes person from playing tricks to count of votes result, real justice cannot achieve Fairness.
Therefore, how really to realize that the fair, just and open of electronic voting process and result are those skilled in the art Urgent problem to be solved.
Summary of the invention
The purpose of the application is to provide a kind of electronic voting system, which realizes electronic voting process The fair and just property of transparence and voting results.
This application provides a kind of electronic voting systems, the ballot initiating terminal including being deployed in block chain network, ballot Terminal, count of votes terminal and polling server;
The ballot initiating terminal, for the weight information of each voting terminal to be sent to the polling server, Each candidate information is sent to the block chain network;
The voting terminal obtains vote information for carrying out ballot according to each candidate information, to the ballot Information carries out encryption and obtains encrypted vote, and the encrypted vote is sent to the polling server;
The polling server is obtained for corresponding encrypted vote to be weighted according to the weight information Each Nearest Neighbor with Weighted Voting is sent to the block chain network by Nearest Neighbor with Weighted Voting;
The count of votes terminal obtains voting results for being decrypted calculating to each Nearest Neighbor with Weighted Voting, and by the throwing Ticket result is sent to the block chain network.
Preferably, the ballot initiating terminal is also used to the identity information of each voting terminal being sent to the ballot Server;
Then the polling server is also used to carry out authentication to corresponding voting terminal according to the identity information, when When the authentication fails, the encrypted vote that the voting terminal is sent is rejected.
Preferably, the polling server is also used to holding by the weight information of the voting terminal of the authentication Promise is sent to the block chain network;
Then the voting terminal is also used to verify each weight information.
Preferably, the voting terminal is specifically used for carrying out ballot acquisition vote information according to each candidate information, Encryption is carried out to the vote information using ElGamal homomorphic cryptography technology and obtains the encrypted vote, by the encrypted vote It is sent to the polling server.
Preferably, the voting terminal is also used to before the encrypted vote is sent to the polling server, benefit It is signed with the first pre-generated signature private key to the encrypted vote, the encrypted vote after being signed;Described first Corresponding first public signature key of signature private key is pre-stored in the block chain network by the polling server.
Preferably, the polling server is also used to be weighted corresponding encrypted vote according to the weight information Before calculating, oblivious transfer protocol is run with the voting terminal, to verify the validity of the encrypted vote;
The voting terminal is also used to run the oblivious transfer protocol with the polling server, to verify described add The correctness of close ballot.
Preferably, the polling server is also used to be weighted corresponding encrypted vote according to the weight information It calculates, after obtaining the Nearest Neighbor with Weighted Voting, generates the first non-interactive zero-knowledge proof, and first non-interactive type zero is known Knowing proves to be sent to the block chain network;
Then the count of votes terminal is also used to that calculating is being decrypted to each Nearest Neighbor with Weighted Voting, obtain the voting results it Before, first non-interactive zero-knowledge proof is verified.
Preferably, the polling server is also used to before the Nearest Neighbor with Weighted Voting is sent to the block chain network, It is signed using the second pre-generated signature private key to the Nearest Neighbor with Weighted Voting, the Nearest Neighbor with Weighted Voting after being signed;Described Corresponding second public signature key of two signature private key is pre-stored in the block chain network.
Preferably, the count of votes terminal is also used to that calculating is being decrypted to each Nearest Neighbor with Weighted Voting, obtains the ballot As a result after, the second non-interactive zero-knowledge proof is generated, and second non-interactive zero-knowledge proof is sent to described Block chain network.
Preferably, the count of votes terminal is also used to before the voting results are sent to the block chain network, benefit It is signed with pre-generated third signature private key to the voting results, the voting results after being signed;The third The corresponding third public signature key of signature private key is pre-stored in the block chain network.
One kind provided herein electronic voting system provided herein, the throwing including being deployed in block chain network Ticket initiating terminal, voting terminal, count of votes terminal and polling server;The ballot initiating terminal, for each ballot is whole The weight information at end is sent to the polling server, and each candidate information is sent to the block chain network;The ballot Terminal obtains vote information for carrying out ballot according to each candidate information, carries out encryption acquisition to the vote information The encrypted vote is sent to the polling server by encrypted vote;The polling server, for being believed according to the weight Corresponding encrypted vote is weighted in breath, obtains Nearest Neighbor with Weighted Voting, each Nearest Neighbor with Weighted Voting is sent to the block chain Network;The count of votes terminal obtains voting results for being decrypted calculating to each Nearest Neighbor with Weighted Voting, and by the ballot As a result it is sent to the block chain network.
As it can be seen that electronic voting system provided herein, by by each terminal disposition in system in block link network Network realizes the transparence of electronic voting process and the fair and just property of voting results, in electronic voting process, will need into All kinds of vote informations of row terminal interaction are uploaded to block chain network, as a result, while guaranteeing vote information safety, also make Vote information can be verified by obtaining each terminal, be ensure that the transparence of electronic voting process, effectively prevented each side and exist The possibility played tricks in voting process realizes real fair and just property.
Detailed description of the invention
In order to illustrate the technical solutions in the embodiments of the present application or in the prior art more clearly, to embodiment or will show below There is attached drawing needed in technical description to be briefly described, it should be apparent that, the accompanying drawings in the following description is only this The embodiment of application for those of ordinary skill in the art without creative efforts, can also basis The attached drawing of offer obtains other attached drawings.
Fig. 1 is a kind of structural schematic diagram of electronic voting system provided herein;
Fig. 2 is the structural schematic diagram of another electronic voting system provided herein;
Fig. 3 is a kind of electronic voting system timing diagram provided herein.
Specific embodiment
The core of the application is to provide a kind of electronic voting system, which realizes electronic voting process The fair and just property of transparence and voting results.
To keep the purposes, technical schemes and advantages of the embodiment of the present application clearer, below in conjunction with the embodiment of the present application In attached drawing, the technical scheme in the embodiment of the application is clearly and completely described, it is clear that described embodiment is Some embodiments of the present application, instead of all the embodiments.Based on the embodiment in the application, those of ordinary skill in the art All other embodiment obtained without making creative work, shall fall in the protection scope of this application.
Referring to FIG. 1, Fig. 1 is a kind of structural schematic diagram of electronic voting system provided herein, which is thrown Bill system may include the ballot initiating terminal 10 for being deployed in block chain network, voting terminal 20, count of votes terminal 30 and ballot clothes Business device 40;
Ballot initiating terminal 10, for the weight information of each voting terminal 20 to be sent to polling server 40, by each time The person's of choosing information is sent to block chain network;
Voting terminal 20 obtains vote information for carrying out ballot according to each candidate information, adds to vote information Encrypted vote is sent to polling server 40 by close acquisition encrypted vote;
Polling server 40 obtains weighting and throws for corresponding encrypted vote to be weighted according to weight information Each Nearest Neighbor with Weighted Voting is sent to block chain network by ticket;
Count of votes terminal 30 obtains voting results, and voting results are sent for calculating to be decrypted to each Nearest Neighbor with Weighted Voting To block chain network.
Specifically, electronic voting system provided herein, the ballot including being deployed in block chain network is initiated eventually End 10, voting terminal 20, count of votes terminal 30 and polling server 40, that is to say, that ballot initiating terminal 10, voting terminal 20, Count of votes terminal 30 and polling server 40 are any different nodes in block chain network, wherein block chain is distributed data The new application mode of the computer technologies such as storage, point-to-point transmission, common recognition mechanism, Encryption Algorithm, the spy with decentralization Point.
Firstly, for ballot initiating terminal 10, it is mainly used for initiating ballot, the realization needs of voting process are preset Candidate and ballot participant, wherein candidate is exactly alternate item, so that ballot participant carries out ballot selection;One ballot Participant corresponds to a voting terminal 20, i.e., ballot participant is based on voting terminal 20 and realizes ballot.Ballot is initiated eventually as a result, The information of each voting terminal 20 and candidate information can be sent to block chain network when initiating ballot by end 10, so as to Other nodal terminals are obtained and are veritified.In addition, electronic voting system provided by the present application realizes weighting electronic voting, therefore, Also the weight information of each voting terminal 20 can be sent to polling server 40, convenient for polling server 40 to vote information into Row weighted calculation.
Secondly, being mainly used for voting for voting terminal 20, specifically, can obtain from block chain network Candidate information, and voted based on candidate information, i.e., select wherein one or more to generate phase from all candidates The vote information answered;Further, it is realization ballot content secrecy, vote information can be encrypted, obtain encrypted vote, into And encrypted vote is sent to polling server 40, ballot is weighted convenient for polling server 40.
Further, for polling server 40, it is mainly used for realizing Nearest Neighbor with Weighted Voting, specifically, eventually for each ballot The encrypted vote that end 20 is sent, is weighted it according to its corresponding weight information, obtains corresponding Nearest Neighbor with Weighted Voting, into And each Nearest Neighbor with Weighted Voting is sent to block chain network, ballot verification is carried out convenient for other each nodal terminals, guarantees voting process The transparency, and count of votes terminal 30 is facilitated to carry out final count of votes, obtain final voting results.
Finally, for count of votes terminal 30, it is mainly used for carrying out count of votes, to obtain voting results, specifically, can be from area Block chain network obtains each Nearest Neighbor with Weighted Voting that polling server 40 issues, since Nearest Neighbor with Weighted Voting is based on encrypted vote, therefore, it is necessary to Each Nearest Neighbor with Weighted Voting is decrypted, after counting, final voting results are obtained, finally, voting results are sent to block In chain network, so as to each terminal timely learning voting results, so far, electronic voting terminates.
Preferably, above-mentioned voting terminal 20 can be specifically used for carrying out ballot acquisition vote information according to each candidate information, Encryption is carried out to vote information using ElGamal homomorphic cryptography technology and obtains encrypted vote, encrypted vote is sent to ballot clothes Business device 40.
For the cipher mode of above-mentioned vote information, a kind of more concrete implementation method provided by the embodiments of the present application, Realized based on ElGamal homomorphic cryptography technology, specifically, ElGamal key pair can be pre-generated by count of votes terminal 30, it will Public key therein is sent to block chain network, so as to the acquisition of each voting terminal 20, and retains private key, as a result, each voting terminal 20 Vote information can be encrypted based on public key, further, when count of votes terminal 30 is obtained from block chain network by throwing After the weighting of ticket server 40 treated encrypted vote, it is decrypted using private key.
Electronic voting system provided herein, by by each terminal disposition in system in block chain network, it is real The transparence of electronic voting process and the fair and just property of voting results are showed, in electronic voting process, will need to carry out eventually All kinds of vote informations of end interaction are uploaded to block chain network, as a result, while guaranteeing vote information safety, but also respectively A terminal can verify vote information, ensure that the transparence of electronic voting process, effectively prevent each side and voting The possibility played tricks in the process realizes real fair and just property.
On the basis of the above embodiments:
As a kind of preferred embodiment, above-mentioned ballot initiating terminal 10 can also be used in the identity information of each voting terminal 20 It is sent to polling server 40;Then above-mentioned polling server 40 can also be used according to identity information to corresponding voting terminal 20 into Row authentication, when authentication failure, the encrypted vote of the rejection transmission of voting terminal 20.
For the accuracy for guaranteeing voting results, the identity of each voting terminal 20 can also be carried out before being voted Verifying, specifically, ballot initiating terminal 10 is it is known that each since electronic voting is initiated by ballot initiating terminal 10 The identity of voter, therefore, the identity information of each voting terminal 20 can be sent in advance by ballot initiating terminal 10 Polling server 40 carries out authentication to each voting terminal 20 by polling server 40, when being verified, after directly carrying out Continuous electronic voting then says that corresponding 20 identity of voting terminal is illegal when failing the authentication, therefore, refuses its transmission Encrypted vote.
As a kind of preferred embodiment, above-mentioned polling server 40 is also used to will be by the voting terminal 20 of authentication The promise of weight information is sent to block chain network;Then voting terminal 20 is also used to verify each weight information.
The present embodiment is intended to verify the open and clear property for realizing electronic voting process by weight information, i.e., by voting terminal 20 carry out the verifying of weight informations, specifically, for by the voting terminal 20 of authentication, can by polling server 40 by its The promise of corresponding weight information is sent to block chain network, so that each voting terminal 20 obtains the weight information and is tested Card continues Subsequent electronic ballot process after being verified.Wherein, which can be used the promise side Pedersen Case is realized, i.e., realizes weight verifying by examining the weight in block chain network to promise to undertake by each voting terminal 20, specific real Existing process is referring to prior art, and details are not described herein by the application.
As a kind of preferred embodiment, above-mentioned voting terminal also 20 is for being sent to polling server 40 for encrypted vote Before, it is signed using the first pre-generated signature private key to encrypted vote, the encrypted vote after being signed;First label Corresponding first public signature key of name private key is pre-stored in block chain network by polling server 40.
The present embodiment is intended to further increase the safety of vote information in electronic voting process by signature technology, specifically , each voting terminal 20 before encrypted vote is sent to polling server 40, can use itself generation private key, i.e., on It states the first signature private key to sign to encrypted vote, and its corresponding first public signature key is sent to block chain network, In Encrypted vote after being signed simultaneously is sent it to after polling server 40, and polling server 40 is i.e. using from block chain The first public signature key obtained in network verifies it, carries out the decryption oprerations of subsequent encrypted vote i.e. after being verified It can.
As a kind of preferred embodiment, above-mentioned polling server 40 is also used to throwing corresponding encryption according to weight information Before ticket is weighted, oblivious transfer protocol is run with voting terminal 20, to verify the validity of encrypted vote;Ballot Terminal 20 is also used to run oblivious transfer protocol with polling server 40, to verify the correctness of encrypted vote.
The present embodiment is intended to realize Cast-as-Intented verifying by oblivious transfer protocol, to guarantee encrypted vote Validity and correctness, wherein Cast-as-Intented verifying i.e. by each voting terminal 20 verify polling server 20 Whether received encrypted vote includes selected polling option.In this application, above-mentioned oblivious transfer protocol specifically uses K-out-of-n oblivious transfer protocol, wherein k-out-of-n is specifically referred in n message, and voter can only obtain it Middle k message can not learn other remaining n-k message.
As a kind of preferred embodiment, above-mentioned polling server 40 is also used to throwing corresponding encryption according to weight information Ticket is weighted, and after obtaining Nearest Neighbor with Weighted Voting, generates the first non-interactive zero-knowledge proof, and by the first non-interactive type zero Knowledge proof is sent to block chain network;Then count of votes terminal 30 is also used to that calculating is being decrypted to each Nearest Neighbor with Weighted Voting, is thrown Before ticket result, the first non-interactive zero-knowledge proof is verified.
The present embodiment is intended to guarantee by zero-knowledge proof the correctness of voting weighted, and zero-knowledge proof is that one kind is related to The agreement of two sides or more side, specially certifier can make in the case where not providing any useful information to verifier Verifier believes that some judgement is that correctly, i.e. certifier proves and believe it oneself to know or possess a certain disappear to verifier Breath, but proof procedure cannot be leaked to verifier it is any about the information for being proved to message.Specifically, polling server 40 is right After encrypted vote is weighted, produces above-mentioned first non-interactive zero-knowledge proof and be sent to block chain network, with Just count of votes terminal 30 obtains and completes verifying process.
As a kind of preferred embodiment, above-mentioned polling server 40 is also used to Nearest Neighbor with Weighted Voting being sent to block chain network Before, it is signed using the second pre-generated signature private key to Nearest Neighbor with Weighted Voting, the Nearest Neighbor with Weighted Voting after being signed;Second label Corresponding second public signature key of name private key is pre-stored in block chain network.
The present embodiment equally uses signature technology to effectively improve the safety of vote information in electronic voting process, the label Name process is identical as the signature process in above-described embodiment, and previous embodiment realizes voting terminal 20 to the label of encrypted vote Name, the present embodiment realize polling server 40 to the signature of Nearest Neighbor with Weighted Voting, specifically, polling server 40 can be produced using itself Raw private key, i.e., above-mentioned second signature private key sign to Nearest Neighbor with Weighted Voting, and its corresponding second public signature key is sent to Block chain network, in the Nearest Neighbor with Weighted Voting after being signed and after being sent to block chain network, count of votes terminal 30 is i.e. available from area The second public signature key obtained in block chain network carries out signature verification, and subsequent count of votes process is carried out after being verified.
As a kind of preferred embodiment, above-mentioned count of votes terminal 30 is also used to that calculating is being decrypted to each Nearest Neighbor with Weighted Voting, obtains After obtaining voting results, the second non-interactive zero-knowledge proof is generated, and the second non-interactive zero-knowledge proof is sent to area Block chain network.
The present embodiment is intended to guarantee by zero-knowledge proof the correctness of weighting count of votes result, is similar to above-mentioned ballot and takes The generating process of first non-interactive zero-knowledge proof, i.e. count of votes terminal 30 can give birth to after obtaining voting results in business device 40 At above-mentioned second non-interactive zero-knowledge proof, and block chain network is sent it to, so that each terminal obtains and completes to test Card, to obtain final voting results.
As a kind of preferred embodiment, above-mentioned count of votes terminal 30 be also used to by voting results be sent to block chain network it Before, it is signed using pre-generated third signature private key to voting results, the voting results after being signed;Third signature The corresponding third public signature key of private key is pre-stored in block chain network.
Similar, the present embodiment uses signature technology equally to effectively improve the safety of vote information in electronic voting process Property, specifically, count of votes terminal before count of votes result is sent to block chain network, also can use what its own was generated in advance Private key, i.e., above-mentioned third signature private key sign to count of votes result, and its corresponding third public signature key is sent to block Chain network, each terminal is to realize signature verification using the third public signature key obtained from block chain network as a result, to obtain Know voting results.
On the basis of the various embodiments described above, the embodiment of the present application provides a kind of more specifically electronic voting system, Referring to FIG. 2, Fig. 2 is the structural schematic diagram of another electronic voting system provided herein.
Based on electronic voting system shown in Fig. 2, it can be seen that it mainly includes ballot promoter, voter, ballot service Device, block chain and count of votes person.Specifically, the information of each voter and weight information are sent to ballot first by ballot promoter Server, each voter is by interacting completion ballot qualification authentication with polling server, and polling server will be qualified later The public key of voter and the promise of weight are sent to block chain, and n return code is sent to the voter by polling server; Further, voter encrypts polling option using the ElGamal public key of count of votes person, by running k- with polling server Out-of-n oblivious transfer protocol obtains k return code, completes Cast-as-Intented verifying, at the same time, voter The verification of correctness that weight is promised to undertake on block chain is completed using the weight information obtained from polling server;Further, ballot clothes Business device completes the validation verification of ballot by the confirmation code that voter returns, and polling server calculates Nearest Neighbor with Weighted Voting and produces later The zero-knowledge proof of raw sharable content object weighting correctness, and by original encrypted vote, Nearest Neighbor with Weighted Voting and weight correctness Zero-knowledge proof is sent to block chain;Further, count of votes person is after the zero-knowledge proof of verifying weighting correctness, on block chain Nearest Neighbor with Weighted Voting carry out homomorphism calculating, and the homomorphism calculated result for decrypting Nearest Neighbor with Weighted Voting obtain weighting count of votes result;Finally, count of votes Person will weight count of votes result and announce and generate the zero-knowledge proof of a sharable content object, it was demonstrated that it weights the correct of count of votes result Property, so far complete electronic voting.
Further, right below referring to FIG. 3, Fig. 3 is a kind of electronic voting system timing diagram provided herein The electronic voting process realized based on electronic voting system shown in Fig. 2 is described in detail.
1, system initialization
(1) count of votes person generate a pair of ElGamal encryption key to a pair of of ECDSA or SM2 or SM9 signature key pair, general Encrypted public key and public signature key are sent on block chain;
(2) polling server generates a pair of ECDSA or SM2 or SM9 signature key pair, sends block chain for public signature key On;
(3) each voter generates a pair of ECDSA or SM2 or SM9 signature key pair.
2, qualification authentication
(1) weight information of voter's identity information and each voter is sent to polling server by ballot promoter;
(2) each voter completes real name authentication in polling server, such as is authenticated using cell-phone number, recognition of face Mode confirms ballot qualification;It is by polling server after certification that voter's identity information is associated with its public signature key, and will The public signature key and corresponding weight promise are published on block chain;
(3) polling server is that each voter generates confirmation code of the random number as the voter respectively (Confirm Code);
(4) polling server shares the confirmation code using Shamir (k, n) secret sharing scheme, and it is right respectively to generate n point In n candidate, further, the cryptographic Hash return code (Return Code) as the voter of this n point should be calculated, and Return to the voter.
3, it votes the stage
(1) each voter encrypts k ballot value of selection using the ElGamal public key of count of votes person respectively, will add Ballot paper and its signature after close are sent to polling server;
(2) polling server runs oblivious transfer protocol, by relevant parameter information and commitment value (voter of generation Weight information and random number) be sent to voter;
(3) whether the promise that voter verifies on block chain is correct, receives commitment value if correct, otherwise refuses;
(4) voter runs oblivious transfer protocol, obtain belong to itself, k point corresponding to k ballot value;
(5) voter calculates separately the cryptographic Hash of this k point, i.e. return code, and the return obtained with the qualification authentication stage Code is compared, and completing Cast-as-Intented verifying, (i.e. each voter verifies the received encryption of polling server and throws Whether ticket includes its own selected polling option);
(6) secret value, i.e. confirmation code is calculated by Lagrange's interpolation using this k point in voter, and will pass through The confirmation code of signature is sent to polling server;
(7) polling server verifying receives the confirmation code of the confirmation code Yu qualification authentication stage of voter's transmission voter Whether consistent, by ballot validation verification if consistent, otherwise not by ballot validation verification, the ballot of the voter is made It is useless;
(8) polling server calculates Nearest Neighbor with Weighted Voting, and generates a non-interactive zero-knowledge proof;
(9) encrypted vote that polling server will be signed by voter, the Nearest Neighbor with Weighted Voting and Fei Jiao signed by oneself Mutual formula zero-knowledge proof is sent on block chain;
(10) voter is by checking the encrypted vote on block chain, Nearest Neighbor with Weighted Voting, and verifies non-interactive type Zero Knowledge card It is bright, confirm that their encrypted vote is stored in block chain, and weight correctly, it is (i.e. every to complete Record-as-Cast verifying Whether the ballot paper that a voter verifies itself, which is voted-for server, correctly stores).
4, the count of votes stage
(1) whether correct count of votes person verifies the non-interactive zero-knowledge proof that polling server generates, if correctly, to institute Have and carry out homomorphism calculating by the Nearest Neighbor with Weighted Voting of polling server signature, obtains the homomorphism calculated result of Nearest Neighbor with Weighted Voting;
(2) count of votes person obtains weighting count of votes result by decrypting the homomorphism calculated result of Nearest Neighbor with Weighted Voting;
(3) count of votes person generates a non-interactive zero-knowledge proof;
(4) count of votes person will be sent to by the count of votes result and non-interactive zero-knowledge proof of the Nearest Neighbor with Weighted Voting of itself signature On block chain;
(5) either party can verify non-interactive zero-knowledge proof, that is, verify the correctness of count of votes result, Complete Counted-as-Recorded verifying (i.e. all participants verify the correctness of weighting count of votes result).
So far, electronic voting terminates, and is based on the above electronic voting process, it can be seen that provided by the embodiment of the present application Electronic voting system has the advantage that
(1) realize End to End Encryption: in order to ensure complete privacy, vote information encrypts in ballot equipment, it is ensured that Ballot not will be leaked in transmission process or on block chain;
(2) polling server can confirm ballot qualification: equipment enterprising line number word of the ballot of encryption in voter Signature, it is thus identified that the qualification of voter and the integrality for protecting ballot;
(3) polling server can verify the validity of ballot: polling server be not necessarily to the ballot encrypted into Row decryption only can verify that whether ballot content is effective, will not destroy the confidentiality of ballot by confirmation code;
(4) personal by examining the weight promise on block chain that can verify to itself weight;
(5) individual can verify ballot, and Cast-as-Intented verifying: voter can be thrown by return code inspection Whether the received encrypted vote of ticket server includes selected polling option, the confidentiality without destroying ballot;Record-as- Cast verifying: voter can verify whether the ballot paper of itself is correctly stored by checking block chain;Voter can pass through inspection Test the correctness of the zero-knowledge proof confirmation voting weighted of weighting correctness;
(6) disclosure for realizing weighting count of votes result can verify that: zero-knowledge proof can provide weighting count of votes process accuracy And the proof of weighting count of votes result correctness, realizing that Counted-as-Recorded is disclosed can verify that.
Each embodiment is described in a progressive manner in specification, the highlights of each of the examples are with other realities The difference of example is applied, the same or similar parts in each embodiment may refer to each other.For device disclosed in embodiment Speech, since it is corresponded to the methods disclosed in the examples, so being described relatively simple, related place is referring to method part illustration .
Professional further appreciates that, unit described in conjunction with the examples disclosed in the embodiments of the present disclosure And algorithm steps, can be realized with electronic hardware, computer software, or a combination of the two, in order to clearly demonstrate hardware and The interchangeability of software generally describes each exemplary composition and step according to function in the above description.These Function is implemented in hardware or software actually, the specific application and design constraint depending on technical solution.Profession Technical staff can use different methods to achieve the described function each specific application, but this realization is not answered Think beyond scope of the present application.
The step of method described in conjunction with the examples disclosed in this document or algorithm, can directly be held with hardware, processor The combination of capable software module or the two is implemented.Software module can be placed in random access memory (RAM), memory, read-only deposit Reservoir (ROM), electrically programmable ROM, electrically erasable ROM, register, hard disk, moveable magnetic disc, CD-ROM or technology In any other form of storage medium well known in field.
Electronic voting system provided herein is described in detail above.Specific case pair used herein The principle and embodiment of the application is expounded, the present processes that the above embodiments are only used to help understand And its core concept.It should be pointed out that for those skilled in the art, before not departing from the application principle Put, can also to the application, some improvement and modification can also be carried out, these improvement and modification also fall into the guarantor of the claim of this application Protect range element.

Claims (10)

1. a kind of electronic voting system, which is characterized in that the ballot initiating terminal including being deployed in block chain network, ballot is eventually End, count of votes terminal and polling server;
The ballot initiating terminal will be each for the weight information of each voting terminal to be sent to the polling server Candidate information is sent to the block chain network;
The voting terminal obtains vote information for carrying out ballot according to each candidate information, to the vote information It carries out encryption and obtains encrypted vote, the encrypted vote is sent to the polling server;
The polling server is weighted for corresponding encrypted vote to be weighted according to the weight information Ballot, is sent to the block chain network for each Nearest Neighbor with Weighted Voting;
The count of votes terminal obtains voting results, and the ballot is tied for calculating to be decrypted to each Nearest Neighbor with Weighted Voting Fruit is sent to the block chain network.
2. electronic voting system as described in claim 1, which is characterized in that the ballot initiating terminal is also used to will be each described The identity information of voting terminal is sent to the polling server;
Then the polling server is also used to carry out authentication to corresponding voting terminal according to the identity information, when described When authentication fails, the encrypted vote that the voting terminal is sent is rejected.
3. electronic voting system as claimed in claim 2, which is characterized in that the polling server is also used to will be by described The promise of the weight information of the voting terminal of authentication is sent to the block chain network;
Then the voting terminal is also used to verify each weight information.
4. electronic voting system as described in claim 1, which is characterized in that the voting terminal is specifically used for according to each described Candidate information carries out ballot and obtains vote information, is encrypted using ElGamal homomorphic cryptography technology to the vote information The encrypted vote is obtained, the encrypted vote is sent to the polling server.
5. electronic voting system as described in claim 1, which is characterized in that the voting terminal is also used to by the encryption Ballot is sent to before the polling server, is signed using the first pre-generated signature private key to the encrypted vote Name, the encrypted vote after being signed;Corresponding first public signature key of first signature private key passes through the polling server It is pre-stored in the block chain network.
6. electronic voting system as described in claim 1, which is characterized in that the polling server is also used to according to Before corresponding encrypted vote is weighted in weight information, oblivious transfer protocol is run with the voting terminal, with Verify the validity of the encrypted vote;
The voting terminal is also used to run the oblivious transfer protocol with the polling server, is thrown with verifying the encryption The correctness of ticket.
7. the electronic voting system as described in claim 1 to 6 any one, which is characterized in that the polling server is also used In corresponding encrypted vote is being weighted according to the weight information, after obtaining the Nearest Neighbor with Weighted Voting, the is generated One non-interactive zero-knowledge proof, and first non-interactive zero-knowledge proof is sent to the block chain network;
Then the count of votes terminal is also used to that calculating is being decrypted to each Nearest Neighbor with Weighted Voting, before obtaining the voting results, First non-interactive zero-knowledge proof is verified.
8. electronic voting system as claimed in claim 7, which is characterized in that the polling server is also used to described to add Power ballot is sent to before the block chain network, is signed using the second pre-generated signature private key to the Nearest Neighbor with Weighted Voting Name, the Nearest Neighbor with Weighted Voting after being signed;Corresponding second public signature key of second signature private key is pre-stored within the block In chain network.
9. electronic voting system as described in claim 1, which is characterized in that the count of votes terminal be also used to it is each it is described plus Calculatings is decrypted in power ballot, after obtaining the voting results, the second non-interactive zero-knowledge proof of generation, and by described the Two non-interactive zero-knowledge proofs are sent to the block chain network.
10. electronic voting system as described in claim 1, which is characterized in that the count of votes terminal is also used to by the throwing Ticket result is sent to before the block chain network, is signed using pre-generated third signature private key to the voting results Name, the voting results after being signed;The corresponding third public signature key of the third signature private key is pre-stored within the block In chain network.
CN201910702695.0A 2019-07-31 2019-07-31 A kind of electronic voting system Pending CN110400410A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910702695.0A CN110400410A (en) 2019-07-31 2019-07-31 A kind of electronic voting system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910702695.0A CN110400410A (en) 2019-07-31 2019-07-31 A kind of electronic voting system

Publications (1)

Publication Number Publication Date
CN110400410A true CN110400410A (en) 2019-11-01

Family

ID=68326878

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910702695.0A Pending CN110400410A (en) 2019-07-31 2019-07-31 A kind of electronic voting system

Country Status (1)

Country Link
CN (1) CN110400410A (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110958107A (en) * 2019-12-05 2020-04-03 全链通有限公司 Electronic voting method, device and storage medium based on block chain
CN110958253A (en) * 2019-12-05 2020-04-03 全链通有限公司 Electronic voting method, device and storage medium based on block chain
CN110995711A (en) * 2019-12-05 2020-04-10 全链通有限公司 Electronic voting method, device and storage medium based on block chain
CN111314095A (en) * 2019-12-05 2020-06-19 全链通有限公司 Electronic voting method, device and storage medium based on block chain
CN111353925A (en) * 2020-02-28 2020-06-30 中国工商银行股份有限公司 Block chain-based fraud prevention system and method
CN111369730A (en) * 2020-02-20 2020-07-03 腾讯科技(深圳)有限公司 Voting processing method and device based on block chain
CN111600721A (en) * 2020-05-26 2020-08-28 牛津(海南)区块链研究院有限公司 Asset management system, method and device based on multi-user voting mechanism
CN111862440A (en) * 2020-08-10 2020-10-30 国网信通亿力科技有限责任公司 Voting system based on block chain technology
CN112466032A (en) * 2020-11-23 2021-03-09 深圳前海微众银行股份有限公司 Electronic voting method and device and electronic equipment
CN112669513A (en) * 2020-12-28 2021-04-16 杭州趣链科技有限公司 Electronic voting system with evaluation function and privacy protection
CN112907811A (en) * 2021-01-29 2021-06-04 山西特信环宇信息技术有限公司 Election system and voting method for cone block chain
CN113850947A (en) * 2020-12-28 2021-12-28 杭州趣链科技有限公司 Electronic voting system based on ElGamal encryption
CN114299656A (en) * 2020-09-23 2022-04-08 成都中科信息技术有限公司 Voting method
CN114299655A (en) * 2020-09-23 2022-04-08 成都中科信息技术有限公司 Electronic voting system and working method thereof
WO2022089420A1 (en) * 2020-10-28 2022-05-05 深圳前海微众银行股份有限公司 Voting method and apparatus based on blockchain

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186936A (en) * 2011-12-27 2013-07-03 上海博泰悦臻电子设备制造有限公司 Management method for network voting and network voting system
CN103345794A (en) * 2013-06-03 2013-10-09 樊杰 Weighted voting scoring method
US20130317891A1 (en) * 2012-05-24 2013-11-28 Rawllin International Inc. Content rating and weighting system
WO2016022864A2 (en) * 2014-08-06 2016-02-11 Blockchain Technologies Corporation System and method for securely receiving and counting votes in an election
CN108053137A (en) * 2017-12-27 2018-05-18 邵美 A kind of block chain intelligence contract sort method
CN108768607A (en) * 2018-05-14 2018-11-06 中钞信用卡产业发展有限公司杭州区块链技术研究院 A kind of voting method, device, equipment and medium based on block chain
CN109559120A (en) * 2018-12-03 2019-04-02 国网电子商务有限公司 Block chain common recognition method, system, storage medium and electronic equipment based on weight
CN109671205A (en) * 2018-09-25 2019-04-23 深圳壹账通智能科技有限公司 Voting method, device, equipment and computer storage medium based on block chain
CN109785494A (en) * 2018-12-21 2019-05-21 暨南大学 Traceable Anonymous Electronic Voting method based on block chain

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186936A (en) * 2011-12-27 2013-07-03 上海博泰悦臻电子设备制造有限公司 Management method for network voting and network voting system
US20130317891A1 (en) * 2012-05-24 2013-11-28 Rawllin International Inc. Content rating and weighting system
CN103345794A (en) * 2013-06-03 2013-10-09 樊杰 Weighted voting scoring method
WO2016022864A2 (en) * 2014-08-06 2016-02-11 Blockchain Technologies Corporation System and method for securely receiving and counting votes in an election
CN108053137A (en) * 2017-12-27 2018-05-18 邵美 A kind of block chain intelligence contract sort method
CN108768607A (en) * 2018-05-14 2018-11-06 中钞信用卡产业发展有限公司杭州区块链技术研究院 A kind of voting method, device, equipment and medium based on block chain
CN109671205A (en) * 2018-09-25 2019-04-23 深圳壹账通智能科技有限公司 Voting method, device, equipment and computer storage medium based on block chain
CN109559120A (en) * 2018-12-03 2019-04-02 国网电子商务有限公司 Block chain common recognition method, system, storage medium and electronic equipment based on weight
CN109785494A (en) * 2018-12-21 2019-05-21 暨南大学 Traceable Anonymous Electronic Voting method based on block chain

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
石润华,仲红,崔杰,许艳,张顺,黄刘生: "具有统计特性的不经意传输协议", 《电子学报》 *

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110958253A (en) * 2019-12-05 2020-04-03 全链通有限公司 Electronic voting method, device and storage medium based on block chain
CN110995711A (en) * 2019-12-05 2020-04-10 全链通有限公司 Electronic voting method, device and storage medium based on block chain
CN111314095A (en) * 2019-12-05 2020-06-19 全链通有限公司 Electronic voting method, device and storage medium based on block chain
CN111314095B (en) * 2019-12-05 2023-01-31 全链通有限公司 Electronic voting method, device and storage medium based on block chain
CN110958107A (en) * 2019-12-05 2020-04-03 全链通有限公司 Electronic voting method, device and storage medium based on block chain
CN111369730B (en) * 2020-02-20 2021-11-02 腾讯科技(深圳)有限公司 Voting processing method and device based on block chain
CN111369730A (en) * 2020-02-20 2020-07-03 腾讯科技(深圳)有限公司 Voting processing method and device based on block chain
CN111353925A (en) * 2020-02-28 2020-06-30 中国工商银行股份有限公司 Block chain-based fraud prevention system and method
CN111353925B (en) * 2020-02-28 2023-04-28 中国工商银行股份有限公司 Block chain-based fraud prevention system and method
CN111600721A (en) * 2020-05-26 2020-08-28 牛津(海南)区块链研究院有限公司 Asset management system, method and device based on multi-user voting mechanism
CN111862440A (en) * 2020-08-10 2020-10-30 国网信通亿力科技有限责任公司 Voting system based on block chain technology
CN114299655A (en) * 2020-09-23 2022-04-08 成都中科信息技术有限公司 Electronic voting system and working method thereof
CN114299656A (en) * 2020-09-23 2022-04-08 成都中科信息技术有限公司 Voting method
CN114299655B (en) * 2020-09-23 2023-09-05 成都中科信息技术有限公司 Electronic voting system and working method thereof
WO2022089420A1 (en) * 2020-10-28 2022-05-05 深圳前海微众银行股份有限公司 Voting method and apparatus based on blockchain
CN112466032B (en) * 2020-11-23 2021-08-17 深圳前海微众银行股份有限公司 Electronic voting method and device and electronic equipment
WO2022105518A1 (en) * 2020-11-23 2022-05-27 深圳前海微众银行股份有限公司 Electronic voting method and device
CN112466032A (en) * 2020-11-23 2021-03-09 深圳前海微众银行股份有限公司 Electronic voting method and device and electronic equipment
CN113850947A (en) * 2020-12-28 2021-12-28 杭州趣链科技有限公司 Electronic voting system based on ElGamal encryption
CN112669513B (en) * 2020-12-28 2022-09-06 杭州趣链科技有限公司 Electronic voting system with evaluation function and privacy protection
CN112669513A (en) * 2020-12-28 2021-04-16 杭州趣链科技有限公司 Electronic voting system with evaluation function and privacy protection
CN113850947B (en) * 2020-12-28 2023-08-29 杭州趣链科技有限公司 Electronic Voting System Based on ElGamal Encryption
CN112907811A (en) * 2021-01-29 2021-06-04 山西特信环宇信息技术有限公司 Election system and voting method for cone block chain

Similar Documents

Publication Publication Date Title
CN110400410A (en) A kind of electronic voting system
CN109785494B (en) Traceable anonymous electronic voting method based on block chain
CN110224993B (en) Responsibility pursuing anonymous electronic voting method and system based on block chain
CN103095453B (en) The Bloom filter of the public key encryption occured simultaneously using privately owned set
CN109840771A (en) A kind of block chain intimacy protection system and its method based on homomorphic cryptography
Damgård Payment systems and credential mechanisms with provable security against abuse by individuals
CN1941699B (en) Cryptographic methods, host system, trusted platform module, and computer arrangement
CN108494738A (en) A kind of rear Quantum Electronics ballot system that can verify that and its implementation
CN108768652A (en) It is a kind of can the attack of anti-quantum alliance's block chain bottom encryption method
Grontas et al. Towards everlasting privacy and efficient coercion resistance in remote electronic voting
CN110113156A (en) A kind of traceable layering authorizes ciphertext policy ABE base authentication method more
CN108712259B (en) Identity-based cloud storage efficient auditing method capable of uploading data by proxy
CN114255034A (en) Electronic voting method capable of verifying fairness based on block chain
Qureshi et al. SeVEP: Secure and verifiable electronic polling system
CN109767218A (en) Block chain certificate processing method and system
KR20060127194A (en) Electronic voting process using fair blind signature
CN113364597A (en) Privacy information proving method and system based on block chain
CN111612961B (en) Electronic voting method for encrypting voter vote information
Fouard et al. Survey on electronic voting schemes
CN108933659A (en) A kind of authentication system and verification method of smart grid
CN108418692B (en) On-line writing method of authentication certificate
CN106375327A (en) Anti-malicious attack proxy secret key mixing-based electronic voting system and method
KR101167647B1 (en) An Electron Vote Symtem
Pan et al. Enhanced name and vote separated E‐voting system: an E‐voting system that ensures voter confidentiality and candidate privacy
CN112422294B (en) Anonymous voting method and device based on ring signature, electronic equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20191101