CN115174092A - Block chain anonymous voting technology based on ideal lattices - Google Patents

Block chain anonymous voting technology based on ideal lattices Download PDF

Info

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
Application number
CN202210600398.7A
Other languages
Chinese (zh)
Inventor
盖珂珂
王烁
周博涵
蒋芃
徐蕾
祝烈煌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
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 Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN202210600398.7A priority Critical patent/CN115174092A/en
Publication of CN115174092A publication Critical patent/CN115174092A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic 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/3255Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network 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/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/72Signcrypting, 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

Block chain anonymous voting technology based on ideal lattices
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,
Figure BDA0003667866060000051
is a check matrix, R is a trapdoor,
Figure BDA0003667866060000052
representing a randomly selected matrix, A 1 Representing the lattice points HG-AR corresponding to the ideal lattice,
Figure BDA0003667866060000053
a set of n × m matrices composed of integers representing modulo q.
Firstly, a trapdoor matrix is randomly selected according to the Gaussian distribution D
Figure BDA0003667866060000054
Then, calculate
Figure BDA0003667866060000055
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.
The output includes: derived public and private keys
Figure BDA0003667866060000056
And usk i
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 set
Figure BDA0003667866060000057
k 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 sampling
Figure BDA0003667866060000058
Satisfies 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.
Finally, the dispatched public key is output
Figure BDA0003667866060000059
And a private key
Figure BDA00036678660600000510
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.
First, the public key upk in the ring pair i Matrix A i Do the following operations, calculate
Figure BDA0003667866060000061
Private key usk matrix S of voter s Calculating
Figure BDA0003667866060000062
S 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 vector
Figure BDA0003667866060000063
Z 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:
Figure BDA0003667866060000064
z i 、c i respectively representing the response and commitment of the ith user on the ring.
Finally, the ring signature is output
Figure BDA0003667866060000071
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 Calculating
Figure BDA0003667866060000072
Wherein R is i Representing an ith user participating in a ring signature;
then, the commitments of the users participating in the ring signature are calculated in turn
Figure BDA0003667866060000073
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,
Figure FDA0003667866050000031
is a check matrix, R is a trapdoor,
Figure FDA0003667866050000032
representing a randomly selected matrix, A 1 Representing lattice points HG-AR corresponding to the ideal lattice,
Figure FDA0003667866050000033
a set of n × m matrices composed of integers representing modulo q;
firstly, a trapdoor matrix is randomly selected according to the Gaussian distribution D
Figure FDA0003667866050000034
Then, calculate
Figure FDA0003667866050000035
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;
the output includes: derived public and private keys
Figure FDA0003667866050000036
And usk i
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 array
Figure FDA0003667866050000037
k 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 sampling
Figure FDA0003667866050000038
Satisfies 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;
finally, the dispatched public key is output
Figure FDA0003667866050000039
And a private key
Figure FDA00036678660500000310
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, calculate
Figure FDA0003667866050000041
A is an n x m matrix on a modulus q polynomial quotient ring;
private key usk matrix S of voter s Calculating
Figure FDA0003667866050000042
S 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 vector
Figure FDA0003667866050000043
Z 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:
Figure FDA0003667866050000044
z i 、c i respectively representing the response and commitment of the ith user on the ring;
finally, the ring signature is output
Figure FDA0003667866050000045
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 Calculating
Figure FDA0003667866050000046
Wherein R is i Representing the ith user participating in the ring signature;
then, the commitments of the users participating in the ring signature are calculated in turn
Figure FDA0003667866050000047
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.
CN202210600398.7A 2022-05-29 2022-05-29 Block chain anonymous voting technology based on ideal lattices Pending CN115174092A (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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