A voting method, system, apparatus and storage medium
By using a secret sharing method for symbolic voting information, the privacy protection and security issues of voting schemes in existing technologies are solved, and efficient statistics and secure computation of distributed voting information are achieved, making it applicable to various voting systems.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHENG DU ZHONG KE JI YUN RUAN JIAN YOU XIAN GONG SI
- Filing Date
- 2023-12-19
- Publication Date
- 2026-04-21
AI Technical Summary
In existing technologies, electronic voting schemes rely on a single statistical party, which poses a risk of fraud. Privacy protection technologies are complex and costly, making them difficult to promote in practical applications and failing to meet the requirements of fairness and privacy security in voting activities.
The method of secret sharing of symbolic voting information is adopted to convert voting information into N shadow voting information. These shadow voting information are transmitted through multiple channels and counted by N independent statistical nodes to generate shadow statistical results. Finally, the true voting result is calculated by merging the results. The threshold concept of secret sharing is used to protect voting privacy and security.
It achieves privacy protection and statistical security of voting information, improves statistical efficiency, reduces deployment costs, is applicable to voting systems of different sizes, and meets the requirements of real-time performance and security.
Smart Images

Figure CN117994893B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of electronic information technology, and more specifically to a voting method, system, device, and storage medium. Background Technology
[0002] The voting process involves a great deal of sensitive information, especially the voters' intentions. The confidentiality of this information is crucial, as it determines whether voters can truly express their democratic will, affecting the accuracy and fairness of the final voting results.
[0003] Ensuring the fairness of voting is also of paramount importance. Traditional electronic voting schemes rely on a trusted statistical agent, entrusting a single agent to collect and analyze voting information. In practice, over-reliance on a single statistical agent and granting it excessive power presents several potential problems. If the statistical agent engages in fraudulent activities, it will severely affect the accuracy and completeness of the voting results, thereby undermining voters' confidence in the fairness of the voting process.
[0004] In the field of electronic elections, many theoretical schemes have been proposed by scholars to achieve anonymous elections, and some schemes are also applicable to achieving privacy protection in voting. The implementation of these privacy protection technologies requires special design of voting information, converting it into numerical form to facilitate the use of modern cryptographic numerical computation encryption and decryption methods and authentication protocols, among other information security technologies. However, schemes based on numerical information are typically expensive, technically complex, and have low scalability, cannot support multiple voting rules, and are difficult to promote in practical applications. Summary of the Invention
[0005] In order to at least partially solve one of the aforementioned technical problems in the prior art, the present invention discloses a voting method, system, device and storage medium.
[0006] The present invention addresses, to at least partially resolve, one of the aforementioned technical problems existing in the prior art, and the technical solution adopted is as follows:
[0007] A voting method is provided, the voting method comprising:
[0008] Obtaining voting information includes the following steps:
[0009] (2.1) Voter P i A vote is taken; where the vote for each option is taken from the binary symbol set {C1,C2}, i = 1, 2, ..., n;
[0010] (2.2) Voter P i The voting opinions are converted into voting information. in, Let r represent the vote on the r-th option, m represent the number of options in the vote, r∈{1,2,...m}, i=1,2,...,n;
[0011] (2.3) Generate N shadow voting information based on the voting information. in, P represents i The voting opinion on the r-th option in the j-th shadow information, j = 1, 2, ..., N, m represents the number of options in the vote, r ∈ {1, 2, ..., m}, i = 1, 2, ..., n;
[0012] The process of compiling voting information includes the following steps:
[0013] (3.1) Statistical node D j Receive shadow voting information, verify whether the sender is a qualified voter, and then verify whether this is the first time the voting information of this voter has been received; where j = 1, 2, ..., N;
[0014] (3.2) After the above verification is passed, D will be determined based on the element symbols in different positions of the shadow voting information. j The votes are summed up to get the number of votes for each option;
[0015] (3.3) After collecting the shadow voting information of all voters, each statistical node generates a shadow statistical result, which is represented by a vector. Let j = 1, 2, ..., N, p = 1, 2, and m represent the number of options in the vote.
[0016] Each element of the shadow statistics result vector The decimal integer greater than or equal to 0 and less than or equal to n represents the statistical node D. j Of the n shadow voting messages received, the voting opinion for the r-th option is symbol C. p The cumulative number; where r∈{1,2,...m}, p∈{1,2}, j=1,2,...,N;
[0017] The calculation of the voting results includes the following steps:
[0018] (4.1) Calculate and reconstruct the true voting result based on the statistical results of N shadows. The true voting result is a vector of decimal integers. Let m represent the number of options in the vote, and p = 1, 2.
[0019] According to a preferred embodiment of the present invention, in step (2.3), N shadow voting information is generated by secretly sharing symbol voting information;
[0020] The method for secretly sharing voting information using symbols is as follows:
[0021] Voter P i Voting information As input, the following N shadow voting information will be output:
[0022]
[0023] The matrix composed of the N shadow information satisfies the following condition:
[0024]
[0025] Where r = 1, 2, ..., m, i = 1, 2, ..., n, j = 1, 2, ..., N;
[0026] That is, for the r-th column vector of the matrix, the sign of the r-th option in the voting information. The number of equal elements is The number of distinct elements is When N is odd The row vectors in the matrix are sent as shadow voting information to N statistical nodes respectively.
[0027] According to a preferred embodiment of the present invention, in step (4.1), the method for calculating and recovering the true voting result is as follows:
[0028] The voting result for the r-th option is: The actual voting result is
[0029] Where r = 1, 2, ..., m, p = 1, 2, j = 1, 2, ..., N.
[0030] According to a preferred embodiment of the present invention, in step (4.1), only when P is obtained simultaneously... i Only N shadow voting messages can restore its voting opinion.
[0031] According to a preferred embodiment of the present invention, the method further includes the following steps before obtaining voting information:
[0032] Establishing a voting model includes the following steps:
[0033] (1.1) Determine the voter, labeled P. i Where i = 1, 2, ..., n;
[0034] (1.2) Determine the statistical node and label it as statistical node D. j Where j = 1, 2, ..., N;
[0035] (1.3) Let m represent the number of options in the vote, and let the voting information be in vector form. Representation; Shadow voting information is in vector form The vector represents the voting options, where i = 1, 2, ..., n, j = 1, 2, ..., N. The elements in the vector are taken from the binary symbol set {C1, C2}, where the elements C1 and C2 represent the choices made by the voters for the voting options, and the shadow voting information is the share of the voting information.
[0036] (1.4) The voting results are a vector of decimal integers. Let C represent the voting opinion received by the r-th option among the voting information of n voters. p The cumulative statistical results; where r∈{1,2...,m}, p∈{1,2}.
[0037] A voting system is provided, the voting system comprising:
[0038] The voting module is used to obtain voting information and generate shadow voting information based on the voting information;
[0039] The statistics module is used to collect statistics on shadow voting information and generate shadow statistics results.
[0040] as well as
[0041] The calculation module is used to calculate and reconstruct the true voting results based on the shadow statistics.
[0042] A voting device is provided, the voting device including at least one processor;
[0043] At least one memory for storing at least one program;
[0044] When the at least one program is executed by the at least one processor, the at least one processor implements the voting method as described in any of the preceding statements.
[0045] A storage medium is provided in which a processor-executable program is stored, the processor-executable program being executed by a processor to perform the voting method as described in any of the preceding claims.
[0046] The voting method, system, apparatus, and storage medium provided in the embodiments of the present invention have at least one of the following technical effects:
[0047] The voting method, system, apparatus, and storage medium of this invention employ a method for secretly sharing symbolic voting information. Symbolic information is a common way of expressing opinions in voting, and protecting its privacy has high practical value and broad application prospects. The proposed secret sharing method exhibits additive homomorphism in statistics. Therefore, this invention, while protecting the privacy and security of voting information, enables distributed transmission of voting information through multiple channels and allows the use of N statistical nodes to obtain N independent shadow statistical results. The organizer merges these N shadow statistical results to calculate the statistical result of the original voting information. The algorithm and scheme designed in this invention do not rely on specific facilities and equipment, ensuring both statistical efficiency and privacy security in voting, and simultaneously meeting the real-time and security requirements of voting activities.
[0048] Specifically:
[0049] The voting method, system, apparatus, and storage medium of this invention can protect the privacy of voting information: the voting information is transformed into N shadow voting information in the voting software, and the shadow voting information is treated as an independent information unit to be transmitted, counted, and stored during the voting process. Based on the threshold concept of secret sharing, only when the N shadow voting information are combined can the voting intention be determined; therefore, this invention effectively protects the privacy of the voter's voting intention.
[0050] The voting method, system, apparatus, and storage medium of this invention have statistical security: during the voting process, the statistical node is responsible for collecting shadow voting information to obtain the shadow voting result. Based on the threshold mechanism of secret sharing, only by obtaining the shadow statistical results of N nodes can the true voting result be calculated and reconstructed. Therefore, this invention ensures information security during the statistical process.
[0051] The voting method, system, apparatus, and storage medium of this invention feature statistical speed: during the voting process, each statistical node independently performs real-time statistics on the received shadow voting information, significantly improving the statistical speed. Furthermore, each statistical node can progressively aggregate the received shadow information, thereby greatly reducing the time required to generate the voting results.
[0052] The voting method, system, apparatus, and storage medium of this invention are practical: This invention enables the secret sharing of binary voting symbol information, which is a common way to express opinions in voting and other activities. Implementing this invention in a voting system requires no special design for the voting method or information format. The secret sharing algorithm used in this invention is simple, low in complexity, and low in deployment cost, making it suitable for various voting systems and applicable to voting at different scales. It possesses extremely high practical value and broad application prospects.
[0053] Some additional features of the present invention will be described in the following description. These additional features will become apparent to those skilled in the art upon examination of the following description and the accompanying drawings, or upon understanding the production or operation of the embodiments. The features disclosed in this invention can be implemented and achieved through the practice or use of various methods, means, and combinations thereof with respect to the specific embodiments described below. Attached Figure Description
[0054] The accompanying drawings, which are provided to further illustrate the invention and constitute a part of this invention, illustrate exemplary embodiments of the invention and are used to explain the invention, but do not constitute a limitation thereof. In the drawings, the same reference numerals denote the same parts.
[0055] Figure 1 , Figure 2 This is a schematic diagram illustrating the principle of a voting method according to some embodiments of the present invention. Detailed Implementation
[0056] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.
[0057] It should be noted that when the terms "first," "second," etc., are used in the specification, claims, and accompanying drawings of this invention, they are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate for the embodiments of the invention described herein. Furthermore, when the terms "comprising" and "having," and any variations thereof, are used, it is intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0058] In this invention, when terms such as "upper," "lower," "left," "right," "front," "rear," "top," "bottom," "inner," "outer," "middle," "vertical," "horizontal," "lateral," and "longitudinal" are used, they indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. These terms are primarily for the purpose of better describing this invention and its embodiments, and are not intended to limit the indicated device, element, or component to having a specific orientation, or to be constructed and operated in a specific orientation.
[0059] Furthermore, in addition to indicating direction or positional relationship, some of the aforementioned terms may also have other meanings. For example, the term "above" may also be used in certain situations to indicate a dependency or connection. Those skilled in the art can understand the specific meaning of these terms in this invention based on the specific circumstances.
[0060] Furthermore, in this invention, the terms "installation," "setting," "equipped with," "connection," "linking," and "sleeving," etc., should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral structure; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium, or an internal connection between two devices, components, or parts. Those skilled in the art can understand the specific meaning of the above terms in this invention according to the specific circumstances.
[0061] It should be noted that, unless otherwise specified, the embodiments and features described in the present invention can be combined with each other. The present invention will now be described in detail with reference to the accompanying drawings and embodiments.
[0062] One aspect of this invention discloses a voting method.
[0063] like Figure 1 , Figure 2 As shown, the voting method includes:
[0064] Obtaining voting information includes the following steps:
[0065] (2.1) Voter P i A vote is taken; where the vote for each option is taken from the binary symbol set {C1,C2}, i = 1, 2, ..., n;
[0066] (2.2) Voter P i The voting opinions are converted into voting information. in, Let r represent the vote on the r-th option, m represent the number of options in the vote, r∈{1,2,...m}, i=1,2,...,n;
[0067] (2.3) Generate N shadow voting information based on the voting information. in, P represents i The voting opinion on the r-th option in the j-th shadow information, j = 1, 2, ..., N, m represents the number of options in the vote, r ∈ {1, 2, ..., m}, i = 1, 2, ..., n;
[0068] The process of compiling voting information includes the following steps:
[0069] (3.1) Statistical node D j Receive shadow voting information, verify whether the sender is a qualified voter, and then verify whether this is the first time the voting information of this voter has been received; where j = 1, 2, ..., N;
[0070] (3.2) After the above verification is passed, the number of votes for each option is accumulated according to the element symbols in different positions in the shadow voting information;
[0071] (3.3) After collecting the shadow voting information of all voters, each statistical node generates a shadow statistical result, which is represented by a vector. Let j = 1, 2, ..., N, p = 1, 2, and m represent the number of options in the vote.
[0072] Each element of the shadow statistics result vector is a decimal integer greater than or equal to 0 and less than or equal to n, representing the voting opinion C obtained by the r-th option out of the n shadow voting messages received by the statistics node. p The cumulative number; where r∈{1,2,...m}, p∈{1,2};
[0073] The calculation of the voting results includes the following steps:
[0074] (4.1) Calculate and reconstruct the true voting results based on the shadow statistics results. The true voting results are a vector of decimal integers. Let m represent the number of options in the vote, and p = 1, 2.
[0075] In step (2.3), N shadow voting information is generated by secretly sharing the symbol voting information;
[0076] The method for secretly sharing voting information using symbols is as follows:
[0077] Voter P i Voting information As input, the following N shadow voting information will be output:
[0078]
[0079] The matrix composed of the N shadow information satisfies the following condition:
[0080]
[0081] Where r = 1, 2, ..., m, j = 1, 2, ..., N;
[0082] That is, for the r-th column vector of the matrix, the sign at the r-th position in the voting information. The number of equal ones is The number of unequal items is When N is odd The row vectors in the matrix are sent as shadow voting information to N statistical nodes respectively.
[0083] In step (4.1), the method for calculating and restoring the true voting result is as follows:
[0084] The voting result for the r-th option is: The actual voting result is
[0085] Where r = 1, 2, ..., m, p = 1, 2, j = 1, 2, ..., N.
[0086] In step (4.1), only when P is obtained simultaneously... i Only N shadow voting messages can restore its voting opinion.
[0087] Specifically, the voting information is converted into N shadow voting messages in the voting software. The voting software sends the messages, while the statistical nodes receive and count them, both at a rate of P. i The share of voting information, i.e., shadow voting information, is only available to those who simultaneously obtain P. i Only N shadow voting messages can restore its voting opinion.
[0088] The statistical node is responsible for collecting shadow voting information during the voting process to obtain the shadow voting results. The shadow voting results represent a share of the actual voting results; a single shadow voting result does not reveal the true voting result. Only by simultaneously obtaining N shadow results can the final voting result be obtained.
[0089] The process of obtaining voting information includes the following steps before:
[0090] Establishing a voting model includes the following steps:
[0091] (1.1) Determine the voter, labeled P. i Where i = 1, 2, ..., n;
[0092] (1.2) Determine the statistical node and label it as statistical node D. j Where j = 1, 2, ..., N;
[0093] (1.3) Let m represent the number of options in the vote, and let the voting information be in vector form. Representation; Shadow voting information is in vector form It represents; where i = 1, 2, ..., n, j = 1, 2, ..., N, the elements in the vector are taken from the binary symbol set {C1, C2}, the elements C1, C2 represent the voter's choice of the voting option, and the shadow voting information is the share of the voting information;
[0094] (1.4) The voting results are a vector of decimal integers. Let the vector's elements represent the voting opinions (C) for the r-th option among n voters. p The cumulative statistical results; where r∈{1,2...,m}, p∈{1,2}.
[0095] The voting method of the present invention will be further described below through specific embodiments.
[0096] The voting method of this invention employs a method for secretly sharing symbolic voting information and designs a remote electronic voting implementation scheme based on this method. First, the voting organizer pre-sets N (generally an odd number of 3 ≤ N ≤ 11) independent statistical nodes, which can be selected from trusted institutions or individuals; the number of statistical nodes is no less than 3, and they remain independent of each other, not allowing information exchange; after each voter makes a vote, according to the number of statistical nodes, the voting software randomly divides the voting content into N independent shadow voting information, and sends each shadow voting information to different statistical nodes in a random manner; each statistical node, upon receiving the shadow voting information, verifies its source and whether it is the first time it has received it, and then performs statistics on the voter's choices in the information; after all statistical nodes have completed their statistics, they send the shadow statistical results to the organizer R, who can then calculate and reconstruct the final voting result.
[0097] For a vote, the number of options is represented by m, and C1 represents selecting the option (e.g., "√"), while C2 represents not selecting the option (e.g., "×"). C... r (1≤r≤m) represents P i The choice made for the r-th option, i.e., C r =C1 or C r =C2 The specific voting method includes:
[0098] (1) Network and Basic Information Construction
[0099] (1.1) Determine the voter, labeled P. i (i = 1, 2, ... n);
[0100] (1.2) Determine the statistical node and label it as statistical node D. j (j = 1, 2, ..., N);
[0101] (1.3) Let m represent the number of options in the vote, and let the voting information be in vector form. The shadow voting information is represented in vector form. (j = 1, 2, ..., N, i = 1, 2, ... n) means that the elements of the vector are taken from the set of binary symbols {C1, C2} (e.g., C1 = "√", C2 = "×"), and the elements represent the choices made by the voters for the voting options, and the number of elements is equal to the number of options;
[0102] (1.4) The voting results are a vector of decimal integers. The elements of the vector represent the symbol C for option r∈{1,2,...,m} among the voting information of n voters. p The cumulative statistical results of (p∈{1,2}).
[0103] (2) Generation and transmission of shadow voting information
[0104] (2.1)P i (i∈{1,2,...,n}) make choices on each of the m options in the voting process. The voting software then converts the choices into a vector of symbols. The vector represents voting information;
[0105] (2.2) The software takes voting information as input and, based on the idea of secret sharing, outputs N shadow voting information. The secret sharing algorithm is that in a matrix composed of N shadow messages, the number of symbols satisfies (r = 1, 2, ..., m). That is, for the r-th column vector of the matrix, the sign of the r-th option in the voting information is... The number of equal ones is The number of unequal items is If N is odd, then
[0106] (2.3) Each shadow voting message is treated as an independent information unit and randomly transmitted to a different statistical node D. j (h∈{1,2,...,N}).
[0107] (3) Statistics of voting results
[0108] (3.1) Statistical node D j (j=1,2,...,N) After receiving the shadow voting information, first verify whether the sender is a qualified voter, and then verify whether it is the first time to receive the shadow voting information of the voter.
[0109] (3.2) After the above verification is passed, the votes for each option are accumulated according to the element symbols in the shadow voting information;
[0110] (3.3)D j We will receive n shadow voting messages from different voters. If we represent these messages as a matrix, then the matrix is... Each row of the matrix represents the shadow voting information of different voters, and each column represents the share of opinions of different voters on the same option. The shadow voting information is statistically analyzed as follows: the number of affirmative votes received by the r-th option (r∈{1,2,...,m}) is:
[0111] The number of dissenting votes received by the r-th option (r∈{1,2,...,m}) is
[0112]
[0113] (4) Calculate the voting results
[0114] (4.1)D j (j∈{1,2,...,N}) After the statistics are completed, the results will be sent to the organizer R;
[0115] (4.2) After R receives the shadow statistics results from N statistical nodes, it aggregates these N shadow statistics results. Then, the actual number of votes in favor of option r (r = 1, 2, ..., m) is: The actual number of dissenting votes received by option r (r = 1, 2, ..., m) is: The final vote count is as follows:
[0116] For example: Let N = 5, then We are now voting on a proposal with three options: [For, Against, Abstain]. There are 200 voters in total, using binary symbols. A vote was held, and the scores for each option were tallied. quantity.
[0117] One of the voters, P i If you vote "agree" on a proposal, then P i The voting information is a symbol vector. Five shadow voting information were obtained through secret sharing.
[0118] Observe the matrix A composed of 5 shadow information. iThe first column (agreement options) randomly selected 3 positions and marked them as... Two entries from the second and third columns (oppose and abstain) will be randomly selected and marked. The rest are marked with ×.
[0119] The shadow voting information is as follows:
[0120] P i The five shadow voting messages are randomly transmitted to five statistical nodes, and the markers are then... The options are cumulatively calculated: After device D1 receives Nvote5 = [×,×,×], the votes for all options remain unchanged. After device D2 receives... Afterwards, the number of votes for the "Oppose" option was incremented by 1, and device D3 received the notification. Then, the number of votes for the "Agree" option is incremented by 1, and the number of votes for the "Abstain" option is incremented by 1. Device D4 receives the notification. Then, the number of votes for the "Agree" option is incremented by 1, and device D5 receives the notification. Then, increment the vote count for all options by 1. This continues until the shadow voting information of all 200 voters is tallied. The combined results of the five shadow votes yield the vote counts for the three options "For," "Against," and "Abandon," which are T = [t1, t2, t3]. The actual vote count for each option is then calculated.
[0121] In summary, the voting method of this invention employs a secret sharing approach for symbolic voting information, achieving privacy protection for this information. Based on this secret sharing method, a voting scheme is designed that can be implemented in a remote environment, with different independent nodes collaborating to statistically analyze the voting results. Symbolic information is a commonly used way of expressing opinions in voting, and protecting the privacy of symbolic voting information has high practical value and broad application prospects. The secret sharing method possesses statistical homomorphic properties, enabling multi-channel transmission of voting information without revealing voting intentions, and allowing multiple independent statistical nodes to jointly analyze the voting results. The algorithm and scheme designed in this invention do not rely on specific facilities and equipment, ensuring both statistical efficiency and privacy security in voting, and simultaneously meeting the real-time and security requirements of voting activities.
[0122] This invention also provides a voting system comprising:
[0123] The voting module is used to obtain voting information and generate shadow voting information based on the voting information;
[0124] The statistics module is used to analyze voting information and generate shadow statistics results.
[0125] as well as
[0126] The calculation module is used to calculate and reconstruct the true voting results based on the shadow statistics.
[0127] This embodiment of the voting system can execute a voting method provided in the method embodiment of the present invention, and can execute any combination of the implementation steps of the method embodiment, and has the corresponding functions and beneficial effects of the method.
[0128] This invention also provides a voting device, which includes at least one processor;
[0129] At least one memory for storing at least one program;
[0130] When the at least one program is executed by the at least one processor, the at least one processor implements the voting method as described in any of the preceding statements.
[0131] A voting device according to an embodiment of the present invention can execute a voting method provided in an embodiment of the present invention, and can execute any combination of implementation steps of the method embodiment, and has the corresponding functions and beneficial effects of the method.
[0132] This invention also discloses a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device can read the computer instructions from the computer-readable storage medium and execute the computer instructions, causing the computer device to perform the voting method described in the above embodiments.
[0133] This invention also discloses a storage medium storing instructions or programs that can execute a voting method provided by the method embodiments of this invention. When the instructions or programs are run, any combination of implementation steps of the method embodiments can be executed, thus possessing the corresponding functions and beneficial effects of the method.
[0134] In some alternative embodiments, the functions / operations mentioned in the block diagrams may not occur in the order shown in the operation diagrams. For example, depending on the functions / operations involved, two consecutively shown blocks may actually be executed substantially simultaneously, or the blocks may sometimes be executed in reverse order. Furthermore, the embodiments presented and described in the flowcharts of this invention are provided by way of example to provide a more comprehensive understanding of the technology. The disclosed methods are not limited to the operations and logic flows presented herein. Alternative embodiments are contemplated in which the order of various operations is altered and sub-operations described as part of a larger operation are executed independently.
[0135] Furthermore, although the invention has been described in the context of functional modules, it should be understood that, unless otherwise stated, one or more of the described functions and / or features may be integrated into a single physical device and / or software module, or one or more functions and / or features may be implemented in a separate physical device or software module. It is also understood that a detailed discussion of the actual implementation of each module is unnecessary for understanding the invention. Rather, given the properties, functions, and internal relationships of the various functional modules in the apparatus disclosed herein, the actual implementation of the module will be understood within the scope of conventional skill of an engineer. Therefore, those skilled in the art can implement the invention as set forth in the claims using ordinary techniques without excessive experimentation. It is also understood that the specific concepts disclosed are merely illustrative and not intended to limit the scope of the invention, which is determined by the full scope of the appended claims and their equivalents.
[0136] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, essentially, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0137] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a processor-included system, or other system that can fetch and execute instructions from, an instruction execution system, apparatus, or device). For the purposes of this specification, "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transmit programs for use by, or in conjunction with, an instruction execution system, apparatus, or device.
[0138] More specific examples of computer-readable media (a non-exhaustive list) include: electrical connections (electronic devices) having one or more wires, portable computer disk drives (magnetic devices), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM). Furthermore, computer-readable media can even be paper or other suitable media on which the program can be printed, since the program can be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, interpreting, or otherwise processing as necessary, and then stored in computer memory.
[0139] It should be understood that various parts of the present invention can be implemented in hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.
[0140] In the foregoing description of this specification, references to terms such as "one embodiment," "another embodiment," or "some embodiments" indicate that a specific feature, structure, material, or characteristic described in connection with an embodiment or example is included in at least one embodiment or example of the present invention. In this specification, illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.
[0141] Although embodiments of the invention have been shown and described, those skilled in the art will understand that various changes, modifications, substitutions and alterations can be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the claims and their equivalents.
[0142] The above is a detailed description of the preferred embodiments of the present invention. However, the present invention is not limited to the above embodiments. Those skilled in the art can make various equivalent modifications or substitutions without departing from the spirit of the present invention. All such equivalent modifications or substitutions are included within the scope defined by the claims of this application.
Claims
1. A voting method, characterized in that, The voting methods include: Obtaining voting information includes the following steps: (2.1) Voters A vote is taken; where the vote for each option is taken from a set of binary symbols. , ; (2.2) Voters The voting opinions are converted into voting information. ;in, , This represents the vote on the r-th option, where m represents the number of options in the vote. , ; (2.3) Generate based on voting information N Shadow voting information ;in, , express The j The shadow information for the first r Voting opinions on each option, , m represents the number of options in the vote, , ; The process of compiling voting information includes the following steps: (3.1) Statistical nodes Upon receiving shadow voting information, the system verifies whether the sender is a qualified voter, and then verifies whether this is the first time it has received voting information from that voter; among these, ; (3.2) After the above verification is passed, based on the element symbols in different positions in the shadow voting information, The votes are summed up to get the number of votes for each option; (3.3) After collecting the shadow voting information of all voters, each statistical node produces a shadow statistical result, which is represented by a vector. Indicates; among which, , , m represents the number of options in the vote; Each element of the shadow statistics result vector greater than or equal to 0, less than or equal to n A decimal integer representing a statistical node. Received n In the shadow voting information, the first The voting opinion for each option is The cumulative quantity; among which, , , ; The calculation of the voting results includes the following steps: (4.1) According to N The true voting result is reconstructed from the shadow statistical results, which are represented as a vector of decimal integers. Indicates; among which, m Indicates the number of options in the vote. ; The voting method is implemented through a voting module, which includes: The voting module is used to obtain voting information and generate shadow voting information based on the voting information; The statistics module is used to collect statistics on shadow voting information and generate shadow statistics results. as well as The calculation module is used to calculate and reconstruct the true voting results based on the shadow statistics.
2. The voting method according to claim 1, characterized in that, In step (2.3), the voting information of the symbols is generated by secret sharing. N Shadow voting information; The method for secretly sharing voting information using symbols is as follows: Voters Voting information As input, the output is as follows N Shadow voting information: The N The matrix composed of shadow information satisfies the following condition: in, , , ; That is, for the first matrix r For the column vector, compared with the voting information of the first column vector... r Symbols for each option The number of equal elements is The number of unequal elements is ,when N When it is an odd number The row vectors in the matrix are sent as shadow voting information to the respective rows. N Statistical nodes.
3. The voting method according to claim 1, characterized in that, In step (4.1), the method for calculating and restoring the true voting result is as follows: The voting result for option r is: The actual voting result is... ; in, , , .
4. The voting method according to claim 1, characterized in that, In step (4.1), only when both are obtained simultaneously of N Only shadow voting information can restore their voting opinion.
5. The voting method according to claim 1, characterized in that, The steps preceding the process of obtaining voting information also include: Establishing a voting model includes the following steps: (1.1) Determine the voters and mark them as follows: ;in, ; (1.2) Determine the statistical nodes and mark them as statistical nodes. ;in, ; (1.3) using m This indicates the number of options in the vote; the voting information is in vector form. Representation; Shadow voting information is in vector form Indicates; among which, , The elements in the vector are taken from the set of binary symbols. set elements The shadow voting information represents the voter's choice of voting options and is the share of voting information. (1.4) The voting results are a vector of decimal integers. This means that the elements of a vector are represented in... In the voting information of the voter, the first... r The voting opinion for each option is The cumulative statistical results; among them, , .
6. A voting device, characterized in that, It includes at least one processor; At least one memory for storing at least one program; When the at least one program is executed by the at least one processor, the at least one processor implements the voting method according to any one of claims 1-5.
7. A storage medium storing a processor-executable program, characterized in that, The processor-executable program, when executed by the processor, is used to perform the voting method as described in any one of claims 1-5.
Citation Information
Patent Citations
Fair and safe electronic voting protocol method based on block chain
CN110071800A