Improved homomorphic multiplication encryption method supporting floating point operation

By combining Paillier and ELGamal algorithms, a semi-homomorphic multiplication encryption scheme is proposed, which solves the problems of low efficiency and key management in existing homomorphic encryption techniques for floating-point calculations. It achieves efficient encryption and decryption of floating-point numbers and homomorphic multiplication operations, making it suitable for practical engineering applications.

CN115065456BActive Publication Date: 2026-02-27GUIZHOU DATABAO NETWORK TECH CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210640784.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-07
Publication Date
2026-02-27
Estimated Expiration
2042-06-07

AI Technical Summary

Technical Problem

Existing homomorphic encryption technology is mainly suitable for encryption and decryption of integer data. It is inefficient and cannot be widely applied in practical engineering, especially in the approximate calculation of floating-point numbers, where there are problems with computational efficiency and key management.

Method used

A semi-homomorphic multiplication encryption scheme that combines Paillier and ELGamal algorithms is proposed. Encryption is performed by generating a random perturbation parameter k. Combining the advantages of Paillier and ELGamal algorithms, it supports encryption and decryption of floating-point numbers and performs homomorphic multiplication without decryption.

Benefits of technology

It improves encryption and decryption efficiency, supports encryption and decryption of floating-point data and homomorphic multiplication operations, and achieves faster encryption and decryption performance and data operation accuracy, making it suitable for practical engineering applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115065456B_ABST
    Figure CN115065456B_ABST
Patent Text Reader

Abstract

The application is an improved homomorphic multiplication encryption method supporting floating point operation, which comprises the following steps: SA, generating a key of the encryption algorithm, the key comprising a public key and a private key; the public key is a public key pk generated by Paillier Paillier ; the private key is {sk Paillier ,g,a,L K ,M K ,c}; g and a are random numbers, L K and M K are random positive integers; SB, encrypting the plaintext M to generate a random disturbance parameter k, k is a bounded positive integer, ranging from (L K ,M K ); using the private key to encrypt the plaintext M to obtain ciphertext C, the ciphertext C=(Enc Paillier (c×k),m×g k×a ); SC, decrypting the ciphertext C to obtain c×k by using the sk Paillier , and obtaining the plaintext M through the formula M=M×g k×a / g c×k×a / c . The technical scheme of the application has the improvements of supporting floating point data encryption and decryption and multiplication homomorphic operation and better encryption and decryption performance compared with the conventional scheme.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of computer, in particular to an improved homomorphic multiplication encryption method supporting floating point operation. BACKGROUND

[0002] Existing cryptosystems can be generally divided into two kinds, namely symmetric cryptosystem and public key cryptosystem.

[0003] Symmetric cryptosystem requires that the two parties A and B of communication share a key K, and it is necessary to ensure that the channel is secret and faithful when A and B negotiate the password. This leads to the problems of key distribution and key management. Unlike symmetric cryptosystem, public key cryptosystem only requires that the exchange of keys is faithful, and does not require it to be secret. Each entity selects a key pair (public key, private key), where the public key is public, and the private key is secret, and such a key pair needs to have a feature: the private key cannot be calculated from the public key. Since each entity has a unique private key, it can provide authentication of data source and data integrity, as well as non-repudiation services. In this way, public key cryptography perfectly solves the three problems faced by symmetric cryptography.

[0004] In the public key cryptosystem, although RSA is currently the mainstream encryption mechanism, RSA is currently facing more and more serious challenges from the security aspect, and at the same time, due to the too large block length of RSA, in order to ensure security, n at least also 600 bits, which greatly increases the operation cost, and the encryption and decryption speed is also limited, which is several orders of magnitude slower than symmetric cryptographic algorithms. If this length continues to increase, it is not conducive to the standardization of data formats. The public key cryptography scheme is slower than the secret key scheme in processing speed, so the public key cryptography is usually combined with the secret key technology to achieve the best performance. That is, the public key technology is used to transmit the secret key between the two parties of communication, and the secret key is used to encrypt and decrypt the actual transmitted data. At the same time, the public key encryption is also used to encrypt the secret key.

