CN109903450B - Electronic voting method and system - Google Patents

Electronic voting method and system Download PDF

Info

Publication number
CN109903450B
CN109903450B CN201910241739.4A CN201910241739A CN109903450B CN 109903450 B CN109903450 B CN 109903450B CN 201910241739 A CN201910241739 A CN 201910241739A CN 109903450 B CN109903450 B CN 109903450B
Authority
CN
China
Prior art keywords
voting
module
information
identification code
signature information
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.)
Active
Application number
CN201910241739.4A
Other languages
Chinese (zh)
Other versions
CN109903450A (en
Inventor
易海博
聂哲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Polytechnic
Original Assignee
Shenzhen Polytechnic
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 Shenzhen Polytechnic filed Critical Shenzhen Polytechnic
Priority to CN201910241739.4A priority Critical patent/CN109903450B/en
Publication of CN109903450A publication Critical patent/CN109903450A/en
Application granted granted Critical
Publication of CN109903450B publication Critical patent/CN109903450B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The embodiment of the invention discloses an electronic voting method and an electronic voting system. The electronic voting method includes, for example: initiating a voting step, a voting signature step, a voting verification step and a voting storage step. The electronic voting method provided by the embodiment of the invention realizes anonymity, non-tamper property and non-repudiation of voting based on the block chain.

Description

Electronic voting method and system
Technical Field
The present invention relates to the field of voting technologies, and in particular, to an electronic voting method and an electronic voting system.
Background
The electronic voting system refers to a method of electronically voting and counting the number of votes. Different from other types of voting, the following are: the electronic voting is established on a network voting system, and the voting result is completely output by a program without manual participation. Without human intervention, however, the voting results are likely to be exploited by hackers. The technical content of the electronic voting system is not high, the verification capability of continuous voting is weak, and continuous voting can be easily realized and the voting result can be cheated as long as a hacker grasps the principle. Existing electronic voting systems often involve fraud, fraud ballot, and other security problems that severely prevent the electronic voting system from being widely used.
Disclosure of Invention
In order to solve the above-mentioned deficiencies of the prior art, the present invention provides an electronic voting method and an electronic voting system.
In order to achieve the above object, an embodiment of the present invention provides an electronic voting system suitable for being applied in an electronic voting system including a voting module, a voting management module, a password saving module, and a block generating module, including: initiating a voting step: the voting module acquires the identification code and the voting list sent by the voting management module; the voting module generates a decryption private key and calculates a corresponding encryption public key according to the decryption private key; the voting module reserves the decryption private key, sends the encrypted public key to the voting management module, and stores the encrypted public key in a password storage module; the voting module carries out voting according to the voting list to obtain voting information and voting time; voting and signing: the voting module calculates to obtain a first hash value according to the identification code, the voting time and the voting information; the voting module signs the first hash value by using the decryption private key to obtain signature information; the voting module sends the identification code, the voting information, the voting time and the signature information to the voting management module; and (3) voting verification step: the voting management module acquires the encrypted public key from the password storage module and verifies the signature information according to the encrypted public key to obtain verified signature information; the voting management module calculates a second hash value according to the identification code, the voting information and the voting time; the voting management module compares the verified signature information with the second hash value; after the verified signature information is compared with the second hash value and is the same, the identification code, the voting information, the voting time and the signature information are sent to the block generation module; and (4) voting preservation: and the block generation module generates a new block according to the identification code, the voting information, the voting time and the signature information and adds the new block into a block chain.
In one embodiment of the invention, the identification code is a unique identification associated with the voting module.
In one embodiment of the invention, the decryption private key is a string of characters randomly generated in a non-zero natural number.
In an embodiment of the present invention, the signing the first hash value with the decryption private key to obtain signature information includes: and signing the first hash value by using the decryption private key based on elliptic curve cryptography to obtain the signature information.
In one embodiment of the invention, the new block comprises: the identification code, the voting information, the signature information, the voting time, and a last chunk hash value in the chunk chain.
In addition, an embodiment of the present invention provides an electronic voting system, including: the system comprises a voting management module, a voting module, a password storage module and a block generation module, wherein the voting module, the password storage module and the block generation module are respectively connected with the voting management module; wherein the voting module is configured to: acquiring the identification code and the voting list sent by the voting management module; generating a decryption private key, and calculating according to the decryption private key to obtain a corresponding encryption public key; the decryption private key is reserved, the encrypted public key is sent to the voting management module, and the voting management module stores the encrypted public key to a password storage module; voting according to the voting list to obtain voting information and voting time; calculating to obtain a first hash value according to the identification code, the voting time and the voting information; signing the first hash value by using the decryption private key to obtain signature information; sending the identification code, the voting information, the voting time and the signature information to the voting management module; the voting management module is used for: receiving the identification code, the voting information, the voting time, and the signature information transmitted by the voting module; acquiring the encrypted public key from the password storage module, and verifying the signature information according to the encrypted public key to obtain verified signature information; calculating to obtain a second hash value according to the identification code, the voting information and the voting time; comparing the verified signature information with the second hash value; after the verified signature information is compared with the second hash value and is the same, the identification code, the voting information, the voting time and the signature information are sent to the block generation module; and the block generation module is used for generating a new block according to the identification code, the voting information, the voting time and the signature information and adding the new block into a block chain.
In an embodiment of the present invention, the electronic voting system further includes: the data storage module is connected with the voting management module; the voting management module is further configured to periodically access and count voting information of all blocks in the block chain to obtain voting data, and store the voting data in the data storage module.
In one embodiment of the invention, the new block comprises: the identification code, the voting information, the signature information, the voting time, and a last chunk hash value in the chunk chain.
In one embodiment of the invention, the voting module is further configured to revoke the voting information within a voting deadline.
In one embodiment of the invention, the identification code is a unique identification associated with the voting module; the decryption private key is a character string randomly generated in a non-zero natural number; the password storage module is a first distributed database; the data storage module is a second distributed database.
The technical scheme can have the following advantages or beneficial effects: the electronic voting system provided by the embodiment of the invention is an electronic voting system realized based on the block chain, can perform open electronic voting, realizes anonymity, non-tamper property and non-repudiation property of voting based on the block chain, can support large-scale electronic voting, and has higher security level.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
FIG. 1 is a schematic structural diagram of an electronic voting system according to a first embodiment of the present invention;
FIG. 2 is a schematic view of another embodiment of an electronic voting system according to the present invention;
FIG. 3 is a schematic structural diagram of a new block 161 in the electronic voting system according to the first embodiment of the present invention;
FIGS. 4 a-4 c are schematic diagrams of an embodiment of an electronic voting system according to a first embodiment of the present invention;
FIG. 5 is a flowchart illustrating an electronic voting method according to a second embodiment of the present invention;
FIG. 6 is a flowchart of the electronic voting method step S31 according to the second embodiment of the present invention;
FIG. 7 is a flowchart of the electronic voting method step S32 according to the second embodiment of the present invention;
FIG. 8 is a flowchart of the electronic voting method step S33 according to the second embodiment of the present invention;
fig. 9 is a flowchart of the electronic voting method step S34 according to the second embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
It should be noted that the terms "first," "second," and the like in the description and claims of the present invention and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the terms so used are interchangeable under appropriate circumstances such that the embodiments of the invention described herein are, for example, capable of operation in sequences other than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
[ first embodiment ] A method for manufacturing a semiconductor device
Referring to fig. 1, a first embodiment of the present invention provides an electronic voting system. As shown in fig. 1, the electronic voting system 10 includes, for example: a voting module 11, a voting management module 12, a password saving module 13 and a block generating module 14. The voting management module 12 is connected to the voting module 11, the password saving module 12 and the block generating module 14.
Specifically, the voting module 11 is configured to:
acquiring the identification code and the voting list sent by the voting management module 12;
generating a decryption private key, and calculating according to the decryption private key to obtain a corresponding encryption public key;
the decryption private key is reserved, the encrypted public key is sent to the voting management module 12, and the voting management module 12 stores the encrypted public key into the password storage module 13;
voting according to the voting list to obtain voting information and voting time;
calculating to obtain a first hash value according to the identification code, the voting time and the voting information;
signing the first hash value by using the decryption private key to obtain signature information;
the identification code, the voting information, the voting time and the signature information are sent to the voting management module 12.
The voting management module 12 is configured to:
receiving the identification code, the voting information, the voting time and the signature information sent by the voting module 11, obtaining the encrypted public key from the password storage module 13, and verifying the signature information according to the encrypted public key to obtain verified signature information;
calculating to obtain a second hash value according to the identification code, the voting information and the voting time;
comparing the verified signature information with the second hash value;
after comparing that the verified signature information is the same as the second hash value, the identification code, the voting information, the voting time, and the signature information are sent to the block generation module 14.
The block generating module 14 is configured to generate a new block according to the identification code, the voting information, the voting time, and the signature information, and add the new block to the block chain.
Further, as shown in fig. 2, the electronic voting system further includes a data storage module 15 connected to the voting management module 12, for example. The voting management module 12 is further configured to periodically access and count voting information of all the blocks in the block chain 16 to obtain voting data, and store the voting data in the data storage module 15. The voting management module 12 can store the voting data in the data storage module 15 for the first time, or update the voting data stored in the data storage module 15.
Further, the voting module 11 may also withdraw the voting information within the voting deadline.
Specifically, the mentioned identification code is a unique identification of the associated voting module 11, and is transmitted by a network secure channel. Reference to a voting list is a list containing a plurality of voters. The mentioned decryption private key is a character string randomly generated in a non-zero natural number, and the mentioned encryption public key is calculated according to the decryption private key based on a message authentication mode, for example. The password holding module 13 is, for example, a database, for example, a Public Key Infrastructure (PKI) which is a distributed database that manages and maintains encrypted Public keys of voters. The data storage module 15 is, for example, a distributed database. The first hash value and the second hash value are mentioned as being calculated using, for example, the SHA-256 algorithm.
Further, as shown in fig. 3, the new block 161 includes, for example: the identification code 1611, the vote information 1612, the signature information 1613, the vote time 1614, and the last chunk hash value 1615 in the blockchain 16. The last chunk hash value 1615 is also calculated using the SHA-256 algorithm.
For the convenience of understanding of the present embodiment, a detailed description will be given below of a specific embodiment of the present embodiment with reference to fig. 4a to 4 b.
As shown in fig. 4a, an electronic voting system according to the embodiment of the present invention includes, for example, a voter (voting module), a voting office (voting management module), a PKI (password preservation module), a block generator (block generation module), a voting database (data storage module), and a voting block chain (block chain).
In particular, the voter may vote or revoke the vote. The voting office can query the number of votes, verify the authenticity of the votes, query the voter's public encryption key, and update the voting data. The voting database is, for example, a distributed database storing voting data, and is periodically updated by the voting office. The PKI is a distributed database that manages and maintains the voter's encrypted public key, which is responsible for initializing data by the voting office. The block generator is responsible for generating new blocks.
As shown in fig. 4b, the voting block chain is composed of a plurality of sequentially connected voting blocks (blocks) storing voting information. Typically, the first voting block is called a founder block and is created by the first block generator before the vote is taken. The voting block chain is a voting structure based on a distributed account book, and has robustness, high safety and privacy protection.
The voting block of the voting block chain comprises a voter ID (identification code), voting information, a voting signature (signature information), a voting time (timestamp) and a last block hash value. The voter ID is a meaningless string randomly assigned, and is transmitted or picked up offline through a network security channel. The voting information is electronic information that labels the voter. The voting signature is a signature generated by performing signature operation on the hash value of the voting information by using a decryption private key of a voter, and is used for ensuring the non-repudiation of the voting. The voting time is a character string for recording the voting time. The last chunk hash value is the hash value of the last chunk computed using the SHA-256 algorithm. It ensures the integrity of the last block. Once a chunk is generated, the hash value of the chunk is computed, which cannot be modified any more.
Furthermore, the voting office can access the voting information stored in all the voting blocks on the voting block chain through the creation block of the voting block chain, and count the voting data. The voting office can also obtain the voter's encrypted public key by querying the public key infrastructure PKI, and verify the authenticity of the vote and whether the voter has the right to vote. The voting office can also update the voting data in the voting database by periodically querying the voting information of the block chain. The vote database stores all the vote data. The PKI stores the encrypted public keys of all voters.
As shown in fig. 4c, the electronic voting system performs electronic voting as follows:
(1) each voter receives the ID and the voter list (voting list) from the voting office through a network secure channel.
(2) Each voter generates a pair of a decryption private key and an encryption public key, then stores the decryption private key by himself, and submits the encryption public key to the voting office.
(3) The voting office stores the encrypted public key to the PKI.
(4) The voting office randomly votes the block generator.
(5) The first elected block generator creates an founding block, the first voting block in the chain of voting blocks.
(6) The voter uses SHA-256 to generate a corresponding hash value H, which is ID + Vote + TimeStamp, according to the voting information, the identification code and the voting time.
The specific process of generating the corresponding hash value according to the voting information, the identification code and the voting time by using the SHA-256 is as follows:
(a) m is a binary representation of the voting information.
(b) M is padded with a length of m represented by 100.. 000 and 64 bits, i.e., m' ═ pad (m).
(c) M is divided into 512-bit blocks, i.e. M(1),M(2),...,M(N)
(d)64 constants are used, denoted W0,W1,...,W63
(e)8 variables are used, namely a ═ 0x6a09E667, B ═ 0xBB67AE85, C ═ 0x3C6EF372, D ═ 0xA54FF53A, E ═ 0x510E527F, F ═ 0x9B05688C, G ═ 0x1F83D9AB, H ═ 0x5BE0CD 19.
(f) 64 rounds of iterative operations are calculated in each block based on the calculation results of the previous block.
(g) The result of the last block is the hash value.
(7) And the voter uses the decryption private key to perform signature operation on the hash value obtained in the last step to generate a signature S.
Wherein, the signature is realized based on Elliptic Curve Cryptography (ECC) and is used for ensuring the authenticity of voting.The decryption private key is that the voter is in [1, n-1]]In a randomly generated character string dAThe encrypted public key is a character string Q generated by the voter according to the decrypted private keyA=dAG is multiplied by. X is an elliptic curve point multiplication. G represents the base point of the elliptic curve,nrepresenting prime order, LnRepresenting a length of n bits.
The voter uses the decryption private key to perform signature operation on the hash value obtained in the previous step to generate a signature S, and the specific process is as follows:
(a) the v' ═ HASH (v) is calculated, HASH is a HASH function using SHA-256.
(b) Let z be LnThe leftmost series of bits v'.
(c) Selecting a random integer k from [1, n-1 ].
(d) Calculating the point (x) of the elliptic curve1,y1)=k×G。
(e) Calculating r ═ x1mod n, if r is 0, return (c).
(f) Calculating s ═ k-1(v′+rdA) mod n, if s ═ 0, return (c).
(g) The signature of the voted hash value is (r, s).
(8) The voter sends the identification code, voting information, voting time and the signature obtained in the previous step, i.e. ID, volume, TimeStamp, S, to the voting office.
(9) The voting office obtains the voter's encrypted public key.
(10) The voting office uses SHA-256 to generate a corresponding hash value H according to the identification code, the voting information and the voting time, where H is ID + volume + TimeStamp.
(11) The voting office verifies the signature of step (8) using the encrypted public key and obtains H'.
(12) And the voting office compares H with H' to inquire and verify whether the voter has the right to vote.
(13) After the verification is successful, the block generator generates a new block according to the identification code, the voting information, the voting time and the signature information, embeds a block hash value into the tail of the new block, and then adds the new block into the block chain.
Voting, among other things, is the process by which a voter makes a selection from a list of voters, typically in public and unencrypted form.
Of course, in this embodiment, the voter may withdraw the vote, that is, the voter may withdraw the vote within the deadline, and the process of withdrawing is similar to that of the vote, and for brevity, will not be repeated here.
In summary, the electronic voting system provided in this embodiment is an electronic voting system implemented based on a block chain, and is capable of performing public electronic voting, implementing anonymity, non-tamper property, and non-repudiation of voting based on the block chain, and supporting large-scale electronic voting, and has a high security level.
[ second embodiment ]
Referring to fig. 5, a flowchart of an electronic voting method according to a second embodiment of the present invention is shown. As shown in fig. 5, the electronic voting method includes, for example, steps S31 to S34.
Step S31: initiating a voting step;
as shown in fig. 6, step S31 includes, for example, steps S311 to S314.
Step S311: the voting module acquires the identification code and the voting list sent by the voting management module;
step S312: the voting module generates a decryption private key and calculates a corresponding encryption public key according to the decryption private key;
step S313: the voting module reserves the decryption private key, sends the encrypted public key to the voting management module, and stores the encrypted public key in a password storage module;
step S314: the voting module carries out voting according to the voting list to obtain voting information and voting time;
step S32: a voting signature step;
as shown in fig. 7, step S32 includes, for example, step S321 to step S323.
Step S321: the voting module calculates to obtain a first hash value according to the identification code, the voting time and the voting information;
step S322: the voting module signs the first hash value by using the decryption private key to obtain signature information;
step S323: the voting module sends the identification code, the voting information, the voting time and the signature information to the voting management module;
step S33: a voting verification step;
as shown in fig. 8, step S33 includes, for example, step S331 to step S334.
Step S331: the voting management module acquires the encrypted public key from the password storage module and verifies the signature information according to the encrypted public key to obtain verified signature information;
step S332: the voting management module calculates a second hash value according to the identification code, the voting information and the voting time;
step S333: the voting management module compares the verified signature information with the second hash value;
step S334: after the verified signature information is compared with the second hash value and is the same, the identification code, the voting information, the voting time and the signature information are sent to the block generation module;
step S34: a voting storage step;
as shown in fig. 9, step S34 includes step S341, for example.
Step S341: and the block generation module generates a new block according to the identification code, the voting information, the voting time and the signature information and adds the new block into a block chain.
The mentioned identification code is the only identification of the associated voting module and is transmitted by a network security channel. The mentioned decryption private key is a character string randomly generated in a non-zero natural number, and the mentioned encryption public key is calculated according to the decryption private key based on a message authentication mode, for example. Reference to a voting list is a list containing a plurality of voters. The password preservation module mentioned is, for example, a database, such as, for example, a PKI (Public Key Infrastructure), which is a distributed database that manages and maintains encrypted Public keys of voters. The hash value mentioned is calculated, for example, using the SHA-256 algorithm. The new blocks mentioned include, for example: the identification code, the voting information, the signature information, the voting time, and a last chunk hash value in the chunk chain.
Further, step S322 includes, for example: and signing the first hash value by using the decryption private key based on elliptic curve cryptography to obtain the signature information.
It should be noted that the electronic voting method provided in this embodiment is an electronic voting working process implemented by the electronic voting system provided in the foregoing first embodiment, and for specific descriptions of various modules and the like related to this embodiment, reference may be made to the first embodiment, and details are not described herein again for the sake of brevity.
In summary, the electronic voting method provided in this embodiment can perform public electronic voting, achieve anonymity, non-tamper property, and non-repudiation of voting based on the block chain, support large-scale electronic voting, and have a high security level.
Finally, it should be noted that: the above examples are only intended to illustrate the technical solution of the present invention, but not to limit it; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.

