A high-security multi-key fully homomorphic encryption decryption method

CN120498625BActive Publication Date: 2026-10-20SPACE STAR TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510556910.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-04-29
Publication Date
2026-10-20
Estimated Expiration
2045-04-29

AI Technical Summary

Technical Problem

[0003]目前,针对多密钥全同态加密的安全分布式解密有部分研究结果,但是目前主要是对TFHE型多密钥全同态加密算法提出的,TFHE型与BFV型多密钥全同态加密算法在明文空间、构造过程等算法都有不同,因此TFHE型多密钥全同态加密的安全分布式解密算法并不能直接用到BFV型全同态加密算法中

Benefits of technology

[0050](1)本发明针对BFV型多密钥全同态加密密文计算后不应被未参与运算用户知悉的场景,本发明可以保证任何未参与同态运算的用户都无法得到最终的计算结果,并且任何参与用户都无法通过其他用户的部分解密结果获得其他用户的私钥;

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120498625B_ABST
    Figure CN120498625B_ABST
Patent Text Reader

Abstract

The application relates to a high-safety multi-key full-homomorphic encryption decryption method and belongs to the technical field of information security. A trusted third party and N users participating in operation are set; the trusted third party selects appropriate parameters as a public string and sends the public string to each user participating in operation; each user generates a key according to the public string; the i-th user selects a plaintext m i , encrypts the plaintext m i to obtain a ciphertext c i , and sends the ciphertext c i and a relinearization key rlk i to the trusted third party; the trusted third party receives the ciphertexts transmitted by all users, performs full-homomorphic ciphertext operation, and sends the ciphertext after full-homomorphic operation to each user; each user jointly decrypts to obtain a final plaintext; the application fully utilizes the characteristics of BFV type multi-key full-homomorphic encryption ciphertext and key additivity, and uses the additivity of the private key in the ciphertext decryption process to ensure the decomposition of the decryption process to each user.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of information security technology and relates to a decryption method for high-security multi-key fully homomorphic encryption. Background Technology

[0002] In the design of multi-key fully homomorphic encryption algorithms, besides the construction of the encryption algorithm process and the rules for homomorphic addition and multiplication, the decryption algorithm also affects the overall security and functionality. In traditional multi-key fully homomorphic encryption algorithms, decryption 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 negotiation protocol, then obtain a joint private key through calculation / chaining operations, decrypt the ciphertext, and then send the processed plaintext to each participating user through the negotiation protocol; the second uses a distributed decryption method, where each user first uses their own private key to partially decrypt the ciphertext and broadcasts all partial decryption results. After other users collect all the partial decryption results, they obtain the final plaintext through certain calculations. However, both of these methods have certain security issues. The first decryption method requires sending an individual's private key to a trusted third party. In the era of big data, this is a problem that every user should avoid. Once the trusted third party is attacked, it can lead to the leakage of a large number of personal private keys, posing a security threat to personal privacy. Therefore, this method is not used to decrypt ciphertext in practical algorithms. The second decryption method requires disclosing all partial decryption results without any additional information to obtain the final plaintext. Therefore, any attacker who can intercept or eavesdrop on this partial decryption result can obtain the final plaintext, which 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 importance.

[0003] Currently, there are some research results on secure distributed decryption of multi-key fully homomorphic encryption, but these are mainly proposed for TFHE type multi-key fully homomorphic encryption algorithms. TFHE type and BFV type multi-key fully homomorphic encryption algorithms are different in plaintext space, construction process and other algorithms. Therefore, the secure distributed decryption algorithm of TFHE type multi-key fully homomorphic encryption cannot be directly used in BFV type fully homomorphic encryption algorithm. Summary of the Invention

[0004] The technical problem solved by this invention is to overcome the shortcomings of the prior art and propose a high-security multi-key fully homomorphic encryption decryption method. It makes full use of the characteristics of BFV type multi-key fully homomorphic encryption ciphertext and key additivity. In the ciphertext decryption process, the additivity of the private key is used to ensure the decomposition of the decryption process to each user part.

[0005] The solution of the present invention is:

[0006] A high-security multi-key fully homomorphic encryption decryption method includes:

[0007] Set up one trusted third party and N users participating in the computation;

[0008] A trusted third party selects appropriate parameters as a 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 pk the public key i Send to a trusted third party;

[0010] A trusted third party receives all users' public keys (PK). i Calculate the joint public key pk; and send the joint public key pk to each user;

[0011] Each user calculates the relinearized key rlk based on the joint public key pk. i ; and relinearize the key rlk i Send to a trusted third party;

[0012] Let m be the plaintext selected by the i-th user. i For plaintext m i Encryption yields ciphertext c i and ciphertext c i and relinearization key rlk i Send to a trusted third party;

