Electronic voting verification method, device and electronic voting system

Through the combination of grid key generation algorithm and hash function, ring signature technology is used to hide the identity of voters, solving the problems of invisibility and ownership certainty of voting information in traditional electronic voting systems, and achieving anonymous and secure electronic voting process.

CN115967497BActive Publication Date: 2024-12-27JINGDEZHEN CERAMIC UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202211475254.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-23
Publication Date
2024-12-27
Estimated Expiration
2042-11-23

AI Technical Summary

Technical Problem

Traditional electronic voting systems cannot effectively protect voters' privacy data, resulting in the invisibility and ownership certainty of voting information being threatened.

Method used

Using ring signature technology based on grid key generation algorithm, ring signature information is generated through mixed operations of private key and public key, combined with hash function and Gaussian parameters, hidden the true identity of the voter, and upload the signature information to the blockchain Verify to ensure the anonymity and invisibility of voting information.

Benefits of technology

It effectively protects the privacy of electronic voting, prevents quantum computing attacks, ensures the invisibility and ownership certainty of voting information, and realizes the anonymous electronic voting process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115967497B_ABST
    Figure CN115967497B_ABST
Patent Text Reader

Abstract

The present invention provides an electronic voting verification method, device and electronic voting system, including: a voting terminal obtains a private key and identity information of a voter; based on the private key and the identity information, a preset first Hash function is called to generate an identity tag of the current voter; using the private key to sign the identity information calculated by a preset second Hash function to generate voter signature information; obtaining the public keys of all voters in the same voting area and randomly matching Gaussian parameters for all voters; calculating all ring signature information of all voters based on the voter signature information and the Gaussian parameters of all voters; using the preset second Hash function to calculate the public keys of all voters and the corresponding Gaussian parameters to obtain first signature verification information; uploading the electronic voting information including the voter signature information, all ring signature information of all voters, the first signature verification information and the identity tag to a ballot verification terminal, so that the ballot verification terminal can verify the voting results based on the electronic voting information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present invention relate to the field of computer communication security technology, and in particular to an electronic voting verification method, device and electronic voting system. Background Art

[0002] As the volume of data continues to increase and the intrinsic value of data continues to improve, it is particularly important to make full use of the centralized data value in major traditional organizations and give full play to its role as a production factor in the digital economy era. However, traditional data trading platforms, as carriers of data value, have many problems, such as loss of data ownership and leakage of original data information.

[0003] Currently, the electronic voting field is facing the same problem, which poses a huge threat to the protection of voter privacy data. How to conduct electronic voting while ensuring that voting information is invisible and the ownership of voting information is determined has become an urgent problem to be solved. Summary of the invention

[0004] The present application provides an electronic voting verification method, device and electronic voting system to implement electronic voting while ensuring the invisibility of voting information and the determination of ownership of voting information.

[0005] The first aspect of the present invention provides an electronic voting verification method, which is applied to a voting terminal, including: when receiving the voting result of any voter in a target voting area, obtaining the private key and identity information of the voter; based on the private key and identity information, calling a preset first hash function to generate an identity tag of the current voter; using the private key to sign the identity information calculated by a preset second hash function to generate voter signature information; obtaining the public key of each voter among all voters in the same voting area, and randomly matching Gaussian parameters for each voter, wherein the public key and private key of each voter are generated according to a lattice key generation algorithm; based on the voter signature information and the Gaussian parameters of all voters, calculating the ring signature information of all voters; using the preset second hash function to calculate the public keys of all voters and the corresponding Gaussian parameters to obtain first signature verification information; uploading the electronic voting information including the voter signature information, the ring signature information of all people, the first signature verification information, the identity tag and the corresponding voting results to the ballot verification terminal, so that the ballot verification terminal can verify the voting results based on the electronic voting information.

[0006] The electronic voting verification method provided by the embodiment of the present invention is based on the lattice difficulty problem, effectively protects the security of system data, and has anti-quantum computing. By mixing the private key of the electronic voter to be protected with the public keys of other voters in the voting area for ring signature processing, the real identity of the electronic voter and other sensitive information are hidden. The real identity of the electronic voter cannot be obtained during the entire process of electronic voting, realizing an anonymous electronic voting process, ensuring the invisibility of voting information and the determination of ownership of voting information, and well protecting the privacy of electronic voters.

[0007] Optionally, using a preset second hash function to calculate the public keys of all voters and the corresponding Gaussian parameters to obtain first signature verification information, including: generating a random number; using a preset second hash function to calculate the random number, the public keys of all voters and the corresponding Gaussian parameters to obtain first signature verification information.

[0008] Optionally, the electronic voting information includes a random number.

[0009] Optionally, uploading electronic voting information including voter signature information, everyone's ring signature information, first signature verification information, identity tag, and corresponding voting results to the vote verification terminal includes: sending the electronic voting information and the corresponding voting results to at least some of the other voting terminals in the same voting area, so that at least some of the other voting terminals upload the electronic voting information and the corresponding voting results to the vote verification terminal.