Claims (10)

1. An electronic voting method is suitable for being applied to an electronic voting system comprising a voting module, a voting management module, a password storage module and a block generation module, and is characterized by comprising the following steps of:
initiating a voting step:
the voting module acquires the identification code and the voting list sent by the voting management module;
the voting module generates a decryption private key and calculates a corresponding encryption public key according to the decryption private key;
the voting module reserves the decryption private key, sends the encrypted public key to the voting management module, and stores the encrypted public key in a password storage module;
the voting module carries out voting according to the voting list to obtain voting information and voting time;
voting and signing:
the voting module calculates to obtain a first hash value according to the identification code, the voting time and the voting information;
the voting module signs the first hash value by using the decryption private key to obtain signature information;
the voting module sends the identification code, the voting information, the voting time and the signature information to the voting management module;
and (3) voting verification step:
the voting management module acquires the encrypted public key from the password storage module and verifies the signature information according to the encrypted public key to obtain verified signature information;
the voting management module calculates a second hash value according to the identification code, the voting information and the voting time;
the voting management module compares the verified signature information with the second hash value;
after the verified signature information is compared with the second hash value and is the same, the identification code, the voting information, the voting time and the signature information are sent to the block generation module;
and (4) voting preservation:
and the block generation module generates a new block according to the identification code, the voting information, the voting time and the signature information and adds the new block into a block chain.
2. An electronic voting method according to claim 1, wherein the identification code is a unique identifier associated with the voting module.
3. An electronic voting method according to claim 1, wherein the decryption private key is a string of characters randomly generated in a non-zero natural number.
4. An electronic voting method according to claim 1, wherein said signing the first hash value using the decryption private key to obtain signature information comprises: and signing the first hash value by using the decryption private key based on elliptic curve cryptography to obtain the signature information.
5. An electronic voting method according to claim 1, wherein the new block comprises: the identification code, the voting information, the signature information, the voting time, and a last chunk hash value in the chunk chain.
6. An electronic voting system, comprising: the system comprises a voting management module, a voting module, a password storage module and a block generation module, wherein the voting module, the password storage module and the block generation module are respectively connected with the voting management module;
wherein the voting module is configured to: acquiring the identification code and the voting list sent by the voting management module; generating a decryption private key, and calculating according to the decryption private key to obtain a corresponding encryption public key; the decryption private key is reserved, the encrypted public key is sent to the voting management module, and the voting management module stores the encrypted public key to a password storage module; voting according to the voting list to obtain voting information and voting time; calculating to obtain a first hash value according to the identification code, the voting time and the voting information; signing the first hash value by using the decryption private key to obtain signature information; sending the identification code, the voting information, the voting time and the signature information to the voting management module;
the voting management module is used for: receiving the identification code, the voting information, the voting time, and the signature information transmitted by the voting module; acquiring the encrypted public key from the password storage module, and verifying the signature information according to the encrypted public key to obtain verified signature information; calculating to obtain a second hash value according to the identification code, the voting information and the voting time; comparing the verified signature information with the second hash value; after the verified signature information is compared with the second hash value and is the same, the identification code, the voting information, the voting time and the signature information are sent to the block generation module;
and the block generation module is used for generating a new block according to the identification code, the voting information, the voting time and the signature information and adding the new block into a block chain.
7. An electronic voting system according to claim 6, further comprising:
the data storage module is connected with the voting management module;
the voting management module is further configured to periodically access and count voting information of all blocks in the block chain to obtain voting data, and store the voting data in the data storage module.
8. An electronic voting system according to claim 6, wherein the new block comprises: the identification code, the voting information, the signature information, the voting time, and a last chunk hash value in the chunk chain.
9. An electronic voting system according to claim 6, wherein the voting module is further configured to withdraw the voting information within a voting deadline.
10. An electronic voting system according to claim 7, wherein the identification code is a unique identifier associated with the voting module; the decryption private key is a character string randomly generated in a non-zero natural number; the password storage module is a first distributed database; the data storage module is a second distributed database.
CN201910241739.4A 2019-03-28 2019-03-28 Electronic voting method and system Active CN109903450B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910241739.4A CN109903450B (en) 2019-03-28 2019-03-28 Electronic voting method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910241739.4A CN109903450B (en) 2019-03-28 2019-03-28 Electronic voting method and system

