CN115174092A - Block chain anonymous voting technology based on ideal lattices - Google Patents
Block chain anonymous voting technology based on ideal lattices Download PDFInfo
- Publication number
- CN115174092A CN115174092A CN202210600398.7A CN202210600398A CN115174092A CN 115174092 A CN115174092 A CN 115174092A CN 202210600398 A CN202210600398 A CN 202210600398A CN 115174092 A CN115174092 A CN 115174092A
- Authority
- CN
- China
- Prior art keywords
- voting
- voter
- block chain
- public
- matrix
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 239000011159 matrix material Substances 0.000 claims description 34
- 238000000034 method Methods 0.000 claims description 19
- 238000012795 verification Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 4
- 238000005070 sampling Methods 0.000 claims description 4
- 238000002360 preparation method Methods 0.000 claims description 3
- 238000009795 derivation Methods 0.000 claims description 2
- 230000004044 response Effects 0.000 claims description 2
- 230000002441 reversible effect Effects 0.000 claims description 2
- 230000007547 defect Effects 0.000 abstract description 2
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3255—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0407—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
- H04L63/0421—Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/42—Anonymization, e.g. involving pseudonyms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
- H04L2209/463—Electronic voting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/72—Signcrypting, i.e. digital signing and encrypting simultaneously
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
The invention relates to a block chain anonymous voting technology based on an ideal lattice, and belongs to the technical field of block chain privacy protection. Aiming at the defects that the existing electronic voting system depends on a trusted third party, is not resistant to quantum attack and the like, and aiming at solving the privacy security problem of anonymous voting based on a block chain in a quantum environment, the invention adopts a ring signature technology based on an ideal lattice trap door, and can reduce the signature length and the signature efficiency while resisting quantum computing attack. The invention encrypts the voting content, protects the voting content disclosed on the chain and avoids the voting result from being known in advance. Meanwhile, the ticket counting is not required to be carried out by a credible third party, all the users can check the tickets, and the consensus can be achieved without dispute.
Description
Technical Field
The invention relates to a block chain anonymous voting technology based on an ideal lattice, and belongs to the technical field of block chain privacy protection.
Background
With the development of internet technology, the electronic voting system has wide application in practical scenes. The electronic anonymous voting system needs to meet 7 criteria, legitimacy, uniqueness, anonymity, fairness, completeness, accuracy and verifiability. However, these 7 standards are difficult to implement simultaneously or even contradictory, such as disclosure transparency and anonymity. In addition, traditional electronic voting requires a third party trusted authority. The authenticity of the vote is therefore dependent on the trustworthy authenticity of the centralised organisation.
In order to solve the technical problem that the traditional electronic voting depends on a trusted third party, an anonymous electronic voting system which depends on an intelligent contract is gradually concerned to be deployed on a block chain. The intelligent contract can be regarded as a fair third-party organization for the project management of the voting project. The blockchain technology has the characteristics of decentralization and distrust, so that the electronic voting can be realized in a public verifiable way without a credible third party. However, with the development of quantum computers, the traditional cryptography-based blockchain system is threatened. Therefore, the anonymous voting system based on the block chain also faces the problem of privacy disclosure.
In summary, in order to solve the privacy security problem of anonymous voting based on the blockchain in the quantum environment, a block-chain-based anonymous voting technology resistant to quantum security must be found.
Disclosure of Invention
The invention aims to creatively provide a block chain anonymous voting technology based on an ideal lattice aiming at the defects that the existing electronic voting system depends on a trusted third party and is not resistant to quantum attack and the like, and aiming at solving the privacy security problem of block chain anonymous voting in a quantum environment. The invention adopts a ring signature technology based on ideal lattices to combine the ring signature technology with an anonymous voting application scene in a block chain.
In order to achieve the above object, the present invention adopts the following technical solutions.
First, the concept contents related to the present invention will be explained.
1. A blockchain network. The anonymous voting system is an infrastructure network for running the anonymous voting system, and comprises a user node and a contract server, and an anonymous network system of distributed storage is achieved through a consensus algorithm.
2. And (4) a user node. The nodes which register in the block chain to generate the user address participate in the synchronization of the block chain and the verification of the head node information.
3. A contract server. The user node for deploying the intelligent contract service is additionally borne in the block chain, and the full synchronization of the block chain is carried out at the same time.
4. And (4) intelligent contracts. A computer protocol intended to propagate, verify or execute contracts in an informational manner. The intelligent contract receives the registration request of the voting item, generates an item public and private key for the voting item, receives the registration request of a voter, generates a lattice ring signature public and private key as a voting certificate to delegate, and finally participates in vote counting.
A block chain anonymous voting technology based on ideal lattices comprises the following steps:
step 1: and registering the voting items.
The user initializes the voting items and registers the voting item information. The intelligent contract generates relevant security parameters for the project information.
Specifically, step 1 may include the steps of:
step 1.1: a user initiates a registration request with a smart contract and provides project information, including a candidate list (c) 1 ,c 2 ,...c n ) The voting rule (n is the number of votes that can be cast by a voter at one time), and the time node (public registration time Tc, public voting time Tv). Wherein, c n Representing the nth candidate.
Step 1.2: the intelligent contract receives a public-private key pair (IDsk, IDpk) that generates a key specific to this item, reserves the public key IDpk, and exposes the private key IDsk and related item (candidate list, voting rules, time node) information into the blockchain.
And 2, step: the voter is registered.
The users participating in the voting register the related personal information in the block chain according to the voting item application information on the chain.
Specifically, step 2 may include the steps of:
step 2.1: and submitting a registration application to the intelligent contract by the users of the blockchain participating in the voting within the public registration time.
Step 2.2: after receiving the registration application of the voter, the intelligent contract generates a public and private key pair (usk, upk) of the voter, wherein usk is the private key of the voter, and upk is the public key of the voter.
Step 2.3: the intelligent contract uses the project public key IDpk, the voter public key upk and the random number r to generate a unique identifier token as the unique identifier of the voter. The aim is to avoid multiple votes by one voter.
Step 2.4: the intelligent contract sends the generated private key of the voter and the unique identifier token of the voter to the voter through a trusted channel.
And step 3: and (6) voting preparation.
Before voting, the voter who obtains the unique identifier token needs to perform necessary preparation work, including obtaining public keys of a plurality of voters and related information of the voting project.
Specifically, step 3 may include the steps of:
step 3.1: the voter selects the public keys upk of k voters participating in the voting item ID in the blockchain before voting, the k voting item ID voters being decoy users of the ring signature. Wherein k is more than or equal to 2.
Step 3.2: the voter obtains item-related information in the blockchain, including a candidate list of item IDs (c) 1 ,c 2 ,...c n ) Public voting time Tv in the time node and a voting rule.
And 4, step 4: and (6) voting.
The voter encrypts the voting content by adopting homomorphic encryption, and signs the encrypted voting content by adopting a ring signature technology based on an ideal lattice.
Specifically, step 4 may include the steps of:
step 4.1: the voter generates voting content M according to the voting rule pair of the project ID.
And 4.2: and the voter encrypts the voting content M by using homomorphic encryption to obtain encrypted voting content ME.
Step 4.3: the voter performs a ring signature on the encrypted voting content ME.
In the method, a ring signature scheme based on an ideal lattice is used.
Step 4.4: and the voter discloses the encrypted message ME, the ring signature e, the project identifier, the timestamp and the voter unique identifier token on the block chain together.
And 5: and (6) counting tickets and preparing.
And collecting votes on the block chain in the intelligent contract, authenticating token and ring signature, and homomorphically adding the encrypted message ME.
Specifically, step 5 may include the steps of:
step 5.1: and (4) verifying the token which is the unique identifier of the voter, and only recording the first vote corresponding to each token.
Any user of the blockchain can verify the validity of the voter's ring signature.
Step 5.2: after the votes are verified, homomorphically adding the voted messages.
Step 6: and (6) counting tickets and verifying.
At this point the total number of votes has been uploaded into the blockchain, at which stage the voting results are disclosed. The intelligent contract discloses a homomorphic encryption private key, and the homomorphic encryption private key is used for decrypting each piece of voting information in the block chain to obtain each voting result and decrypting the total voting result to obtain the total voting result.
Any user in the block chain can calculate the result of each vote by himself to verify with the voting result.
Advantageous effects
Compared with the prior art, the invention has the following advantages:
1. the invention adopts the ring signature technology based on the ideal lattice trapdoor, can resist the quantum computation attack and simultaneously can reduce the length of the signature and the efficiency of the signature.
2. The invention encrypts the voting content, protects the voting content disclosed on the chain and avoids the voting result from being known in advance. Meanwhile, the ticket counting by a credible third party is not needed any more, all the users can check the tickets, and the consensus can be achieved without dispute.
Drawings
FIG. 1 is a schematic flow chart of the present invention.
Detailed Description
The invention will now be described more fully hereinafter with reference to the accompanying drawings and examples. The described embodiments are only some embodiments of the invention, not all embodiments. All other embodiments, which can be obtained by a person skilled in the art without making any creative effort based on the embodiments in the present invention, belong to the protection scope of the present invention.
In the embodiment, entities of a voting system comprise candidates, voters and project applicants. As shown in fig. 1. The specific process is as follows:
step 1: and registering the voting items.
Specifically, the method comprises the following steps:
step 1.1: and (6) registering the voting items.
Project applicant initiates a registration request to the smart contract providing project information, including a candidate list (c) 1 ,c 2 ,...c n ) A voting rule (the number of votes a voter can cast at one time, n), a time node (public registration time TC, public voting time TV), and the like.
Step 1.2: after the intelligent contract receives the project application registration information, the intelligent contract generates a public and private key pair (IDsk, IDpk) of the project. The smart contract retains the private key and publishes the public key and related item (candidate list, voting rules, time node) information into the blockchain.
Wherein, the process of generating the item public and private key pair (IDsk, IDpk) is as follows:
master key generation Setup (1) n )。
The input includes: n m matrix a on a modulo q polynomial quotient ring, reversible n matrix H on a modulo q polynomial quotient ring, gaussian distribution D. q, n and m are all positive integers.
The output includes: the item public key IDpk = a and the item private key IDpk = R. Wherein the content of the first and second substances,is a check matrix, R is a trapdoor,representing a randomly selected matrix, A 1 Representing the lattice points HG-AR corresponding to the ideal lattice,a set of n × m matrices composed of integers representing modulo q.
After that, the item public key IDpk = a and the item private key IDsk = R are output.
And 2, step: the voter is registered.
Specifically, the method comprises the following steps:
step 2.1: and submitting a registration application to the intelligent contract by the users of the blockchain participating in the voting within the public registration time.
Step 2.2: after receiving the registration application of the voter, the intelligent contract generates a public and private key pair (upk, usk) of the voter.
The specific process of generating the public and private key pair (upk, usk) of the voter is as follows:
voter public and private key generation algorithm Extract(id i Msk), wherein:
the input includes: random number serial number id corresponding to token i The voting item master key IDsk.
First, the secure hash function H1 calculates Q i =H1(id i ),Q i Representing user id i The hash value of token of (1) is setk represents a positive integer.
Thereafter, the MP12 trapdoor derivation algorithm DelTrap (A, Q) is used i ,R,σ 2 ) Sampling to obtain A i Corresponding trapdoor matrix R i ,σ 2 Is a gaussian parameter.
From t =1 to t = n, take q × I n Row t u of the matrix t ,u t Representing one row element in the ideal lattice. Using SampleD (A) i ,R i ,I n u t Sigma) algorithm samplingSatisfies A i s i =qI n mod2q,s i A matrix of dimension (m + nk) x n, I, representing data elements modulo q n Denotes an identity matrix having dimensions n × n, and σ denotes a gaussian parameter.
Step 2.3: in order to avoid the problem of multiple votes of a voter, the intelligent contract uses the project public key IDpk, the voter public key upk and the random number r to generate a unique identifier token which is used as the unique identifier of the voter.
Step 2.4: the intelligent contract sends the generated voter private key usk and the voter unique identifier token to the voter through a trusted channel.
And 3, step 3: and (6) preparing voting.
Specifically, the method comprises the following steps:
step 3.1: before voting, the voter selects k (k > = 2) voter public keys upk of the participation voting item IDs in the blockchain, and k participation item ID voters are used as bait users of the ring signature.
Step 3.2: the voter obtains the item-related information in the blockchain, including the candidate list of item IDs (c) 1 ,c 2 ,...c n ) The voting time TV and the voting system are disclosed.
And 4, step 4: and (6) voting.
Specifically, the method comprises the following steps:
step 4.1: the voter generates voting content M for the candidate according to the voting rule of the project.
And 4.2: and the voter encrypts the voting content M by using homomorphic encryption to obtain the encrypted voting content ME.
Step 4.3: the voter performs a ring signature on the encrypted voting content ME.
The method uses a ring signature mode based on ideal lattices, and comprises the following specific steps:
signature Sign (ME, R) upk Usk), where:
the input includes: voting messages ME, voter-chosen public key ring R upk Voter private key usk, hash function H2.
And (3) outputting: a ring signature e.
Private key usk matrix S of voter s CalculatingS is represented by a private key matrix S s And the identity matrix is spliced into an integer matrix with the dimension of (m + nk + n) multiplied by n.
For each public key upk in the ring i Generating a vectorZ represents an integer modulo q of the elements of the matrix data having dimensions (m + nk) x n.
The numbers of traversal participation ring signature are i = s +1 to i = num (R) upk ) -1 and i =0 to i = s-1, s representing the voter's number and i representing the user number whose participation ring signature provides the public key.
Then, the commitment value of the user participating in the ring signature providing public key is calculated:z i 、c i respectively representing the response and commitment of the ith user on the ring.
Step 4.4: and the voter discloses the encrypted message ME, the ring signature e, the item identifier, the timestamp and the voter unique identifier token on the chain.
And 5: and (5) counting tickets and preparing.
Specifically, the method comprises the following steps:
step 5.1: the intelligent contract verifies the unique identifier token of the voter, and only records the first vote corresponding to each token. Any user of the blockchain can verify the validity of the voter's ring signature.
The ring signature verification algorithm Verify (ME, e) is as follows, where:
the input includes: signature message ME, ring signature e; public key set R of users participating in ring signature upk 。
And (3) outputting: the verification result is 0 or 1.
Traverse public key set R upk Element R in (1) i CalculatingWherein R is i Representing an ith user participating in a ring signature;
Finally, checking whether the result is equal to the commitment value c1 of the first user, if so, outputting 1 to indicate that the verification is passed, otherwise, outputting 0 to indicate that the verification is not passed.
Step 5.2: after the votes are verified, the voted messages are homomorphically added.
And 6: and (6) counting tickets and verifying.
Specifically, the method comprises the following steps:
step 6.1: and randomly selecting a user in the block chain as a voter, collecting voting information containing the project ID in a block generated from the publication of the project to the expiration of the vote, and checking whether the unique identifier token of the voter is correct or not.
Step 6.2: according to the time stamp of the voting information, the voter only accepts the first voting information of the voter.
Step 6.3: and (3) the voter checks the validity of the ring signature for the valid votes, and if the signature is valid, all the encrypted voting information Mc are added to obtain the encrypted total vote number TotalMc.
Step 6.4: the ticket counter finally uploads (TotalMc, ID) to the block chain, and within the time of counting the ticket, the counting is completed.
Step 6.5: and the intelligent contract discloses a private key and a decryption algorithm, decrypts each piece of voting information in the block chain to obtain voting content M, and decrypts the encrypted total voting number TotalMc to obtain a voting result TotalM.
Any user in the block chain can verify the voting result according to the voting content M and TotalM.
While the foregoing is directed to the preferred embodiment of the present invention, it is not intended that the invention be limited to the embodiment and the drawings disclosed herein. Equivalents and modifications may be made without departing from the spirit of the disclosure, which is to be considered as within the scope of the invention.
Claims (6)
1. A block chain anonymous voting technology based on ideal lattices is characterized by comprising the following steps:
step 1: registering a voting project;
initializing a voting project by a user, registering voting project information, and generating related safety parameters for the project information by an intelligent contract;
step 2: registering voters;
the users participating in voting register related personal information in the block chain according to the voting item application information on the chain; the intelligent contract generates a unique identifier of the voter;
and step 3: preparing a vote;
before voting, the voter with the unique identifier needs to perform necessary preparation work, including obtaining public keys of a plurality of voters and related information of voting items;
and 4, step 4: voting;
the voter encrypts the voting content by adopting homomorphic encryption and signs the encrypted voting content by adopting a ring signature technology based on an ideal lattice;
and 5: preparing a counting ticket;
collecting votes on the block chain in the intelligent contract, authenticating the unique identifier and the ring signature of the voter, and carrying out homomorphic addition on the encrypted voting content;
and 6: counting tickets and verifying;
the intelligent contract discloses a homomorphic encryption private key, each piece of voting information in the block chain is decrypted by using a decryption algorithm to obtain each voting result, and the total voting result is decrypted to obtain a total voting result;
any user in the blockchain can verify with the voting results by being able to calculate the result for each vote.
2. The anonymous voting technique for the block chain based on the ideal lattice as set forth in claim 1, wherein the step 1 comprises the steps of:
step 1.1: a user initiates a registration request to the smart contract and provides item information, including a candidate list (c) 1 ,c 2 ,...c n ) Voting rules, time nodes, wherein c n Representing the nth candidate, the time node comprises a public registration time Tc and a public voting time Tv;
step 1.2: the intelligent contract receives and generates a public and private key pair (IDsk, IDpk) dedicated to the item, reserves a public key IDpk, and discloses the private key IDsk and related item information into a block chain, wherein the related item information comprises a candidate list, a voting rule and a time node;
the step 2 comprises the following steps:
step 2.1: the method comprises the steps that a block chain user participating in voting submits a registration application to an intelligent contract within public registration time;
step 2.2: after receiving a registration application of a voter, an intelligent contract generates a public and private key pair (usk, upk) of the voter, wherein usk is a private key of the voter, and upk is a public key of the voter;
step 2.3: the intelligent contract uses the project public key IDpk, the voter public key upk and the random number r to generate a unique identifier token as the unique identifier of the voter;
step 2.4: the intelligent contract sends the generated private key of the voter and the unique identifier token of the voter to the voter through a trusted channel;
the step 3 comprises the following steps:
step 3.1: before voting, a voter selects the public keys upk of k voters participating in the voting project ID in a block chain, the k voters participating in the project ID are used as bait users of ring signature, and k is more than or equal to 2;
step 3.2: the voter obtains the item-related information in the blockchain, including the candidate list of item IDs (c) 1 ,c 2 ,...c n ) Public voting time Tv in the time node and a voting rule;
step 4 comprises the following steps:
step 4.1: the voter generates voting content M according to the voting rule pair of the project ID;
step 4.2: the voter encrypts the voting content M by using homomorphic encryption to obtain encrypted voting content ME;
step 4.3: the voter performs ring signature on the encrypted voting content ME;
in the method, a ring signature mode based on an ideal lattice is used;
step 4.4: the voter discloses the encrypted message ME, the ring signature e, the project identifier, the timestamp and the voter unique identifier token together on the block chain;
the step 5 comprises the following steps:
step 5.1: verifying the token which is the unique identifier of the voter, and only recording the first vote corresponding to each token;
any user of the blockchain can verify the validity of the voter's ring signature;
step 5.2: after the votes are verified, homomorphically adding the voted messages.
3. A block chain anonymous voting technique based on ideal lattices as claimed in claim 2, wherein in step 1, the generation of the item public and private key pair (IDsk, IDpk) is as follows:
let the master key generate Setup (1) n );
The input comprises the following steps: n x m matrix A on the modulus q polynomial quotient ring, reversible n x n matrix H on the modulus q polynomial quotient ring, gaussian distribution D, q, n, m are all positive integers;
the output includes: the item public key IDpk = a and the item private key IDpk = R, wherein,is a check matrix, R is a trapdoor,representing a randomly selected matrix, A 1 Representing lattice points HG-AR corresponding to the ideal lattice,a set of n × m matrices composed of integers representing modulo q;
After that, the item public key IDpk = a and the item private key IDsk = R are output.
4. A block chain anonymous voting technique based on ideal lattices as claimed in claim 2, wherein in step 2, the specific process of generating the public and private key pair (upk, usk) of the voter is as follows:
voter public and private key generation algorithm Extract (id) i Msk), wherein:
the input includes: random number serial number id corresponding to token i A voting item master key IDsk;
First, the secure hash function H1 calculates Q i =H1(id i ),Q i Representing user id i The hash value of token is set as public key upk i Matrix arrayk represents a positive integer; a is an n x m matrix on a modulus q polynomial quotient ring;
then, the trapdoor derivation algorithm Deltrap (A, Q) is used i ,R,σ 2 ) Sampling to obtain A i Corresponding trapdoor matrix R i ,σ 2 Is a Gaussian parameter;
from t =1 to t = n, take q × I n T row u of the matrix t ,u t Representing a row element in the ideal lattice; using SampleD (A) i ,R i ,I n u t Sigma) algorithm samplingSatisfies A i s i =qI n mod2q,s i A matrix of dimension (m + nk) x n, I, representing data elements modulo q n Representing an identity matrix with dimension n × n, sigma representing a gaussian parameter;
5. The anonymous voting technique using block chains based on ideality lattice as claimed in claim 2, wherein in step 4, the voter performs a ring signature on the encrypted voting content ME, and the ring signature based on ideality lattice is used, which is as follows:
signature Sign (ME, R) upk Usk), where:
the input includes: voting messages ME, voter-chosen public key ring R upk A voter private key usk, a hash function H2;
and (3) outputting: a ring signature e;
first, the public key upk in the ring pair i Matrix A i Do the following operations, calculateA is an n x m matrix on a modulus q polynomial quotient ring;
private key usk matrix S of voter s CalculatingS denotes a matrix S of private keys s Splicing the unit matrix and the unit matrix into an integer matrix with dimension (m + nk + n) multiplied by n;
for each public key upk in the ring i Generating a vectorZ represents an integer modulo q of a matrix data element with dimension (m + nk) x n;
the numbers of traversal participation ring signature are i = s +1 to i = num (R) upk ) -1 and i =0 to i = s-1, s representing the voter's number, i representing the user number whose participation ring signature provides the public key;
then, the commitment value of the user participating in the ring signature providing public key is calculated:z i 、c i respectively representing the response and commitment of the ith user on the ring;
In step 5, the intelligent contract verifies the unique identifier token of the voter, and a ring signature verification algorithm Verify (ME, e) is as follows:
the input includes: signature message ME, ring signature e; public key set R of users participating in ring signature upk ;
And (3) outputting: a verification result of 0 or 1;
traverse public key set R upk Element R in (1) i CalculatingWherein R is i Representing the ith user participating in the ring signature;
Finally, checking whether the result is equal to the commitment value c1 of the first user, if so, outputting 1 to indicate that the verification is passed, otherwise, outputting 0 to indicate that the verification is not passed.
6. The anonymous voting technique for block chains based on idealized tables as set forth in claim 1, wherein step 6 comprises the steps of:
step 6.1: randomly selecting a user in the block chain as a voter, collecting voting information containing a project ID in a block generated from the publication of the project to the expiration of the voting by the voter, and checking whether the unique identifier token of the voter is correct or not;
step 6.2: according to the time stamp of the voting information, the voter only receives the first voting information of the voter;
step 6.3: the ticket counting staff checks the validity of the ring signature for the valid votes, and if the signature is valid, all the encrypted voting information Mc are added to obtain an encrypted total vote number TotalMc;
step 6.4: the ticket counter finally uploads (TotalMc, ID) to the block chain, and the counting of the tickets is completed within the counting time;
step 6.5: the intelligent contract discloses a private key and a decryption algorithm, each piece of voting information in the block chain is decrypted to obtain voting content M, and the encrypted total voting number TotalMc is decrypted to obtain a voting result TotalM;
any user in the block chain can verify the voting result according to the voting content M and TotalM.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210600398.7A CN115174092A (en) | 2022-05-29 | 2022-05-29 | Block chain anonymous voting technology based on ideal lattices |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210600398.7A CN115174092A (en) | 2022-05-29 | 2022-05-29 | Block chain anonymous voting technology based on ideal lattices |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115174092A true CN115174092A (en) | 2022-10-11 |
Family
ID=83484174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210600398.7A Pending CN115174092A (en) | 2022-05-29 | 2022-05-29 | Block chain anonymous voting technology based on ideal lattices |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115174092A (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110391911A (en) * | 2019-07-23 | 2019-10-29 | 中国工商银行股份有限公司 | Block chain votes anonymously system and method |
CN111416705A (en) * | 2020-02-29 | 2020-07-14 | 南京如般量子科技有限公司 | Quantum computing resistance alliance chain voting system and method based on identity cryptography |
WO2020258060A2 (en) * | 2019-06-25 | 2020-12-30 | 南京邮电大学 | Blockchain-based privacy protection trust model for internet of vehicles |
CN114333137A (en) * | 2021-12-16 | 2022-04-12 | 复旦大学 | Anonymous and stress-resistant electronic voting system based on partial blind signature and block chain |
-
2022
- 2022-05-29 CN CN202210600398.7A patent/CN115174092A/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020258060A2 (en) * | 2019-06-25 | 2020-12-30 | 南京邮电大学 | Blockchain-based privacy protection trust model for internet of vehicles |
CN110391911A (en) * | 2019-07-23 | 2019-10-29 | 中国工商银行股份有限公司 | Block chain votes anonymously system and method |
CN111416705A (en) * | 2020-02-29 | 2020-07-14 | 南京如般量子科技有限公司 | Quantum computing resistance alliance chain voting system and method based on identity cryptography |
CN114333137A (en) * | 2021-12-16 | 2022-04-12 | 复旦大学 | Anonymous and stress-resistant electronic voting system based on partial blind signature and block chain |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yu et al. | Platform-independent secure blockchain-based voting system | |
CN114143080A (en) | Block chain data privacy protection and sharing method based on zero knowledge proof | |
Ibrahim et al. | Secure E-voting with blind signature | |
KR100718489B1 (en) | Signature process, computer program, apparatus and signature system for the new fair blind signature | |
Chow et al. | Robust Receipt-Free Election System with Ballot Secrecy and Verifiability. | |
CN114255034A (en) | Electronic voting method capable of verifying fairness based on block chain | |
CN112600675B (en) | Electronic voting method and device based on group signature, electronic equipment and storage medium | |
Wei et al. | Blockchain-based electronic voting protocol | |
CN112487468A (en) | Traceable complete anonymous electronic voting method and system based on block chain | |
US20230006836A1 (en) | Multi-party and multi-use quantum resistant signatures and key establishment | |
CN110867012A (en) | Method, device and system for de-centering electronic voting based on intelligent contract and storage medium | |
Nguyen Thi et al. | Enhanced security in internet voting protocol using blind signatures and dynamic ballots | |
Gupta et al. | Blockchain-based voting system powered by post-quantum cryptography (BBVSP-pqc) | |
Mookherji et al. | Blockchain-based e-voting protocols | |
Grontas et al. | Coercion resistance in a practical secret voting scheme for large scale elections | |
CN115147975B (en) | Encryption network voting method based on block chain | |
CN110278073B (en) | Group digital signature and verification method, and equipment and device thereof | |
CN112422294B (en) | Anonymous voting method and device based on ring signature, electronic equipment and storage medium | |
CN115174092A (en) | Block chain anonymous voting technology based on ideal lattices | |
Rajeb et al. | Formal analyze of a private access control protocol to a cloud storage | |
Lu et al. | Self-tallying e-voting with public traceability based on blockchain | |
Hussain Danwar et al. | A Framework for e-Voting System Based on Blockchain and Distributed Ledger Technologies. | |
Schultz | Electronic voting implementation through bitcoin blockchain technology | |
Jayakumari et al. | E-voting system using cloud-based hybrid blockchain technology | |
CN112560070B (en) | Data sharing method with auditing function |
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 |