[0010] The second aspect of the present invention provides an electronic voting verification method, which is applied to a ballot verification terminal, including: receiving the voting results of any voter and the corresponding electronic voting information, the electronic voting information including the signature information of the current voter, the ring signature information of all persons in the same voting area, the first signature verification information and the identity tag of the current voter, the identity tag of the current voter is obtained by calculating the private key and identity information of the current voter using a preset first hash function, the first signature verification information is obtained by calculating the public key and corresponding Gaussian parameters of all persons in the same voting area using a preset second hash function, wherein the public key and private key of each voter are generated according to a lattice key generation algorithm; using the preset second hash function to calculate the public key, ring signature information and signature information of all persons and the current voter to obtain the second signature verification information; comparing the second signature verification information with the first signature verification information; if the comparison results are consistent, comparing the received identity tag of the voter with the identity tags in other electronic voting information in the same voting area; if the comparison result does not have a repeated identity tag, performing a counting operation on the voting result corresponding to the current electronic voting information; uploading the electronic voting information and the corresponding voting result to the blockchain for storage.

[0011] Optionally, it also includes: receiving a request for verifying electronic voting information, the electronic voting information request including electronic voting identification information; based on the electronic voting identification information, downloading the saved electronic voting information to be verified from the blockchain; and verifying whether the electronic voting information to be verified is legal based on the voter's signature information.

[0012] Optionally, the voting result of any voter and the corresponding electronic voting information are uploaded by other voting terminals in the same voting area.

[0013] The third aspect of the present invention provides an electronic voting system based on blockchain, comprising:

[0014] A voting terminal is used to execute the above-mentioned first aspect and any optional electronic voting verification method of the first aspect; a ballot verification terminal is used to execute the above-mentioned second aspect and any optional electronic voting verification method of the second aspect.

[0015] The fourth aspect of the present invention provides an electronic voting device, which is applied to a voting terminal, including: a first acquisition module, which is used to obtain the private key and identity information of the voter when receiving the voting result of any voter in the target voting area; a first generation module, which is used to call a preset first Hash function to generate an identity tag of the current voter based on the private key and the identity information; a second generation module, which is used to use the private key to sign the identity information calculated by the preset second Hash function to generate the voter signature information; a second acquisition module, which is used to obtain the public key of each voter among all the voters in the same voting area, and randomly match the Gaussian parameters for each voter, The public key and private key of each voter are generated according to the lattice key generation algorithm; the first calculation module is used to calculate the ring signature information of all voters based on the voter signature information and the Gaussian parameters of all voters; the second calculation module is used to use the preset second hash function to calculate the public keys of all voters and the corresponding Gaussian parameters to obtain the first signature verification information; the first upload module is used to upload the electronic voting information including the voter signature information, the ring signature information of all persons, the first signature verification information, the identity tag and the corresponding voting results to the ballot verification terminal, so that the ballot verification terminal can verify the voting results based on the electronic voting information.

[0016] The functions performed by the various components in the electronic voting device provided by the present invention have been applied in the above-mentioned first aspect and any method embodiment of the first aspect, and therefore will not be described in detail here.

[0017] A fifth aspect of the present invention provides an electronic voting device, applied to a vote checking terminal, comprising:

[0018] The first receiving module is used to receive the voting result of any voter and the corresponding electronic voting information, where the electronic voting information includes the signature information of the current voter, the ring signature information of all persons in the same voting area, the first signature verification information and the identity tag of the current voter, where the identity tag of the current voter is obtained by calculating the private key and identity information of the current voter using a preset first hash function, and the first signature verification information is obtained by calculating the public key and corresponding Gaussian parameters of all persons in the same voting area using a preset second hash function, where the public key and private key of each voter are generated according to a lattice key generation algorithm; the third calculating module is used to calculate the public key, ring signature information and signature information of all persons using a preset second hash function to obtain the second signature verification information; the first comparing module is used to compare the second signature verification information with the first signature verification information; the second comparing module is used to compare the identity tag of the received voter with the identity tags in other electronic voting information in the same voting area if the comparison results are consistent; the first counting module is used to count the voting results corresponding to the current electronic voting information if there is no repeated identity tag in the comparison result; the second uploading module is used to upload the electronic voting information and the corresponding voting results to the blockchain for storage.

[0019] The functions performed by the various components in the electronic voting device provided by the present invention have been applied in the above-mentioned second aspect and any method embodiment of the second aspect, and therefore will not be described in detail here.

[0020] The sixth aspect of the present invention provides a computer device, including a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other through the communication bus; the memory is used to store computer programs; the processor is used to implement the steps of the above-mentioned electronic voting verification method when executing the program stored in the memory.

[0021] A seventh aspect of the present invention provides a computer-readable storage medium, which stores computer instructions, and the computer instructions are used to enable a computer to execute the electronic voting verification method provided by the present invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] In order to more clearly illustrate the specific implementation methods of the present invention or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some implementation methods of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0023] Figure 1 A schematic diagram of a flow chart of an electronic voting verification method provided by an embodiment of the present invention;

[0024] Figure 2 A schematic diagram of a flow chart of an electronic voting verification method provided by an embodiment of the present invention;

[0025] Figure 3 A schematic diagram of the structure of an electronic voting system based on blockchain provided by one embodiment of the present invention;

