An authorized branchable self-controlled path proxy re-encryption method
By introducing a secret value 't' unique to the principal and a unique branch key into the self-controlled path proxy re-encryption method, the problems of fork attacks and branch key leakage in the proxy path are solved, achieving efficient and secure data sharing.
Patent Information
- Application Number
- CN202610706377.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-05-21
- Publication Date
- 2026-07-10
AI Technical Summary
Existing technologies cannot effectively resist delegated path fork attacks and branch key leakage attacks, and cannot support flexible authorized branching functions, resulting in reduced data sharing efficiency.
A unique secret value t is introduced to generate a re-encryption key, and a unique branch key is generated for each privileged delegate. Strict ciphertext validity verification and bilinear mapping are used to ensure path security and the uniqueness of branch permissions.
It completely eliminates fork attacks on delegated paths, prevents branch key leakage, supports efficient and authoritative branching functions, and improves the security and efficiency of data sharing.
Smart Images

Figure CN122372319A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of cloud data security technology, and in particular to a method for re-encryption of a self-controlled path proxy with authorized branches. Background Technology
[0002] With the widespread adoption of cloud storage, a large amount of personal privacy information and core government and enterprise data are migrating to cloud servers, effectively alleviating the pressure on local storage and computing resources. At the same time, cloud sharing technology significantly improves the convenience for users to access and share data across multiple terminal devices. However, once data is uploaded to the cloud, its security faces severe challenges. Therefore, ensuring the security of cloud data has become a key issue in the field of cloud computing.
[0003] Proxy re-encryption technology allows semi-trusted proxy servers to perform authorized ciphertext conversion tasks for different users while ensuring that no information related to plaintext or user private keys is leaked. Therefore, it has become an important technology for secure cloud sharing. To address the uncontrollable delegation path problem in multi-hop proxy re-encryption schemes, Cao et al. proposed the Self-Controlled Path Proxy Re-encryption (AP-PRE) method. This scheme allows the delegator to specify multiple delegates and generate delegation paths according to priority. If the current delegate refuses decryption, it can request the proxy to convert the ciphertext into re-encrypted ciphertext that the next delegate in the path can decrypt. However, when the delegator places all delegates on the same single path, the delegation path becomes very long, leading to reduced data sharing efficiency.
[0004] To address the efficiency reduction issue caused by re-encryption in single-path systems, Lin et al. proposed a generalized self-controlled path proxy re-encryption scheme (APB-PRE). This scheme, based on the AP-PRE scheme, introduces branch tokens into the ciphertext to branch the delegated path. Specifically, the data owner (delegator) is responsible for distributing branch tokens, granting privileged delegates on the main path the permission to generate branch paths. Delegates without branch permissions cannot perform legitimate branching operations. Furthermore, the authorized data delegation strategy employed in this scheme constructs a tree-like delegation topology, allowing lower-priority delegates to perform decryption tasks in advance through legitimate channels. For example, in a medical scenario, a patient defines a delegation path, and a attending physician on that path can apply for privileged delegates, thus branching the delegation path and pre-distributing shared access to medical data to other doctors within their medical team, thereby improving medical efficiency. However, this scheme has the following security flaws. First, it is vulnerable to delegated path fork attacks. The structure of the re-encrypted ciphertext in the AP-PRE method is flawed. Once the delegate obtains the intermediate variable, it can construct a re-encryption key pointing to any user outside the path, thus illegally forking the delegated path. Since APB-PRE uses the exact same encryption, re-encryption, and re-encryption key generation methods as AP-PRE, it is also vulnerable to such fork attacks.
[0005] Second, branch keys are easily leaked and lack distinctiveness. Different privileged delegates receive the same branch token, which is directly associated with the original ciphertext. Once a privileged delegate maliciously leaks the branch token, other non-privileged users can gain the same branch permissions, thus constituting a branch key leakage attack on the entire delegation path.
[0006] To address the aforementioned issues, there is an urgent need for a self-controlled path proxy re-encryption method that is efficient, allows authorized branching, and is resistant to both fork attacks and branch key leakage attacks. Summary of the Invention
[0007] To address the shortcomings of existing technologies, such as inability to resist delegated path fork attacks, inability to resist branch key leakage attacks, and reliance on multilinear mappings in existing anti-fork attack schemes which lack flexible authorized branching functionality, this invention proposes a self-controlled path proxy re-encryption method with authorized branching. The method includes: Step 1: The key generation center obtains system security parameters and generates system public parameters; Step 2: The user generates a public key and private key pair based on the system's public parameters and their own identity; Step 3: The principal selects the delegate's public key according to priority order based on the system's public parameters and their own public key to generate the delegation path; Step 4: The principal generates a proxy re-encryption key and a branch key for the privileged principal based on the system's public parameters, their own private key, and the delegation path. Step 5: The principal generates the original ciphertext based on the system's public parameters, their own public key, and the plaintext; Step Six: The cloud server agent verifies the legitimacy and generates a re-encrypted ciphertext that the next agent can decrypt based on the system's public parameters, the delegation path, the agent's re-encryption key, the current delegate's public key, and the current ciphertext. Step 7: The delegate decrypts the plaintext using the system's public parameters, the ciphertext, and their own private key; Step 8: The cloud server agent generates branch ciphertext based on the system's public parameters, the re-encrypted ciphertext, and the branch key of the privileged delegate, which serves as the starting ciphertext for the new delegated branch.
[0008] Furthermore, step one specifically involves: According to safety parameters The system randomly selects two prime numbers of order. multiplication group and ,in The generator is ; Choose bilinear mapping ,in, ; And from Choose two different elements and ,in , ; Output common parameters .
[0009] Furthermore, in step two, The users include both the principal and the agent; The entrusted party includes ordinary entrusted parties and privileged entrusted parties; The ordinary delegate has the authority to decrypt data to obtain information and to entrust the cloud server to re-encrypt data; the privileged delegate, in addition to having all the authority of the ordinary delegate, also has the authority to independently create and manage new branch paths. Each privileged delegate can only generate one branch path.
[0010] Furthermore, step two specifically involves: User from model q Group of non-zero invertible elements Randomly select a non-zero element As a private key:
[0011] Calculate the public key:
[0012] Output public / private key pair , i Index for users, ; in, For public keys; For private key; For a finite set {1, 2, ... q -1}.
[0013] Furthermore, in step three, Delegation path It is an ordered list, the first element of which is the delegator's own public key, followed by the public keys of the delegates in order of priority; the public keys corresponding to any two different positions in the delegation path are different.
[0014] Furthermore, step four specifically involves: The client from Randomly select an element t For the delegate on the delegation path, calculate the re-encryption key. ; When the path node index is 0, that is j When = 0, the re-encryption key is calculated as follows:
[0015] when At that time, the re-encryption key is calculated as follows:
[0016] in, ; For delegation path The number of delegates on the platform; For users i The first on the created delegate path j One commission; For use by the entrusted party The re-encrypted ciphertext is converted into the delegate's The re-encryption key for the re-encrypted ciphertext; The client from Randomly select another element Calculate the branch key for the privileged delegate: ; The principal outputs the re-encryption key. and branch key .
[0017] Furthermore, in step five, The client from Randomly select an element Calculate the original ciphertext;
[0018] in, m This is plain text.
[0019] Furthermore, in step six, Cloud server proxy verification Check if the condition is met; if not, output a terminator; if met, use the re-encryption key and output the re-encrypted ciphertext. when At that time, the re-encrypted ciphertext is:
[0020] in , , , , ; when At that time, the re-encrypted ciphertext is:
[0021] in , , , , .
[0022] Furthermore, in step seven, The decrypted plaintext is as follows: If the ciphertext is the original ciphertext, the decryption method is as follows:
[0023] If the ciphertext is re-encrypted, first calculate the intermediate value, then restore it to obtain the plaintext:
[0024] .
[0025] Furthermore, in step eight The branch ciphertext calculation method is as follows:
[0026] in, This is the branch key.
[0027] The beneficial effects of this invention are: To address the shortcomings of existing technologies, such as inability to resist delegated path fork attacks, inability to resist branch key leakage attacks, and reliance on multilinear mappings in existing anti-fork attack schemes which lack flexible authorized branching functionality, this invention proposes a self-controlled path proxy re-encryption method with authorized branching, offering the following improvements: 1. Resistance to fork attacks: This invention introduces a secret value unique to the principal when generating the re-encryption key. t ,and t The secret is kept confidential from all delegates along the path. Due to the guarantee provided by the discrete logarithm hard problem, delegates cannot extract the key from the re-encrypted key. tIt is also impossible to construct a valid re-encryption key pointing to other users outside the path, thus completely eliminating fork attacks.
[0028] 2. Resistance to branch key leakage attacks: This invention generates a unique and independent branch key for each privileged delegate. The branch key is generated by the delegate using the public key, a random number, and their own private key, with different random secret values used in each. Even if a privileged delegate reveals their branch key, no other user, including other privileged delegates, can use the revealed key to generate a legitimate branch ciphertext, thus ensuring the branch security of the entire delegation path.
[0029] 3. Supports efficient and authoritative branching: This invention defines strict ciphertext validity verification, ensuring that only authorized users on legitimate paths can trigger re-encryption; branch ciphertext is generated using a dedicated branch key, enabling privileged users to independently create and manage new branch paths, while limiting each privileged user to generating only one branch path to prevent branch abuse. The entire scheme uses only bilinear mapping, avoiding inefficient multilinear mapping, and its computational efficiency is significantly better than existing anti-forking schemes. Attached Figure Description
[0030] 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 embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.
[0031] Figure 1 This is a schematic diagram of the overall process of the method of the present invention. Detailed Implementation
[0032] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0033] To achieve the self-controlled path proxy re-encryption function, the AP-PRE-B scheme proposed in this invention involves four entities: a key generation center (PKG), a delegator, a delegatee, and a cloud server proxy. In terms of delegated path division, two types are defined: main paths and branch paths. The main path is directly defined by the delegator to establish the basic delegation relationship; while branch paths are generated by privileged delegatees under the authorization of the delegator to meet more flexible delegation needs. The specific entities are as follows: PKG: Responsible for generating public / private key pairs for all users.
[0034] Delegator: In a delegation process, the delegator, as the data owner, plans to achieve secure data sharing among multiple users. To prevent data leakage to unauthorized users, the delegator selects delegates and determines re-encryption paths based on priority from highest to lowest. Simultaneously, the delegator grants a branch key to the privileged delegate, generates a legitimate branch path, and delivers the re-encryption key along with the original ciphertext to the agent.
[0035] Delegatee: In a delegation path, the delegatee acts as a node with three permission handling methods: directly decrypting data to obtain information, delegating data to a proxy for re-encryption, and autonomously creating and managing new branch paths. Ordinary delegatees can only exercise the first two permissions, while prerogative delegatees can exercise all permissions. Furthermore, prerogative delegatees with branch management permissions have the right to determine and control the re-encryption order of other delegates on their branch path.
[0036] Proxy: In the AP-PRE-B architecture, the cloud proxy server acts as a semi-trusted intermediary. It possesses powerful computing and storage capabilities and is responsible for receiving computing requests from both the principal and the target proxy, and executing ciphertext conversion tasks. Unlike conventional proxies, the proxy in this framework has restricted permissions, ensuring that even if it possesses the re-encryption key and ciphertext data, it cannot parse the original plaintext and can only provide targeted re-encryption services according to system authorization.
[0037] In practical applications, to manage the entire network more effectively, certain restrictions need to be placed on the entire path. The entire path consists of a main path and multiple branch paths, and it is stipulated that each privileged delegate can only generate one branch path. This rule applies to all privileged delegates on the main path and branch paths.
[0038] Combination Figure 1This invention proposes a self-controlled path proxy re-encryption method with authoritative branches, applicable to a system comprising a key generation center, a delegator, a delegate, and a cloud server proxy. The method includes: Step 1: The key generation center obtains system security parameters and generates system public parameters; Furthermore, step one specifically involves: According to safety parameters The system randomly selects two prime numbers of order. multiplication group and ,in The generator is ; Choose bilinear mapping ,in, ; And from Choose two different elements and ,in , ; Output common parameters .
[0039] Furthermore, Enter security parameters The system randomly selects two prime numbers of order. multiplication group and , The generator is , Two different elements , Bilinear mapping Output common parameters .
[0040] Step 2: The user generates a public key and private key pair based on the system's public parameters and their own identity; Furthermore, in step two, The users include both the principal and the agent; The entrusted party includes ordinary entrusted parties and privileged entrusted parties; The ordinary delegate has the authority to decrypt data to obtain information and to entrust the cloud server to re-encrypt data; the privileged delegate, in addition to having all the authority of the ordinary delegate, also has the authority to independently create and manage new branch paths. Each privileged delegate can only generate one branch path.
[0041] Furthermore, step two specifically involves: User from model q Group of non-zero invertible elements Randomly select a non-zero element As a private key:
[0042] Calculate the public key:
[0043] Output public / private key pair , i Index for users, ; in, For public keys; For private key; For a finite set {1, 2, ... q -1}.
[0044] Furthermore, Input common parameters and users ,user Random selection and calculate Output public / private key pair , .
[0045] Step 3: The principal selects the delegate's public key according to priority order based on the system's public parameters and their own public key to generate the delegation path; Furthermore, in step three, Delegation path It is an ordered list, the first element of which is the delegator's own public key, followed by the public keys of the delegates in order of priority; the public keys corresponding to any two different positions in the delegation path are different.
[0046] Input common parameters ,user public key .user Users can independently select the users they wish to share data with and their public keys, and arrange their public keys into a delegation path in the order they choose. The requirement is that if ,So .
[0047] Step 4: The principal generates a proxy re-encryption key and a branch key for the privileged principal based on the system's public parameters, their own private key, and the delegation path. Furthermore, step four specifically involves: The client from Randomly select an element t For the delegate on the delegation path, calculate the re-encryption key. ; When the path node index is 0, that is j When = 0, the re-encryption key is calculated as follows:
[0048] when At that time, the re-encryption key is calculated as follows:
[0049] The client from Randomly select another element Calculate the branch key for the privileged delegate: ; The principal outputs the re-encryption key. and branch key .
[0050] Furthermore, Input common parameters delegator private key and the selected delegation path delegator Random selection .
[0051] when At that time, the delegator calculates .
[0052] when At that time, the delegator calculates .
[0053] To simplify the description, let's assume the delegator i Only one prerogative delegate was selected. ( ), delegator Random selection ,calculate , Last Delegator Output and .
[0054] Step 5: The principal generates the original ciphertext based on the system's public parameters, their own public key, and the plaintext; Furthermore, in step five, The client from Randomly select an element Calculate the original ciphertext;
[0055] in, m This is plain text.
[0056] Furthermore, Input common parameters delegator public key and plain text The algorithm calculates and outputs the user's... i The original ciphertext ,in .
[0057] Step Six: The cloud server agent verifies the legitimacy and generates a re-encrypted ciphertext that the next agent can decrypt based on the system's public parameters, the delegation path, the agent's re-encryption key, the current delegate's public key, and the current ciphertext. Furthermore, in step six, Cloud server proxy verification Check if the condition is met; if not, output a terminator; if met, use the re-encryption key and output the re-encrypted ciphertext. when At that time, the re-encrypted ciphertext is:
[0058] in , , , , ; when At that time, the re-encrypted ciphertext is:
[0059] in , , , , .
[0060] Input common parameters Delegation path Re-encryption key Public key , and The ciphertext below , , For path The number of delegates on the platform. The agent first checks... Check if the condition is true; if not, output a termination symbol. If true, the agent outputs the re-encrypted ciphertext. .
[0061] when At that time, ,in , , , , .
[0062] when At that time, ,in , , , , .
[0063] Step 7: The delegate decrypts the plaintext using the system's public parameters, the ciphertext, and their own private key; Furthermore, in step seven, The decrypted plaintext is as follows: If the ciphertext is the original ciphertext, the decryption method is as follows:
[0064] If the ciphertext is re-encrypted, first calculate the intermediate value, then restore it to obtain the plaintext:
[0065] .
[0066] Furthermore, Input common parameters ciphertext and its corresponding private key .user calculate: like The original ciphertext, i.e. ,have .
[0067] like To re-encrypt the ciphertext, then ,calculate Then there is .
[0068] Step 8: The cloud server agent generates branch ciphertext based on the system's public parameters, the re-encrypted ciphertext, and the branch key of the privileged delegate, which serves as the starting ciphertext for the new delegated branch.
[0069] Furthermore, in step eight The branch ciphertext calculation method is as follows:
[0070] in, This is the branch key.
[0071] Furthermore, Input common parameters ciphertext and branch key The proxy calculates the output. .
[0072] The above provides a detailed description of the self-controlled path proxy re-encryption method with authoritative branches proposed in this invention. Specific examples have been used to illustrate the principles and implementation methods of this invention. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of this invention. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this invention. Therefore, the content of this specification should not be construed as a limitation of this invention.
Claims
1. A self-controlled path proxy re-encryption method with authoritative branches, characterized in that, For systems that include a key generation center, a delegator, a delegate, and a cloud server agent, the following steps are included: Step 1: The key generation center obtains system security parameters and generates system public parameters; Step 2: The user generates a public key and private key pair based on the system's public parameters and their own identity; Step 3: The principal selects the delegate's public key according to priority order based on the system's public parameters and their own public key to generate the delegation path; Step 4: The principal generates a proxy re-encryption key and a branch key for the privileged principal based on the system's public parameters, their own private key, and the delegation path. Step 5: The principal generates the original ciphertext based on the system's public parameters, their own public key, and the plaintext; Step Six: The cloud server agent verifies the legitimacy and generates a re-encrypted ciphertext that the next agent can decrypt based on the system public parameters, the delegation path, the agent re-encryption key, the public key of the current delegate, and the current ciphertext. Step 7: The delegate decrypts the plaintext using the system's public parameters, the ciphertext, and their own private key; Step 8: The cloud server agent generates branch ciphertext based on the system's public parameters, the re-encrypted ciphertext, and the branch key of the privileged delegate, which serves as the starting ciphertext for the new delegated branch.
2. The method according to claim 1, characterized in that, Step one is as follows: According to safety parameters The system randomly selects two prime numbers of order. multiplication group and ,in The generator is ; Choose bilinear mapping ,in, ; And from Choose two different elements and ,in , ; Output common parameters .
3. The method according to claim 1, characterized in that, In step two, The users include both the principal and the agent; The entrusted party includes ordinary entrusted parties and privileged entrusted parties; The ordinary agent has the authority to decrypt data to obtain information and to entrust the cloud server agent to re-encrypt data. In addition to having all the permissions of the ordinary delegate, the privileged delegate also has the permission to independently create and manage new branch paths; Each privileged delegate can only generate one branch path.
4. The method according to claim 1, characterized in that, Step two is as follows: User from model q Group of non-zero invertible elements Randomly select a non-zero element As a private key: Calculate the public key: Output public / private key pair , i Index for users, ; in, For public keys; For private key; For a finite set {1, 2, ... q -1}.
5. The method according to claim 1, characterized in that, In step three, Delegation path It is an ordered list, the first element of which is the delegator's own public key, followed by the public keys of the delegates in order of priority; the public keys corresponding to any two different positions in the delegation path are different.
6. The method according to claim 1, characterized in that, Step four is as follows: The client from Randomly select an element t For the delegate on the delegation path, calculate the re-encryption key. ; When the node number of the delegated path is 0, that is j When = 0, the re-encryption key is calculated as follows: when At that time, the re-encryption key is calculated as follows: in, ; For delegation path The number of delegates on the platform; For users i The first on the created delegate path j One commission; For use by the entrusted party The re-encrypted ciphertext is converted into the delegate's The re-encryption key for the re-encrypted ciphertext; The client from Randomly select another element Calculate the branch key for the privileged delegate: ; The principal outputs the re-encryption key. and branch key .
7. The method according to claim 1, characterized in that, In step five, The client from Randomly select an element Calculate the original ciphertext; in, m This is plain text.
8. The method according to claim 1, characterized in that, In step six, Cloud server proxy verification Check if the condition is met; if not, output a terminator; if met, use the re-encryption key and output the re-encrypted ciphertext. when At that time, the re-encrypted ciphertext is: in , , , , ; when At that time, the re-encrypted ciphertext is: in , , , , ; For users i The delegate in the generated delegate path The re-encrypted ciphertext; To re-encrypt the ciphertext The k Each component.
9. The method according to claim 1, characterized in that, In step seven, The decrypted plaintext is as follows: If the ciphertext is the original ciphertext, the decryption method is as follows: If the ciphertext is re-encrypted, first calculate the intermediate value, then restore it to obtain the plaintext: 。 10. The method according to claim 1, characterized in that, In step eight The branch ciphertext calculation method is as follows: in, This is the branch key used to generate branch paths on the delegate path.