Proxy re-encryption method and system
By combining the Diffie-Hellman protocol and elliptic curve cryptography, efficient proxy re-encryption is achieved, solving the problem of low efficiency in existing technologies and improving data sharing capabilities and applicability in cloud storage scenarios.
Patent Information
- Application Number
- CN202511322957.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-16
- Publication Date
- 2025-12-12
AI Technical Summary
Existing proxy re-encryption schemes rely on bilinear pairing computation, which leads to inefficiency, and require prior knowledge of the authorizer's public key, limiting their application and applicability in scenarios with large data volumes and high concurrency cloud storage.
The Diffie-Hellman protocol or the elliptic curve Diffie-Hellman protocol is used for key negotiation to generate a shared secret. Encryption and decryption are performed using elliptic curve cryptography algorithms to avoid bilinear pairing calculations. The ciphertext is re-encrypted using transformation parameters to achieve ciphertext-level data sharing.
It improves processing performance, enhances encryption and decryption efficiency, and increases applicability and flexibility, eliminating the need for the first user to know the second user's public key in advance.
Smart Images

Figure CN121125248A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of information encryption, and specifically to a proxy re-encryption method and system. Background Technology
[0002] With the rapid development of cloud computing technology, users are outsourcing the storage of large amounts of encrypted data on cloud servers. To protect data privacy, users typically encrypt the data using their own public keys. However, when users need to share data with others, how to securely and efficiently achieve ciphertext-level data sharing becomes a key challenge. Proxy Re-encryption (PRE) technology is an effective means to solve this problem. In the PRE scheme, the data owner can generate a transformation key for the cloud server. The cloud server uses the transformation key to convert the ciphertext encrypted with the data owner's public key into ciphertext that can be decrypted by another authorized user using their private key.
[0003] Most current mainstream PRE schemes are based on bilinear pairing. Bilinear pairing operations have a very high computational overhead, resulting in low efficiency in encryption, decryption, and re-encryption, making them difficult to widely apply in real-world scenarios with large data volumes and high concurrency in cloud storage. In addition, some existing schemes require the data owner to know the authorizer's public key in advance, or their security assumptions are too idealistic (such as requiring the proxy to be completely trustworthy), which limits their applicability. Summary of the Invention
[0004] To address the aforementioned problems, this invention proposes a proxy re-encryption method and system that does not rely on bilinear pairing, enabling more efficient generation of conversion keys and achieving the re-encryption of ciphertext. The specific technical solution is as follows: A proxy re-encryption method includes the following steps: S1. The first user terminal and the proxy server generate a first shared secret through a key negotiation protocol; S2. The second user terminal and the proxy server generate a second shared secret through a key negotiation protocol. S3. The first user terminal uses its public key to encrypt the plaintext to obtain the original ciphertext, the original ciphertext C=(C1,C2); S4. The second user terminal generates a second random number and calculates the first intermediate parameter t1 = r1 × skb × rkb, where skb is the private key of the second user terminal, rkb is the second shared secret, and r1 is the second random number. S5. The second user terminal sends the first intermediate parameter to the first user terminal and sends the second random number to the proxy server. S6. After the first user terminal agrees to the authorization, it calculates the second intermediate parameter t2 = rka × t1 × ska. -1 Where ska is the private key of the first user, rka is the first shared secret, and the second intermediate parameter is sent to the proxy server; S7. The proxy server calculates the conversion parameters based on the first shared secret, the second shared secret, the second random number, and the second intermediate parameter, and uses the conversion parameters to convert the C2 part in the original ciphertext to obtain the new ciphertext. S8. The proxy server sends the new ciphertext to the second user terminal, which then decrypts it using its private key.
[0005] Furthermore, the key negotiation protocol is either the Diffie-Hellman protocol or the elliptic curve Diffie-Hellman protocol.
[0006] Furthermore, the process of encrypting plaintext on the first user end includes: mapping the plaintext to a point M on an elliptic curve; generating a first random number and calculating C1=M+[r]×G, where G is the base point of the elliptic curve and r is the first random number; calculating C2=r×pka×mod×n, where n is the order of the elliptic curve and pka is the public key of the first user end; and outputting the original ciphertext C=(C1, C2).
[0007] Furthermore, the transformation parameter is calculated as follows: δ=(rka×rkb×r1) -1 ×t2.
[0008] Furthermore, the process of generating the new ciphertext C' is as follows: calculate C2' = C2 × δ, and replace C2 in the original ciphertext C with C2'.
[0009] Furthermore, the public and private keys for both the first and second user terminals are generated based on elliptic curve cryptography algorithms.
[0010] A proxy re-encryption system, applying the above-mentioned proxy re-encryption method, includes: The first user terminal is used to perform key negotiation, encrypt data, generate and send the second intermediate parameter; The second user terminal is used to perform key negotiation, generate a second random number and a first intermediate parameter, send requests and decrypt data; The proxy server is used to perform key negotiation, store ciphertext, calculate conversion parameters, perform re-encryption operations, and forward new ciphertext.
[0011] The beneficial effects of this invention are as follows: It avoids bilinear pairing calculations and uses only numerical multiplication, thus improving processing performance; the encryption process and independence from specific asymmetric cryptographic algorithms enhance its applicability; at the same time, the first user does not need to know the second user's public key in advance during the encryption phase, providing great flexibility. Attached Figure Description
[0012] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0013] Figure 1 This is a structural diagram of the proxy re-encryption system described in this invention. Detailed Implementation
[0014] The present invention provides the following specific implementation schemes: In a first aspect, the present invention provides a proxy re-encryption method, comprising the following steps: S1. The first user terminal and the proxy server generate the first shared secret (rka) through a key negotiation protocol.
[0015] S2. The second user terminal and the agent server generate a second shared secret (rkb) through a key negotiation protocol.
[0016] S3. The first user terminal uses its public key to encrypt the plaintext to obtain the original ciphertext C. The process of generating the original ciphertext C includes: mapping the plaintext m to a point M on an elliptic curve; generating a first random number r; calculating C1=M+[r]×G, where G is the basis of the elliptic curve; calculating C2=r×pka×mod×n, where n is the order of the elliptic curve and pka is the public key of the first user terminal; and outputting the original ciphertext C=(C1, C2).
[0017] S4. The second user terminal generates a second random number r1 and calculates the first intermediate parameter t1 = r1 × skb × rkb, where skb is the private key of the second user terminal and rkb is the second shared secret.
[0018] S5. The second user terminal sends the first intermediate parameter t1 to the first user terminal and sends the second random number r1 to the proxy server.
[0019] S6. After the first user terminal agrees to the authorization, it calculates the second intermediate parameter t2 = rka × t1 × ska. -1 , where ska is the private key of the first user, rka is the first shared secret, and the second intermediate parameter t2 is sent to the proxy server.
[0020] S7. The proxy server calculates the transformation parameter δ based on the first shared secret rka, the second shared secret rkb, the second random number r1, and the second intermediate parameter t2, and uses the transformation parameter δ to transform the C2 part in the original ciphertext to obtain the new ciphertext C'.
[0021] S8. The proxy server sends the new ciphertext C' to the second user terminal, which then decrypts it using its private key.
[0022] Furthermore, the key negotiation protocol is either the Diffie-Hellman protocol or the elliptic curve Diffie-Hellman protocol.
[0023] Furthermore, the transformation parameter is calculated as follows: δ=(rka×rkb×r1) -1 ×t2.
[0024] Furthermore, the process of generating the new ciphertext C' is as follows: calculate C2' = C2 × δ, replace C2 in the original ciphertext C with C2', and the new ciphertext C' = (C1, C2').
[0025] Furthermore, the public and private keys for both the first and second user terminals are generated based on elliptic curve cryptography algorithms.
[0026] Secondly, such as Figure 1 As shown, this invention provides a proxy re-encryption system, applying the above-mentioned proxy re-encryption method, including a first user terminal, a second user terminal, and a proxy server (cloud service). Specifically: The first user terminal has a private key ska and a public key pka, where ska is a random number and pka = [ska] × G, where G is the base point of the elliptic curve. The first user terminal is used to perform key negotiation, encrypt data, and generate and send the second intermediate parameter t2. The second user terminal has a public key pkb and a private key pkb, skb is a random number, pkb=[skb]×G, and G is the base point of the elliptic curve; the second user terminal is used to perform key negotiation, generate a second random number r1 and a first intermediate parameter t1, send requests and decrypt data; The proxy server is used to perform key negotiation, store ciphertext, calculate conversion parameters, perform re-encryption operations, and forward new ciphertext.
[0027] The second user sends the two generated data sets to the first user and the proxy server respectively, creating an information gap between them. This allows for encryption without revealing the second user's private and public keys. Because of this information gap, the first user also doesn't need to disclose its private key to the proxy server. The key negotiation protocol generates a first shared secret and a second shared secret between the first user / second user and the proxy server, which are used to process the data transmitted between the first and second user sets, preventing information leakage during the negotiation process.
[0028] This invention avoids bilinear pairing calculations and uses only numerical multiplication, thus improving processing performance; the encryption process and independence from specific asymmetric cryptographic algorithms enhance its applicability; and the fact that the first user does not need to know the second user's public key in advance during the encryption phase provides great flexibility.
[0029] The foregoing has shown and described the basic principles, main features, and advantages of the present invention. Those skilled in the art should understand that the present invention is not limited to the above embodiments. The embodiments and descriptions in the specification are merely illustrative of the principles of the invention. Various changes and modifications can be made to the invention without departing from its spirit and scope, and all such changes and modifications fall within the scope of the claimed invention.
Claims
1. A proxy re-encryption method, characterized in that, Includes the following steps: S1. The first user terminal and the proxy server generate a first shared secret through a key negotiation protocol; S2. The second user terminal and the proxy server generate a second shared secret through a key negotiation protocol. S3. The first user terminal uses its public key to encrypt the plaintext to obtain the original ciphertext, the original ciphertext C=(C1,C2); S4. The second user terminal generates a second random number and calculates the first intermediate parameter t1 = r1 × skb × rkb, where skb is the private key of the second user terminal, rkb is the second shared secret, and r1 is the second random number. S5. The second user terminal sends the first intermediate parameter to the first user terminal and sends the second random number to the proxy server. S6. After the first user terminal agrees to the authorization, it calculates the second intermediate parameter t2 = rka × t1 × ska. -1 Where ska is the private key of the first user, rka is the first shared secret, and the second intermediate parameter is sent to the proxy server; S7. The proxy server calculates the conversion parameters based on the first shared secret, the second shared secret, the second random number, and the second intermediate parameter, and uses the conversion parameters to convert the C2 part in the original ciphertext to obtain the new ciphertext. S8. The proxy server sends the new ciphertext to the second user terminal, which then decrypts it using its private key.
2. The proxy re-encryption method according to claim 1, characterized in that: The key negotiation protocol is either the Diffie-Hellman protocol or the elliptic curve Diffie-Hellman protocol.
3. The proxy re-encryption method according to claim 1, characterized in that, The process of encrypting plaintext on the first user end includes: Map the plaintext to a point M on an elliptic curve; Generate the first random number and calculate C1=M+[r]×G, where G is the base point of the elliptic curve and r is the first random number; Calculate C2 = r × pka × mod × n, where n is the order of the elliptic curve and pka is the public key of the first user terminal; Output the original ciphertext C=(C1, C2).
4. The proxy re-encryption method according to claim 1, characterized in that, The transformation parameter is calculated as follows: δ = (rka × rkb × r1) -1 ×t2.
5. The proxy re-encryption method according to claim 1, characterized in that, The process of generating the new ciphertext is as follows: calculate C2' = C2 × δ, and replace C2 in the original ciphertext C with C2'.
6. The proxy re-encryption method according to claim 1, characterized in that: Both the public and private keys for the first and second user terminals are generated based on elliptic curve cryptography algorithms.
7. A proxy re-encryption system, employing the proxy re-encryption method according to any one of claims 1-6, characterized in that, include: The first user terminal is used to perform key negotiation, encrypt data, generate and send the second intermediate parameter; The second user terminal is used to perform key negotiation, generate a second random number and a first intermediate parameter, send requests and decrypt data; The proxy server is used to perform key negotiation, store ciphertext, calculate conversion parameters, perform re-encryption operations, and forward new ciphertext.