[0005] Modern encryption methods have been embedded in countless digital systems and components, becoming necessary tools for protecting data security and privacy. However, the biggest limitation of cryptography now is that when sensitive data needs to be processed and analyzed, the encrypted data must be decrypted first. However, there are a large number of fields that need to analyze and process data, including medical, legal, manufacturers, finance and online elections; if the data can be analyzed and processed directly without using encryption keys, the goal can be achieved while ensuring the privacy of the data.

[0006] Furthermore, in the era of big data, statistical analysis of data has been widely applied in research and daily life. Data owners, recognizing that personal computers are unable to perform large-scale data computations or that the computations are too time-consuming, seek third-party collaborations to utilize their computing power for data processing and analysis. Due to data privacy concerns, data holders expect third parties to protect data privacy while performing computations. Homomorphic encryption has emerged as a solution. Homomorphic encryption is not static; it has a history of nearly fifty years, evolving from pure theory in the 1970s. It can be broadly categorized into partial homomorphic encryption and full homomorphic encryption (FHE), primarily distinguished by the continuity of homomorphic addition or multiplication operations. Full homomorphic encryption technology has also undergone multiple upgrades, and different homomorphic encryption technologies can vary significantly in their computational requirements and efficiency.

[0007] In situations where data is "usable but not visible," homomorphic encryption can directly process the ciphertext, and the decryption result is the same as the expected calculation result for the plaintext. Currently, homomorphic encryption is only applicable to encryption and decryption operations on integer data. Encryption and decryption involve cumbersome calculation processes, making them relatively inefficient. The number of operations on the ciphertext also has certain limitations. Homomorphic encryption algorithms that support an unlimited number of operations are implemented by adding bootstrap to a finite number of operations algorithm. Without bootstrap, a re-encryption step is required to transform the ciphertext, which has undergone multiple calculations, into fresh ciphertext.

[0008] Existing homomorphic encryption can be divided into semi-homomorphic encryption and fully homomorphic encryption based on the requirements of the ciphertext for computation. Semi-homomorphic encryption supports partial computations on the ciphertext, such as supporting only addition, only multiplication, or a finite number of additions and multiplications. Semi-homomorphic encryption mainly includes multiplicative homomorphic encryption represented by RSA and ELGamal algorithms, and additive homomorphic encryption represented by the Paillier algorithm. Fully homomorphic encryption supports arbitrary computations on the ciphertext. Fully homomorphic encryption algorithms originated from the lattice scheme proposed by Gentry in 2009, and most subsequent schemes are based on lattice algebra structures. The development and application of fully homomorphic encryption schemes are not as mature as those of semi-homomorphic encryption schemes. The additive homomorphic Paillier algorithm is the most mature, but while it has good encryption and decryption speeds and computational efficiency for small integers, its efficiency is relatively low for large integers and it is not suitable for approximate calculations of floating-point numbers. The ELGamal semi-homomorphic multiplication encryption algorithm, which is currently widely used in digital signatures, can achieve random encryption and has high security. However, there are still some problems with key transmission and key management.

[0009] The fully homomorphic encryption algorithm is still in the development stage mainly based on academic research, and the existing schemes all have the problems of large calculation and storage overheads, which cannot be avoided, and there is still a big gap between the efficient engineering application and the lack of relevant standards at home and abroad.

[0010] Therefore, when trying to apply homomorphic encryption, the semi-homomorphic encryption algorithm such as Paillier additive homomorphic encryption algorithm can be considered to solve the application scenarios that only have addition or multiplication homomorphic operation requirements, or to realize the approximate substitution of fully homomorphic by converting complex calculation requirements into only addition or multiplication operation forms. SUMMARY

[0011] The purpose of the application is to overcome the shortcomings of the prior art, and to provide an approximate substitution encryption algorithm of fully homomorphic that can be actually put into use: an improved homomorphic multiplication encryption method supporting floating point operation.

[0012] In order to achieve the above purpose, the application has the following structure:

[0013] An improved homomorphic multiplication encryption method supporting floating point operation, comprising the steps of:

[0014] SA, generating the key of the encryption algorithm, the key including a public key and a private key; the public key is the public key pk generated by Paillier Paillier ; the private key is {sk Paillier ,g,a,L K ,M K ,c};g, a and c are random numbers, L K and M K are random positive integers;

[0015] SB, encrypting the plaintext M, generating a random disturbance parameter k, k is a bounded positive integer, the range is (L K ,M K ); using the private key to encrypt the plaintext M to obtain the ciphertext C, the ciphertext C=(Enc Paillier (c×k),M×g k×a ); wherein c is a randomly generated integer as part of the private key;

[0016] SC, decrypting the ciphertext C, using the sk Paillier to decrypt c×k under the condition that the private key is known, and obtaining the plaintext M through the formula M=(M×g k×a ) / g c×k×a / c .

[0017] In the improved homomorphic multiplication encryption method supporting floating-point operation, the plaintext M and the ciphertext C are respectively a plaintext set and a ciphertext set, a plurality of plaintexts are encrypted by the step SB to obtain a plurality of ciphertexts C1 to Cn, and the plaintext M is encrypted into the ciphertext C. t The encryption is performed to obtain the ciphertexts C1 to Cn. t ;

[0018] The encryption method further comprises a step SB2 of performing multiplication operation on the ciphertexts C1 to Cn. t ;

