A CKKS bootstrap method and system based on blind rotation implementation

By introducing the NTRU blind rotation algorithm to preprocess and bootstrap CKKS ciphertext, the problems of low computational efficiency and increased key size in the CKKS bootstrap scheme are solved, achieving efficient homomorphic computation and high-precision ciphertext processing.

CN119995830BActive Publication Date: 2025-10-17SHANDONG UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510257338.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-05
Publication Date
2025-10-17
Estimated Expiration
2045-03-05

AI Technical Summary

Technical Problem

Existing CKKS bootstrapping schemes have shortcomings in computational efficiency and accuracy. In particular, the blind rotation algorithm is inefficient and the key size increases, resulting in a reduction in the number of ciphertext operations and making it unable to effectively support high-precision homomorphic computation.

Method used

A blind rotation algorithm based on NTRU is used to preprocess, boost the modulus, and bootstrap the high-noise CKKS ciphertext. Combined with homomorphic addition, the blind rotation algorithm based on NTRU improves the computational efficiency and controls the ciphertext size, thereby reducing errors.

Benefits of technology

It improves the computational efficiency of the CKKS bootstrapping scheme, reduces the key size, supports more homomorphic operations, maintains high precision with a small N value, and consumes only one-tenth of the number of layers compared to traditional schemes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119995830B_ABST
    Figure CN119995830B_ABST
Patent Text Reader

Abstract

The application provides a CKKS bootstrap method and system based on blind rotation implementation, and belongs to the technical field of full-dynamic encryption. The method comprises the following steps: obtaining high-noise CKKS ciphertext, respectively performing preprocessing operation and homomorphic linear operation on the high-noise CKKS ciphertext to generate first ciphertext and second ciphertext; performing modulus promotion on the first ciphertext to generate third ciphertext; performing bootstrap on the second ciphertext based on an NTRU blind rotation algorithm to obtain fourth ciphertext; and adding the third ciphertext and the fourth ciphertext based on homomorphic addition to obtain the finally required low-noise ciphertext. The operation efficiency of the blind rotation step is improved, the precision is higher, and the layer consumption is only one tenth of that of a traditional bootstrap scheme.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application belongs to the technical field of homomorphic encryption, and particularly relates to a CKKS bootstrap method and system based on blind rotation implementation. BACKGROUND

[0002] The statements in this section merely provide background information related to the present application and do not necessarily constitute prior art.

[0003] Homomorphic encryption is one of the core breakthroughs of modern data privacy protection technology, and its core idea is to realize the "useful invisibility" of data, allowing arbitrary calculations on encrypted data without decryption. The CKKS scheme is a homomorphic encryption scheme that supports floating-point number operations, supporting homomorphic addition and homomorphic multiplication operations. The security of the CKKS scheme is based on the RLWE problem, and the ciphertext contains a noise component. The ciphertext after encrypting the plaintext only contains a small amount of noise, which has no effect on decryption, and at this time it is a low-noise ciphertext. However, in the process of actual operation, homomorphic operations, especially homomorphic multiplication operations, will multiply the noise, causing it to increase rapidly, and when the noise exceeds a certain threshold, it will result in incorrect decryption. Therefore, the ciphertext that is about to reach the critical value is called high-noise ciphertext. High-noise ciphertext will only support a few homomorphic operations, otherwise it will not be able to correctly decrypt. At this time, the bootstrap technology is needed to restore it to a low-noise ciphertext to support more homomorphic operations under the premise of correct decryption. The purpose of bootstrap is to increase the number of layers corresponding to the ciphertext, and the essence of bootstrap is to homomorphically calculate the decryption function of the CKKS homomorphic encryption scheme. The modulo operation, as a nonlinear operation, cannot be directly calculated by the combination of homomorphic addition and homomorphic multiplication, and it is the most difficult and most computationally expensive step in the bootstrap operation.

[0004] In the CKKS initial scheme and subsequent optimization schemes, the decryption function error is approximated by finding a better approximation polynomial to achieve a smaller approximation. However, the inherent error introduced by polynomial approximation will cause a certain degree of precision loss in bootstrap. In order to achieve high-precision bootstrap, the CKKS scheme must also use larger parameters, and for the polynomial ring, the value of N is usually not less than 2 16 , and the increase in the number of polynomials means an increase in the cost of operation, and the number of layers consumed by the bootstrap step will also increase, resulting in a decrease in the number of homomorphic operations that can be performed by the ciphertext from the bootstrap to the next bootstrap, resulting in more frequent bootstrap operations.