Publications (2)

Publication Number Publication Date
CN109903450A CN109903450A (en) 2019-06-18
CN109903450B true CN109903450B (en) 2021-04-09

Family

ID=66952606

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910241739.4A Active CN109903450B (en) 2019-03-28 2019-03-28 Electronic voting method and system

Country Status (1)

Country Link
CN (1) CN109903450B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110309672B (en) * 2019-07-01 2020-12-22 北京理工大学 Block chain based privacy protection controllable data management method
CN110473332A (en) * 2019-08-23 2019-11-19 上海理工大学 It is a kind of based on the facial expression of recognition of face and block chain technology vote assessment system
CN111800325A (en) * 2020-07-30 2020-10-20 北京共识数信科技有限公司 Anonymous voting method of annular structure with separated server and encryption machine
CN114629660B (en) * 2022-04-21 2024-03-08 南方电网科学研究院有限责任公司 Anonymous trusted voting method, device and related equipment based on blockchain

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170109955A1 (en) * 2015-10-20 2017-04-20 Follow My Vote, Inc. Blockchain electronic voting system and method
US10230756B2 (en) * 2015-11-25 2019-03-12 International Business Machines Corporation Resisting replay attacks efficiently in a permissioned and privacy-preserving blockchain network
CN106411503B (en) * 2016-11-28 2019-11-08 中国银行股份有限公司 The bookkeeping methods and system, ballot and accounting nodes of block chain ballot accounting mode
US10686590B2 (en) * 2016-12-23 2020-06-16 Joseph Santilli Methods and systems for crowdsourcing an outcome to an issue
CN107294727B (en) * 2017-05-22 2020-06-19 联动优势科技有限公司 Electronic voting method, terminal equipment and block chain network
CN108109257A (en) * 2018-01-05 2018-06-01 杭州电子科技大学 A kind of Anonymous Electronic Voting method based on block chain
CN108259489A (en) * 2018-01-11 2018-07-06 武汉斗鱼网络科技有限公司 A kind of voting data processing method, device and electronic equipment
CN108597090A (en) * 2018-04-20 2018-09-28 济南浪潮高新科技投资发展有限公司 A kind of voting method based on block chain, apparatus and system
CN108922007A (en) * 2018-05-02 2018-11-30 深圳圣马歌科技有限公司 Electronic voting method, system and computer program product based on block chain
CN108833082A (en) * 2018-06-25 2018-11-16 东北大学秦皇岛分校 A kind of secret protection ballot system based on block chain decentralization
CN108933656B (en) * 2018-07-18 2021-09-10 京东方科技集团股份有限公司 Online work voting method and device, computer equipment and readable storage medium
CN109286497B (en) * 2018-09-06 2021-04-09 贵阳信息技术研究院(中科院软件所贵阳分部) Anonymous voting and multi-condition vote counting method based on block chain

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于区块链技术的投票系统的设计与实现;刘杰良;《中国优秀硕士学位论文全文数据库》;20180123;全文 *