[0019] In the improved homomorphic multiplication encryption method supporting floating-point operation, in the step SB2, the multiplication operation is performed on the ciphertext set to obtain C1×C2=(Enc Paillier (c×k1+c×k2), M1×M2×g (k1+k2)×a .

[0020] In the improved homomorphic multiplication encryption method supporting floating-point operation, the step SC specifically comprises the following steps: decrypting the ciphertext after the multiplication operation is performed, using the sk Paillier to obtain the c×k, and obtaining the plaintext M1×M2 through the formula .

[0021] In the improved homomorphic multiplication encryption method supporting floating-point operation, the L K and the M K need to satisfy M K =(p+1)×L K / p, wherein p is a positive integer greater than 2, and L K is an integer greater than 100.

[0022] In the improved homomorphic multiplication encryption method supporting floating-point operation, the p is greater than 10.

[0023] In the improved homomorphic multiplication encryption method supporting floating-point operation, the g and the a are random floating-point numbers.

[0024] The application further comprises an improved homomorphic multiplication encryption system supporting floating-point operation, which comprises a key generation module, an encryption module and a decryption module.

[0025] The key generation module is used for generating a key of the encryption algorithm, and the key comprises a public key and a private key; the public key is a public key pk Paillier generated by Paillier; the private key is {sk Paillier , g, a, L K , M K , c}; the g and the a are random floating-point numbers, and L K and MK is a random positive integer;

[0026] The encryption module is used to generate a random disturbance parameter k, k is a bounded positive integer, and the range is (L K , M K ) ; the plaintext M is encrypted, and the plaintext M is encrypted using a private key to obtain ciphertext C, and the ciphertext C = (Enc Paillier (c x k), m x g k×a ) ;

[0027] The decryption module decrypts the ciphertext C, and the sk Paillier is used to decrypt to obtain the c x k, and the plaintext M is obtained through the formula m = m x g k×a / g c×k×a / c .

[0028] The application also includes a computer storage medium, which stores computer readable instructions, and the computer readable instructions can be executed by a processor to implement the above-mentioned encryption method.

[0029] The application is an improved homomorphic multiplication encryption method supporting floating point operation, which comprises the following steps: SA, generating a key of the encryption algorithm, the key comprising a public key and a private key; the public key is a public key pk Paillier generated by Paillier; the private key is {sk Paillier , g, a, L K , M K , c} ; g, a, and c are random numbers, L K and M K are random positive integers; SB, encrypting the plaintext M, generating a random disturbance parameter k, k is a bounded positive integer, and the range is (L K , M K ) ; the plaintext M is encrypted using a private key to obtain ciphertext C, and the ciphertext C = (Enc Paillier (c x k), m x g k×a ) ; SC, decrypting the ciphertext C, and the sk Paillier is used to decrypt to obtain the c x k, and the plaintext M is obtained through the formula M = M x g k×a / g c×k×a / c . The technical scheme of the application improves the conventional scheme, supports floating point data encryption and decryption and multiplication homomorphic operation, and has better encryption and decryption performance. BRIEF DESCRIPTION OF DRAWINGS

[0030] Figure 1 is a preferred encryption method step diagram of the application;

[0031] Figure 2 is a preferred step SB2 multiplication operation step diagram of the application;

[0032] Figure 3 Structure diagram of preferred encryption system of the present application. DETAILED DESCRIPTION

[0033] The technical solutions in the embodiments of the present disclosure will be clearly and completely described below with reference to the drawings. Obviously, the described embodiments are only part of the embodiments of the present disclosure, rather than all the embodiments. Based on the embodiments of the present disclosure, all other embodiments obtained by those of ordinary skill in the art without creative efforts fall within the protection scope of the present disclosure.

[0034] The present application is an improved homomorphic multiplication encryption method supporting floating point operation, based on a semi-homomorphic multiplication encryption scheme of mixed Paillier and ELGamal algorithm. The scheme fully utilizes the advantages of Paillier algorithm and ELGamal algorithm. Paillier algorithm is only used to process integer encryption and decryption operations in a small range, which can ensure the accuracy of data operation while maintaining high encryption and decryption efficiency and ciphertext operation efficiency. Paillier algorithm can be used to encrypt a random disturbance number k. The random disturbance number k is part of c*k used in each encryption of ELGamal algorithm. The value range of k fluctuates in [L k , M k ] to ensure that c*k used in each encryption is one-time. If c*k is reused, the ciphertext may be decrypted even if the attacker does not know the key, which is not conducive to security. Paillier algorithm takes the encrypted Enc paillier (k) as the first element of the transmission ciphertext binary tuple, and ELGamal algorithm can support re-encryption (re-cypher). The key is exchanged without exposing the plaintext, thereby obtaining fresh ciphertext.

[0035] Current homomorphic encryption is only suitable for limited integer data operations, and has low operation efficiency for large data, which cannot be widely applied to practical engineering applications and has the problem of key management difficulty. The semi-homomorphic multiplication encryption scheme based on mixed Paillier algorithm and ELGamal algorithm greatly improves the encryption and decryption efficiency while ensuring the accuracy and security of data operation, so that it can be applied to floating point encryption and decryption operations.

[0036] It should be known that the present application is an encryption algorithm optimized based on Paillier algorithm and ELGamal algorithm. Therefore, Paillier algorithm and ELGamal algorithm as prior art of the present application can be directly applied to the present application and combined with the technical solutions of the present application.

[0037] AsFigure 1 The improved homomorphic multiplication encryption method supporting floating-point operation of the present application comprises the steps of:

[0038] SA, generating a key of the encryption algorithm, the key comprising a public key and a private key; the public key being a public key pk generated by Paillier Paillier ; the private key being {sk Paillier , g, a, L K , M K , c}; the g, a and c being random numbers, the L K and M K being random positive integers;

[0039] SB, encrypting the plaintext M, generating a random disturbance parameter k, the k being a bounded positive integer, the range being (L K , M K ); using the private key to encrypt the plaintext M to obtain a ciphertext C, the ciphertext C = (Enc Paillier (c x k), M x g k×a ); wherein the c is a randomly generated integer as part of the private key;

[0040] SC, decrypting the ciphertext C, using the sk Paillier to decrypt to obtain the c x k, and obtaining the plaintext M through the formula M = (M x g k×a ) / g c×k×a / c .

[0041] Specifically, the step SA is a key generation step, and the generation content comprises a public key and a private key, the public key being a public key pk of a Paillier algorithm Paillier and a mapping table, a mapping table is generated using a specific algorithm, the content of the mapping table being the corresponding relationship of the ciphertext C binary tuple of the present application. That is, the corresponding relationship of Enc Paillier (c x Delta k) and g Δk×a , the disturbance parameter k value under the mapping relationship being the same.

[0042] The private key comprises a Paillier algorithm private key sk Paillier , random numbers g and a, random positive integers L K and M K , and c. Preferably, the g and a are random floating-point numbers.

[0043] The L K and M K need to satisfy M K = (p + 1) x L K / p, wherein p is a positive integer greater than 2, and preferably L KTake an integer greater than 100, and the value of p is greater than 10, the greater the value of p is safer. In (L K ,M K ) range, select k as a random disturbance parameter.

[0044] Step SB is an encryption step, which is a process of encrypting plaintext M with a private key. First, the paillier algorithm private key sk Paillier Encrypt the random disturbance parameter k, and record it as Enc Paillier (c×k) after encryption; second, the plaintext data M is converted by the ELGamal algorithm, recorded as m×g k×a , and the two together constitute the ciphertext C binary tuple (Enc Paillier (c×k), M×g k×a ). Then send the ciphertext C and the public key to the third party for homomorphic operation, at this time the public key is only used for homomorphic operation.

[0045] The first element of the ciphertext binary tuple is the encryption result of k obtained by paillier algorithm. The value of k transmitted by the two parties can greatly improve the security of the scheme; the second element of the binary tuple is the encrypted number formed by encrypting the plaintext M by the algorithm and the random floating point number g, a, which is used to protect the plaintext data M from being leaked.

[0046] Step SC is the decryption process, which decrypts the ciphertext C and uses the paillier algorithm private key sk Paillier to obtain c×k, c×k=Dec Paillier (Enc Paillier (c×k)), and in the case of known random floating point number g, a, the obtained k is substituted into the plaintext calculation function M=M×g k×a / g c×k×a / c , and finally the value of the plaintext M is calculated.

[0047] The present application is based on the paillier algorithm and ELGamal algorithm semi-homomorphic encryption multiplication scheme, which meets the homomorphism of multiplication, and the decrypted ciphertext multiplication is equal to the result of plaintext multiplication. In the ciphertext binary tuple multiplication operation, the first element of the binary tuple is encrypted by the paillier algorithm, which satisfies the homomorphism of addition, i.e. the decrypted ciphertext multiplication is equal to the result of plaintext addition, and the second element of the binary tuple is operated according to the rule of mathematical multiplication operation. A new binary tuple is generated through multiplication operation, i.e. the ciphertext binary tuple after operation. Through algorithm decryption, the result is consistent with the result of plaintext multiplication.

[0048] The technical scheme of the present application is an improved scheme of the traditional homomorphic encryption algorithm. The new scheme is suitable for floating point number type data encryption and multiplication operation, and the encryption and decryption speed is faster than the traditional homomorphic encryption.

[0049] In the improved homomorphic multiplication encryption method supporting floating-point operation, the plaintext M and the ciphertext C are respectively a plaintext set and a ciphertext set, a plurality of plaintexts are encrypted by the step SB to obtain a plurality of ciphertexts C1 to Cn, and the step SB2 is used to perform multiplication operation on the ciphertexts C1 to Cn. t The encryption is performed to obtain the ciphertexts C1 to Cn. t ;

[0050] The encryption method further comprises the step SB2 of performing multiplication operation on the ciphertexts C1 to Cn. Figure 2 t .

[0051] Preferably, the multiplication operation is performed by a third party, which obtains the ciphertext C, performs operation on the ciphertext C, and sends the result to the decryption party. The multiplication operation specifically comprises the following steps:

[0052] The step SB2 is used to perform multiplication operation on the ciphertext set, and two multiplied ciphertexts are respectively C1 and C2.

[0053]

[0054] C1×C2=(Enc Paillier (c×k1+c×k2),M1×M2×g (k1+k2)×a .

[0055] For the multiplication operation, the decryption step SC specifically comprises the following steps: decrypting the multiplied ciphertext, using the sk Paillier to obtain the c×k, and using the formula to obtain the plaintext M1×M2.

[0056] It should be known that the subscripts of the plaintext M and the ciphertext C in the specification and the claims are only used for example and convenience, and are not used for limitation and specific indication of the number of plaintexts and ciphertexts. Any number of plaintexts and ciphertexts used in the technical solution of the application belong to the protection scope of the application.

[0057] The application further comprises an improved homomorphic multiplication encryption system supporting floating-point operation, which comprises a key generation module, an encryption module and a decryption module.

[0058] The key generation module is used to generate a key of the encryption algorithm, and the key comprises a public key and a private key; the public key is a public key pk generated by Paillier; and the private key is {sk Paillier ,g,a,L Paillier ,M K ,c}. K The g, a and c are random floating-point numbers, the L K and the M K ​A random positive integer;

[0059] The encryption module is used to generate a random disturbance parameter k, k is a bounded positive integer, ranging from (L K ,M K ) to (H Paillier , M k×a ); the plaintext M is encrypted, and the plaintext M is encrypted using the private key to obtain the ciphertext C, C=(Enc Paillier (c×k),M×g k×a );

[0060] The decryption module decrypts the ciphertext C, and the sk c×k×a / c is used to decrypt to obtain c×k, and the plaintext M is obtained through the formula m=m×g t / g t .

[0061] The plaintext M and the ciphertext C are respectively a plaintext set and a ciphertext set, and a third party terminal can operate multiple plaintexts, and the plaintexts M t are encrypted into ciphertexts C Paillier ; the third party terminal performs multiplication operation on the ciphertexts C (k1 .

[0062] The third party terminal performs multiplication operation on the ciphertext set, C1×C2=(Enc +k2)×a (c×k1+c×k2),M1×M2×g Paillier .

[0063] After receiving the ciphertext operated by the third party terminal, the decryption module decrypts the ciphertext after multiplication operation, and the sk is used to decrypt to obtain c×k, and the plaintext M1×M2 is obtained through the formula

[0064] The present application also includes a computer storage medium, which stores computer readable instructions, and the computer readable instructions can be executed by a processor to realize the above-mentioned encryption method. The technical solutions in the above-mentioned encryption method can be directly applied to computer readable instructions.

[0065] The encryption algorithm is executed to test the experiment, a large amount of data is encrypted and decrypted under the condition of ensuring correctness and performance, single thread test, and data encryption and decryption time and data operation time are tested; as shown in the following table, table one is the experimental content, and table two is the experimental result.

[0066]

[0067] Table one experimental content

[0068]

[0069]

[0070] Table II Experimental results

[0071] Through experimental testing, within the accuracy range of the calculator, the correctness and time overhead of data encryption and decryption can be guaranteed, and the floating-point data encryption and decryption performance is better than the integer encryption and decryption performance, and the time consumption is smaller. The semi-homomorphic multiplication encryption scheme based on Paillier algorithm and ELGamal algorithm has the improvements including supporting floating-point data encryption and decryption and multiplication homomorphic operation and better encryption and decryption performance compared with the traditional scheme.

[0072] As shown in the present application and claims, generally speaking, the terms "comprising" and "including" only suggest including the steps and elements explicitly identified, and these steps and elements do not constitute an exclusive list, and the method or device can also include other steps or elements.

[0073] Unless otherwise specifically explained, the components, relative arrangements, functions, numerical values set forth in these embodiments do not limit the scope of the present application. At the same time, it is obvious that the sizes of various parts shown in the drawings are not drawn according to the actual proportional relationship for the convenience of description. The technology, method and device known to those skilled in the related art are not described in detail, but in appropriate cases, the technology, method and device should be considered as part of the authorized description. In all examples shown and discussed here, any specific value should be interpreted as only an example, not as a limitation. Therefore, other examples of the step embodiment can have different sequences.

[0074] The above is a description of the present application and should not be considered as a limitation. Although several exemplary embodiments of the present application are described, those skilled in the art will easily understand that many modifications can be made to the exemplary embodiments without departing from the technical features of the present application. Therefore, all these modifications are intended to be included in the scope of the present application defined by the claims. It should be understood that the above is a description of the present application and should not be considered as a limitation. Although several exemplary embodiments of the present application are described, those skilled in the art will easily understand that many modifications can be made to the exemplary embodiments without departing from the technical features of the present application. Therefore, all these modifications are intended to be included in the scope of the present application defined by the claims. The present application is limited by the claims and their equivalents.

Claims

1. An improved homomorphic multiplication encryption method supporting floating-point operations, characterized in that, Including the following steps: SA generates the key for the encryption method, which includes a public key and a private key; the public key is the public key pk generated by Paillier. Paillier The private key mentioned includes the private key sk generated by Paillier. Paillier It also includes {sk Paillier ,g,a,L K M K ,c};where g, a, and c are random numbers, L K and M K It is a random positive integer; SB encrypts the plaintext M and generates a random perturbation parameter k, where k is a bounded positive integer in the range (L...). K M K ); using the private key sk Paillier Encrypt the random perturbation parameter k to obtain Enc Paillier (c×k), the plaintext M is converted using the ELGamal algorithm and recorded as m×g. k×a This forms the ciphertext C tuple, where ciphertext C = (Enc Paillier (c×k),M×g k×a ); where c is a randomly generated integer, which is part of the private key; SC, decrypt the ciphertext C, using the sk if the private key is known. Paillier Decryption yields c×k, which can be obtained using the formula M=(M×g) k×a ) / g c×k×a / c The plaintext M is obtained.

2. The improved homomorphic multiplication encryption method supporting floating-point operations according to claim 1, characterized in that, The plaintext M and ciphertext C are respectively the plaintext set and ciphertext set. Multiple plaintexts are encrypted through step SB, resulting in plaintexts M1 to M... t Encrypted as ciphertext C1 to C t ; The encryption method further includes step SB2, which involves processing the ciphertexts C1 to C... t Perform multiplication operations.

3. The improved homomorphic multiplication encryption method supporting floating-point operations according to claim 2, characterized in that, SB2 performs a multiplication operation on ciphertexts C1 and C2 in the ciphertext set: C1 × C2 = (Enc Paillier (c×k1+c×k2),M1×M2×g (k1 +k2)×a ).

4. The improved homomorphic multiplication encryption method supporting floating-point operations according to claim 3, characterized in that, The specific steps SC are as follows: decrypting the ciphertext after the multiplication operation, and using the sk... Paillier Decryption yields c×k1+c×k2, which can be obtained using the formula. The plaintext M1×M2 is obtained.

5. The improved homomorphic multiplication encryption method supporting floating-point operations according to claim 1, characterized in that, The L mentioned K and M K The relationship between them needs to satisfy M K = (p+1)×L K / p, where p is a positive integer greater than 2, L K Take an integer greater than 100.

6. The improved homomorphic multiplication encryption method supporting floating-point operations according to claim 1, characterized in that, The value of p is greater than 10.

7. The improved homomorphic multiplication encryption method supporting floating-point operations according to claim 1, characterized in that, The g and a mentioned are random floating-point numbers.

8. An improved homomorphic multiplication encryption system supporting floating-point operations, characterized in that, It includes a key generation module, an encryption module, and a decryption module; The key generation module is used to generate keys for the encryption method, including a public key and a private key; the public key is the public key pk generated by Paillier. Paillier The private key mentioned includes the private key sk generated by Paillier. Paillier It also includes {sk Paillier ,g,a,L K M K c}; where g and a are random floating-point numbers, L K and M K It is a random positive integer; The encryption module is used to generate a random perturbation parameter k, where k is a bounded positive integer with a range of (L... K M K Encrypt the plaintext M using the private key sk. Paillier Encrypt the random perturbation parameter k to obtain Enc Paillier (c×k), the plaintext M is converted using the ELGamal algorithm and recorded as m×g. k×a This forms the ciphertext C tuple, where ciphertext C = (Enc Paillier (c×k),M×g k×a ); The decryption module decrypts the ciphertext C and uses the sk Paillier Decryption yields c×k, which can be obtained using the formula M=(M×g) k×a ) / g c×k×a / c The plaintext M is obtained.

9. A computer storage medium storing computer-readable instructions thereon, characterized in that, The computer-readable instructions can be executed by a processor to implement the encryption method described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Fully homomorphic encryption method for single ciphertext homomorphic operation

    CN107294698A

  • Encryption method and system based on privacy protection

    CN111371545A