[0026] Figure 4 A schematic diagram of the structure of an electronic voting system based on blockchain provided by one embodiment of the present invention;

[0027] Figure 5 A schematic diagram of the structure of an electronic voting verification method device provided by an embodiment of the present invention;

[0028] Figure 6 A schematic diagram of the structure of an electronic voting verification method device provided by an embodiment of the present invention;

[0029] Figure 7 A schematic diagram of the computer device structure provided in an embodiment of the present invention. DETAILED DESCRIPTION

[0030] In order to make the purpose, technical solution and advantages of the embodiments of the present disclosure clearer, the technical solution of the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings of the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, not all of the embodiments. Based on the described embodiments of the present disclosure, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present disclosure.

[0031] Unless otherwise defined, the technical terms or scientific terms used in the present disclosure should be understood by people with ordinary skills in the field to which the present disclosure belongs. Similar words such as "one", "one" or "the" used in the present disclosure do not indicate a quantitative limitation, but rather indicate the presence of at least one. Similar words such as "include" or "comprise" mean that the element or object appearing before the word covers the element or object listed after the word and its equivalent, without excluding other elements or objects.

[0032] In addition, the technical features involved in the different embodiments of the present invention described below can be combined with each other as long as they do not conflict with each other.

[0033] In view of the technical problems mentioned in the background technology, an embodiment of the present invention provides an electronic voting verification method, which is applied to a voting terminal, such as Figure 1 As shown, the steps of the method include:

[0034] Step S110, when the voting result of any voter in the target voting area is received, the private key and identity information of the voter are obtained.

[0035] For example, suppose that the n voters in the i-th electronic voting area are The private key of the xth voter in the ith electronic voting area is Identity information is in The target voting area is the voting area where the current voter is located among the voting areas pre-divided by the system. Voter's identity information Select or allocate in a preset range according to preset rules. The preset rules may include but are not limited to allocating identity information at fixed intervals in a preset range, or randomly allocating, which is not limited here. Voter's private key It can be generated according to a preset algorithm, such as a lattice key generation algorithm.

[0036] Step S120: Based on the private key and the identity information, a preset first hash function is called to generate an identity tag of the current voter.

[0037] For example, according to the private key of the xth voter in the ith electronic voting area and identity information Generate a linkable tag for this electronic voting, that is, the identity tag of the current voter. Specifically, a first hash function H1 is preset based on the identity information Select The last row vector e n , e n ∈{0,1} m , H1(ID i ) indicates that the preset first hash function H1 is used to solve Then call the preset first hash function H1 to calculate and generate the voter's identity label Among them, H1: Z represents a matrix, the superscript n×m indicates that Z is an n-row and m-column matrix, the parameter q is a prime number, and m and n are integers greater than zero.

[0038] Step S130: Use the private key to sign the identity information calculated by the preset second Hash function to generate voter signature information.

[0039] For example, the private key of the electronic voter in the i-th electronic voting area is used The identity information is processed by the preset second hash function H2. Perform signature operation to generate voter signature information Right now By probability Output the voter's signature information Otherwise, re-sign the algorithm. Signature information It can be used as traceability information of voters so that the true identity of voters can be traced when questioned. is the preset Gaussian distribution, σ and m are parameters, and M is a random number.

[0040] Step S140, obtaining the public key of each voter among all voters in the same voting area, and randomly matching Gaussian parameters for each voter, wherein the public key and private key of each voter are generated according to a lattice key generation algorithm.

[0041] For example, from a Gaussian distribution In the ith electronic voting area, a Gaussian parameter is randomly selected for each voter j among all voters in the i-th electronic voting area. Where j = 1, 2, ..., n, n is the total number of voters in the voting area, and i indicates that the voter belongs to the i-th electronic voting area.

[0042] The lattice key generation algorithm includes: selecting a collision-resistant hash function:

[0043] Preset first hash function: H1:

[0044] Preset second hash function: H2:

[0045] The voting terminal key distribution center first uses the trapdoor generation algorithm TrapGen(q,n) to output a matrix in a probabilistic polynomial time PPT Harmony ⊥ A trapdoor lattice corresponding to (A,q) And A satisfies The upper uniform distribution cannot be distinguished, and the lattice basis S satisfies with an absolute advantage Choose random and independent vectors Then output the common parameters The secret master key is S.

[0046] Enter common parameters Master key S and Gaussian parameters Run the pre-image sampling algorithm The lattice key generation algorithm can output an electronic voter ID in a ring set within a probabilistic polynomial time PPT. x The public and private key pair is and Satisfied in The upper uniform distribution cannot distinguish Where n is a security parameter, parameter q is a prime number, m and n are integers greater than zero, λ is a real number greater than zero, satisfying: q = poly(n), l = logq, m ≥ 5nlgq, σ=12sλm. Where D represents a distribution, Λ ⊥ (A,q) represents a grid, represents a distribution based on the lattice, T is the lattice basis matrix, and ω is a real number greater than zero.

[0047] It should be noted that in this embodiment, the Gaussian parameter s and the Gaussian parameter It obeys different Gaussian distributions. In practice, the corresponding Gaussian distribution can be adaptively selected according to needs, and there is no restriction here. By generating the public key and private key of each voter according to the lattice key generation algorithm, this encryption method has quantum computing resistance, realizes the anonymous electronic voting process, and provides quantum security for the system.

