A verifiable homomorphic proxy re-encryption method and system
By designing a verifiable homomorphic proxy re-encryption system, homomorphic computation and ciphertext sharing among multiple users are realized, solving the problem that existing technologies cannot perform computations while protecting user information security and privacy, and achieving verification of server behavior and resistance to quantum attacks.
Patent Information
- Application Number
- CN202210514553.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-11
- Publication Date
- 2026-02-24
- Estimated Expiration
- 2042-05-11
AI Technical Summary
Existing technologies cannot perform computations on encrypted data while protecting user information security and privacy. Furthermore, traditional homomorphic encryption cannot achieve ciphertext sharing and homomorphic operations among multiple users, cannot resist quantum attacks, and cannot verify the correctness of the server.
A verifiable homomorphic proxy re-encryption system is designed. By introducing the concept of proxy re-encryption, the authorization function homomorphic signature is embedded as a black box into the homomorphic proxy re-encryption scheme to realize homomorphic operation and ciphertext sharing for multiple users, and the correct behavior of the cloud server is verified through re-encryption.
It enables homomorphic computation among multiple users, ensuring the confidentiality and correctness of computation results, resisting quantum attacks, verifying the correctness of the server, and solving the problem that ciphertexts encrypted with different public keys cannot be homomorphically computed.
Smart Images