[0013] A trusted third party receives encrypted messages from all users. i and 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 their private key sk i Through joint decryption, the final plaintext was obtained.

[0015] In the above-mentioned high-security multi-key fully homomorphic encryption decryption method, the process of a trusted third party selecting appropriate parameters includes the following steps:

[0016] S21. A trusted third party selects a 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 the given string; where a is a polynomial used by each user to generate a public key; and a is a vector whose components are polynomials used by each user to generate a relinearized key.

[0018] In the above-mentioned high-security multi-key fully homomorphic encryption decryption method, the process by which each user generates a key based on a common string is as follows:

[0019] S31. The i-th user randomly selects the 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 The error quantity is selected from a certain error distribution, and pk is... i Send to a trusted third party;

[0021] S33. A trusted third party receives the public key pk from each user. i Based on 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 a trusted third party and obtains the relinearized key rlk according to the BFV encryption algorithm. i .

[0023] In the above-mentioned high-security multi-key fully homomorphic encryption decryption method, in step S33, the calculation method of the joint public key pk is as follows:

[0024] pk=(pk1[-a·s i +e i ]+…+pk N [-a·s i +e i ],a).

[0025] In the aforementioned high-security multi-key fully homomorphic encryption decryption method, the plaintext m... i Encryption yields ciphertext c i The method is as follows:

[0026] Using a combined public key pk to analyze plaintext m i Encryption yields ciphertext c i .

[0027] In the aforementioned high-security multi-key fully homomorphic encryption decryption method, a trusted third party uses the reproducible key rlk of each user. iThe first component obtains the same reproducibility key rlk; when performing fully homomorphic ciphertext operations, when ciphertext multiplication is involved, relinearization is required after each multiplication operation using the relinearization key rlk.

[0028] In the aforementioned high-security multi-key fully homomorphic encryption decryption method, during the BFV-type multi-key fully homomorphic encryption process, the ciphertext encrypted by each user and the ciphertext after the fully homomorphic operation both have the form c = (c0, c1) and satisfy the following equation:

[0029]

[0030] In the formula, m is the plaintext corresponding to c;

[0031] s + The sum of the characters of each user's private key, 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 ciphertext space modulus.

[0036] In the above-mentioned high-security multi-key fully homomorphic encryption decryption method, the method for joint decryption by various users is as follows:

[0037] S51. When user i receives the ciphertext c = (c0, c1) that needs to be decrypted, it 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 a distribution that follows discrete Gaussian sampling according to the components. by As plaintext, by boosting user j's public key pk j The modulus of the key is used as the public key, and the output uses the user j's public key pk. j right 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 the corresponding other users;

[0040] S54, when user i receives all p j,iThen; where j = 1, ..., N and j ≠ i; use the private key sk i Call the decryption algorithm to calculate all

[0041] S55. Calculate the final plaintext.

[0042] In the above-described high-security multi-key fully homomorphic encryption decryption method, in step S51, part of the decryption result p i,i The calculation method is as follows:

[0043] p i,i =[c1·s i ] q

[0044] In the formula, c1 is the second component of the ciphertext;

[0045] s i For the i-th user, randomly select a private key character from the public string;

[0046] q is the ciphertext space modulus.

[0047] In the above-described high-security multi-key fully homomorphic encryption decryption method, the final plaintext is calculated in step S55 as follows:

[0048]

[0049] The advantages of this invention compared to the prior art are:

[0050] (1) This invention addresses the scenario where the ciphertext of a BFV-type multi-key fully homomorphic encryption should not be known by users who did not participate in the computation. This invention can ensure that no user who did not participate in the homomorphic computation can obtain the final computation result, and no user who participated can obtain the private key of other users through the partial decryption result of other users.

[0051] (2) This invention fully utilizes the characteristics of BFV type multi-key fully homomorphic encryption ciphertext and key additivity, and uses the additivity of private key in the ciphertext decryption process to ensure the decomposition of decryption to each user part;

[0052] (3) The encryption process of the present invention consists of two parts: the first part is partial decryption by each user, and the second part is final decryption by each user using partial decryption. The two parts are combined to realize direct use in the BFV type fully homomorphic encryption algorithm. Attached Figure Description

[0053] Figure 1 This is a flowchart illustrating the decryption process of the high-security multi-key fully homomorphic encryption of this invention.

[0054] Figure 2This is a schematic diagram illustrating the decryption principle of the high-security multi-key fully homomorphic encryption of this invention.

[0055] Figure 3 This is a schematic diagram illustrating the decryption process for N users in this invention. Detailed Implementation

[0056] The present invention will be further described below with reference to the embodiments.