Also Published As

Publication number Publication date
CN109903450A (en) 2019-06-18

Similar Documents

Publication Publication Date Title
CN109903450B (en) Electronic voting method and system
CN111639361B (en) Block chain key management method, multi-person common signature method and electronic device
CN107508686B (en) Identity authentication method and system, computing device and storage medium
CN111914027B (en) Block chain transaction keyword searchable encryption method and system
US8713329B2 (en) Authenticated secret sharing
CN114730420A (en) System and method for generating signatures
CN112272094B (en) Internet of things equipment identity authentication method, system and storage medium based on PUF (physical unclonable function) and CPK (compact public key) algorithm
WO1999034554A2 (en) Administration and utilization of secret fresh random numbers in a networked environment
CN101425902A (en) Threshold digital signature method and system having forward security
CN106603246A (en) SM2 digital signature segmentation generation method and system
CN106487786B (en) Cloud data integrity verification method and system based on biological characteristics
US20230006836A1 (en) Multi-party and multi-use quantum resistant signatures and key establishment
CN106850229A (en) SM2 digital signature generation method and system based on the secret segmentation of product
CN112565264B (en) Cloud storage data integrity detection method based on block chain
CN112152813B (en) Certificateless content extraction signcryption method supporting privacy protection
CN111859030B (en) Public auditing method supporting composite data
CN108712259A (en) Identity-based acts on behalf of the efficient auditing method of cloud storage for uploading data
CN113067702A (en) Identity-based encryption method supporting ciphertext equivalence test function
CN107104793A (en) A kind of digital signature generation method and system
CN115208628B (en) Data integrity verification method based on block chain
CN112382376A (en) Medical instrument management tracing system based on block chain
CN116391346A (en) Redistribution of secret sharing
CN115643098A (en) Cloud data sharing system and auditing system based on certificateless encryption
CN110851848B (en) Privacy protection method for symmetric searchable encryption
CN104394161A (en) Algorithm reconstruction mechanism based secret key transmission method and system

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
GR01 Patent grant
GR01 Patent grant