[0048] Assume that there are n voters in the ith electronic voting area, and the public-private key pairs of other voters in the ith electronic voting area are and identity Where j = 1, 2, ..., n, and the method for generating user private keys and identity information in other electronic voting areas is the same as above.

[0049] Step S150: Calculate the ring signature information of all voters based on the voter signature information and the Gaussian parameters of all voters.

[0050] For example, the signature information of the voter in the i-th electronic voting area is used and the Gaussian parameters of each voter in the voting area Calculate the ring signature information of all voters in the i-th electronic voting area Specifically, real electronic voters The ring signature information is signed with its own private key Signed message The ring signature information of other voters is not generated by their own private keys

[0051] Step S160: Calculate the public keys of all voters and the corresponding Gaussian parameters using a preset second hash function to obtain first signature verification information.

[0052] Exemplarily, the first signature verification message u is calculated using the public keys of all voters in the i-th electronic voting area. Specifically,

[0053] Step S170, uploading the electronic voting information including the voter's signature information, the ring signature information of all persons, the first signature verification information, the identity tag, and the corresponding voting results to the ballot verification terminal, so that the ballot verification terminal can verify the voting results based on the electronic voting information.

[0054] For example, the ring signature information of all voters in the i-th electronic voting area Identity Tags Electronic voter's signature information and the electronic voting information of the first signature verification information u The electronic voting and verification terminals are packaged together and sent to the electronic voting and verification terminals for verification, so that the verification terminals can verify the voting results based on the electronic voting information. The specific verification method can be that the verification terminal compares the received identity tag with the identity tag received and stored historically to verify whether the same voter has voted repeatedly; it can also be based on the signature information of the voter to verify whether the identity of the voter is legal, etc. The embodiment of the present application does not limit the method of verifying the voting results based on the electronic voting information, and those skilled in the art can determine it according to actual needs.

[0055] Finally, the entire electronic voting process of the x-th voter in the ith electronic voting area is completed. The electronic voting process of all electronic voters in the ith electronic voting area and other constituencies is the same as above and will not be repeated here.

[0056] The electronic voting verification method provided by the embodiment of the present invention is based on the lattice difficulty problem, effectively protects the security of system data, and has anti-quantum computing. By mixing the private key of the electronic voter to be protected with the public keys of other voters in the voting area for ring signature processing, the real identity of the electronic voter and other sensitive information are hidden. The real identity of the electronic voter cannot be obtained during the entire process of electronic voting, realizing an anonymous electronic voting process, ensuring the invisibility of voting information and the determination of ownership of voting information, and well protecting the privacy of electronic voters.

[0057] As an optional implementation of the present invention, step S160 includes:

[0058] Step S210, generating a random number.

[0059] Exemplarily, the voting terminal may generate a random number M by using a random number generation function, such as a hash function.

[0060] Step S220: Utilize a preset second hash function to calculate the random number, the public keys of all voters, and the corresponding Gaussian parameters to obtain first signature verification information.

[0061] Exemplarily, the first signature verification message u is calculated using the public keys of all voters in the i-th electronic voting area and the random number M. Specifically,

[0062] The electronic voting verification method provided by the embodiment of the present invention increases the confidentiality of electronic voting by taking a random number as one of the parameters for generating a signature verification message.

[0063] As an optional implementation of the present invention, the electronic voting information includes a random number.

[0064] For example, the voting terminal will contain the ring signature information of all voters in the i-th electronic voting area Identity Tags Random number M, signature information of the electronic voter and the electronic voting information of the first signature verification information u The electronic voting information is packaged together and sent to the electronic voting verification terminal for verification, so that the verification terminal can verify the voting results based on the electronic voting information.

[0065] As an optional implementation of the present invention, step S170 includes: sending the electronic voting information and the corresponding voting results to at least some of the other voting terminals in the same voting area, so that at least some of the other voting terminals upload the electronic voting information and the corresponding voting results to the ballot verification terminal.

[0066] Exemplarily, some of the voting terminals may include at least one other electronic voting terminal other than the current voting terminal, which is at most less than the total number of all other electronic voting terminals. The other electronic voting terminals in the i-th electronic voting area may be one or more and simultaneously send the electronic voting information to the electronic voting recipient for verification.

[0067] The electronic voting verification method provided by the embodiment of the present invention increases the confidentiality of electronic voting and protects the privacy of electronic voters by uploading the electronic voting information of the current electronic voting terminal to the ballot verification terminal through other electronic voting terminals in the same voting area.

[0068] The embodiment of the present invention provides an electronic voting verification method, which is applied to a ballot verification terminal, such as Figure 2 As shown, the steps of the method include:

[0069] Step S410, receiving the voting result of any voter and the corresponding electronic voting information, the electronic voting information includes the signature information of the current voter, the ring signature information of all persons in the same voting area, the first signature verification information and the identity tag of the current voter, the identity tag of the current voter is obtained by calculating the private key and identity information of the current voter using a preset first hash function, the first signature verification information is obtained by calculating the public key and corresponding Gaussian parameters of all persons in the same voting area using a preset second hash function, wherein the public key and private key of each voter are generated according to the lattice key generation algorithm.

