Fuzzy encryption method and encryption system in cloud computing environment
Through fuzzy encryption and homomorphic encryption technology, the secure storage and processing of data in cloud computing environment is solved, and the problems of data privacy leakage and low noise tolerance in cloud computing are achieved, and efficient and secure processing of data in the cloud is achieved.
Patent Information
- Application Number
- CN202411507977.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-28
- Publication Date
- 2024-12-10
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Data in cloud computing environments faces the risks of unauthorized access and privacy leakage during transmission and processing. Traditional encryption technologies cannot calculate in ciphertext state and have low tolerance for noise or error data.
Fuzzy encryption and homomorphic encryption technology are adopted to perform fuzzy encryption and homomorphic encryption by generating public and private keys, allowing calculations in the ciphertext state, and introducing a fault-tolerant mechanism to tolerate certain errors.
Ensure the privacy protection and security of data in the cloud, improve tolerance and robustness of noise or error data, and achieve efficient data processing in the cloud.
Smart Images

Figure CN119109710A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of information security and encryption technology, and in particular to a fuzzy encryption method and an encryption system in a cloud computing environment. Background Art
[0002] With the rapid development of cloud computing technology, more and more individuals and enterprises choose to migrate data storage and processing to the cloud. The cloud computing environment provides powerful computing power and data storage functions, but it also brings serious security and privacy issues. Since cloud servers are often managed by third parties, user data may face the risk of unauthorized access and leakage after being uploaded to the cloud. Therefore, ensuring the security and privacy of cloud data has become an important challenge in the current development of cloud computing technology.
[0003] Existing encryption technologies, especially those based on symmetric and asymmetric encryption, can provide a certain degree of data protection. However, traditional encryption technologies have some limitations. First, traditional encryption technologies rely on decryption to process data, and cloud servers must perform calculations after data decryption, which means that data is exposed to cloud service providers during processing, leading to the risk of privacy leakage. Second, in practical applications, many data are noisy or have a certain degree of error, such as biometric data and IoT data. These data require encryption schemes to have a certain degree of fault tolerance so that slight data deviations can be tolerated after decryption. Existing encryption methods often do not have this flexibility, resulting in the inability to correctly process data containing noise or errors after decryption. Summary of the invention
[0004] In view of the deficiencies in the prior art, the present invention provides a fuzzy encryption method and an encryption system in a cloud computing environment, which realizes the secure storage and processing of data in the cloud computing environment, protects data privacy, allows calculation in a ciphertext state, and has the fault tolerance capability for noise or error data.
[0005] To achieve the above objectives, the present invention is implemented through the following technical solutions: A fuzzy encryption method in a cloud computing environment, comprising the following steps:
[0006] Initialize the system and generate a public key and a private key, wherein the public key is used for encryption and homomorphic operations, and the private key is used for decryption;
[0007] The data owner performs fuzzy encryption on the data to be encrypted to generate fuzzy encrypted ciphertext;
[0008] The fuzzy encrypted ciphertext is encrypted using a homomorphic encryption algorithm to generate the final ciphertext after homomorphic encryption;
[0009] The homomorphically encrypted ciphertext is uploaded to the cloud server, which stores it and performs subsequent calculations.
[0010] The data user obtains the encrypted data or the encrypted data after homomorphic operation from the cloud server, and uses the private key to homomorphically decrypt the ciphertext to restore the fuzzy encrypted ciphertext;
[0011] The data user decrypts the fuzzy encrypted ciphertext and restores the original data.
[0012] Preferably, in the step of generating the public key and the private key, the public key and the private key are generated based on the ring learning error problem, specifically including the following steps:
[0013] Choose a prime number q and define a polynomial ring Where n is the predetermined ring order, and the Gaussian distribution parameter σ is selected to generate the error term;
[0014] The private key s∈R is randomly generated through discrete Gaussian distribution q , the private key is ring R q Polynomials on ;
[0015] Generate a random polynomial a∈R q , and use the private key s and the noise polynomial e∈R q Calculate the public key pk = (a, b), where:
[0016] b=a·s+e mod q
[0017] Where e is the error term generated by discrete Gaussian distribution;
[0018] The generated public key pk=(a,b) is used in the subsequent encryption process, and the private key s is used in the decryption process.
[0019] Preferably, the step of performing fuzzy encryption on the data to be encrypted includes:
[0020] Select the original data M to be encrypted and define the fault tolerance range ∈, which is used to tolerate the decryption operation under a certain error;
[0021] Using the fuzzy hash function H f (x) Perform a hash operation on the original data M to generate a fuzzy hash value H f (M), where the fuzzy hash function satisfies the following conditions:
[0022] H f (M)≈H f (M′) when |MM′|≤∈
[0023] This function ensures that when two data are close within a predetermined tolerance range ∈, their hash values are also close;
[0024] The generated fuzzy hash value H f (M) Use fuzzy encryption algorithm Enc f Encrypt and generate fuzzy encrypted ciphertext C f ,Right now:
[0025] C f =Enc f (H f (M))
[0026] Among them, the fuzzy encryption algorithm Enc f Combined with fault tolerance mechanisms, it allows the recovery of plaintext close to the original data when decrypting.
[0027] Preferably, the step of encrypting the fuzzy encrypted ciphertext using a homomorphic encryption algorithm comprises:
[0028] The fuzzy encrypted ciphertext C f Embedded into the polynomial ring R q , so that it can be expressed as a polynomial form on the ring;
[0029] Choose a random polynomial r∈R q and noise polynomials e1 and e2 generated by discrete Gaussian distribution;
[0030] Use the public key pk = (a, b) to encrypt the fuzzy ciphertext C f Perform homomorphic encryption to generate the homomorphic encrypted ciphertext C h =(u,v), where:
[0031] u=a·r+e1 mod q
[0032] v=b·r+C f +e2 mod q
[0033] Among them, a and b are polynomials in the public key, r is a random polynomial, and e1 and e2 are noise polynomials used to improve the security of encryption.
[0034] Preferably, the data user obtains encrypted data or encrypted data after homomorphic operation from the cloud server, and uses the private key to homomorphically decrypt the ciphertext, and the step of restoring the fuzzy encrypted ciphertext includes:
[0035] The data user sends a request to the cloud server to obtain the original encrypted data C h =(u,v) or the encrypted data C′ after homomorphic operation h =(u′,v′);
[0036] The cloud server responds to the user's request and transmits the required ciphertext C h or C′ h to data users;
[0037] The data user uses his private key s to encrypt the received ciphertext C. h or C′ h Perform homomorphic decryption. The decryption steps include:
[0038] C f =vu·s mod q
[0039] Or for the ciphertext C′ after homomorphic operation h :
[0040] C′ f =v′-u′·s mod q
[0041] Among them, u and v are polynomials in the original ciphertext, u′ and v′ are polynomials in the ciphertext after homomorphic operation, and s is the private key of the data user.
[0042] Preferably, the data user performs fuzzy decryption on the fuzzy encrypted ciphertext to restore the original data, including:
[0043] The data user obtains the fuzzy encrypted ciphertext C after homomorphic decryption f or C′ f After that, use the preset error tolerance range ∈ to perform fuzzy decryption on it;
[0044] Fuzzy decryption uses the same fuzzy hash function H as encryption f (x), decoding the ciphertext;
[0045] The fuzzy decryption process is:
[0046] M′=Dec f (C f )
[0047] Among them, Dec f It is a fuzzy decryption algorithm. The decrypted M′ is a plaintext close to the original data M and satisfies:
[0048] |MM′|≤∈
[0049] Among them, ∈ is the allowable error range during decryption, ensuring that the decrypted data is consistent with the original data within the tolerance range.
[0050] Preferably, the fast Fourier transform is used to optimize polynomial operations during the fuzzy encryption process.
[0051] Preferably, the method supports multi-level fuzzy control, and the user can select different fault tolerance ranges according to the data type to adapt to different data processing requirements.
[0052] Preferably, the homomorphic operation includes homomorphic addition and homomorphic multiplication, and can perform fuzzy matching operations on encrypted data in the cloud. The specific steps are as follows:
[0053] The cloud server receives the stored homomorphic encrypted ciphertext C h =(u,v), and perform homomorphic operations as needed, including homomorphic addition and homomorphic multiplication:
[0054] Homomorphic addition: two homomorphically encrypted ciphertexts and Performing the addition operation yields:
[0055]
[0056] Homomorphic multiplication: two homomorphically encrypted ciphertexts and Performing the multiplication operation yields:
[0057]
[0058] Among them, the operation result and Still in ciphertext form;
[0059] The cloud server uses homomorphic ciphertext to perform fuzzy matching operations. The specific steps are as follows:
[0060] The user provides a query ciphertext C Q =(u Q ,v Q ), the cloud server stores each homomorphically encrypted ciphertext C h =(u,v) for comparison:
[0061] If |vv Q |≤τ returns a match
[0062] Where τ is the predefined fuzzy matching tolerance range.
[0063] The present invention also provides a fuzzy encryption system in a cloud computing environment, comprising:
[0064] A key generation module, used to generate public and private keys based on the ring learning error problem;
[0065] A fuzzy encryption module is used to perform fuzzy encryption on data and generate fuzzy encrypted ciphertext;
[0066] Homomorphic encryption module, used to perform homomorphic encryption on fuzzy encrypted ciphertext to generate homomorphic encrypted ciphertext;
[0067] The cloud server module is used to store the homomorphically encrypted ciphertext and perform homomorphic operations and fuzzy matching in the ciphertext state;
[0068] The decryption module is used to decrypt the homomorphically encrypted ciphertext obtained from the cloud server using the private key when requested by the user, and restore the plaintext close to the original data through fuzzy decryption.
[0069] The present invention provides a fuzzy encryption method and encryption system in a cloud computing environment.
[0070] Beneficial effects:
[0071] 1. The present invention combines fuzzy encryption with homomorphic encryption technology to ensure that data remains encrypted after being uploaded to the cloud server, and the cloud service provider cannot obtain the plaintext of the data, thereby greatly enhancing the privacy protection and security of the data, and is particularly suitable for the storage and processing of sensitive data.
[0072] 2. The fuzzy encryption of the present invention introduces a fault-tolerant mechanism, which allows a certain amount of error to be tolerated during the decryption process, so that the system can still restore data close to the original when processing data containing noise or slightly interfered with, greatly improving the system's tolerance and robustness to inaccurate data.
[0073] 3. Through homomorphic encryption technology, the present invention enables the cloud server to perform calculation operations such as addition and multiplication without decrypting the data, which not only ensures data privacy, but also greatly improves the data processing efficiency in the cloud, meeting the needs of complex data processing in the cloud computing environment.
[0074] 4. The present invention is particularly suitable for processing data scenarios with fuzzy characteristics or inevitably containing noise, such as biometric identification, Internet of Things data, medical data, etc. The system can process these uncertain data without losing data privacy, ensuring the accuracy and practicality of the decryption results. BRIEF DESCRIPTION OF THE DRAWINGS
[0075] Figure 1 It is a schematic diagram of the encryption method flow of the present invention;
[0076] Figure 2 Schematic diagram of the encryption system architecture of the present invention. DETAILED DESCRIPTION
[0077] The following will be combined with the drawings in the specification of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0078] Please see attached Figure 1The embodiment of the present invention provides a fuzzy encryption method in a cloud computing environment, comprising the following steps:
[0079] S1. System initialization and key generation
[0080] In the fuzzy encryption method in the cloud computing environment, system initialization and key generation are the basic steps of the entire encryption process, ensuring the security of encrypted data and the privacy protection of the computing process. The purpose of this step is to provide the necessary key materials and mathematical structures for subsequent data encryption and homomorphic operations, which is mainly accomplished by selecting appropriate polynomial rings and generating public and private keys.
[0081] In this embodiment, the system initialization and key generation steps include:
[0082] 1. Parameter selection
[0083] In this embodiment, firstly, a prime number q and an appropriate polynomial ring order n are selected to determine the polynomial ring as The selection of the ring order n and prime number q should meet the requirements of security and computational efficiency. The definition of the ring allows encryption operations to perform polynomial addition and multiplication on the ring, which is also the basis of homomorphic encryption operations.
[0084] 2. Discrete Gaussian distribution parameter setting
[0085] In this embodiment, a discrete Gaussian distribution parameter σ is selected, and the parameter is used to generate the error polynomial required by the system. The discrete Gaussian distribution ensures that the generated error polynomial has appropriate distribution characteristics to enhance the security of key generation.
[0086] 3. Private key generation
[0087] In this embodiment, a polynomial s∈R is randomly selected from a discrete Gaussian distribution. q As the private key of the system, R q is a polynomial ring modulo q. The randomness of the private key and the discrete Gaussian distribution make the private key highly secure.
[0088] 4. Public key generation
[0089] In this embodiment, a polynomial a∈R is randomly generated. q , and the noise polynomial e∈R generated by the private key s and discrete Gaussian distribution q Calculate and generate the public key pk = (a, b), where:
[0090] b=a·s+e mod q
[0091] Among them, e is a noise polynomial that follows a discrete Gaussian distribution. The introduction of noise can effectively prevent linear attacks on encryption schemes and increase the security of public keys.
[0092] 5. Purpose of public and private keys
[0093] In this embodiment, the generated public key pk = (a, b) is used for subsequent data encryption and homomorphic operations, while the private key s is only known by the data owner and data user for decryption operations. The openness of the public key allows cloud service providers to use the public key to process ciphertext without leaking private key information.
[0094] Through the above steps, the system initialization and key generation in this embodiment are completed, providing the necessary foundation for data encryption and subsequent homomorphic computing.
[0095] S2. Data fuzzy encryption
[0096] In the cloud computing environment, in order to ensure the privacy protection of data during transmission and storage, while allowing a certain degree of error tolerance, this embodiment introduces a fuzzy encryption method. Fuzzy encryption can not only encrypt data, but also ensure that data errors within a certain range are allowed during decryption. The purpose of this step is to fuzzily encrypt the original data to support subsequent homomorphic encryption and fuzzy decryption. The fuzzy encryption process is mainly implemented through the application of fuzzy hash functions and fuzzy encryption algorithms to convert input data into fuzzy encrypted ciphertext.
[0097] In this embodiment, the steps of the data owner performing fuzzy encryption on the data to be encrypted include:
[0098] 1. Define the fault tolerance range∈
[0099] In this embodiment, the error tolerance range ∈ is first set. This parameter is used to control the error range allowed during the encryption process. The error tolerance range ∈ determines the maximum error that can be accepted during data decryption and is used to ensure the error tolerance of fuzzy encryption.
[0100] 2. Choice of fuzzy hash function
[0101] In this embodiment, a fuzzy hash function H is selected f (x), which is used to process the input data M to generate a fuzzy hash value. The fuzzy hash function is fault-tolerant and meets the following conditions:
[0102] H f (M)≈H f (M′) when |MM′|≤∈
[0103] The fuzzy hash function ensures that when the input data M and M′ are within the tolerance range, the difference between the hash values is small, so that the subsequent decryption operation can restore the plaintext close to the original data.
[0104] 3. Fuzzy hash calculation
[0105] In this embodiment, the data owner applies a fuzzy hash function H to the original data M to be encrypted. f (x), calculate the fuzzy hash value H f (M). This operation is the core part of fuzzy encryption, ensuring that subsequent encryption can support a certain degree of fault tolerance.
[0106] 4. Application of fuzzy encryption algorithm
[0107] In this embodiment, the fuzzy encryption algorithm Enc f For the fuzzy hash value H f (M) is encrypted to generate fuzzy encrypted ciphertext C f The encryption process is as follows:
[0108] C f =Enc f (H f (M))
[0109] Fuzzy encryption algorithm Enc f Combined with the fault-tolerant characteristics of fuzzy hashing, it ensures that the encrypted ciphertext allows a certain range of errors during data processing and transmission. The ciphertext C generated in this step f It is the output after fuzzy encryption, which ensures the security of data in the subsequent homomorphic encryption process.
[0110] In this embodiment, the ciphertext C after fuzzy encryption f It allows data to be fuzzy restored during decryption, so that even if the data changes within a certain range, the decryption operation can still generate a result close to the original data. This feature makes fuzzy encryption suitable for encryption scenarios of noise-sensitive or imprecise data, such as biometric data, sensor data, etc.
[0111] Through the above steps, this embodiment realizes the fuzzy encryption processing of the original data and generates a fault-tolerant fuzzy encrypted ciphertext C f The combination of fuzzy hash function and fuzzy encryption algorithm ensures that the system can tolerate a certain range of errors while maintaining security.
[0112] S3, homomorphic encryption processing
[0113] After the fuzzy encryption is completed, in order to ensure that the encrypted data can be further processed in the cloud without decryption, the present invention uses homomorphic encryption technology to re-encrypt the fuzzy encrypted ciphertext. Through homomorphic encryption, cloud service providers can perform calculation operations (such as addition or multiplication) on the data in an encrypted state without accessing the plaintext of the data. Homomorphic encryption provides additional security for the encrypted fuzzy data, ensuring that the data will not be leaked when stored and processed in the cloud.
[0114] In this embodiment, the steps of encrypting the fuzzy encrypted ciphertext using a homomorphic encryption algorithm include:
[0115] 1. Prepare fuzzy encrypted ciphertext
[0116] In this embodiment, the fuzzy encrypted ciphertext C f The ciphertext generated by the above steps is the ciphertext obtained after fuzzy encryption of the original data M. This ciphertext will be used as the input of homomorphic encryption for further encryption processing.
[0117] 2. Use of public keys
[0118] In this embodiment, the data owner uses the public key pk=(a,b) generated in the above step S1 for homomorphic encryption. The public key contains polynomials a and b=a·s+e mod q, where s is the private key and e is the noise polynomial.
[0119] 3. Generation of random polynomials
[0120] In this embodiment, a polynomial r∈R is randomly generated. q , where R q is a polynomial ring modulo q. The random polynomial r is selected to ensure that the output of each encryption is different, enhancing the randomness and anti-attack capability of the encryption.
[0121] 4. Homomorphic Encryption Computing
[0122] In this embodiment, the public key pk = (a, b) and the random polynomial r are used to encrypt the fuzzy encrypted ciphertext C f Perform homomorphic encryption. The encryption process is as follows:
[0123] u=a·r+e1 mod q
[0124] v=b·r+C f +e2 mod q
[0125] Among them, e1 and e2 are noise polynomials selected from discrete Gaussian distribution to increase the security of the encryption process. The generated ciphertext C h =(u,v) allows homomorphic operations to be performed in an encrypted state.
[0126] In this embodiment, the ciphertext Ch The ability to perform homomorphic operations on encrypted data is retained, and cloud service providers can perform operations such as addition or multiplication on ciphertext without decrypting it. This feature allows the cloud to perform complex data processing without touching the plaintext of the data, thereby protecting data privacy.
[0127] In this embodiment, the homomorphic encrypted ciphertext C is finally generated. h =(u,v) has a high degree of security and confidentiality. Due to the introduction of random polynomials and noise, the structure of the ciphertext is difficult to crack by known attack methods. In addition, the ciphertext still maintains the characteristics of homomorphic operation when stored and transmitted in the cloud, which provides support for the calculations performed in the cloud in subsequent steps.
[0128] Through the above steps, this embodiment encrypts the fuzzy encrypted ciphertext through homomorphic encryption technology to generate the final homomorphic encrypted ciphertext C h This homomorphic encryption process not only provides additional security for data, but also allows the cloud to perform operations on encrypted data, greatly improving the data processing capabilities and security in the cloud computing environment.
[0129] S4. Upload and cloud processing of ciphertext
[0130] After homomorphic encryption is completed, in order to make full use of the resources in the cloud computing environment, the present invention uploads the homomorphically encrypted ciphertext to the cloud server. The uploaded ciphertext will be stored by the cloud server and used for subsequent homomorphic computing processing. The cloud service provider can perform various computing operations on the ciphertext without decrypting the ciphertext, such as homomorphic addition, homomorphic multiplication, and fuzzy matching. This process ensures the secure storage and processing of data in the cloud, and the cloud server cannot access the original plaintext data.
[0131] In this embodiment, the steps of uploading the homomorphically encrypted ciphertext to the cloud server, storing it in the cloud server and performing subsequent calculations include:
[0132] 1. Preparation for ciphertext upload
[0133] In this embodiment, the homomorphic encrypted ciphertext C generated in the aforementioned step S3 is h =(u,v) is encrypted, maintaining the ability of homomorphic operation. In order to utilize cloud computing resources, the data owner uploads the encrypted ciphertext to the cloud server through an encrypted transmission channel. The transmission process is protected by a security protocol (such as TLS) to prevent the ciphertext from being intercepted or tampered with during transmission.
[0134] 2. Storage of Ciphertext
[0135] In this embodiment, the cloud server receives the encrypted ciphertext C h=(u,v), the ciphertext data is securely stored. Since the ciphertext is homomorphically encrypted, the cloud server cannot access the plaintext of the data during the storage of the ciphertext. The ciphertext is stored in the cloud database for subsequent homomorphic operations. The cloud server only manages the access to the ciphertext and does not involve any form of decryption operation.
[0136] 3. Execution of Homomorphic Operations
[0137] In this embodiment, the cloud server generates a ciphertext C according to the needs of the data user or data owner. h Homomorphic operations are performed on the same data. Common homomorphic operations include homomorphic addition and homomorphic multiplication. The specific operations are as follows:
[0138] Homomorphic addition: two homomorphically encrypted ciphertexts and The cloud server can perform homomorphic addition operations:
[0139]
[0140] Homomorphic multiplication: two homomorphically encrypted ciphertexts and The cloud server can perform homomorphic multiplication operations:
[0141]
[0142] These operations do not require decryption of data. The cloud server only performs calculations on encrypted data to ensure that data privacy is not leaked.
[0143] 4. Fuzzy matching calculation
[0144] In this embodiment, the cloud server can also perform fuzzy matching operations on encrypted data. Fuzzy matching allows the user to provide an encrypted query ciphertext C Q =(u Q ,v Q ), then the cloud server compares the stored encrypted data to determine whether the data meets the conditions within the tolerance error τ:
[0145] |vv Q |≤τ
[0146] Among them, τ is the preset tolerance range, which allows the cloud server to perform fuzzy search in the ciphertext state and return the encrypted data that meets the conditions.
[0147] 5. Subsequent processing
[0148] In this embodiment, the cloud server generates a new encrypted ciphertext C′ after performing homomorphic operation or fuzzy matching operation on the ciphertext. hThe ciphertext after the operation remains in homomorphic encryption form. The cloud server can store the operation results or return the ciphertext result C′ according to the needs of the data user. h To the user for further decryption operations.
[0149] Through the above steps, this embodiment realizes the upload and cloud processing of ciphertext. The cloud server can perform homomorphic operations and fuzzy matching operations on encrypted data without decrypting the data, thereby efficiently processing data using the computing resources of cloud computing while protecting data privacy. This processing mechanism ensures the secure storage and efficient computing of data in the cloud, while adapting to the needs of large-scale data processing.
[0150] S5. Homomorphic decryption and recovery of fuzzy encrypted ciphertext
[0151] After the cloud server stores and processes the encrypted data, the data user needs to obtain the encrypted data or the ciphertext after homomorphic operation from the cloud. To ensure the privacy and security of the data, the data user uses his own private key to homomorphically decrypt the ciphertext obtained from the cloud server to restore the fuzzy encrypted ciphertext. The decrypted fuzzy encrypted ciphertext will be used in the subsequent fuzzy decryption step to restore the plaintext close to the original data.
[0152] In this embodiment, the data user obtains encrypted data or encrypted data after homomorphic operation from the cloud server, and uses the private key to homomorphically decrypt the ciphertext. The steps of restoring the fuzzy encrypted ciphertext include:
[0153] 1. Get the ciphertext
[0154] In this embodiment, the data user requests the original encrypted data C through a secure connection with the cloud server. h =(u,v) or the ciphertext C′ after homomorphic operation h =(u′,v′). The cloud server sends these ciphertexts to the data user through a secure transmission channel to ensure that the ciphertexts are not intercepted or tampered with during the transmission process.
[0155] 2. Homomorphic decryption preparation
[0156] In this embodiment, the data user holds the private key s generated in step S1, which is an important key for decrypting ciphertext. The cloud server cannot obtain this private key, so the data decryption work can only be completed by the data user, further ensuring the privacy of the data.
[0157] 3. Homomorphic decryption process
[0158] In this embodiment, the data user uses the private key s to decrypt the encrypted ciphertext received from the cloud. h =(u,v), the homomorphic decryption formula is as follows:
[0159] C f =vu·s mod q
[0160] Among them, u and v are the polynomial ciphertexts after homomorphic encryption, s is the private key, and the fuzzy encrypted ciphertext C is restored by calculation f For the ciphertext C′ after homomorphic operation h =(u′,v′), the decryption formula is similar:
[0161] C′ f =v′-u′·s mod q
[0162] The decryption process utilizes the homomorphic properties of the public-private key encryption mechanism to ensure that the obfuscated encrypted ciphertext can be correctly restored after decryption.
[0163] In this embodiment, the decrypted C f or C′ f is the ciphertext after fuzzy encryption. This ciphertext retains the fault-tolerant characteristics of fuzzy encryption and will be used for subsequent fuzzy decryption operations. At this point, although the data user cannot directly read the plaintext data, the transition from the homomorphic encryption state to the fuzzy encryption state has been completed, preparing for the final restoration of the plaintext close to the original data.
[0164] In this embodiment, by using the private key s for decryption, it is ensured that only users who legally own the private key can decrypt the encrypted data. Even if the ciphertext is maliciously intercepted during cloud processing or transmission, the attacker cannot decrypt the data, thereby ensuring the privacy and security of the data.
[0165] Through the above steps, this embodiment realizes the homomorphic decryption operation of the encrypted data by the data user and restores the fuzzy encrypted ciphertext C f or C′ f The security and computational efficiency of homomorphic decryption lay the foundation for subsequent fuzzy decryption and ensure the integrity and security of data after processing in the cloud.
[0166] S6. Fuzzy decryption and restoration of original data
[0167] In the above steps, the data user obtains the fuzzy encrypted ciphertext through homomorphic decryption. In order to finally restore the plaintext close to the original data, the data user needs to perform a fuzzy decryption operation on the fuzzy encrypted ciphertext. Fuzzy decryption allows the recovery of plaintext close to the original data within a certain error range, so that the system can ensure the availability of data while tolerating certain data noise or errors. This step is the final data recovery stage of the entire fuzzy encryption scheme, and the decryption of encrypted data is achieved through a fault-tolerant mechanism.
[0168] In this embodiment, the data user performs fuzzy decryption on the fuzzy encrypted ciphertext to restore the original data, including the following steps:
[0169] 1. Preparation for blurring and decryption
[0170] In this embodiment, the data user has obtained the fuzzy encrypted ciphertext C through the homomorphic decryption operation f or C′ f , which is generated in the fuzzy encryption step. Fuzzy decryption will be based on the previously defined tolerance range ∈, within which data errors are tolerated, thus ensuring that the system can handle noise or data changes.
[0171] 2. Obfuscating the decryption process
[0172] In this embodiment, the data user performs the fuzzy encryption ciphertext C f Use fuzzy decryption algorithm Dec f To decrypt, the specific process is as follows:
[0173] M′=Dec f (C f )
[0174] Among them, the fuzzy decryption algorithm Dec f Using the fuzzy hash function H f (x) is fault-tolerant, and the decrypted M′ is close to the original data M. The fuzzy hash function ensures that even if the ciphertext C f Even if slight changes occur during processing or transmission, the decryption process can still recover the plaintext that is very close to the original data.
[0175] 3. Decryption error tolerance
[0176] In this embodiment, fuzzy decryption allows a certain error between the decryption result and the original data, and the error range is determined by the error tolerance range ∈. The decryption result M′ satisfies the following conditions:
[0177] |MM′|≤∈
[0178] Where M is the original data, M′ is the decrypted data, and ∈ is the maximum allowable error. This mechanism ensures that even if the data undergoes slight changes during encryption, transmission, or homomorphic processing, a value close to the original data within the allowable range can still be obtained after decryption.
[0179] In this embodiment, the fuzzy decryption process is particularly suitable for scenarios that are sensitive to noise or have data uncertainty, such as biometric data (fingerprint, facial recognition) or IoT sensor data. Such data often contains noise or slight errors during the collection process, and the fuzzy decryption mechanism can ignore these interferences, thereby providing reliable decryption results.
[0180] In this embodiment, the plaintext data M′ obtained by the data user through fuzzy decryption can be used in actual application scenarios. Since fuzzy decryption has solved the problem of data error, the restored data is sufficient to meet the accuracy requirements of most application scenarios, especially in an imprecise computing environment that tolerates a certain error.
[0181] In this embodiment, fuzzy decryption enhances the robustness of the system under the fault tolerance mechanism. Even if there is noise or error in the data transmission or storage process, the system can still recover the plaintext close to the original data through fuzzy decryption. This feature makes the encrypted data still have high practicality in the complex cloud computing environment.
[0182] Through the above steps, this embodiment realizes the decryption of fuzzy encrypted ciphertext and restores the plaintext M' close to the original data. The fault-tolerant mechanism of fuzzy decryption provides great flexibility for data processing, especially in the scenario where data is inevitably interfered by noise or errors, which can ensure that the decrypted data maintains a high availability.
[0183] In general, the present invention combines fuzzy encryption and homomorphic encryption technology to achieve secure storage and processing of data in the cloud, while supporting data fault tolerance and privacy protection. By generating public keys and private keys, the data is encrypted locally and uploaded to the cloud server. The cloud can perform homomorphic operations and fuzzy matching without decrypting the data. Data users restore fuzzy encrypted ciphertexts through homomorphic decryption, and further use fuzzy decryption algorithms to restore plaintext close to the original data. The present invention ensures the privacy and security of data in the cloud, adapts to processing scenarios with noise and errors, and has efficient data processing capabilities and practicality.
[0184] In some embodiments of the present invention, the Fast Fourier Transform (FFT) technology is introduced to optimize the computational efficiency of polynomial operations in the fuzzy encryption process. Fast Fourier Transform is an efficient algorithm that can reduce the complexity of polynomial multiplication operations from O(n 2 ) is reduced to O(n log n), thereby significantly improving the computational efficiency of large-scale data encryption, which is especially suitable for encryption of high-dimensional and polynomial data in cloud computing environments.
[0185] In this embodiment, the steps of using fast Fourier transform to optimize polynomial operation in the fuzzy encryption process are as follows:
[0186] 1. Representation and processing of polynomials
[0187] In the fuzzy encryption process, the input data M is mapped into a polynomial form, usually represented as f(x)∈R q , that is, the polynomial ring R modulo q qThe coefficients of these polynomials correspond to the individual bits or blocks of data during the data encryption process.
[0188] 2. The need for polynomial multiplication
[0189] The core algorithm of fuzzy encryption involves polynomial multiplication operations. For example, in the process of homomorphic encryption and decryption, the polynomial multiplication used to generate the key will cause the computational complexity to increase significantly as the polynomial order n increases.
[0190] 3. Introduction of FFT
[0191] In order to improve the efficiency of polynomial operations, the fast Fourier transform (FFT) is used in this embodiment to optimize polynomial multiplication. Specifically, the polynomial is first converted from coefficient representation to point value representation, and its product is quickly calculated by applying the FFT algorithm. The specific steps are as follows:
[0192]
[0193] After point-by-point multiplication, the inverse FFT is used to convert the coefficients back to representation:
[0194] C(x)=IFFT(FFT(A(x))·FFT(B(x)))
[0195] Among them, A(x) and B(x) are two polynomials that need to be multiplied, FFT stands for Fast Fourier Transform, and IFFT stands for Inverse Fast Fourier Transform.
[0196] By introducing FFT, the fuzzy encryption process in this embodiment significantly reduces the time complexity of polynomial multiplication operations from the traditional O(n 2 ) is reduced to O(n log n). This optimization is particularly suitable for processing large-scale polynomial encryption tasks, and helps to significantly improve encryption efficiency in cloud computing environments with high-dimensional data or large amounts of data processed in parallel.
[0197] In this embodiment, fast Fourier transform is applied to polynomial multiplication optimization in fuzzy hash function calculation and ciphertext generation, so that the fuzzy encryption process can maintain high computing performance while ensuring security, meeting the efficiency requirements for encryption and processing of large amounts of data in actual scenarios.
[0198] In some embodiments of the present invention, in order to adapt to different types of data processing requirements, the method of the present invention supports multi-level fuzziness control. By introducing multi-level fuzziness control, the system can flexibly adjust the fault tolerance range in the encryption process according to the type, sensitivity and application scenario of the data. This mechanism enables users to select the appropriate level of fault tolerance according to the accuracy requirements of different data, ensuring that the system meets actual business needs to the greatest extent while maintaining security and privacy protection.
[0199] In this embodiment, the steps of supporting multi-level fuzzy control are as follows:
[0200] 1. Define different levels of fault tolerance
[0201] In this embodiment, the system defines multiple levels of tolerance ranges ∈ for different types of data, and these levels can be set according to the specific application scenarios of the data. For example, for data that requires highly accurate processing, such as financial records or identity authentication data, a smaller tolerance range can be set; while for data with noise or uncertainty, such as biometric data (fingerprint, facial recognition) or IoT sensor data, a larger tolerance range can be set.
[0202] 2. Selection of fault tolerance range
[0203] When using this system, users can manually select an appropriate tolerance range ∈ according to the data type or specific needs to control the accuracy of fuzzy encryption. The choice of tolerance range is closely related to the actual application of the data. A smaller ∈ provides higher accuracy but tolerates smaller errors; while a larger ∈ allows data to be decrypted within a wider error range.
[0204] 3. Multi-level fault tolerance applied to fuzzy encryption
[0205] In this embodiment, the error tolerance range ∈ is directly applied to the fuzzy hash function H f (x) and fuzzy encryption algorithm Enc f Specifically, different tolerance ranges affect the output of the fuzzy hash function and control the error tolerance of data during encryption and decryption. The encrypted ciphertext allows the approximation of the original data to be restored during decryption, meeting the requirements for data accuracy in different scenarios.
[0206] 4. Multi-level fault-tolerant control in fuzzy decryption
[0207] During the decryption process, this embodiment allows the system to decrypt data within a certain error range according to the error tolerance range ∈ selected by the user. For example, for a scenario with large error tolerance, the decrypted data M′ satisfies:
[0208] |MM′|≤∈ 大
[0209] In scenarios where accurate data is required, the error of the decrypted data is controlled within a small range:
[0210] |MM′|≤∈ 小
[0211] 5. Adapt to the needs of different data types
[0212] The multi-level fuzziness control of this embodiment can be applied to various data scenarios:
[0213] High-precision data scenarios: such as financial transactions and identity authentication, require high data consistency and low tolerance for errors. In this case, a smaller tolerance range is selected.
[0214] Low-precision data scenarios: such as IoT sensor data, audio and video data, or noisy biometric data. The data has a certain amount of noise or ambiguity. In this case, a larger fault tolerance range can be selected to ensure that the system has higher flexibility when processing this data.
[0215] Through multi-level fuzziness control, this embodiment realizes flexible encryption and decryption operations for different types of data. Users can select appropriate fault tolerance ranges according to their needs to ensure a balance between data processing accuracy and flexibility, while maximizing data security and processing efficiency requirements.
[0216] The fuzzy encryption system in the cloud computing environment described below and the fuzzy encryption method in the cloud computing environment described above can refer to each other.
[0217] Please see attached Figure 2 The present invention also provides a fuzzy encryption system in a cloud computing environment, comprising:
[0218] Key generation module: used to generate public and private keys based on the Ring Learning Error Problem (Ring-LWE) to ensure that the system has high security during encryption and decryption.
[0219] Fuzzy encryption module: used to perform fuzzy encryption on the data to be encrypted and generate fuzzy encrypted ciphertext that supports fault tolerance, so that the system can tolerate data deviation or noise within a certain error range.
[0220] Homomorphic encryption module: used to perform homomorphic encryption on fuzzy encrypted ciphertext and generate homomorphic encrypted ciphertext to ensure that encrypted data supports homomorphic operations when stored in the cloud. The cloud can perform calculation operations such as addition and multiplication without decrypting the data.
[0221] Cloud server module: used to store homomorphically encrypted ciphertext and perform computing tasks such as homomorphic operations and fuzzy matching in the ciphertext state to ensure that data privacy is not leaked during cloud processing.
[0222] Decryption module: used to decrypt the homomorphically encrypted ciphertext obtained from the cloud server using the private key when the data user requests it, restore the fuzzy encrypted ciphertext, and restore the plaintext close to the original data through fuzzy decryption.
[0223] The system of this embodiment can execute the embodiments of the above method. The principles and technical effects of the two are similar, and both are aimed at improving the security, privacy and computing efficiency of cloud data, so they will not be described in detail here.
[0224] Although embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that various changes, modifications, substitutions and variations may be made to the embodiments without departing from the principles and spirit of the present invention, and that the scope of the present invention is defined by the appended claims and their equivalents.
Claims
1. A fuzzy encryption method in a cloud computing environment, characterized in that: The following steps are involved: Initialize the system and generate a public key and a private key, wherein the public key is used for encryption and homomorphic operations, and the private key is used for decryption; The data owner performs fuzzy encryption on the data to be encrypted to generate fuzzy encrypted ciphertext; The fuzzy encrypted ciphertext is encrypted using a homomorphic encryption algorithm to generate the final ciphertext after homomorphic encryption; The homomorphically encrypted ciphertext is uploaded to the cloud server, which stores it and performs subsequent calculations. The data user obtains the encrypted data or the encrypted data after homomorphic operation from the cloud server, and uses the private key to homomorphically decrypt the ciphertext to restore the fuzzy encrypted ciphertext; The data user decrypts the fuzzy encrypted ciphertext and restores the original data.
2. The fuzzy encryption method in a cloud computing environment according to claim 1, characterized in that: In the step of generating the public key and the private key, the public key and the private key are generated based on the ring learning error problem, specifically including the following steps: Choose a prime number q and define a polynomial ring Where n is the predetermined ring order, and the Gaussian distribution parameter σ is selected to generate the error term; The private key s∈R is randomly generated through discrete Gaussian distribution q , the private key is ring R q Polynomials on ; Generate a random polynomial a∈R q , and use the private key s and the noise polynomial e∈R q Calculate the public key pk = (a, b), where: b=a·s+e mod q Where e is the error term generated by discrete Gaussian distribution; The generated public key pk=(a,b) is used in the subsequent encryption process, and the private key s is used in the decryption process.
3. The fuzzy encryption method in a cloud computing environment according to claim 1, characterized in that: The step of performing fuzzy encryption on the data to be encrypted comprises: Select the original data M to be encrypted and define the fault tolerance range ∈, which is used to tolerate the decryption operation under a certain error; Using the fuzzy hash function H f (x) Perform a hash operation on the original data M to generate a fuzzy hash value H f (M), where the fuzzy hash function satisfies the following conditions: H f (M)≈H f (M′) when |MM′|≤∈ This function ensures that when two data are close within a predetermined tolerance range ∈, their hash values are also close; The generated fuzzy hash value H f (M) Use fuzzy encryption algorithm Enc f Encrypt and generate fuzzy encrypted ciphertext C f ,Right now: C f =Enc f (H f (M)) Among them, the fuzzy encryption algorithm Enc f Combined with fault tolerance mechanisms, it allows the recovery of plaintext close to the original data when decrypting.
4. The fuzzy encryption method in a cloud computing environment according to claim 1, characterized in that: The step of encrypting the fuzzy encrypted ciphertext using a homomorphic encryption algorithm comprises: The fuzzy encrypted ciphertext C f Embedded into the polynomial ring R q , so that it can be expressed as a polynomial form on the ring; Choose a random polynomial r∈R q and noise polynomials e1 and e2 generated by discrete Gaussian distribution; Use the public key pk = (a, b) to encrypt the fuzzy ciphertext C f Perform homomorphic encryption to generate the homomorphic encrypted ciphertext C h =(u,v), where: u=a·r+e1mod q v=b·r+C f +e2mod q Among them, a and b are polynomials in the public key, r is a random polynomial, and e1 and e2 are noise polynomials used to improve the security of encryption.
5. The fuzzy encryption method in a cloud computing environment according to claim 1, characterized in that: The data user obtains encrypted data or encrypted data after homomorphic operation from the cloud server, and uses the private key to homomorphically decrypt the ciphertext. The steps of restoring the fuzzy encrypted ciphertext include: The data user sends a request to the cloud server to obtain the original encrypted data C h =(u,v) or the encrypted data C′ after homomorphic operation h =(u′,v′); The cloud server responds to the user's request and transmits the required ciphertext C h or C′ h to data users; The data user uses his private key s to encrypt the received ciphertext C. h or C′ h Perform homomorphic decryption. The decryption steps include: C f =v-u·s mod q Or for the ciphertext C′ after homomorphic operation h : C′ f =v′-u′·s mod q Among them, u and v are polynomials in the original ciphertext, u′ and v′ are polynomials in the ciphertext after homomorphic operation, and s is the private key of the data user.
6. The fuzzy encryption method in a cloud computing environment according to claim 1, characterized in that: The data user performs fuzzy decryption on the fuzzy encrypted ciphertext to restore the original data, including: The data user obtains the fuzzy encrypted ciphertext C after homomorphic decryption f or C′ f After that, use the preset error tolerance range ∈ to perform fuzzy decryption on it; Fuzzy decryption uses the same fuzzy hash function H as encryption f (x), decoding the ciphertext; The fuzzy decryption process is: M′=Dec f (C f ) Among them, Dec f It is a fuzzy decryption algorithm. The decrypted M′ is a plaintext close to the original data M and satisfies: |MM′|≤∈ Among them, ∈ is the allowable error range during decryption, ensuring that the decrypted data is consistent with the original data within the tolerance range.
7. The fuzzy encryption method in a cloud computing environment according to claim 1, characterized in that: In the fuzzy encryption process, fast Fourier transform is used to optimize polynomial operations.
8. The fuzzy encryption method in a cloud computing environment according to claim 1, characterized in that: The method supports multi-level fuzzy control, and users can select different fault tolerance ranges according to data types to adapt to different data processing requirements.
9. The fuzzy encryption method in a cloud computing environment according to claim 1, characterized in that: The homomorphic operation includes homomorphic addition and homomorphic multiplication, and can perform fuzzy matching operations on encrypted data in the cloud. The specific steps are as follows: The cloud server receives the stored homomorphic encrypted ciphertext C h =(u,v), and perform homomorphic operations as needed, including homomorphic addition and homomorphic multiplication: Homomorphic addition: two homomorphically encrypted ciphertexts and Performing the addition operation yields: Homomorphic multiplication: two homomorphically encrypted ciphertexts and Performing the multiplication operation yields: Among them, the operation result and Still in ciphertext form; The cloud server uses homomorphic ciphertext to perform fuzzy matching operations. The specific steps are as follows: The user provides a query ciphertext C Q =(u Q ,v Q ), the cloud server stores each homomorphically encrypted ciphertext C h =(u,v) for comparison: If |vv Q |≤τ returns a match Where τ is the predefined fuzzy matching tolerance range.
10. A fuzzy encryption system in a cloud computing environment, applied to the method according to any one of claims 1 to 9, characterized in that: include: A key generation module, used to generate public and private keys based on the ring learning error problem; A fuzzy encryption module is used to perform fuzzy encryption on data and generate fuzzy encrypted ciphertext; Homomorphic encryption module, used to perform homomorphic encryption on fuzzy encrypted ciphertext to generate homomorphic encrypted ciphertext; The cloud server module is used to store the homomorphically encrypted ciphertext and perform homomorphic operations and fuzzy matching in the ciphertext state; The decryption module is used to decrypt the homomorphically encrypted ciphertext obtained from the cloud server using the private key when requested by the user, and restore the plaintext close to the original data through fuzzy decryption.