[0005] The existing scheme calculates the decryption function through the blind rotation algorithm, which does not depend on polynomial approximation, reduces the error, and supports smaller values of N, such as 2 13And the security can be guaranteed at the value. However, the blind rotation in the scheme is still inefficient, and the key size is increased due to the expansion of the rotation key. SUMMARY

[0006] To overcome the above deficiencies of the prior art, the present application provides a CKKS bootstrap method and system based on blind rotation, which improves the operation efficiency of the blind rotation step by introducing advanced NTRU-based blind rotation, controls the ciphertext size by using the characteristics of NTRU encryption, and improves the overall operation efficiency of the scheme.

[0007] To achieve the above object, one or more embodiments of the present application provide the following technical solutions:

[0008] The first aspect of the present application provides a CKKS bootstrap method based on blind rotation;

[0009] A CKKS bootstrap method based on blind rotation, comprising:

[0010] Obtaining a high-noise CKKS ciphertext, performing a preprocessing operation and a homomorphic linear operation on the high-noise CKKS ciphertext respectively to generate a first ciphertext and a second ciphertext;

[0011] Performing modulus lifting on the first ciphertext to generate a third ciphertext;

[0012] Performing bootstrap on the second ciphertext based on an NTRU-based blind rotation algorithm to obtain a fourth ciphertext;

[0013] Adding the third ciphertext and the fourth ciphertext based on homomorphic addition to obtain a final required low-noise ciphertext.

[0014] As a further technical solution, the preprocessing operation is modulus decomposition on the high-noise ciphertext to obtain the first ciphertext; specifically,

[0015] For the high-noise ciphertext

[0016] In the formula, (c0, c1) is the encrypted ciphertext, m is the plaintext polynomial; s, e are polynomials on is the residue class ring of is a polynomial quotient ring, where q is the modulus, representing the power of 2;

[0017] Then the decryption of the high-noise ciphertext ct is:

[0018] [<ct, s>] q =c1·s+c0=m+e (mod q),

[0019] In the formula, <ct, sk> represents the outer product of ct and sk, and sk is a private key. q Indicates the modulo q operation; m+e(mod q) indicates that m+e+q·v is added to the polynomial, and mod q is the modulo q operation on the coefficient of m+e; let q'=q / p, wherein p, q, q' are all moduli, and are powers of 2, and the first ciphertext ct' is calculated:

[0020] The decryption thereof can be represented as m+e+q'·u.

[0021] As a further technical solution, the process of performing modulus lifting on the first ciphertext to generate a third ciphertext is: lifting the modulus of the first ciphertext ct' from q' to Q, wherein Q>>q', to obtain the third ciphertext; specifically,