[0070] In this embodiment, step S410 is similar to steps S120 to S170 in the above embodiment, and will not be described in detail here.

[0071] Step S420: Calculate the public key, ring signature information and signature information of the current voter by using the preset second hash function to obtain second signature verification information.

[0072] For example, when the electronic voting recipient receives the electronic voting information from the xth voter in the ith electronic voting area, it first uses the public keys of all voters in the ith electronic voting area and the ring signature information of all voters in the ith electronic voting area to Calculate the second signature verification information u'. Specifically, take the electronic voting information as For example, based on the ring signature information u received by the electronic voting and verification terminal, the ring signature information of all voters in the i-th electronic voting area Signature Information and the public keys of all voters in the i-th electronic voting area j=1,2,…,n,calculate:

[0073]

[0074] Step S430: compare the second signature verification information with the first signature verification information.

[0075] Exemplarily, the calculated second signature verification information u' is verified to be equal to the first signature verification information u in the received electronic voting information, that is:

[0076] Step S440: If the comparison result is consistent, the received voter's identity tag is compared with the identity tags in other electronic voting information in the same voting area.

[0077] For example, if u'=u, the ring signature of the xth voter in the ith electronic voting area is verified. Then the electronic voting verification terminal uses the voter's identity tag in the electronic voting information To verify whether it is a repeated electronic vote by the same voter. Specifically, the identity tag of the voter in the electronic voting information received in the i-th electronic voting area and other electronic voting identity tags in the stored electronic voting area i Make a comparison.

[0078] Step S450: If there is no duplicate identity tag in the comparison result, a counting operation is performed on the voting result corresponding to the current electronic voting information.

[0079] For example, if It means that there is no duplication in the electronic voting, the electronic voting result is valid, and it is not cast by the same electronic voter. Then the validity of the electronic vote of the x-th voter in the ith electronic voting area is verified and the votes are counted.

[0080] like If it indicates that the electronic vote is a duplicate vote of a previous voter, the duplicate and invalid electronic voting information will be discarded.

[0081] Step S460: Upload the electronic voting information and the corresponding voting results to the blockchain for storage.

[0082] Exemplarily, the blockchain stores the electronic voting information sent by the electronic voting and ballot verification terminal, which is mainly used to record the original information of the electronic voting, to prevent illegal voters or attackers from tampering with the electronic voting data, thereby causing inconsistency and unreliability in the electronic voting.

[0083] The electronic voting verification method provided in the embodiment of the present invention verifies the legitimacy of the vote and whether it is a repeated electronic vote by the same voter by performing ring signature information on the received electronic voting information and the identity tag in the electronic voting information, thereby ensuring the legitimacy and fairness of the vote.

[0084] As an optional embodiment of the present invention, it also includes:

[0085] Step S510: receiving a request for verifying electronic voting information, wherein the electronic voting information request includes electronic voting identification information.

[0086] Exemplarily, the electronic voting identification information may include, but is not limited to, the electronic voting number and the blockchain storage location. The electronic voting number is generated by the voting terminal in response; the blockchain storage location may be generated when the electronic voting information is uploaded to the blockchain for storage. Specifically, taking the electronic voting identification information as the electronic voting number as an example, the voting terminal may calculate the electronic voting information through a preset number generation function to obtain the electronic voting number; or the voting terminal may also automatically generate it through a number generator, which is not limited here. If the electronic voting information is questioned, you can seek help from the electronic voting verification terminal and upload the electronic voting number of the questioned electronic voting information.

[0087] Step S520, based on the electronic voting identification information, download the electronic voting information to be verified from the blockchain.

[0088] Exemplarily, the vote verification terminal downloads the electronic voting information to be verified from the blockchain based on the electronic voting identification information.

[0089] Step S530: Verify whether the electronic voting information to be verified is legal based on the voter's signature information.

[0090] For example, the signature information of the voter in the electronic voting information is used The voter is tracked to verify whether his / her identity is legitimate. If the signature verification is passed, it means that the electronic vote can only be legally cast by the xth voter in the ith electronic voting area. It is signed with the private key of the xth voter in the ith electronic voting area, so no other electronic voter can generate signature information except the xth voter in the ith electronic voting area. The voter's signature information has the traceability and anti-counterfeiting properties of the voter's real identity.

[0091] In the electronic voting verification method provided by the embodiment of the present invention, the blockchain saves the electronic voting information sent by the electronic voting verification terminal, which is mainly used to record the original information of the electronic voting, to prevent illegal voters or attackers from tampering with the electronic voting data, thereby causing the electronic voting to be inconsistent and unreliable. When the electronic voting information is questioned, the voter's signature information in the information is used to track the voter's real identity to verify whether his identity is legal, thereby achieving the traceability and anti-counterfeiting of the electronic voting.

[0092] As an optional implementation manner of the present invention, the voting result of any voter and the corresponding electronic voting information are uploaded by other voting terminals in the same voting area.

[0093] In this embodiment, the description of the corresponding parts is similar to that in the above embodiments and will not be repeated here.