Figure CN114915401B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data encryption technology, specifically to a verifiable homomorphic proxy re-encryption method and system. Background Technology
[0002] The rapid development of networks and information technology has led to an explosive growth in data. To save local resources and utilize this data efficiently, more and more organizations and users are choosing to encrypt large amounts of data and upload them to cloud servers for storage and processing. To facilitate the sharing of encrypted data, a proxy re-encryption mechanism is typically used. This mechanism directly converts the encrypted file to be shared into a decryptable encrypted file for another user via the cloud server, during which the cloud server receives no underlying plaintext information. However, proxy re-encryption technology cannot perform computations and processing between encrypted data, which causes inconvenience for many practical needs in the real world. Therefore, how to perform computations on encrypted data while protecting user information security and privacy is an urgent problem to be solved in the current cloud environment. Homomorphic encryption possesses powerful encrypted computation capabilities, enabling untrusted third parties to process information in an encrypted environment without disclosing any user information.
[0003] Patent application number 202011045388.9 provides a lattice-based homomorphic proxy re-encryption method resistant to strong collusion attacks. This proxy re-encryption method only involves one layer of ciphertext, eliminating the need for layered ciphertext processing and saving interaction overhead. However, this method cannot verify the correct behavior of the server, and the user's private key size is too large, requiring a large amount of storage space. Patent application number 202111314232.0 provides a proxy re-encryption system and method based on dual entities. This method has problems such as requiring many parameters, high computational overhead, cumbersome operation, inability to resist quantum attacks, inability to verify the correctness of the server, and inability to perform homomorphic operations.
[0004] The diversity and complexity of users in cloud environments necessitate that homomorphic encryption technology meet the needs of multi-user ciphertext computation and sharing. However, traditional homomorphic encryption is only suitable for homomorphic computation on ciphertext involving a single user, meaning all ciphertexts involved in the computation belong to the same user. It becomes unusable when arbitrary computations are required on ciphertexts from different users. In many real-world scenarios, however, secure multi-party collaborative computations on data uploaded to the cloud by multiple users are often necessary. When a proxy receives numerous ciphertexts from different authorized parties and needs to perform computations on these ciphertexts without revealing their information, the proxy needs to support homomorphic computation. Designing a quantum-resistant and verifiable homomorphic proxy re-encryption method by combining proxy re-encryption with homomorphic encryption presents a challenging problem. Summary of the Invention
[0005] In view of the problems existing in the prior art, the present invention discloses a verifiable homomorphic proxy re-encryption system, including a system establishment module. Private key extraction module Encryption module Re-encryption key generation module Re-encryption module Verification module Decryption module Homomorphic computation module Specifically:
[0006] System creation module :
[0007] Input security parameters Number of circuit layers Choose one binary bit to represent as Modulus of bits ,in, It is about and polynomial Grid Dimension Error distribution ,parameter , A trapdoor generation algorithm is used. Generate matrix and its grade A trapdoor base on Randomly select a vector Two matrices The output common parameters are The system master private key is ;
[0008] Private key extraction module :
[0009] Input common parameters System master private key and user identity ,set up Run the left sampling algorithm to output vector , making ;make , ,have Output public key private key ;
[0010] Encryption module :
[0011] Input common parameters A message bit and user identity Select a noise vector Randomly select a uniform vector Output ciphertext ;in, for ;
[0012] Re-encryption key generation module :
[0013] (1) Input the first Each participant's private key public key of cloud server ,make Randomly select an invertible matrix Generate proxy re-encryption key for cloud server ;
[0014] (2) Input the first Each participant's private key ,user public key Two error vectors are randomly selected. Generate user Proxy re-encryption key ;
[0015] (3) Run The algorithm generates the signature key. ,Will Each line Mark, run AFHS.Sign Algorithm generates signature ;
[0016] (4) Combine the re-encryption key with the corresponding signature Send to the cloud server;
[0017] Re-encryption module :
[0018] (1) Input User ciphertext Re-encryption key and matrix inverse matrix , will users The ciphertext is converted into ciphertext on the cloud server. ;
[0019] (2) Input User ciphertext and re-encryption key , will users The encrypted text is converted into user ciphertext ;
[0020] (3) Run AFHS.HEval Algorithm for generating signatures , where the function Defined as ;
[0021] (4) Output the re-encrypted ciphertext and signature;
[0022] Verification module :
[0023] Enter verification key ciphertext and signature group If it is the original ciphertext Then sign Empty; if it is the converted ciphertext The signature is Run AFHS.Verify The algorithm outputs the verification results.
[0024] Decryption module :
[0025] (1) Each participant uses its own private key for the encrypted data. calculate ;
[0026] (2) For the encrypted data that has been converted into cloud server data Cloud servers use their own private keys Decryption yields the ciphertext from each participant. ;
[0027] (3) For users who have undergone proxy re-encryption conversion Cipher ,user Use your own private key Decrypt to obtain the final result. ;
[0028] Homomorphic computation module :
[0029] In multi-party cloud computing, the cloud server performs homomorphic operations on the ciphertext that has been re-encrypted by the proxy from each participant.
[0030] (1) :
[0031] (2) :
[0032] (3) :
[0033] The cloud server sends the result after homomorphic computation to each participant. Each participant decrypts the result using their own private key to obtain the final computation result, thus realizing multi-party cloud computing and solving the problem that ciphertexts generated by different public keys cannot be homomorphically computed.
[0034] A verifiable homomorphic proxy re-encryption method based on the above system includes the following steps:
[0035] Step 1: Private Key Extraction Module Based on the system creation module The generated public parameters and the system master / private key are used to generate the user's public / private key pair; then the encryption module is accessed. Users encrypt the data using their private keys, generate ciphertext, and upload it to the cloud server.
[0036] Step 2: Through the re-encryption key generation module With re-encryption module Generate ciphertext for the cloud server, and the cloud server uses a function to... Homomorphic computation module ;
[0037] Step 3: Send the homomorphic ciphertext results to each user;
[0038] Step 4: Enter the verification module If the verification passes, proceed to the decryption module. Each user decrypts the data using their private key;
[0039] Step 5: Re-enter the re-encryption key generation module With re-encryption module Generate ciphertext for user P. User P uses their private key to decrypt the ciphertext and obtain the result of the homomorphic operation, thus achieving ciphertext sharing; the entire process ends.
[0040] The beneficial effects of this invention are as follows: To achieve multi-user homomorphic computation, this invention introduces the concept of proxy re-encryption. Each participant encrypts the data using their own private key, and then converts it into ciphertext for the cloud server. This enables multi-party cloud computing and solves the problem that ciphertexts encrypted with different public keys cannot be used for homomorphic computation. To meet the sharing needs among different users, the computation result can be selectively sent to a designated and legitimate non-data provider, where a second re-encryption technique is used. Furthermore, except for the designated recipient, other users cannot decrypt the computation result even if they obtain the original ciphertext from the data provider, resulting in better confidentiality. The authorized function homomorphic signature is embedded as a black box into the homomorphic proxy re-encryption scheme to achieve re-encryption verification. That is, given a re-encryption key and a signature on the original message, the proxy can not only convert the ciphertext but also provide a signature of the converted ciphertext by evaluating the original signature using the re-encryption key. This signature can be used to verify whether the cloud server performs the correct function computation and the correctness of the function result. Attached Figure Description
[0041] Figure 1 A flowchart illustrating the specific implementation of a verifiable homomorphic proxy re-encryption method;
[0042] Figure 2 This is a flowchart of an expert telemedicine consultation system in a specific implementation case. Detailed Implementation
[0043] Example 1
[0044] The present invention provides a verifiable homomorphic proxy re-encryption system, comprising a system establishment module. Private key extraction module Encryption module Re-encryption key generation module Re-encryption module Verification module Decryption module Homomorphic computation module Specifically:
[0045] System creation module :
[0046] Input security parameters Number of circuit layers Choose one binary bit to represent as Modulus of bits ,in, It is about and polynomial Grid Dimension Error distribution ,parameter , A trapdoor generation algorithm is used. Generate matrix and its grade A trapdoor base on Randomly select a vector Two matrices The output common parameters are The system master private key is ;
[0047] Private key extraction module :
[0048] Input common parameters System master private key and user identity ,set up Run the left sampling algorithm to output vector , making ;make , ,have Output public key private key ;
[0049] Encryption module :
[0050] Input common parameters A message bit and user identity Select a noise vector Randomly select a uniform vector Output ciphertext ;in, for ;
[0051] Re-encryption key generation module :
[0052] (1) Input the first Each participant's private key public key of cloud server ,make Randomly select an invertible matrix Generate proxy re-encryption key for cloud server ;
[0053] (2) Input the first Each participant's private key ,user public key Two error vectors are randomly selected. Generate user Proxy re-encryption key ;
[0054] (3) Run The algorithm generates the signature key. ,Will Each line Mark, run AFHS.Sign Algorithm generates signature ;
[0055] (4) Combine the re-encryption key with the corresponding signature Send to the cloud server;
[0056] Re-encryption module :
[0057] (1) Input User ciphertext Re-encryption key and matrix inverse matrix , will users The ciphertext is converted into ciphertext on the cloud server. ;
[0058] (2) Input User ciphertext and re-encryption key , will users The encrypted text is converted into user ciphertext ;
[0059] (3) Run AFHS.HEval Algorithm for generating signatures , where the function Defined as ;
[0060] (4) Output the re-encrypted ciphertext and signature;
[0061] Verification module :
[0062] Enter verification key ciphertext and signature group If it is the original ciphertext Then sign Empty; if it is the converted ciphertext The signature is Run AFHS.Verify The algorithm outputs the verification results.
[0063] Decryption module :
[0064] (1) Each participant uses its own private key for the encrypted data. calculate ;
[0065] (2) For the encrypted data that has been converted into cloud server data Cloud servers use their own private keys Decryption yields the ciphertext from each participant. ;
[0066] (3) For users who have undergone proxy re-encryption conversion Cipher ,user Use your own private key Decrypt to obtain the final result. ;
[0067] Homomorphic computation module :
[0068] In multi-party cloud computing, the cloud server performs homomorphic operations on the ciphertext that has been re-encrypted by the proxy from each participant.
[0069] (4) :
[0070] (5) :
[0071] (6) :
[0072] The cloud server sends the result after homomorphic computation to each participant. Each participant decrypts the result using their own private key to obtain the final computation result, thus realizing multi-party cloud computing and solving the problem that ciphertexts generated by different public keys cannot be homomorphically computed.
[0073] like Figure 1 As shown, a verifiable homomorphic proxy re-encryption method based on the above system includes the following steps:
[0074] Step 1: Private Key Extraction Module Based on the system creation module The generated public parameters and the system master / private key are used to generate the user's public / private key pair; then the encryption module is accessed. Users encrypt the data using their private keys, generate ciphertext, and upload it to the cloud server.
[0075] Step 2: Through the re-encryption key generation module With re-encryption module Generate ciphertext for the cloud server, and the cloud server uses a function to... Homomorphic computation module ;
[0076] Step 3: Send the homomorphic ciphertext results to each user;
[0077] Step 4: Enter the verification module If the verification passes, proceed to the decryption module. Each user decrypts the data using their private key;
[0078] Step 5: Re-enter the re-encryption key generation module With re-encryption module Generate ciphertext for user P. User P uses their private key to decrypt the ciphertext and obtain the result of the homomorphic operation, thus achieving ciphertext sharing; the entire process ends.
[0079] Specific implementation examples: This invention can be applied to personal electronic health record systems, such as... Figure 2 The flowchart of the expert telemedicine consultation system shown below illustrates the specific steps:
[0080] Step 1: The Trust Center registers doctors and patients based on the system's established modules and generates common parameters for the system.
[0081] Step 2: The doctor and patient run the key extraction module to generate their respective public and private key pairs;
[0082] Step 3: The patient runs the encryption module to encrypt their electronic health records and then uploads them to the cloud server for storage;
[0083] Step 4: Suppose a doctor needs to analyze and calculate the electronic medical records of multiple patients. In order to save local computing and communication costs, the doctor will delegate the computing task to a cloud agent.
[0084] Step 5: Run the re-encryption key generation module and the re-encryption module to generate ciphertext for the cloud server. The cloud server runs the homomorphic computation module to perform homomorphic operations on the re-encrypted ciphertext.
[0085] Step Six: The cloud server runs the re-encryption module again to generate the doctor's ciphertext;
[0086] Step 7: The doctor downloads the result of the homomorphic computation, first verifies whether the ciphertext is valid, and if the verification is successful, decrypts it locally using a decryption algorithm to obtain the required data.
[0087] The parts not described in detail in this article are existing technologies.
[0088] While the specific embodiments of the present invention have been described in detail above, the present invention is not limited to the above embodiments. Within the scope of knowledge possessed by those skilled in the art, various changes can be made without departing from the spirit of the present invention, and modifications or variations without creative effort are still within the protection scope of the present invention.
Claims
1. A verifiable homomorphic proxy re-encryption system, characterized in that, Including system establishment module Private key extraction module Encryption module Re-encryption key generation module Re-encryption module Verification module Decryption module Homomorphic computation module Specifically: System creation module : Input security parameters Number of circuit layers Choose one binary bit to represent as Modulus of bits ,in, It is about and polynomial Grid Dimension Error distribution ,parameter , A trapdoor generation algorithm is used. Generate matrix and its grade A trapdoor base on Randomly select a vector Two matrices The output common parameters are The system master private key is ; Private key extraction module : Input common parameters System master private key and user identity ,set up Run the left sampling algorithm to output vector , making ;make , ,have Output public key private key ; Encryption module : Input common parameters A message bit and user identity Select a noise vector Randomly select a uniform vector Output ciphertext ;in, for ; Re-encryption key generation module : (1) Input the first Each participant's private key public key of cloud server ,make Randomly select an invertible matrix Generate proxy re-encryption key for cloud server ; (2) Input the first Each participant's private key ,user public key Two error vectors are randomly selected. Generate user Proxy re-encryption key ; (3) Run The algorithm generates the signature key. ,Will Each line Mark, run AFHS.Sign Algorithm generates signature ; (4) Combine the re-encryption key with the corresponding signature Send to the cloud server; Re-encryption module : (1) Input User ciphertext Re-encryption key and matrix inverse matrix , will users The ciphertext is converted into ciphertext on the cloud server. ; (2) Input User ciphertext and re-encryption key , will users The encrypted text is converted into user ciphertext ; (3) Run AFHS.HEval Algorithm for generating signatures , where the function Defined as ; (4) Output the re-encrypted ciphertext and signature; Verification module : Enter verification key ciphertext and signature group If it is the original ciphertext Then sign Empty; if it is the converted ciphertext The signature is Run AFHS.Verify The algorithm outputs the verification results. Decryption module : (1) Each participant uses its own private key for the encrypted data. calculate ; (2) For the encrypted data that has been converted into cloud server data Cloud servers use their own private keys Decryption yields the ciphertext from each participant. ; (3) For users who have undergone proxy re-encryption conversion Cipher ,user Use your own private key Decrypt to obtain the final result. ; Homomorphic computation module : In multi-party cloud computing, the cloud server performs homomorphic operations on the ciphertext that has been re-encrypted by the proxy from each participant. ; The cloud server sends the result after homomorphic computation to each participant. Each participant decrypts the result using their own private key to obtain the final computation result, thus realizing multi-party cloud computing and solving the problem that ciphertexts generated by different public keys cannot be homomorphically computed.
2. A verifiable homomorphic proxy re-encryption method, implemented using the verifiable homomorphic proxy re-encryption system described in claim 1, characterized in that, The steps include the following: Step 1: Private Key Extraction Module Based on the system creation module The generated public parameters and the system master / private key are used to generate the user's public / private key pair; then the encryption module is accessed. Users encrypt the data using their private keys, generate ciphertext, and upload it to the cloud server. Step 2: Through the re-encryption key generation module With re-encryption module Generate ciphertext for the cloud server, and the cloud server uses a function to... Homomorphic computation module ; Step 3: Send the homomorphic ciphertext results to each user; Step 4: Enter the verification module If the verification passes, proceed to the decryption module. Each user decrypts the data using their private key; Step 5: Re-enter the re-encryption key generation module With re-encryption module Generate ciphertext for user P. User P uses their private key to decrypt the ciphertext and obtain the result of the homomorphic operation, thus achieving ciphertext sharing; the entire process ends.
Citation Information
Patent Citations
Lattice-based homomorphic proxy re-encryption method capable of resisting strong collusion attack
CN112152779A
Agent re-encryption system and method based on double entities
CN114024661A