[0057] This invention provides a high-security decryption method for multi-key fully homomorphic encryption. For scenarios where the ciphertext of BFV-type multi-key fully homomorphic encryption should not be known by users who did not participate in the computation, this invention can ensure that no user who did not participate in the homomorphic operation can obtain the final computation result, and no participating user can obtain the private key of other users through partial decryption results of other users.

[0058] Decryption methods for high-security multi-key fully homomorphic encryption, such as Figure 1 As shown, the specific steps include the following:

[0059] Set up one trusted third party and N users participating in the computation; the plaintext space modulus is t, and the ciphertext space modulus is q.

[0060] A trusted third party selects appropriate parameters as a 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 pk the public key 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 relinearized 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 by which a trusted third party selects appropriate parameters includes the following steps:

[0063] S21. A trusted third party selects a polynomial ring R based on specific security requirements. q .

[0064] In this invention, a trusted third party selects the polynomial ring R based on the number of users participating in the computation and the required security level. q .

[0065] S22, Trusted third party from R qA public string (a, a) is randomly selected from the given string; where a is a polynomial used by each user to generate a public key; and a is a vector whose components are polynomials used by each user to generate a relinearized key.

[0066] Each user generates a key based on a public string; the key includes the public key pk. i Private key sk i and relinearization key rlk i .

[0067] The process by which each user generates a key based on a public string is as follows:

[0068] S31. The i-th user randomly selects the private key character s from the public string. i Where i is the user's serial number, 1≤i≤N.

[0069] In this invention, user i randomly selects a private key s from a key distribution that follows discrete Gaussian sampling, according to the components. 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 To select the error amount from a certain error distribution, the sampling variance is set to 3.19, and pk is... i Send to a trusted third party.

[0071] S33. A trusted third party receives the public key pk from each user. i Based on 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 for the joint public key pk is as follows:

[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 a trusted third party and obtains the relinearized key rlk according to the BFV encryption algorithm. i If the ciphertext is not involved in multiplication, this step can be omitted.

[0075] Let m be the plaintext selected by the i-th user. i For plaintext mi Encryption yields ciphertext c i and ciphertext c i and relinearization key rlk i Send to a trusted third party.

[0076] Let m be the plaintext selected by the i-th user. i For plaintext m i Encryption yields ciphertext c i For plaintext m i Encryption yields ciphertext c i The method is as follows:

[0077] Using a combined public key pk to analyze plaintext m i Encryption yields ciphertext c i .

[0078] and ciphertext c i and relinearization key rlk i Send to a trusted third party.

[0079] A trusted third party receives encrypted messages from all users. i and relinearization key rlk i Perform fully homomorphic ciphertext operations to obtain the fully homomorphic ciphertext; and send the fully homomorphic ciphertext to each user.

[0080] A trusted third party receives all the ciphertext sent by users, performs fully homomorphic ciphertext operations to obtain the fully homomorphically computed ciphertext, and then sends the fully homomorphically computed ciphertext to each user.

[0081] A trusted third party uses the reproducibility key rlk of each user. i The first component obtains the same reproducibility key rlk; when performing fully homomorphic ciphertext operations, when ciphertext multiplication is involved, relinearization is required after each multiplication operation using the relinearization key rlk.

[0082] In BFV-type multi-key fully homomorphic encryption, the ciphertext encrypted by each user and the ciphertext after the fully homomorphic operation are both of the form c = (c0, c1), and satisfy the following equation:

[0083]

[0084] In the formula, m is the plaintext corresponding to c;

[0085] s + The sum of the characters of each user's private key, 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 ciphertext space modulus.

[0090] Users work together to decrypt the text and obtain the final plaintext.

[0091] Each user uses their private key sk i Through joint decryption, the final plaintext was obtained.

[0092] The method for users to jointly decrypt is as follows:

[0093] S51. When user i receives the ciphertext c = (c0, c1) that needs to be decrypted, it first calculates the partial decryption result p. i,i Partial decryption result p i,i The calculation method is as follows:

[0094] p i,i =[c1·s i ] q

[0095] In the formula, c1 is the second component of the ciphertext;

[0096] s i For the i-th user, randomly select a private key character from the public string;

[0097] q is the ciphertext space modulus.

[0098] S52. Call the fast public-key encryption algorithm. The i-th user selects a polynomial from a distribution that follows discrete Gaussian sampling according to the components. by As plaintext, by boosting user j's public key pk j The modulus of the key is used as the public key, and the output uses the user j's public key pk. j right 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 the corresponding other users;

[0100] S54, when user i receives all p j,i Then; where j = 1, ..., N and j ≠ i; use the private key sk i Call the decryption algorithm to 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 specific decryption process is as follows: Figure 3 As shown.

[0105] This invention addresses scenarios where the ciphertext of a BFV-type multi-key fully homomorphic encryption should not be known to users who did not participate in the computation. This invention ensures that no user who did not participate in the homomorphic computation can obtain the final computation result, and no participating user can obtain another user's private key through the partial decryption result of another user.

[0106] This invention fully utilizes the characteristics of BFV type multi-key fully homomorphic encryption ciphertext and key additivity. During the ciphertext decryption process, the additivity of the private key is used to ensure the decomposition of the decryption process to each user part.

[0107] The encryption process of this invention consists of two parts: the first part is partial decryption by each user, and the second part is final decryption by each user using the partial decryption. The two parts are combined to achieve direct application in the BFV type fully homomorphic encryption algorithm.

[0108] Although the present invention has been disclosed above with reference to preferred embodiments, it is not intended to limit the present invention. Any person skilled in the art can make possible changes and modifications to the technical solutions of the present invention by utilizing the methods and techniques disclosed above without departing from the spirit and scope of the present invention. Therefore, any simple modifications, equivalent changes and alterations 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 protection scope of the technical solutions of the present invention.

Claims

1. A decryption method for high-security multi-key fully homomorphic encryption, characterized in that: include: Set up one trusted third party and N users to participate in the computation; A trusted third party selects appropriate parameters as a public string and sends the public string to each user participating in the calculation. The process by which a trusted third party selects appropriate parameters includes the following steps: S21. A trusted third party selects a polynomial ring based on specific security requirements. ; S22, Trusted third party Randomly select common strings ;in It is a polynomial used by each user to generate public keys; For vectors, The components are polynomials, used by each user to generate relinearized keys; Each user generates a key based on a public string; the key includes the public key. and private key ; and the public key Send to a trusted third party; The process by which each user generates a key based on a public string is as follows: S31, No. Each user randomly selects a private key character from the public string. ;in, For the user's serial number, ; S32, No. Each user sets their private key as follows Set the public key to ;in The error quantity selected from a certain error distribution, and... Send to a trusted third party; S33, The trusted third party receives the public keys transmitted by each user. According to each public key Calculate the joint public key ; and will combine public keys Send to each user; Joint public key The calculation method is as follows: S34. Each user receives the joint public key from a trusted third party. Based on the BFV encryption algorithm, the relinearization key is obtained. ; A trusted third party receives the public keys of all users. Calculate the joint public key ; and will combine public keys Send to each user; Each user uses the shared public key Compute the relinearization key ; and relinearize the key Send to a trusted third party; Setting the first The plaintext selected by each user is For plaintext Encryption yields ciphertext and ciphertext and relinearized key Send to a trusted third party; plaintext Encryption yields ciphertext The method is as follows: Using a joint public key plaintext Encryption yields ciphertext A trusted third party receives encrypted messages from all users. and relinearized key Perform fully homomorphic ciphertext operations to obtain the fully homomorphic ciphertext; and send the fully homomorphic ciphertext to each user. A trusted third party re-linearizes the keys for each user. The first component obtains the same reproducibility key When performing fully homomorphic ciphertext operations, if ciphertext multiplication is involved, a relinearized key must be used after each multiplication operation. Perform relinearization; In BFV-type multi-key fully homomorphic encryption, both the encrypted ciphertext from each user and the ciphertext after the fully homomorphic operation are in the form of... And it satisfies the following equation: In the formula, For the corresponding plaintext; The sum of the characters of each user's private key. ; This is the first component of the ciphertext; This is the second component of the ciphertext; The plaintext space modulus; The ciphertext space modulus; Each user uses their private key Joint decryption yields the final plaintext; The method for users to jointly decrypt is as follows: S51, User Upon receiving ciphertext that needs to be decrypted At that time, first calculate part of the decryption result. ; S52. Call the fast public-key encryption algorithm, the... Each user selects a polynomial from a distribution that follows discrete Gaussian sampling, based on the components. ,by To be plaintext, by improving the user public key The modulus is used as the public key, and the output is used by the user. Public Key right Encrypted interactive ciphertext ; ,in and ; S53, No. Saved by individual user and all Send to the corresponding other users; S54, in the user After receiving all Afterwards; among them and Use private key Call the decryption algorithm to calculate all ; S55. Calculate the final plaintext.

2. The decryption method for high-security multi-key fully homomorphic encryption according to claim 1, characterized in that: In S51, some decryption results The calculation method is as follows: In the formula, This is the second component of the ciphertext; For the first Each user randomly selects a private key character from a public string; is the ciphertext space modulus.

3. The decryption method for high-security multi-key fully homomorphic encryption according to claim 1, characterized in that: In step 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

  • Privacy protection federated learning method and device based on multi-key fully homomorphic encryption

    CN119294554A