Multi-key ntru based limited-order homomorphic encryption method and system
By improving the BFV algorithm and replacing the relinearization technique with multi-key NTRU encryption, the problems of large key size and high computational cost in the BFV scheme are solved, and more efficient finite-order homomorphic encryption is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-12
- Publication Date
- 2026-04-07
AI Technical Summary
The existing BFV algorithm has a large key size for transmitting computations in cloud computing, resulting in high communication overhead, high relinearization computation cost, and severe noise accumulation, which limits the efficiency of finite-time homomorphic encryption.
The multi-key NTRU encryption is used to replace the relinearization technique in the BFV scheme, reducing the number of computing keys and the amount of computation, lowering communication costs and computational overhead, and constructing new computing keys through ternary polynomials.
It effectively reduces the size of the transmitted computing key and the amount of computation in the relinearization process, reduces communication and computational overhead, and improves the efficiency of finite-time homomorphic encryption.
Smart Images

Figure CN119834955B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of homomorphic encryption technology, and more particularly, to a multi-key NTRU-based limited homomorphism encryption method and system. BACKGROUND
[0002] With the development and wide application of cloud computing, especially a large number of e-commerce transactions on the cloud platform, how to safely and effectively protect user privacy and security has become a hot spot in the field of cryptography research today. If the data is directly stored in the form of plaintext, sensitive data may be exposed to cloud service providers, which may leak user privacy information and further cause a series of security problems for user private data. To solve this problem, the homomorphic encryption (Homomorphic Encryption) scheme has emerged. As shown in the figure, the user data is encrypted using the homomorphic encryption scheme, and the ciphertext is sent to the cloud. A series of upload, download, delete, update, search and other operations can be performed on the cloud, and the objects of the operations are all ciphertexts. This operation not only avoids the risk of interception, copying, tampering or forgery of data during transmission, but also avoids the risk of data leakage or server-side attack. Figure 1
[0003] From the aspect of operation, homomorphic encryption algorithms can be divided into additive homomorphism and multiplicative homomorphism. For two plaintexts m1, m2 and encryption and decryption algorithms Enc(), Dec():
[0004] ■Additive homomorphism: if Enc(m1) + Enc(m2) = Enc(m1 + m2) or m1 + m2 = Dec(Enc(m1) + Enc(m2)), then the additive homomorphism is established;
[0005] ■Multiplicative homomorphism: if Enc(m1) * Enc(m2) = Enc(m1 * m2) or m1 * m2 = Dec(Enc(m1) * Enc(m2)), then the multiplicative homomorphism is established.
[0006] Table 1 briefly introduces the classification and development of mainstream homomorphic encryption schemes.
[0007]
[0008]
[0009] Table 1
[0010] Homomorphic encryption can generally be divided into three categories: partially homomorphic encryption (PHE), somewhat homomorphic encryption (SHE), and fully homomorphic encryption (FHE). The specific descriptions of these three homomorphic algorithms are as follows:
[0011] ■ Partial homomorphic encryption (PHE): It can only satisfy one homomorphic encryption property, either additive homomorphic or multiplicative homomorphic, but it can support an unlimited number of operations.
[0012] ■ Finitely Homomorphic Encryption (SHE): Finitely homomorphic encryption refers to a homomorphic encryption method in which some operations (such as addition and multiplication) can only be performed a finite number of times;
[0013] ■ Fully homomorphic encryption (FHE): Fully homomorphic encryption allows an unlimited number of addition and multiplication operations to be performed on the ciphertext.
[0014] Fully homomorphic encryption schemes are constantly evolving in practical applications, and various mainstream fully homomorphic encryption schemes have corresponding algorithm libraries. Currently, these libraries are primarily implemented in C++ and support use on different operating systems. Numerous fully homomorphic encryption libraries exist, among which Microsoft's SEAL library is relatively mature. The Microsoft SEAL library supports several fully homomorphic encryption schemes, including BGV, BFV, and CKKS, each with very different properties. The BFV scheme allows modulo operations on encrypted integers, while the CKKS scheme allows addition and multiplication of encrypted real or complex numbers, but only approximate results. For applications requiring precise values, the BFV scheme is a better choice.
[0015] However, in practical applications, the BFV algorithm still faces the following drawbacks:
[0016] 1. A large number of computation keys need to be transmitted during communication between the client and the server. These computation keys are large in size, resulting in significant communication overhead.
[0017] 2. During the process of calculating the ciphertext on the server, a ciphertext refresh operation is required, which will result in a significant computational overhead. Summary of the Invention
[0018] To address the aforementioned problems, this invention discloses a finite-time homomorphic encryption method and system based on multi-key NTRU, which can reduce the communication cost of transmitting computation keys during relinearization, the computational consumption during the relinearization process, and the noise level introduced after relinearization.
[0019] To achieve the above objectives, the technical solution of the present invention includes the following:
[0020] A finite-order homomorphic encryption method based on multi-key NTRU, the method comprising:
[0021] Generate the assignment key evk;
[0022] Based on the assigned key evk, the homomorphic multiplication result ct′ of ciphertext ct0 and ciphertext ct1 is obtained; wherein, ciphertext ct0 and ciphertext ct1 are generated based on plaintext m0 and plaintext m1, respectively.
[0023] Furthermore, the assignment key evk = [h i +ω i s] q ; where the i-th ternary polynomial g i Corresponding NTRU public key ternary polynomial g i ←R q R q This indicates that all coefficients are in the finite field Z. q The set of polynomials, where sk represents the private key corresponding to the public key pk used to generate ciphertexts ct0 and ct1, q represents the modulus corresponding to the public-private key pair (sk, pk), ω represents ω-ary, i∈[1,l], and l is a positive integer.
[0024] Furthermore, the homomorphic multiplication result ct′=(c′0,c′1), wherein the first part of the homomorphic multiplication result t is the reduction modulus of the coefficients of the plaintext polynomial, ct0[0] represents the zero-degree term of the ciphertext ct0, ct1[0] represents the zero-degree term of the ciphertext ct1, and the second part of the homomorphic multiplication result. median median ct0[1] represents the first-order term of the ciphertext ct0, and ct1[1] represents the first-order term of the ciphertext ct1.
[0025] A finite-order homomorphic encryption system based on multi-key NTRU, the system comprising:
[0026] The assignment key generation module is used to generate the assignment key evk;
[0027] The homomorphic multiplication calculation module is used to obtain the homomorphic multiplication result ct′ of ciphertext ct0 and ciphertext ct1 based on the key evk; wherein the ciphertext ct0 and ciphertext ct1 are generated based on plaintext m0 and plaintext m1, respectively.
[0028] A weighted homomorphic electronic voting method, applied to a server, the method comprising:
[0029] Generate encryption / decryption public / private key pair (sk, pk);
[0030] Get Voters V j Ballot information j The ballot data string B j The encrypted data string mkNTRU-SHE-Enc(B j ); wherein, the ciphertext data string mkNTRU-SHE-Enc(B j Generate using public key pk;
[0031] Get Voters V j The weighted ciphertext mkNTRU-SHE-Enc(w j ); wherein, the weighted ciphertext mkNTRU-SHE-Enc(w j Generate using public key pk;
[0032] Based on any of the above-described finite-time homomorphic encryption methods based on multi-key NTRU, the ciphertext data string mkNTRU-SHE-Enc(B) is calculated. i ) and the weighted ciphertext mkNTRU-SHE-Enc(w j The homomorphic multiplication result ct′ j Then, the homomorphic multiplication result ct′ is... j Sum the results to obtain the encrypted vote count;
[0033] The encrypted vote count results are decrypted using the private key sk to obtain the electronic vote results.
[0034] Further, the ballot information Ballot is generated. j The process includes:
[0035] Voter V j Generate public / private key pairs And make the public key public to the administrator.
[0036] Administrator generates signing private key sk a Public key PK for verification a And in that voter V j If eligible to vote, use the signing private key sk a public key The signature, and the verification public key PK a Send to host M;
[0037] The administrator generates random ballots v j ;
[0038] Voter V j After signing, the public key Send it to host M so that host M can use the signature verification public key to pk. a Determine the voter V j Has voting rights;
[0039] In the voter V j With voting privileges, the host M will give the public key Send to the administrator;
[0040] When the administrator receives the public key sent by host M Afterwards, with voter V j Shared use of keys Generate votes v j ciphertext vc j and the encrypted text vc j Send to host M; wherein, the key Generated using a symmetric encryption scheme;
[0041] Host M will send the encrypted VC j Forward to voter V j ;
[0042] Voter V j Using the key ciphertext vc j Restore to ballot v j Next, voting is conducted for each candidate to generate ballot information (Ballot). j .
[0043] A weighted homomorphic electronic voting system, the system comprising:
[0044] The key generation module is used to generate encryption and decryption public and private key pairs (sk, pk);
[0045] The first data acquisition module is used to acquire voter V. j Ballot information j The ballot data string B j The encrypted data string mkNTRU-SHE-Enc(B j ); wherein, the ciphertext data string mkNTRU-SHE-Enc(B j Generate using public key pk;
[0046] The second data acquisition module acquires voter V. j The weighted ciphertext mkNTRU-SHE-Enc(w j); wherein, the weighted ciphertext mkNTRU-SHE-Enc(w j Generate using public key pk;
[0047] The voting result generation module is used for the finite-time homomorphic encryption method based on multi-key NTRU described in any of the above-mentioned methods to calculate the ciphertext data string mkNTRU-SHE-Enc(B i ) and the weighted ciphertext mkNTRU-SHE-Enc(w j The homomorphic multiplication result ct′ j Then, the homomorphic multiplication result ct′ is... j The results are summed to obtain the encrypted vote count; the private key sk is used to decrypt the encrypted vote count to obtain the electronic vote result.
[0048] An electronic device, characterized in that the electronic device comprises: a processor and a memory storing computer program instructions; the processor, when executing the computer program instructions, implements the finite-time homomorphic encryption method based on multi-key NTRU or the weighted homomorphic electronic voting method described above.
[0049] A computer-readable storage medium, characterized in that the computer-readable storage medium stores computer program instructions, which, when executed by a processor, implement the finite-time homomorphic encryption method based on multi-key NTRU or the weighted homomorphic electronic voting method described above.
[0050] A computer program product, when run on a computer device, causes the computer device to perform the finite-time homomorphic encryption method based on multi-key NTRU or the weighted homomorphic electronic voting method described above.
[0051] Compared to the original BFV scheme, the computation key in this invention is reduced from a binary tuple to a single key, and the introduced noise is smaller. Compared to the relinearization operation in BFV, the new relinearization has the following advantages:
[0052] 1) Before performing relinearization, the number of polynomials transmitting the computation key is changed from... The number has been reduced to This reduces the key size to half of the original, effectively reducing communication costs.
[0053] 2) In the relinearization process, only the first-order term c1 of the ciphertext needs to be recalculated, while the zero-order term c0 of the ciphertext remains unchanged. In this way, the amount of computation required for each relinearization is only half of the original amount, which effectively reduces the computational cost. Attached Figure Description
[0054] Figure 1 This is a schematic diagram of a homomorphic encryption scheme.
[0055] Figure 2 This is a flowchart of a finite-order homomorphic encryption method based on multi-key NTRU. Detailed Implementation
[0056] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the embodiments and accompanying drawings. Here, the illustrative embodiments and descriptions of this invention are used to explain the invention, but are not intended to limit the invention.
[0057] Because the BFV scheme has a long history of development and abundant algorithm libraries, it is highly efficient in implementation. Therefore, this invention considers improving the BFV scheme. The BFV scheme is a fully homomorphic encryption scheme based on RLWE. Its structure consists of two layers: the first layer is finite homomorphic encryption (SHE), and the second layer is bootstrapping. Based on the first layer of finite homomorphic encryption, the fully homomorphic functionality of BFV is achieved by using the bootstrapping technique in the second layer.
[0058] The improvement of this invention is aimed at the first layer of BFV—the Finite Homomorphic Version (SHE). By replacing the RLWE encryption used in the relinearization technique with multi-key NTRU encryption, the communication cost of transmitting the computation key in relinearization, the computational consumption in the relinearization process, and the noise level introduced after relinearization are reduced.
[0059] Table 2 provides an explanation of the relevant symbols.
[0060]
[0061]
[0062] Table 2
[0063] First, a brief introduction to the finite homomorphic version of BFV. The BFV scheme is calculated in the ring R = Z[x] / (x n +1) The scheme includes a total of 7 algorithms: private key generation, public key generation, computation key generation, encryption, decryption, homomorphic addition, and homomorphic multiplication.
[0064] ■BFV Private Key Generation BFV.SecretKeyGen(λ): Outputs the private key s←R2, let sk=s.
[0065] ■BFV Public Key Generation: BFV.PublicKeyGen(sk): Input s = sk, a ← R qAnd e←χ, output public key pk=([-(as+e)] q ,a).
[0066] ■BFV Key Generation BFV.EvaluationKeyGen(sk,ω): Input a i ←R q and e i ←χ, where Output the computation key evk = ([-(a i s+e i )+ω i s 2 ] q ,a i ).
[0067] ■BFV Encryption BFV.Encrypt(pk,m): Input plaintext m∈R t Sample e1, e2←X, represent the public key as pk=(p0,p1), output ct=([Δm+p0u+e1)). q ,[p1u+e2]).
[0068] ■BFV Decryption BFV.Decrypt(sk,ct): Input s=sk,c0=ct[0],c1=ct[1], Output plaintext
[0069] ■BFV addition BFV.Add(ct0,ct1): Input ct0,ct1, output (ct0[0]+ct1[0],ct0[1]+ct1[1]).
[0070] ■BFV Multiplication BFV.Multiply(ct0,ct1): Input ct0,ct1, calculate...
[0071]
[0072] Let c2 be expressed with base ω as make
[0073]
[0074] Output (c′0, c′1).
[0075] Relinearization: The encrypted ciphertext, ct = (c0, c1), is divided into two parts, where c0 represents the zeroth term of s and c1 represents the first term of s. During multiplication, the resulting ciphertext, ct = (c0, c1, c2), has an additional quadratic term c2 (where c0, c1, and c2 are different from the previous ones). To correct this, BFV introduces relinearization, which aims to restore a ciphertext of degree 2 to a new ciphertext of degree 1. Specifically, for a ciphertext of degree 2, ct = (c0, c1, c2), we need to find ct′ = (c′0, c′1) such that...
[0076] [c0+c1·s+c2·s 2 ] q =[c′0+c′1·s+r] q ,
[0077] Where r is a polynomial with a small norm.
[0078] The third step of the algorithm, BFV.EvaluationKeyGen(sk,ω), introduces the relinearization key evk = ([-(a i s+e i )+ω i s 2 ] q ,a i ), express c2 with base ω as make
[0079]
[0080] at this time
[0081]
[0082] Here, r can be taken as Where e i Taking the distribution χ (Gaussian distribution in BFV), r can be regarded as a polynomial with a small norm. Relinearization introduces new noise r into the ciphertext operation. As the number of multiplications increases, the noise accumulates until the correct plaintext cannot be deciphered. Therefore, this scheme supports a finite number of multiplication operations.
[0083] Improvement approach: Note that the computation key evk is in the form of a tuple (evk[0], evk[1]). Before performing relinearization, additional transmission is required. Reducing the size of such a tuple (evk) can decrease the key size, thereby reducing the communication cost of the scheme. Simultaneously, during relinearization, the 0th-order term c0 and the 1st-order term c1 of the ciphertext need to be recalculated separately; reducing the size of evk also reduces the computational cost of this part of the scheme. Furthermore, relinearization introduces new noise r; reducing the size of this noise can also improve the efficiency of the scheme.
[0084] In BFV, the computation key is constructed based on RLWE. To achieve the above purpose, such as... Figure 2 As shown, this invention attempts to construct a new computation key based on multi-key NTRU:
[0085] In a given ring R, assuming the private key s←R2 is invertible, take... A ternary polynomial g i ←R q (A polynomial with coefficients of +1, -1, 0), let for An NTRU public key instance. The key is then calculated.
[0086] evk = [h i +ω i s] q .
[0087] Improved relinearization: For a ciphertext of degree 2 ct = (c0, c1, c2), express c2 to base ω as... make
[0088]
[0089] at this time
[0090]
[0091] Here, r can be taken as Where g i It is taken from a ternary polynomial with coefficients of +1, -1, and 0.
[0092] Table 3 compares the present invention with the BFV algorithm.
[0093]
[0094] Table 3
[0095] Advantages Analysis: Compared to the relinearization operation in BFV, the most significant change is that the computation key is reduced from a binary tuple to a single key. The new relinearization operation offers the following advantages:
[0096] 1. Before performing relinearization, the computation key is changed from the original... The number of polynomials is reduced to The reduction in key size leads to a decrease in communication overhead;
[0097] 2. When performing homomorphic multiplication, only the first-order terms of the ciphertext need to be recalculated, while the zero-order terms remain unchanged.
[0098] Thus, the computational cost required for each ciphertext multiplication operation is only half that of the original BFV scheme, effectively reducing computational overhead; therefore, we can design a completely new encryption algorithm.
[0099] A finite-order homomorphic encryption algorithm based on multi-key NTRU (mkNTRU-SHE)
[0100] Similar to the BFV scheme, the new algorithm calculates the value in the ring R = Z[x] / (x) n +1) The parameter set is also consistent with BFV. This scheme includes a total of seven algorithms: private key generation, public key generation, computation key generation, encryption, decryption, homomorphic addition, and homomorphic multiplication.
[0101] ■ mkNTRU-SHE private key generation mkNTRU-SHE.SecretKeyGen(λ): Output private key s←R2, let sk=s.
[0102] ■ Generate mkNTRU-SHE public key: mkNTRU-SHE.PublicKeyGen(sk): Input s = sk, a ← R q And e←χ, output public key pk=([-(ax+e)] q ,a).
[0103] ■mkNTRU-SHE Key Generation: mkNTRU-SHE.EvaluationKeyGen(sk,ω): Input g i ←R q (Polynomials with coefficients of +1, -1, 0), where Output computation key: evk = [h i +ω i s] q .
[0104] ■mkNTRU-SHE Encryption mkNTRU-SHE.Encrypt(pk,m): Input plaintext m∈R t Sample e1, e2←χ, represent the public key as pk=(p0,p1), output ct=([Δm+p0u+e1)). q ,[p1u+e2]).
[0105] ■mkNTRU-SHE Decryption mkNTRU-SHE.Decrypt(sk,ct): Input s=sk,c0=ct[0],c1=ct[1], Output plaintext
[0106] ■mkNTRU-SHE addition mkNTRU-SHE.Add(ct0,ct1): Input ct0,ct1, output (ct0[0]+ct1[0],ct0[1]+ct1[1]).
[0107] ■mkNTRU-SHE Multiplication: mkNTRU-SHE.Multiply(ct0,ct1): Input ct0,ct1, calculate...
[0108]
[0109] Let c2 be expressed with base ω as make
[0110]
[0111] Output (c′0, c′1).
[0112] Experimental performance
[0113] In this experiment, the coefficients of the reduced plaintext polynomial are taken as t = 2, χ is a Gaussian distribution with standard deviation σ, and the base of the logarithm ω is taken as... Two specific parameter sets, mk-128 and mk-192, with security strengths of 128 bits and 192 bits respectively, were designed, as shown in Table 4. It can be seen that the speed of the present invention is much higher than that of the previous one.
[0114]
[0115]
[0116] Table 4
[0117] Application scenarios
[0118] The following uses an improved weighted homomorphic electronic voting system to illustrate the application scenarios of this invention.
[0119] The weighted electronic voting system consists of: Voter V j Administrator A, Candidate C t The host M and the server are described as follows:
[0120] ●Voters V j : The set of voters with voting rights, where j∈[1,m].
[0121] ●Administrator A: Before the voting began, he spoke with voter V j A common key is negotiated through a key negotiation protocol. During the voting process, administrator A is responsible for generating a set of random electronic ballots, encrypting them using a symmetric encryption algorithm with the negotiated key as the private key, and distributing the ciphertext to the corresponding voters V. i .
[0122] ●Host M: Responsible for distributing the ballots anonymously to voters in two separate sessions.
[0123] ●Candidate C t : The set of candidates to be elected, where t∈[1,n]. Here, this invention uses C i The number represents the number of votes a candidate receives, with 1 and 0 indicating whether the candidate was elected or not.
[0124] ● Server: Implements the functions of verifying the validity of ballots and automatically counting votes.
[0125] The electronic voting scheme comprises four phases: registration, obtaining ballots, voting, and counting. These are described below:
[0126] Registration phase:
[0127] (1) Voter V j Generate a key and register using the public key. V j Choose a random private key Calculate the corresponding public key Here, the public and private keys can be generated using an elliptic curve public-key cryptography scheme. Voter V j Publicly disclose its public key to the administrator.
[0128] (2) The administrator generates the signing key. In order to add qualified voters to the voter list, the administrator needs to generate a pair of signing private keys and verification public keys, denoted as sk. a and PK a Elliptic curve signature algorithms can also be used for key generation and subsequent signing.
[0129] (3) The administrator determines the list of voters. In order to grant voters V... i Signature permissions require the administrator to pre-qualify voters and grant signatures to eligible voters. j its public key After signing, the administrator published the list of voters and their additional signatures.
[0130] Voting stage:
[0131] (1) The administrator generates a random electronic ballot tj .
[0132] (2) Voter V j V requests a vote from host M, and M verifies V's name on the voter list. j The signature confirms whether the requester has voting authority. For voters V whose signatures are verified... i The host will V j public key Send a message to administrator A to request an electronic ballot.
[0133] (3) Administrator A uses V j Shared key Crypto ballot v j , will the corresponding ciphertext vc j Send it to the host, who will then send the VC. j Forwarded to voters. The encryption scheme used here is a symmetric encryption scheme.
[0134] Voting phase:
[0135] For n candidates C = [C1, C2, ..., C n [ and m legal voters V = [V1, V2, ..., V] m Each vote
[0136] Those who have ballot information:
[0137] Ballot j =(v j B j ).
[0138] Among them, v j The ballot representing that voter, B j B represents the voter's ballot data string. j ={b1,b2,…,b t ,…,b n}, j=1,2,…,m. Voting data b t ∈{0,1}, t=1,2,…,n, default vote data b t Setting it to "0" indicates that candidate C t No selection; after voters choose a candidate, the vote data b t It will be set to "1".
[0139] (1) The server generates the public key, private key and assignment key of the mkNTRU-SHE homomorphic encryption scheme, and sets them as sk, pk and evk respectively.
[0140] (2) The administrator uses the public key pk encrypted by mkNTRU-SHE to encrypt each voter's V.j weight w j And the obtained ciphertext mkNTRU-SHE-Enc(w j It is placed on the server.
[0141] (3) Voter V j use For VC j Decrypt to obtain the electronic ballot v j String B containing the voters' ballot data. j The encrypted ciphertext data string mkNTRU-SHE-Enc(B) is obtained through encryption. j Submit to the server.
[0142] (4) Submitting the ballot: Voters submit their ballots to the server by the end of the specified time for ballot submission. At this point, for a single voter V... j The server contains its vote data triples:
[0143] Ctxt_Ballot j =(v j ,mkNTRU-SHE-Enc(B j ),mkNTRU-SHE-Enc(w j )),
[0144] Among them, mkNTRU-SHE-Enc(B j (mkNTRU-SHE-Enc(B)) is a data string of length n, corresponding to the ciphertext information of whether each candidate has been selected. j )) t This refers to the secret ballot information of the t-th candidate.
[0145] Vote counting phase:
[0146] (1) After voting concludes, the server collects, verifies, and counts the ballots. During the counting process, homomorphic addition using BFV homomorphic encryption is used to calculate the addition of the ciphertext, and homomorphic multiplication of the ciphertext is calculated using mkNTRU-SHE's evk. When counting the votes, the server first collects all the encrypted ballot information (mkNTRU-SHE-Enc(BFV ... j )) t With the weight of the dense vote Enc(w) i By multiplying each product using a homomorphic model and then summing all the products using the same homomorphic model, the ciphertext vote count for candidate G is obtained as follows:
[0147]
[0148] (2) Finally, the election results are recovered using the decryption private key sk, i.e.
[0149]
[0150] And it will be published automatically.
[0151] Although the present invention has been disclosed above with reference to embodiments, it is not intended to limit the present invention. Appropriate modifications or equivalent substitutions made by those skilled in the art to the technical solutions of the present invention should be covered within the protection scope of the present invention, which is defined by the claims.
Claims
1. A finite-order homomorphic encryption method based on multi-key NTRU, characterized in that, The method includes: Generate assignment key ; wherein, the assignment key Among them, the first A ternary polynomial Corresponding NTRU public key ternary polynomial , Indicates that all coefficients are in a finite field The set of polynomials, Indicates the generation of ciphertext and ciphertext The private key corresponding to the public key pk used Indicates public-private key pair The corresponding modulus, express number system , It is a positive integer; Based on the assignment key Received the ciphertext and ciphertext homomorphic multiplication results ; wherein, the ciphertext and ciphertext Based on plaintext He Mingwen generate; The homomorphic multiplication result The first part of the homomorphic multiplication result , The modulus of reduction of the coefficients of the plaintext polynomial. Indicates ciphertext The zeroth term, Indicates ciphertext The zeroth term, the second part of the homomorphic multiplication result. median median , Indicates ciphertext The first term, Indicates ciphertext The first term.
2. A finite-order homomorphic encryption system based on multi-key NTRU, characterized in that, The system includes: The assignment key generation module is used to generate assignment keys. ; wherein, the assignment key Among them, the first A ternary polynomial Corresponding NTRU public key ternary polynomial , Indicates that all coefficients are in a finite field The set of polynomials, Indicates the generation of ciphertext and ciphertext The private key corresponding to the public key pk used Indicates public-private key pair The corresponding modulus, express number system , It is a positive integer; Homomorphic multiplication calculation module, used for calculating based on the key Receive ciphertext and ciphertext homomorphic multiplication results ; wherein, the ciphertext and ciphertext Based on plaintext He Mingwen generate; The homomorphic multiplication result The first part of the homomorphic multiplication result , The modulus of reduction of the coefficients of the plaintext polynomial. Indicates ciphertext The zeroth term, Indicates ciphertext The zeroth term, the second part of the homomorphic multiplication result. median median , Indicates ciphertext The first term, Indicates ciphertext The first term.
3. A weighted homomorphic electronic voting method, characterized in that, Applied to a server, the method includes: Generate encryption / decryption public / private key pairs ; Get voters ballot information The ballot data string ciphertext data string ; wherein, the encrypted data string Using public key generate; Get voters weighted ciphertext ; wherein, the weighted ciphertext Using public key generate; Based on the finite-order homomorphic encryption method based on multi-key NTRU as described in claim 1, the ciphertext data string is calculated. and the weighted ciphertext homomorphic multiplication results Then, the homomorphic multiplication result is... Sum the results to obtain the encrypted vote count; Use private key The encrypted vote count results are decrypted to obtain the electronic voting results.
4. The weighted homomorphic electronic voting method according to claim 3, characterized in that, Generate the ballot information The process includes: Voters Generate public / private key pairs and make the public key public to the administrator. ; Administrator generates signing private key And verification public key And in that voter If eligible to vote, use the signing private key. public key The signature, and the verification public key. Send to the host ; The administrator generates random ballots. ; Voters After signing, the public key Send to the host So that the host Using the signature verification public key Determine the voter Has voting rights; In the voter When the host has voting rights, public key Send to the administrator; When the administrator receives the host Public key sent Afterwards, with voters Shared use of keys Generate ballots ciphertext and the ciphertext Send to the host ; wherein, the key Generated using a symmetric encryption scheme; host ciphertext Forward to voters ; Voters Using the key ciphertext Restore to ballots Next, voting is conducted for each candidate to generate ballot information. .
5. A weighted homomorphic electronic voting system, characterized in that, The system includes: The key generation module is used to generate public and private key pairs for encryption and decryption. ; The first data acquisition module is used to acquire voter information. ballot information The ballot data string ciphertext data string ; wherein, the encrypted data string Using public key generate; The second data acquisition module retrieves voter information. weighted ciphertext ; wherein, the weighted ciphertext Using public key generate; The voting result generation module is used to calculate the ciphertext data string based on the finite-time homomorphic encryption method based on multi-key NTRU as described in claim 1. and the weighted ciphertext homomorphic multiplication results Then, the homomorphic multiplication result is... Perform summation to obtain the encrypted vote count result; use the private key The encrypted vote count results are decrypted to obtain the electronic voting results.
6. An electronic device, characterized in that, The electronic device includes: a processor and a memory storing computer program instructions; when the processor executes the computer program instructions, it implements the finite homomorphic encryption method based on multi-key NTRU as described in claim 1 or the weighted homomorphic electronic voting method as described in any one of claims 3-4.
7. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer program instructions, which, when executed by a processor, implement the finite homomorphic encryption method based on multi-key NTRU as described in claim 1 or the weighted homomorphic electronic voting method as described in any one of claims 3-4.
8. A computer program product, characterized in that, When the computer program product is run on a computer device, it causes the computer device to perform the finite homomorphic encryption method based on multi-key NTRU as described in claim 1 or the weighted homomorphic electronic voting method as described in any one of claims 3-4.
Citation Information
Patent Citations
Block chain electronic voting method for providing vote security and data privacy protection
CN118379825A
Variable Relinearization in Homomorphic Encryption
US20180375640A1