High-security multi-key fully homomorphic encryption decryption method
Through BFV-type multi-key full homomorphic encryption, a trusted third party generates joint public and private keys, and combined with relinearized keys for full homomorphic calculation and partial decryption, the decryption security problem in BFV-type algorithm is solved, and a decryption method with high security and privacy protection is realized.
Patent Information
- Application Number
- CN202510556910.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-29
- Publication Date
- 2025-08-15
AI Technical Summary
The existing decryption methods of multi-key full homomorphic encryption algorithms have security problems, especially the TFHE algorithm cannot be directly applied to BFV algorithms, and traditional methods have the risk of private key leakage and plaintext theft.
BFV-type multi-key full homomorphic encryption is adopted, and a joint public key and private key are generated by a trusted third party selecting a public string. The user generates a key based on the public string, and uses a relinearization key to perform full homomorphic calculation and partial decryption. Finally, the plaintext is jointly decrypted to ensure that users who do not participate in the operation cannot obtain the results, and the participating users cannot steal other people's private keys.
It realizes high security decryption in BFV-type full homomorphic encryption, ensuring that users who do not participate in the computing cannot know the calculation results, and users who participate in the computing cannot steal other people's private keys, improving the security and privacy protection of the algorithm.
Smart Images

Figure CN120498625A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of information security technology and relates to a decryption method for highly secure multi-key fully homomorphic encryption. Background Art
[0002] In the design of a multi-key fully homomorphic encryption algorithm, in addition to the encryption algorithm construction and the homomorphic addition and multiplication operation rules, the ciphertext decryption algorithm also affects overall security and functionality. Traditional multi-key fully homomorphic encryption algorithms can be divided into two types: the first requires a trusted third party to collect the private keys of all participating users through a key agreement protocol. Then, through calculations and concatenation, a joint private key is obtained. After decrypting the ciphertext, the calculated plaintext is sent to all participating users through a negotiated protocol. The second method utilizes a distributed decryption approach. Each user first partially decrypts the ciphertext using their own private key and broadcasts all partial decryption results. After other users have collected all partial decryption results, they perform a specific calculation to obtain the final plaintext. However, both methods have certain security issues. The first decryption method requires sending one's private key to a trusted third party. In the era of big data, this is a problem that every user should avoid. If the trusted third party is attacked, a large number of personal private keys will be leaked, posing a security threat to personal privacy. Therefore, this method is not used to decrypt ciphertext in actual algorithms. The second decryption method requires all partial decryptions to be made public, and no additional information is required to obtain the final plaintext. Therefore, any attacker who can intercept or eavesdrop on these partial decryption results can obtain the final plaintext. This poses a significant security risk in negotiation, voting, and multi-party computation. Based on the above analysis, choosing a highly secure distributed decryption algorithm is of great significance.
[0003] Currently, there are some research results on the secure distributed decryption of multi-key fully homomorphic encryption. However, these results are mainly proposed for the TFHE type multi-key fully homomorphic encryption algorithm. The TFHE type and BFV type multi-key fully homomorphic encryption algorithms differ in plaintext space, construction process, and other algorithms. Therefore, the secure distributed decryption algorithm of the TFHE type multi-key fully homomorphic encryption cannot be directly used in the BFV type fully homomorphic encryption algorithm. Summary of the Invention
[0004] The technical problem solved by the present invention is: to overcome the shortcomings of the existing technology and propose a highly secure multi-key fully homomorphic encryption decryption method, which fully utilizes the characteristics of BFV-type multi-key fully homomorphic encryption ciphertext and key additivity, and utilizes the additivity of private keys in the ciphertext decryption process to ensure the decomposition of the decryption process into partial decryption of each user.
[0005] The solution of the present invention is:
[0006] A highly secure multi-key fully homomorphic encryption decryption method, comprising:
[0007] Assume 1 trusted third party and N users participating in the operation;
[0008] The trusted third party selects appropriate parameters as the public string and sends the public string to each user participating in the calculation;
[0009] Each user generates a key based on a public string; the key includes the public key pk i and private key sk i ; and the public key pk i Send to a trusted third party;
[0010] The trusted third party receives the public key pk of all users i , calculate the joint public key pk; and send the joint public key pk to each user;
[0011] Each user calculates the relinearization key rlk based on the joint public key pk i ; and relinearize the key rlk i Send to a trusted third party;
[0012] Set the plaintext selected by the i-th user to m i , for the plaintext m i Encrypted to get ciphertext c i , and the ciphertext c i and the relinearization key rlk i Send to a trusted third party;
[0013] The trusted third party receives the ciphertext c from all users i and the relinearization key rlk i , perform fully homomorphic ciphertext operations to obtain the fully homomorphic ciphertext; and send the fully homomorphic ciphertext to each user;
[0014] Each user uses the private key sk i Joint decryption to obtain the final plaintext.
[0015] In the above-mentioned highly secure multi-key fully homomorphic encryption decryption method, the process of selecting appropriate parameters by a trusted third party includes the following steps:
[0016] S21. The trusted third party selects the polynomial ring R based on specific security requirements. q ;
[0017] S22, trusted third party from R q A public string (a,a) is randomly selected from , where a is a polynomial used to generate the public key of each user; a is a vector whose components are polynomials used to generate the relinearized key of each user.
[0018] In the above-mentioned highly secure multi-key fully homomorphic encryption decryption method, the process of each user generating a key based on a public string is as follows:
[0019] S31, the i-th user randomly selects a private key character s from the public string i ; Where i is the user's serial number, 1≤i≤N;
[0020] S32, the i-th user sets the private key to sk i =(1,s i ), set the public key to pk i =(-a·s i +e i ,a); where e i is the error amount selected from a certain error distribution, and pk i Send to a trusted third party;
[0021] S33, the trusted third party receives the public key from each user as pk i , according to each public key pk i Calculate the joint public key pk; and send the joint public key pk to each user;
[0022] S34. Each user receives the joint public key pk from the trusted third party and obtains the relinearized key rlk according to the BFV encryption algorithm. i .
[0023] In the above-mentioned highly secure multi-key fully homomorphic encryption decryption method, in S33, the calculation method of the joint public key pk is:
[0024] pk=(pk1[-a·s i +e i ]+…+pk N [-a·s i +e i ],a).
[0025] In the above-mentioned high-security multi-key fully homomorphic encryption decryption method, the plaintext m i Encrypt to get the ciphertext c i The method is:
[0026] Use the joint public key pk to encrypt the plaintext m i Encrypt to get the ciphertext c i .
[0027] In the above-mentioned highly secure multi-key fully homomorphic encryption decryption method, the trusted third party uses the user's reproducible key rlk iThe first component of derives the same reproducibility key rlk; when performing fully homomorphic ciphertext operations, when ciphertext multiplication operations are involved, relinearization is required after each multiplication operation using the relinearization key rlk.
[0028] In the above-mentioned highly secure multi-key fully homomorphic encryption decryption method, in the BFV-type multi-key fully homomorphic encryption process, the ciphertext encrypted by each user and the ciphertext after the fully homomorphic operation are both in the form c = (c0, c1) and satisfy the equation:
[0029]
[0030] Where m is the plaintext corresponding to c;
[0031] s + is the sum of the private key characters of each user, s + =s1+…+s N ;
[0032] c0 is the first component of the ciphertext;
[0033] c1 is the second component of the ciphertext;
[0034] t is the plaintext space modulus;
[0035] q is the modulus of the ciphertext space.
[0036] In the above-mentioned highly secure multi-key fully homomorphic encryption decryption method, the method for each user to perform joint decryption is:
[0037] S51. When user i receives the ciphertext c=(c0,c1) to be decrypted, he first calculates the partial decryption result p i,i ;
[0038] S52, call the fast public key encryption algorithm, the i-th user selects a polynomial from the distribution that obeys discrete Gaussian sampling according to the component by In plain text, by upgrading the public key pk of user j j The modulus of user j is used as the public key, and the output is the public key pk of user j. j right The encrypted interactive ciphertext p i,j ; Where j = 1,…,N and j≠i;
[0039] S53, the i-th user saves p i,i , and all p i,j Send to other corresponding users;
[0040] S54, when user i receives all p j,iAfterwards; where j = 1, ..., N and j ≠ i; use the private key sk i Call the decryption algorithm and calculate all
[0041] S55. Calculate the final plaintext.
[0042] In the above-mentioned high-security multi-key fully homomorphic encryption decryption method, in S51, the partial decryption result p i,i The calculation method is:
[0043] p i,i =[c1·s i ] q
[0044] Where c1 is the second component of the ciphertext;
[0045] s i Randomly select private key characters from the public string for the i-th user;
[0046] q is the modulus of the ciphertext space.
[0047] In the above-mentioned decryption method of highly secure multi-key fully homomorphic encryption, in S55, the calculation method of the final plaintext is:
[0048]
[0049] The beneficial effects of the present invention compared with the prior art are:
[0050] (1) This invention targets scenarios where the ciphertext of BFV-type multi-key fully homomorphic encryption should not be known to users who did not participate in the operation. This invention can ensure that any user who did not participate in the homomorphic operation cannot obtain the final calculation result, and any participating user cannot obtain the private key of another user through the partial decryption result of another user;
[0051] (2) The present invention fully utilizes the characteristics of BFV-type multi-key fully homomorphic encryption ciphertext and key additivity, and uses the additivity of private keys in the ciphertext decryption process to ensure the decomposition of the decryption process into the partial decryption of each user;
[0052] (3) The encryption process of the present invention consists of two parts. The first part is the partial decryption of each user, and the second part is the final decryption by each user using the partial decryption. The two parts are combined to be directly used in the BFV type fully homomorphic encryption algorithm. BRIEF DESCRIPTION OF THE DRAWINGS
[0053] Figure 1 This is a decryption flow chart of the highly secure multi-key fully homomorphic encryption of the present invention;
[0054] Figure 2This is a decryption principle diagram of the highly secure multi-key fully homomorphic encryption of the present invention;
[0055] Figure 3 This is a schematic diagram of decryption for N users of the present invention. DETAILED DESCRIPTION
[0056] The present invention will be further described below with reference to the embodiments.
[0057] The present invention provides a highly secure decryption method for multi-key fully homomorphic encryption. Aiming at scenarios where the BFV-type multi-key fully homomorphic encryption ciphertext calculation should not be known to users who did not participate in the operation, the present invention can ensure that any user who did not participate in the homomorphic operation cannot obtain the final calculation result, and any participating user cannot obtain the private key of other users through the partial decryption results of other users.
[0058] High-security multi-key fully homomorphic encryption decryption method, such as Figure 1 As shown, the specific steps include:
[0059] Assume 1 trusted third party and N users participating in the operation; the modulus of the plaintext space is t, and the modulus of the ciphertext space is q.
[0060] The trusted third party selects appropriate parameters as the public string and sends the public string to each user participating in the calculation;
[0061] Each user generates a key based on a public string; the key includes the public key pk i and private key sk i ; and the public key pk i Sent to a trusted third party; the trusted third party receives the public key pk of all users i , calculate the joint public key pk; and send the joint public key pk to each user; each user calculates the relinearization key rlk based on the joint public key pk i ; and relinearize the key rlk i Send to a trusted third party.
[0062] The process of selecting appropriate parameters by a trusted third party includes the following steps:
[0063] S21. The trusted third party selects the polynomial ring R based on specific security requirements. q .
[0064] In the present invention, the trusted third party selects the polynomial ring R according to the number of users participating in the operation and the security strength. q .
[0065] S22, trusted third party from R qA public string (a,a) is randomly selected from , where a is a polynomial used to generate the public key of each user; a is a vector whose components are polynomials used to generate the relinearized key of each user.
[0066] Each user generates a key based on a public string; the key includes the public key pk i , private key sk i and the relinearization key rlk i .
[0067] The process for each user to generate a key based on the public string is:
[0068] S31, the i-th user randomly selects a private key character s from the public string i ; Where i is the user's serial number, 1≤i≤N.
[0069] In the present invention, user i randomly selects a private key s from a key distribution that obeys discrete Gaussian sampling according to the component i .
[0070] S32, the i-th user sets the private key to sk i =(1,s i ), set the public key to pk i =(-a·s i +e i ,a); where e i is the error amount selected from a certain error distribution, the sampling variance is set to 3.19, and pk i Send to a trusted third party.
[0071] S33, the trusted third party receives the public key from each user as pk i , according to each public key pk i Calculate the joint public key pk; and send the joint public key pk to each user.
[0072] The calculation method of the joint public key pk is:
[0073] pk=(pk1[-a·s i +e i ]+…+pk N [-a·s i +e i ],a).
[0074] S34. Each user receives the joint public key pk from the trusted third party and obtains the relinearized key rlk according to the BFV encryption algorithm. i If ciphertext multiplication is not involved, this step can be omitted.
[0075] Set the plaintext selected by the i-th user to m i , for the plaintext mi Encrypted to get ciphertext c i , and the ciphertext c i and the relinearization key rlk i Send to a trusted third party.
[0076] Set the plaintext selected by the i-th user to m i , for the plaintext m i Encrypted to get ciphertext c i , for the plaintext m i Encrypt to get the ciphertext c i The method is:
[0077] Use the joint public key pk to encrypt the plaintext m i Encrypt to get the ciphertext c i .
[0078] And the ciphertext c i and the relinearization key rlk i Send to a trusted third party.
[0079] The trusted third party receives the ciphertext c from all users i and the relinearization key rlk i , perform fully homomorphic ciphertext operations to obtain the ciphertext after fully homomorphic calculation; and send the ciphertext after fully homomorphic calculation to each user.
[0080] The trusted third party receives the ciphertexts from all users, performs fully homomorphic ciphertext operations, obtains the fully homomorphic ciphertexts, and sends the fully homomorphic ciphertexts to each user.
[0081] Trusted third party uses each user's reproducible key rlk i The first component of derives the same reproducibility key rlk; when performing fully homomorphic ciphertext operations, when ciphertext multiplication operations are involved, relinearization is required after each multiplication operation using the relinearization key rlk.
[0082] In the BFV multi-key fully homomorphic encryption process, the ciphertext encrypted by each user and the ciphertext after the fully homomorphic operation are both in the form c = (c0, c1) and satisfy the equation:
[0083]
[0084] Where m is the plaintext corresponding to c;
[0085] s + is the sum of the private key characters of each user, s + =s1+…+s N ;
[0086] c0 is the first component of the ciphertext;
[0087] c1 is the second component of the ciphertext;
[0088] t is the plaintext space modulus;
[0089] q is the modulus of the ciphertext space.
[0090] Each user jointly decrypts to obtain the final plaintext.
[0091] Each user uses the private key sk i Joint decryption to obtain the final plaintext.
[0092] The method for each user to perform joint decryption is:
[0093] S51. When user i receives the ciphertext c=(c0,c1) to be decrypted, he first calculates the partial decryption result p i,i ; Partial decryption result p i,i The calculation method is:
[0094] p i,i =[c1·s i ] q
[0095] Where c1 is the second component of the ciphertext;
[0096] s i Randomly select private key characters from the public string for the i-th user;
[0097] q is the modulus of the ciphertext space.
[0098] S52, call the fast public key encryption algorithm, the i-th user selects a polynomial from the distribution that obeys discrete Gaussian sampling according to the component by In plain text, by upgrading the public key pk of user j j The modulus of user j is used as the public key, and the output is the public key pk of user j. j right The encrypted interactive ciphertext p i,j ; Where j = 1,…,N and j≠i;
[0099] S53, the i-th user saves p i,i , and all p i,j Send to other corresponding users;
[0100] S54, when user i receives all p j,i Afterwards; where j = 1, ..., N and j ≠ i; use the private key sk i Call the decryption algorithm and calculate all
[0101] S55. Calculate the final plaintext.
[0102] The final plaintext is calculated as follows:
[0103]
[0104] The interaction process is as follows Figure 2 As shown, the decryption process is as follows Figure 3 shown.
[0105] The present invention targets scenarios where the BFV-type multi-key fully homomorphic encryption ciphertext calculation should not be known to users who do not participate in the operation. The present invention can ensure that any user who does not participate in the homomorphic operation cannot obtain the final calculation result, and any participating user cannot obtain the private key of other users through the partial decryption results of other users.
[0106] The present invention fully utilizes the characteristics of BFV-type multi-key fully homomorphic encryption ciphertext and key additivity, and utilizes the additivity of private keys in the ciphertext decryption process to ensure the decomposition of the decryption process into partial decryption of each user.
[0107] The encryption process of the present invention consists of two parts. The first part is the partial decryption of each user, and the second part is the final decryption by each user using the partial decryption. The two parts are combined to be directly used in the BFV type fully homomorphic encryption algorithm.
[0108] Although the present invention has been disclosed above in terms of preferred embodiments, it is not intended to limit the present invention. Any person skilled in the art may make possible changes and modifications to the technical solutions of the present invention by using the methods and technical contents disclosed above without departing from the spirit and scope of the present invention. Therefore, any simple modifications, equivalent changes and modifications made to the above embodiments based on the technical essence of the present invention without departing from the content of the technical solutions of the present invention shall fall within the scope of protection of the technical solutions of the present invention.
Claims
1. A highly secure multi-key fully homomorphic encryption decryption method, characterized by: include: Assume 1 trusted third party and N users participating in the operation; The trusted third party selects appropriate parameters as the public string and sends the public string to each user participating in the calculation; Each user generates a key based on a public string; the key includes the public key pk i and private key sk i ; and the public key pk i Send to a trusted third party; The trusted third party receives the public key pk of all users i , calculate the joint public key pk; and send the joint public key pk to each user; Each user calculates the relinearization key rlk based on the joint public key pk i ; and relinearize the key rlk i Send to a trusted third party; Set the plaintext selected by the i-th user to m i , for the plaintext m i Encrypted to get ciphertext c i , and the ciphertext c i and the relinearization key rlk i Send to a trusted third party; The trusted third party receives the ciphertext c from all users i and the relinearization key rlk i , perform fully homomorphic ciphertext operations to obtain the fully homomorphic ciphertext; and send the fully homomorphic ciphertext to each user; Each user uses the private key sk i Joint decryption to obtain the final plaintext.
2. A highly secure multi-key fully homomorphic encryption decryption method according to claim 1, characterized in that: The process of selecting appropriate parameters by a trusted third party includes the following steps: S21. The trusted third party selects the polynomial ring R based on specific security requirements. q ; S22, trusted third party from R q A public string (a,a) is randomly selected from , where a is a polynomial used to generate the public key of each user; a is a vector whose components are polynomials used to generate the relinearized key of each user.
3. A highly secure multi-key fully homomorphic encryption decryption method according to claim 2, characterized in that: The process for each user to generate a key based on the public string is: S31, the i-th user randomly selects a private key character s from the public string i ; Where i is the user's serial number, 1≤i≤N; S32, the i-th user sets the private key to sk i =(1,s i ), set the public key to pk i =(-a·s i +e i ,a); where e i is the error amount selected from a certain error distribution, and pk i Send to a trusted third party; S33, the trusted third party receives the public key from each user as pk i , according to each public key pk i Calculate the joint public key pk; and send the joint public key pk to each user; S34. Each user receives the joint public key pk from the trusted third party and obtains the relinearized key rlk according to the BFV encryption algorithm. i .
4. A highly secure multi-key fully homomorphic encryption decryption method according to claim 3, characterized in that: In S33, the calculation method of the joint public key pk is: pk=(pk1[-a·s i +e i ]+…+pk N [-a·s i +e i ],a)。 5. A highly secure multi-key fully homomorphic encryption decryption method according to claim 3, characterized in that: The plaintext m i Encrypt to get the ciphertext c i The method is: Use the joint public key pk to encrypt the plaintext m i Encrypt to get the ciphertext c i .
6. A highly secure multi-key fully homomorphic encryption decryption method according to claim 5, characterized in that: Trusted third party uses each user's reproducible key rlk i The first component of derives the same reproducibility key rlk; when performing fully homomorphic ciphertext operations, when ciphertext multiplication operations are involved, relinearization is required after each multiplication operation using the relinearization key rlk.
7. A highly secure multi-key fully homomorphic encryption decryption method according to claim 6, characterized in that: In the BFV multi-key fully homomorphic encryption process, the ciphertext encrypted by each user and the ciphertext after the fully homomorphic operation are both in the form c = (c0, c1) and satisfy the equation: Where m is the plaintext corresponding to c; s + is the sum of the private key characters of each user, s + =s1+…+s N ; c0 is the first component of the ciphertext; c1 is the second component of the ciphertext; t is the plaintext space modulus; q is the modulus of the ciphertext space.
8. A highly secure multi-key fully homomorphic encryption decryption method according to claim 7, characterized in that: The method for each user to perform joint decryption is: S51. When user i receives the ciphertext c=(c0,c1) to be decrypted, he first calculates the partial decryption result p i,i ; S52, call the fast public key encryption algorithm, the i-th user selects a polynomial from the distribution that obeys discrete Gaussian sampling according to the component by In plain text, by upgrading the public key pk of user j j The modulus of user j is used as the public key, and the output is the public key pk of user j. j right The encrypted interactive ciphertext p i,j ; Where j = 1,…,N and j≠i; S53, the i-th user saves p i,i , and all p i,j Send to other corresponding users; S54, when user i receives all p j,i Afterwards; where j = 1, ..., N and j ≠ i; use the private key sk i Call the decryption algorithm and calculate all S55. Calculate the final plaintext.
9. A highly secure multi-key fully homomorphic encryption decryption method according to claim 8, characterized in that: In said S51, the partial decryption result p i,i The calculation method is: p i,i =[c1·s i ] q Where c1 is the second component of the ciphertext; s i Randomly select private key characters from the public string for the i-th user; q is the modulus of the ciphertext space.
10. A highly secure multi-key fully homomorphic encryption decryption method according to claim 8, characterized in that: In S55, the final plaintext is calculated as follows:
Citation Information
Patent Citations
Data sharing method and system based on multi-party fully homomorphic encryption
CN112906030A
Multi-user privacy protection machine learning method and device based on multi-key fully homomorphic encryption
CN114844621A
Privacy protection federated learning method and device based on multi-key fully homomorphic encryption
CN119294554A
Secure distributed key generation for multiparty homomorphic encryption
US20210399874A1