[0094] The embodiment of the present invention provides an electronic voting system based on blockchain, such as Figure 3 As shown, including:

[0095] The voting terminal 710 is used to execute any electronic voting verification method applied to the voting terminal.

[0096] The vote verification terminal 720 is used to execute any electronic voting verification method applied to the vote verification terminal. The vote verification terminal can be a vote counting center, or both the vote verification terminal and the vote counting center are nodes in the blockchain network.

[0097] Based on the grid difficulty problem, the security of blockchain system data is effectively protected and resistant to quantum computing. Figure 4 As shown, the functions performed by each component of the blockchain-based electronic voting system provided in this embodiment have been applied in the above method embodiments, so they will not be repeated here.

[0098] Figure 5 An electronic voting device provided in an embodiment of the present invention is applied to a voting terminal, comprising:

[0099] The first acquisition module 810 is used to acquire the private key and identity information of any voter in the target voting area upon receiving the voting result of any voter in the target voting area. For details, please refer to the description of step S110 in the above embodiment, which will not be repeated here.

[0100] The first generation module 820 is used to call a preset first Hash function to generate the identity tag of the current voter based on the private key and the identity information. For details, please refer to the description of step S120 in the above embodiment, which will not be repeated here.

[0101] The second generation module 830 is used to use the private key to perform a signature operation on the identity information calculated by the preset second Hash function to generate voter signature information. For details, please refer to the description of step S130 in the above embodiment, which will not be repeated here.

[0102] The second acquisition module 840 is used to obtain the public key of each voter in the same voting area and randomly match Gaussian parameters for each voter, wherein the public key and private key of each voter are generated according to the lattice key generation algorithm. For details, please refer to the description of step S140 in the above embodiment, which will not be repeated here.

[0103] The first calculation module 850 is used to calculate the ring signature information of all voters based on the voter signature information and the Gaussian parameters of all voters. For details, please refer to the description of step S150 in the above embodiment, which will not be repeated here.

[0104] The second calculation module 860 is used to calculate the public keys of all voters and the corresponding Gaussian parameters using a preset second hash function to obtain the first signature verification information. For details, please refer to the description of step S160 in the above embodiment, which will not be repeated here.

[0105] The first upload module 870 is used to upload the electronic voting information including the voter's signature information, the ring signature information of all persons, the first signature verification information, the identity tag, and the corresponding voting results to the vote verification terminal, so that the vote verification terminal can verify the voting results based on the electronic voting information. For details, please refer to the description of step S170 in the above embodiment, which will not be repeated here.

[0106] As an optional implementation device of the present invention, the second calculation module 860 includes:

[0107] The first generating submodule is used to generate a random number. For details, please refer to the description of step S210 in the above embodiment, which will not be repeated here.

[0108] The first calculation submodule is used to calculate the random number, the public keys of all voters and the corresponding Gaussian parameters using the preset second hash function to obtain the first signature verification information. For details, please refer to the description of step S220 in the above embodiment, which will not be repeated here.

[0109] As an optional implementation device of the present invention, it includes: the electronic voting information includes a random number.

[0110] As an optional implementation device of the present invention, it includes:

[0111] The third uploading module is used to send the electronic voting information and the corresponding voting results to at least some of the other voting terminals in the same voting area, so that at least some of the other voting terminals upload the electronic voting information and the corresponding voting results to the ballot verification terminal. For details, please refer to the description of the corresponding part of the above embodiment, which will not be repeated here.

[0112] Figure 6 An electronic voting device provided in an embodiment of the present invention is applied to a ballot verification terminal, comprising:

[0113] The first receiving module 910 is used to receive the voting result of any voter and the corresponding electronic voting information, the electronic voting information includes the signature information of the current voter, the ring signature information of all persons in the same voting area, the first signature verification information and the identity tag of the current voter, the identity tag of the current voter is obtained by calculating the private key and identity information of the current voter using the preset first hash function, the first signature verification information is obtained by calculating the public key and corresponding Gaussian parameters of all persons in the same voting area using the preset second hash function, wherein the public key and private key of each voter are generated according to the lattice key generation algorithm. For details, please refer to the description of step S410 in the above embodiment, which will not be repeated here.

[0114] The third calculation module 920 is used to calculate the public key, ring signature information and signature information of the current voter by using the preset second hash function to obtain the second signature verification information. For details, please refer to the description of step S420 in the above embodiment, which will not be repeated here.

[0115] The first comparison module 930 is used to compare the second signature verification information with the first signature verification information. For details, please refer to the description of step S430 in the above embodiment, which will not be repeated here.

[0116] The second comparison module 940 is used to compare the received voter's identity tag with the identity tags in other electronic voting information in the same voting area if the comparison results are consistent. For details, please refer to the description of step S440 in the above embodiment, which will not be repeated here.

[0117] The first vote counting module 950 is used to count the voting results corresponding to the current electronic voting information if there is no duplicate identity tag in the comparison result. For details, please refer to the description of step S450 in the above embodiment, which will not be repeated here.

[0118] The second uploading module 960 is used to upload the electronic voting information and the corresponding voting results to the blockchain for storage. For details, please refer to the description of step S460 in the above embodiment, which will not be repeated here.

[0119] As an optional implementation device of the present invention, it also includes:

[0120] The second receiving module is used to receive a request for verifying electronic voting information, wherein the electronic voting information request includes electronic voting identification information. For details, please refer to the description of step S510 in the above embodiment, which will not be repeated here.

[0121] The first download module is used to download the electronic voting information to be verified from the blockchain based on the electronic voting identification information. For details, please refer to the description of step S520 in the above embodiment, which will not be repeated here.

[0122] The first verification module is used to verify whether the electronic voting information to be verified is legal according to the voter's signature information. For details, please refer to the description of step S530 in the above embodiment, which will not be repeated here.

[0123] As an optional implementation device of the present invention, it includes:

[0124] The second receiving module is used for any voter's voting result and the corresponding electronic voting information uploaded by other voting terminals in the same voting area. For details, please refer to the description of the corresponding part in the above embodiment, which will not be repeated here.

[0125] An embodiment of the present invention provides a computer device, such as Figure 7 As shown, the device includes one or more processors 1010 and a memory 1020, and the memory 1020 includes a persistent memory, a volatile memory, and a hard disk. Figure 7 A processor 1010 is taken as an example. The device may further include: an input device 1030 and an output device 1040.

[0126] The processor 1010, the memory 1020, the input device 1030 and the output device 1040 may be connected via a bus or other means. Figure 7 The example of connecting through bus is taken in the following.

[0127] Processor 1010 may be a central processing unit (CPU). Processor 1010 may also be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, or combinations of the above chips. A general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc. Memory 1020 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the electronic voting verification method device, etc. In addition, memory 1020 may include a high-speed random access memory, and may also include a non-transitory memory, such as at least one disk storage device, a flash memory device, or other non-transitory solid-state storage device. In some embodiments, memory 1020 may optionally include a memory remotely arranged relative to processor 1010, and these remote memories may be connected to the electronic voting verification method device via a network. The input device 1030 can receive a calculation request (or other digital or character information) input by a user, and generate key signal input related to the electronic voting verification method device. The output device 1040 can include a display device such as a display screen to output the calculation result.

[0128] The embodiment of the present invention provides a computer-readable storage medium, which stores computer instructions, and the computer storage medium stores computer executable instructions, and the computer executable instructions can execute the electronic voting verification method in any of the above method embodiments. Among them, the storage medium can be a disk, an optical disk, a read-only memory (ROM), a random access memory (RAM), a flash memory (Flash Memory), a hard disk (HDD) or a solid-state drive (SSD), etc.; the storage medium can also include a combination of the above types of memory.