[0022] The first ciphertext ct' = RLWE q′,s (m+e) is decrypted as m+e(mod q'), according to the basic operation rule of the modulo operation, m+e(mod q') is converted into m+e+q'·u, and u is The above polynomial, to obtain the third ciphertext

[0023] As a further technical solution, the process of performing modulus lifting on the first ciphertext to generate a third ciphertext is: lifting the modulus of the first ciphertext ct' from q' to Q, wherein Q>>q', to obtain the third ciphertext; specifically,

[0024] The second ciphertext is extracted as n LWE ciphertexts, and the LWE ciphertexts are preprocessed.

[0025] The calculation key and the endomorphism key of the preprocessed LWE ciphertext are obtained; the NTRU ciphertext is obtained based on the blind rotation algorithm, and the NTRU ciphertext is converted into the fourth ciphertext conforming to the CKKS coding through the repacking algorithm.

[0026] As a further technical solution, it also includes initialization setting, and the initialization setting includes parameter initialization and encoding of a message vector.

[0027] As a further technical solution, the parameter initialization includes defining a polynomial ring and setting a security parameter.

[0028] The second aspect of the present application provides a CKKS bootstrap system realized based on blind rotation.

[0029] A CKKS bootstrap system realized based on blind rotation, comprising:

[0030] A preprocessing module configured to obtain a high-noise ciphertext, perform a preprocessing operation on the high-noise ciphertext, and generate a first ciphertext.

[0031] The homomorphic linear operation module is configured to perform homomorphic linear operation on the high-noise ciphertext to generate a second ciphertext.

[0032] The modulus lifting module is configured to perform modulus lifting on the first ciphertext to generate a third ciphertext.

[0033] The bootstrap module is configured to perform bootstrap on the second ciphertext based on an NTRU blind rotation algorithm to obtain a fourth ciphertext.

[0034] The low-noise ciphertext acquisition module is configured to add the third ciphertext and the fourth ciphertext based on homomorphic addition to obtain a final required low-noise ciphertext.

[0035] As a further technical solution, the bootstrap system further includes an initialization setting module, and the initialization setting includes parameter initialization and encoding of a message vector.

[0036] The third aspect of the application provides a computer readable storage medium having a program stored thereon, the program being executed by a processor to implement the steps of the CKKS bootstrap method based on blind rotation.

[0037] The fourth aspect of the application provides an electronic device including a memory, a processor, and a program stored on the memory and executable on the processor, the processor implementing the steps of the CKKS bootstrap method based on blind rotation when executing the program.

[0038] The above one or more technical solutions have the following beneficial effects:

[0039] The application addresses the problems of not supporting small N values, excessive number of layers consumed, and inherent error between the approximate polynomial and the decryption function affecting the bootstrap accuracy in the CKKS bootstrap scheme, and the bootstrap of CKKS is realized by applying the blind rotation algorithm to the homomorphic calculation decryption function and introducing the blind rotation based on the NTRU problem, which improves the operation efficiency of the blind rotation step and has higher accuracy, and the number of layers consumed is only one tenth of that of the traditional bootstrap scheme.

[0040] The advantages of the additional aspects of the application will be partially given in the following description, partially become obvious from the following description, or be learned through the practice of the application. BRIEF DESCRIPTION OF DRAWINGS

[0041] The drawings accompanying the specification of the application form part of the application and serve to provide further understanding of the application, and the illustrative embodiments of the application and their description serve to explain the application, and do not constitute an improper limitation of the application.

[0042] Figure 1A flow chart of the method of the first embodiment.

[0043] Figure 2 A schematic diagram showing the results of a comparison between the bootstrap scheme employed in the first embodiment of the application and an existing bootstrap scheme.

[0044] Figure 3 A system block diagram of the second embodiment. DETAILED DESCRIPTION

[0045] It should be noted that the following detailed description is exemplary in nature and is intended to provide further description of the application. Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs.

[0046] It is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments according to the application.

[0047] In the case of no conflict, the embodiments in the application and the features in the embodiments can be combined with each other.

[0048] Embodiment One

[0049] The present embodiment discloses a CKKS bootstrap method based on blind rotation implementation;

[0050] As shown in the figure, a CKKS bootstrap method based on blind rotation implementation includes the following steps: Figure 1

[0051] Step S1, obtain high-noise CKKS ciphertext, and perform preprocessing operation and homomorphic linear operation on the high-noise CKKS ciphertext respectively to generate first ciphertext and second ciphertext;

[0052] Step S2, modulus lifting is performed on the first ciphertext to generate third ciphertext;

[0053] Step S3, bootstrap is performed on the second ciphertext based on the blind rotation algorithm of NTRU to obtain fourth ciphertext;

[0054] Step S4, the third ciphertext and the fourth ciphertext are added based on homomorphic addition to obtain the final required low-noise ciphertext.

[0055] In step S1, the high-noise ciphertext ct is the ciphertext encrypted under the CKKS homomorphic encryption scheme, and the CKKS scheme is based on the RLWE problem, so the ciphertext can be expressed in the form of RLWE, In the formula, (c0, c1) is the encrypted ciphertext, and m is the plaintext polynomial; s and e are polynomials on , is​ The residual class ring of is a polynomial quotient ring, q is the modulus. s, m, e, c0, c1 are Polynomial on RLWE q,s (m+e) represents the RLWE encryption of the plaintext polynomial m. is a polynomial ring with integer coefficients, is an integer ring; N is the polynomial degree, then the decryption of the high-noise ciphertext ct is:

[0056] [<ct,sk> ] q =c1·s+c0=m+e(mod q);

[0057] Where,<ct,sk> represents the outer product of ct and sk, where sk is the private key; [·] q Represents a modulo q operation. m+e(mod q) can be expressed as m+e+q·v, where mod q is the modulo q operation on the coefficients of the polynomial obtained by adding the two polynomials m+e. Let q′ = q / p, where p, q, and q′ are all moduli, which are powers of 2 and satisfy the following requirements: q′|q, p|q, p|N. Calculate the first ciphertext ct′:

[0058] Its decryption can be expressed as m+e+q′·u.

[0059] Based on the obtained high-noise ciphertexts ct and ct′, a homomorphic linear operation is performed to obtain the second ciphertext ct″, as shown in the following formula:

[0060] ct″=(ct-ct′) / q′;

[0061] ct″ can essentially be regarded as RLWE ciphertext

[0062] Furthermore, in step S2, the modulus of the first ciphertext ct' is increased from q' to Q, where Q>>q'. ct'=RLWE q′,s (m+e) is decrypted to m+e(modq′). According to the basic operation rules of modular arithmetic, m+e(modq′)=m+e+q′·u, where u is For the above polynomial, since Q>>q, the coefficients of the polynomial obtained by m+e+q′·u are all less than Q, so m+e+q′·u(modQ)=m+e+q′·u, which can be regarded as The polynomial on . Then we get the third ciphertext

[0063] Furthermore, in step S3, the bootstrapping of the high-noise ciphertext ct is converted to the second ciphertext ct″″=RLWE p,s(-u) bootstrap. Bootstrapping keeps the decrypted plaintext unchanged and achieves modulus improvement, which is equivalent to increasing the number of layers in the CKKS scheme. After bootstrapping, the fourth ciphertext is obtained e1 is the noise newly generated during the bootstrapping process. Specifically,

[0064] S31, since the RLWE ciphertext consists of two ring polynomials and cannot be blindly rotated, it is necessary to extract the RLWE ciphertext into LWE ciphertext. Input the second ciphertext Output Vector (u0,u1,…,u n-1 ) is the coefficient vector of -u. Decryption is essentially r(X)s(X)+t(X), let the coefficient vector corresponding to -u be (u0,u1,…,u n-1 ), similarly, the coefficient vector corresponding to r is (r0,r1,…,r n-1 ), the coefficient vector corresponding to s is (s0,s1,…,s n-1 ), the coefficient vector corresponding to t is (t0,t1,…,t n-1 ).

[0065] According to polynomial multiplication, it is easy to infer:

[0066]

[0067] and

[0068] S32, discuss one of the LWE ciphertexts and set this ciphertext to Generate calculation key and automorphic keys 1:1≤i≤p-1, where N is the degree of the polynomial ring and f is the NTRU private key.

[0069] Due to its automorphic structure, it is necessary to i Perform preprocessing to ensure w i is relatively prime to 2N in order to maintain the properties for subsequent operations. Then ask w i The inverse under the module p is output as w′, and w′ n Set to 1. Among them, r i is a vector The i-th element of i The inverse modulo p can be obtained by extending the Euclidean algorithm.

[0070] S33, input The fourth ciphertext is obtained based on the NTRU blind rotation algorithm

[0071] (1) Blind rotation algorithm first initializes the homomorphic accumulator ACC as an NTRU ciphertext Using automorphism Convert the input ciphertext from the encryption of u(X) to the encryption of .

[0072] Specifically, the automorphism exists on , and the automorphism mapping NTRU also has a ciphertext on , so there is Since the key also changes accordingly, the After n cycles, a new ciphertext

[0073] (2) Make up for the extra items caused by ciphertext processing.

[0074] The formula for making up for the extra items caused by ciphertext processing is as follows:

[0075] where is the calculation key. The operation can be converted to the calculation of , that is:

[0076]

[0077] Substitute the above formula into It can be verified that:

[0078]

[0079] Further, the processed ciphertext

[0080] (3) Extract and repack the processed ciphertext, and verify the fourth ciphertext obtained. Specifically, the output ACC after blind rotation is an NTRU ciphertext, and the NTRU ciphertext is converted into a fourth ciphertext conforming to CKKS encoding through a repacking algorithm.

[0081] Specifically, since the NTRU ciphertext is a polynomial, the polynomial coefficient vector is The n LWE ciphertexts extracted by RLWE are subjected to blind rotation and NTRU extraction steps to obtain n vectors

[0082] The obtained vector is repacked as an RLWE ciphertext through linear operation, and a fourth ciphertext is output wherein n vectors are set as the i-th row of the matrix M. The repacking key is set as The NTRU key is encrypted by using the CKKS encryption, and the calculation is performed in the form of vector coding. The calculation is performed The fourth ciphertext is obtained The essence is matrix and vector multiplication.

[0083] Further, in step S4, the third ciphertext is added to the fourth ciphertext , and a final required low-noise RLWE ciphertext RLWE Q,s (m+e+e1) is obtained. The ciphertext is still an encryption of the initial plaintext, and has a higher modulus, that is, a higher layer, to support subsequent homomorphic calculation.

[0084] In addition, in the CKKS bootstrap process, initialization setting is also included, wherein the initialization setting includes parameter initialization, and the message vector is encoded.

[0085] The parameter initialization includes defining a polynomial ring , and the quotient ring is q and N are both powers of 2; given a base p and an integer L, let q l = p l , wherein l = 1,..., L, and L can be understood as the number of layers; a scaling factor Δ is set, and the value of the scaling factor is similar to .

[0086] A security parameter λ, a standard deviation σ and a scaling factor Δ are set; a private key sk is generated, a noise polynomial e is randomly selected from a Gaussian distribution with a standard deviation σ, and a polynomial s is randomly selected from a distribution with a hamming weight h.

[0087] In the encoding process, the rounding operation may damage some numbers in the message, so the message vector is multiplied by a scaling factor Δ before the rounding operation to maintain its accuracy.

[0088] In addition, in combination with Figure 2 , the scheme is verified through experiments, and the bootstrap efficiency of the CKKS ciphertext under optimal parameter selection will be increased by 32.67% compared to the optimal scheme of the same type. Compared with the CKKS bootstrap scheme realized by using the polynomial approximation scheme, the present application only consumes 1-2 levels in the bootstrap process, and provides more times of surplus for subsequent homomorphic operation.

[0089] The present application supports N = 2 13Parameter selection and IND-CPA (Indistinguishable under chosen plaintext attack) security under the parameter.

[0090] The scheme supports N = 2 12 Parameter selection and improved bootstrap accuracy under the parameter.

[0091] By comparing with the existing CKKS ciphertext bootstrap scheme, the experimental results are shown in Figure 2 When N = 2 12 , the computing efficiency of the present scheme is improved by about 15.7% compared with the best scheme of the same type, and when N = 2 13 , the computing efficiency of the present scheme is improved by about 30.4% compared with the best scheme of the same type.

[0092] Due to the existence of the rotation key pair in the existing scheme, the size of the blind rotation key increases, especially when N = 2 13 , the size of the blind rotation key of the present application is only half of that of the existing scheme.

[0093] Embodiment two

[0094] The present embodiment discloses a CKKS bootstrap system based on blind rotation implementation;

[0095] As shown in Figure 3 , a CKKS bootstrap system based on blind rotation implementation comprises:

[0096] A preprocessing module configured to obtain high-noise ciphertext, perform a preprocessing operation on the high-noise ciphertext, and generate first ciphertext;

[0097] A homomorphic linear operation module configured to perform homomorphic linear operation on the high-noise ciphertext and generate second ciphertext;

[0098] A modulus lifting module configured to perform modulus lifting on the first ciphertext and generate third ciphertext;

[0099] A bootstrap module configured to perform bootstrap on the second ciphertext based on the blind rotation algorithm of NTRU to obtain fourth ciphertext;

[0100] A low-noise ciphertext obtaining module configured to add the third ciphertext and the fourth ciphertext based on homomorphic addition to obtain the final required low-noise ciphertext.

[0101] Further, the bootstrap system further comprises an initialization setting module, and the initialization setting comprises parameter initialization and encoding of a message vector.

[0102] Embodiment three

[0103] The purpose of the present embodiment is to provide a computer readable storage medium.

[0104] A computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the steps of a CKKS bootstrap method based on blind rotation implementation as described in embodiment 1.

[0105] Embodiment four

[0106] An object of the present embodiment is to provide an electronic device.

[0107] An electronic device comprising a memory, a processor, and a program stored on the memory and executable on the processor, wherein the processor implements the steps of a CKKS bootstrap method based on blind rotation implementation as described in embodiment 1 when executing the program.

[0108] The steps and methods involved in the above embodiments two, three and four correspond to embodiment one, and the detailed description can be found in the relevant description part of embodiment one. The term "computer readable storage medium" should be understood to include a single medium or multiple media of one or more instruction sets; it should also be understood to include any medium capable of storing, encoding or carrying instruction sets for execution by a processor and causing the processor to perform any of the methods of the present application.

[0109] Those skilled in the art should understand that each module or step of the present application described above can be implemented by a general computer device, alternatively, they can be implemented by program codes executable by a computing device, so that they can be stored in a storage device for execution by a computing device, or they can be made into individual integrated circuit modules, or a plurality of modules or steps among them can be made into a single integrated circuit module. The present application is not limited to any specific combination of hardware and software.

[0110] Although the specific embodiments of the present application have been described above in conjunction with the accompanying drawings, it is not a limitation on the scope of protection of the present application, and those skilled in the art should understand that various modifications or variations made by those skilled in the art on the basis of the technical solutions of the present application without creative labor are still within the scope of protection of the present application.

Claims

1. A CKKS bootstrapping method based on blind rotation, characterized in that: include: Obtaining a high-noise CKKS ciphertext, and performing a preprocessing operation and a homomorphic linear operation on the high-noise CKKS ciphertext to generate a first ciphertext and a second ciphertext; performing a modulus lift on the first ciphertext to generate a third ciphertext; The second ciphertext is bootstrapped based on the NTRU blind rotation algorithm to obtain a fourth ciphertext, including: Extracting the second ciphertext into n LWE ciphertexts and preprocessing the LWE ciphertexts; obtaining a computation key and an automorphism key of the preprocessed LWE ciphertexts; obtaining an NTRU ciphertext based on a blind rotation algorithm, and converting the NTRU ciphertext into a fourth ciphertext that complies with CKKS encoding through a repacking algorithm; The third ciphertext and the fourth ciphertext are added based on homomorphic addition to obtain the final required low-noise ciphertext.

2. A CKKS bootstrapping method based on blind rotation as claimed in claim 1, characterized in that: The preprocessing operation is to perform modular decomposition on the high-noise ciphertext to obtain the first ciphertext; specifically, For high-noise ciphertext , Where, is the encrypted ciphertext, m is the plaintext polynomial; s and e are The polynomial on , yes The residual class ring of is a polynomial quotient ring, where , is the modulus, which represents the power of 2; Then the high-noise ciphertext The decryption is: , Where, Indicates ct and Do the outer product, is the private key; represents the modulo q operation; Expressed as , To perform a modulo q operation on the coefficients of the polynomial obtained by adding m + e; make , where p, q, All are moduli, which are powers of 2. The first ciphertext is calculated. : , its decryption can be expressed as .

3. A CKKS bootstrapping method based on blind rotation as claimed in claim 1, characterized in that: The process of performing modulus enhancement on the first ciphertext to generate the third ciphertext is as follows: The modulus from Upgrade to ,in , get the third ciphertext; specifically, First ciphertext = After decryption, , according to the basic operation rules of modular operation, Convert to , u is The third ciphertext is obtained by taking the polynomial .

4. A CKKS bootstrapping method based on blind rotation as claimed in claim 1, characterized in that: The method also includes initialization settings, which include parameter initialization and encoding of message vectors.

5. A CKKS bootstrapping method based on blind rotation as claimed in claim 4, characterized in that: The parameter initialization includes defining a polynomial ring and setting security parameters.

6. A CKKS bootstrap system based on blind rotation, characterized by: include: A preprocessing module is configured to: obtain a high-noise ciphertext, perform a preprocessing operation on the high-noise ciphertext, and generate a first ciphertext; a homomorphic linear operation module, configured to: perform a homomorphic linear operation on the high-noise ciphertext to generate a second ciphertext; a modulus improvement module, configured to: perform modulus improvement on the first ciphertext to generate a third ciphertext; The bootstrapping module is configured to bootstrap the second ciphertext based on the NTRU blind rotation algorithm to obtain a fourth ciphertext, including: Extracting the second ciphertext into n LWE ciphertexts and preprocessing the LWE ciphertexts; obtaining a computation key and an automorphism key of the preprocessed LWE ciphertexts; obtaining an NTRU ciphertext based on a blind rotation algorithm, and converting the NTRU ciphertext into a fourth ciphertext that complies with CKKS encoding through a repacking algorithm; The low-noise ciphertext acquisition module is configured to add the third ciphertext and the fourth ciphertext based on homomorphic addition to obtain the final required low-noise ciphertext.

7. A CKKS bootstrapping system based on blind rotation as claimed in claim 6, characterized in that: The bootstrapping system further comprises an initialization setting module, wherein the initialization setting module comprises parameter initialization and encoding of a message vector.

8. A computer-readable storage medium having a program stored thereon, characterized in that: When the program is executed by a processor, the steps of the CKKS bootstrapping method based on blind rotation as described in any one of claims 1 to 5 are implemented.

9. An electronic device comprising a memory, a processor, and a program stored in the memory and executable on the processor, wherein: When the processor executes the program, the steps in the CKKS bootstrapping method based on blind rotation as described in any one of claims 1 to 5 are implemented.

Citation Information

Patent Citations

  • Privacy computing heterogeneous acceleration method and device based on fully homomorphic encryption

    CN115622684A

  • Homomorphic decryption method and device, nonvolatile storage medium and computer equipment

    CN116192361A