[0129] The logic and / or steps represented in the flowchart or otherwise described herein, for example, may be considered as an ordered list of executable instructions for implementing logical functions, and may be embodied in any computer-readable storage medium for use by an instruction execution system, apparatus, or device (such as a computer-based system, a system including a processor, or other system that can fetch instructions from an instruction execution system, apparatus, or device and execute instructions), or in conjunction with such instruction execution system, apparatus, or device. For purposes of this specification, "computer-readable storage medium" may be any device that can contain, store, communicate, propagate, or transmit a program for use by an instruction execution system, apparatus, or device, or in conjunction with such instruction execution system, apparatus, or device. More specific examples of computer-readable storage media (a non-exhaustive list) include the following: an electrical connection with one or more wirings (electronic devices), a portable computer disk case (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber device, and a portable compact disc read-only memory (CDROM). In addition, the computer-readable storage medium may even be paper or other suitable medium on which the program is printed, since the program may be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, deciphering or, if necessary, processing in another suitable manner, and then stored in a computer memory.

[0130] It should be understood that the various parts of the present disclosure can be implemented by hardware, software, firmware or a combination thereof. In the above-mentioned embodiments, multiple steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented by hardware, as in another embodiment, it can be implemented by any one of the following technologies known in the art or their combination: a discrete logic circuit having a logic gate circuit for implementing a logic function for a data signal, a dedicated integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.

[0131] In the description of this specification, the description with reference to the terms "this embodiment", "one embodiment", "some embodiments", "example", "specific example", or "some examples" etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present disclosure. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in a suitable manner in any one or more embodiments or examples. In addition, those skilled in the art may combine and combine the different embodiments or examples described in this specification and the features of the different embodiments or examples, unless there is any contradiction. In the description of the present disclosure, the meaning of "multiple" is at least two, such as two, three, etc., unless otherwise clearly and specifically defined.

[0132] Obviously, the above embodiments are merely examples for the purpose of clear explanation, and are not intended to limit the implementation methods. For those skilled in the art, other different forms of changes or modifications can be made based on the above description. It is not necessary and impossible to list all the implementation methods here. The obvious changes or modifications derived from these are still within the scope of protection of the invention.

Claims

1. An electronic voting verification method, applied to a voting terminal, characterized in that: include: When receiving the voting result of any voter in the target voting area, obtain the private key and identity information of the voter; Based on the private key and the identity information, calling a preset first hash function to generate an identity tag of the current voter; Using the private key to sign the identity information calculated by the preset second Hash function, to generate voter signature information; Obtain the public key of each voter in the same voting area, and randomly match Gaussian parameters for each voter, wherein the public key and private key of each voter are generated according to the lattice key generation algorithm; Calculate the ring signature information of all voters based on the voter signature information and the Gaussian parameters of all voters; Using the preset second Hash function to calculate the public keys of all the voters and the corresponding Gaussian parameters to obtain the first signature verification information, including: generating a random number; using the preset second Hash function to calculate the random number, the public keys of all the voters and the corresponding Gaussian parameters to obtain the first signature verification information; The electronic voting information including the voter's signature information, everyone's ring signature information, the first signature verification information, the identity tag, and the corresponding voting results are uploaded to the ballot verification terminal, so that the ballot verification terminal verifies the voting results based on the electronic voting information, including: sending the electronic voting information and the corresponding voting results to at least some of the other voting terminals in the same voting area, so that at least some of the other voting terminals upload the electronic voting information and the corresponding voting results to the ballot verification terminal, wherein the electronic voting information includes the random number.

2. An electronic voting verification method, applied to a ballot verification terminal, characterized in that: include: Receive the voting result of any voter and the corresponding electronic voting information, wherein the electronic voting information includes the signature information of the current voter, the ring signature information of all persons in the same voting area, the first signature verification information and the identity tag of the current voter, wherein the identity tag of the current voter is obtained by calculating the private key and identity information of the current voter using a preset first hash function, and the first signature verification information is obtained by calculating the public key and corresponding Gaussian parameters of all persons in the same voting area using a preset second hash function, wherein the public key and private key of each voter are generated according to a lattice key generation algorithm, wherein the voting result of any voter and the corresponding electronic voting information are uploaded by other voting terminals in the same voting area; Calculate the public key, ring signature information and signature information of the current voter by using the preset second hash function to obtain second signature verification information; comparing the second signature verification information with the first signature verification information; If the comparison result is consistent, the received voter's identity tag is compared with the identity tags in other electronic voting information in the same voting area; If there is no duplicate identity tag in the comparison result, the voting result corresponding to the current electronic voting information is counted; Upload the electronic voting information and the corresponding voting results to the blockchain for storage; receiving a request for verifying electronic voting information, wherein the electronic voting information request includes electronic voting identification information; Based on the electronic voting identification information, download the electronic voting information to be verified from the blockchain; Based on the voter's signature information, verify whether the electronic voting information to be verified is legal.

3. A blockchain-based electronic voting system, characterized in that: include: A voting terminal, used to execute the electronic voting verification method as claimed in claim 1; A ballot verification terminal, used to execute the electronic voting verification method as described in claim 2.

4. An electronic voting device, applied to a voting terminal, the electronic voting device is used to implement the electronic voting verification method according to claim 1, characterized in that: include: A first acquisition module is used to obtain the private key and identity information of any voter in the target voting area upon receiving the voting result of the voter; A first generating module, configured to call a preset first hash function to generate an identity tag of the current voter based on the private key and the identity information; A second generation module is used to use the private key to perform a signing operation on the identity information calculated by the preset second Hash function to generate voter signature information; The second acquisition module is used to obtain the public key of each voter among all voters in the same voting area, and randomly match Gaussian parameters for each voter, wherein the public key and private key of each voter are generated according to the lattice key generation algorithm; A first calculation module, configured to calculate the ring signature information of all voters based on the voter signature information and the Gaussian parameters of all voters; A second calculation module, configured to calculate the public keys of all the voters and the corresponding Gaussian parameters using the preset second hash function to obtain first signature verification information; The first uploading module is used to upload the electronic voting information including the voter's signature information, the ring signature information of all persons, the first signature verification information, the identity tag, and the corresponding voting results to the ballot verification terminal, so that the ballot verification terminal can verify the voting results based on the electronic voting information.

5. An electronic voting device, applied to a vote verification terminal, the electronic voting device is used to implement the electronic voting verification method according to claim 2, characterized in that: include: A first receiving module is used to receive the voting result of any voter and the corresponding electronic voting information, wherein the electronic voting information includes the signature information of the current voter, the ring signature information of all persons in the same voting area, the first signature verification information and the identity tag of the current voter, wherein the identity tag of the current voter is obtained by calculating the private key and identity information of the current voter using a preset first hash function, and the first signature verification information is obtained by calculating the public key and corresponding Gaussian parameters of all persons in the same voting area using a preset second hash function, wherein the public key and private key of each voter are generated according to a lattice key generation algorithm; A third calculation module is used to calculate the public key, ring signature information and signature information of the current voter by using the preset second hash function to obtain second signature verification information; A first comparison module, used to compare the second signature verification information with the first signature verification information; A second comparison module is used to compare the received voter's identity tag with the identity tags in other electronic voting information in the same voting area if the comparison results are consistent; The first vote counting module is used to count the voting results corresponding to the current electronic voting information if there is no duplicate identity tag in the comparison result; The second uploading module is used to upload the electronic voting information and the corresponding voting results to the blockchain for storage.

6. A computer device, characterized in that: It includes a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other through the communication bus; Memory, used to store computer programs; A processor is used to implement the steps of the electronic voting verification method described in any one of claims 1-2 when executing a program stored in a memory.

7. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the electronic voting verification method as described in any one of claims 1-2 are implemented.