A method and system for re-encryption of lattice-based puncture-resistant attribute bases
By employing a lattice-based puncturable attribute-based proxy re-encryption method, the problem of decryption key leakage in the Internet of Vehicles is solved, achieving data security and policy update flexibility throughout the entire lifecycle. It supports fine-grained access control and precise revocation after key leakage, ensuring long-term data security and privacy protection.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIJING ELECTRONICS SCI & TECH INST
- Filing Date
- 2025-11-20
- Publication Date
- 2026-05-26
AI Technical Summary
Existing attribute-based proxy re-encryption methods have the problem of decryption key leakage in the Internet of Vehicles environment, which leads to the risk of plaintext exposure and threatens data security.
The method employs a lattice-penetrable attribute-based proxy re-encryption approach. System parameters and keys are generated by a trusted institution. The data owner performs encryption and re-encryption, the cloud server performs ciphertext conversion, and the data receiver performs decryption and key updates. This achieves fine-grained access control and policy update flexibility, and can accurately revoke decryption privileges after key leakage.
It achieves a unified approach to security, efficiency, and privacy protection throughout the entire data lifecycle in the connected vehicle environment, ensuring long-term data security and policy flexibility, shortening attack exposure time, and supporting data sharing in a dynamic and open environment.
Smart Images

Figure CN121567394B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of proxy re-encryption technology, and in particular to a proxy re-encryption method and system based on lattice-penetrable attribute bases. Background Technology
[0002] Vehicular Ad Hoc Networks (VANETs) generate and exchange vast amounts of sensitive data crucial for traffic safety, autonomous driving, and intelligent transportation systems. These data streams require quantum-resistant cryptographic schemes to support secure, fine-grained data sharing in connected vehicle environments. While attribute-based proxy re-encryption enables one-to-many ciphertext sharing and fine-grained access control, it still faces a serious risk of plaintext exposure if the decryption key is compromised—a significant threat to the long-term security of connected vehicle data. Summary of the Invention
[0003] Therefore, the technical problem to be solved by the present invention is to overcome the problem of decryption key leakage in the existing attribute-based proxy re-encryption method.
[0004] To address the aforementioned technical problems, this invention provides a lattice-based puncture-compatible attribute-based proxy re-encryption method, comprising:
[0005] The system utilizes a trusted institution to execute an initialization algorithm, generating public system parameters and a master key. It also combines the data owner's identity to generate a set of secret information, and combines the data owner's identity and the data receiver's identity to generate an attribute key and an initial puncture key.
[0006] The data owner encrypts the message vector based on system public parameters, a set of secret information, and the currently selected access policy to generate ciphertext. It also uses the data owner to generate a re-encryption key from the currently selected access policy to the newly selected access policy;
[0007] Using cloud servers to pair ciphertext with re-encryption keys Perform the conversion to generate re-encrypted ciphertext. ;
[0008] Using the data receiver's attribute key and current stab key, the ciphertext is... and re-encrypted ciphertext Decrypt the message, recover the message vector, and update the current puncture key using the data receiver.
[0009] Preferably, the step of using a trusted institution to execute the initialization algorithm to generate system public parameters and the master key includes:
[0010] Obtain security parameters, and set the module, lattice dimension parameters, lattice basis dimension parameters, and error distribution parameters;
[0011] Based on the modulus, the dimension parameter of the lattice, and the dimension parameter of the lattice basis, the trapdoor generation algorithm is used to generate the system matrix and the system trapdoor matrix.
[0012] Define the global attribute set and tag set;
[0013] Sample multiple random matrices, where each random matrix is associated with an attribute in the global attribute set;
[0014] The system generates common parameters based on the modulus, lattice dimension parameters, lattice basis dimension parameters, error distribution parameters, global attribute set, tag set, system matrix, and multiple random matrices, and generates the master key based on the system trapdoor matrix.
[0015] Preferably, the step of generating a set of secret information by combining the data owner's identity includes:
[0016] Based on the orthogonal lattice of the system matrix at modulus, the system trapdoor matrix, and the Gaussian parameters, using The algorithm generates a tag association matrix for each tag in the tag set;
[0017] Based on the system matrix and the tag association matrix, a public key matrix associated with each tag is generated;
[0018] Each tag is assigned a random vector, generating a tag association vector for each tag.
[0019] Bind a random vector to each access policy defined when the data owner registers, and generate a policy association vector corresponding to each access policy;
[0020] Generate a set of secret information about the data owner based on the public key matrix, tag association vector, and policy association vector.
[0021] Preferably, the step of combining the data owner's identity and the data receiver's identity to generate the attribute key and the initial puncture key includes:
[0022] For the currently selected access policy, the first The first access condition If the data receiver possesses an attribute, an attribute matrix is constructed based on the attribute's index in the global attribute set; otherwise, an attribute matrix is constructed based on a randomly selected matrix.
[0023] Concatenate all attribute matrices belonging to the same access condition horizontally to construct a concatenation condition matrix;
[0024] Based on the system matrix, the splicing condition matrix, and the system trapdoor matrix, using The algorithm generates the basis of the lattice, thus obtaining the attribute key basis;
[0025] Based on the system matrix, concatenated condition matrix, attribute key base, random Gaussian parameters, and the policy association vector corresponding to the currently selected access policy, utilizing... The algorithm generates attribute key vectors;
[0026] Based on the system matrix, label association matrix, system trapdoor matrix, and random Gaussian parameters, using The algorithm generates the basis of the lattice, thus obtaining the puncture key basis;
[0027] Based on the public key matrix, the puncture key base, random Gaussian parameters, and the tag association vector, using The algorithm generates the puncture key vector;
[0028] Choose a random number as a unique identifier for the data receiver;
[0029] For each access condition, based on the unique identifier and the attribute key vector, calculate the attribute key component corresponding to each access condition to obtain the attribute key;
[0030] For each tag, based on the unique identifier and the puncture key vector, the initial puncture key component corresponding to each tag is calculated to obtain the initial puncture key.
[0031] Preferably, the step involves the data owner encrypting the message vector based on system public parameters, a set of secret information, and the current access policy to generate ciphertext. include:
[0032] Construct a linear secret sharing scheme matrix based on the currently selected access policy;
[0033] Randomly select the secret share, global random scaling factor, target random value, public vector, and error vector;
[0034] The ciphertext body is calculated based on the secret share, public vector, message vector, modulus, and error vector.
[0035] For the currently selected access strategy, extract the strategy row vector corresponding to each attribute from the linear secret sharing scheme matrix;
[0036] Calculate the policy normalization factor of the policy association vector corresponding to the currently selected access policy;
[0037] Based on the global random scaling factor, the policy row vector, the secret share, the target random value, the policy association vector corresponding to the currently selected access policy, and the policy normalization factor, calculate the ciphertext component corresponding to each attribute.
[0038] Multiple labels are selected for the message vector, and the label aggregation value is calculated based on the sum of squares of each component of the label association vector corresponding to all selected labels.
[0039] Based on the global random scaling factor, the tag aggregation value, the tag association vectors corresponding to all selected tags, and the public key matrix associated with all selected tags, calculate the tag-related ciphertext corresponding to each selected tag;
[0040] Ciphertext is generated based on the ciphertext body, the ciphertext component corresponding to each attribute, and the tag-related ciphertext corresponding to each selected tag. .
[0041] Preferably, the step of generating a re-encryption key from the currently selected access policy to the newly selected access policy using the data owner includes:
[0042] Construct a new linear secret-sharing scheme matrix for the newly selected access strategy;
[0043] Randomly select multiple new target random values;
[0044] For the newly selected access strategy, extract the new strategy row vector corresponding to each attribute from the new linear secret sharing scheme matrix;
[0045] Calculate the new policy normalization factor for the policy association vector corresponding to the newly selected access policy;
[0046] Based on the policy row vector, secret share, target random value, policy association vector corresponding to the currently selected access policy, new policy row vector, new target random value, policy association vector corresponding to the newly selected access policy, and the new policy normalization factor, calculate the re-encryption key component corresponding to each attribute to obtain the re-encryption key.
[0047] Preferably, the method of using a cloud server to pair ciphertext with a re-encryption key is... Perform the conversion to generate re-encrypted ciphertext. include:
[0048] ciphertext The parsing process consists of the ciphertext body, the ciphertext component corresponding to each attribute, and the tag-related ciphertext corresponding to each selected tag.
[0049] For each attribute's corresponding ciphertext component, it is converted into a policy ciphertext component corresponding to each attribute based on the re-encryption key;
[0050] Based on ciphertext The ciphertext is broken down into the ciphertext body, the policy ciphertext component corresponding to each attribute, and the tag-related ciphertext corresponding to each selected tag, generating a re-encrypted ciphertext. .
[0051] Preferably, the step involves the data receiver using an attribute key and the current piercing key to process the ciphertext. and re-encrypted ciphertext Decryption and recovery of the message vector include:
[0052] Determine if the attributes possessed by the data receiver satisfy the first of the currently selected access policies. One access condition;
[0053] Record the number of the currently selected access policies. The first access condition The attribute has a first index in the global attribute set and a second index in the currently selected access strategy;
[0054] Calculate the reconstruction coefficients based on the strategy row vector corresponding to the second index;
[0055] Concatenate the system matrix and the attribute matrix corresponding to the first index horizontally according to the order in which the attributes appear in the access conditions to construct the decryption matrix;
[0056] Decryption calculations are performed based on the ciphertext body, public vector, ciphertext component corresponding to the second index, reconstruction coefficient, decryption matrix, attribute key, ciphertext related to each selected tag, and current puncture key, and the decoded message at each position is recovered based on the modulus.
[0057] Determine if the attributes possessed by the data receiver satisfy the first of the newly selected access strategies. One access condition;
[0058] Record the first of the newly selected access strategies The first access condition Each attribute has a new first index in the global attribute set and a new second index in the currently selected access strategy;
[0059] Calculate the new reconstruction coefficients based on the new strategy row vector corresponding to the new second index;
[0060] According to the order in which the attributes appear in the access conditions, the system matrix and the attribute matrix corresponding to the new first index are horizontally concatenated to construct a new decryption matrix;
[0061] Decryption calculations are performed based on the ciphertext body, public vector, policy ciphertext component corresponding to the new second index, new reconstruction coefficient, new decryption matrix, attribute key, tag-related ciphertext corresponding to each selected tag, and current puncture key, and the decoded message at each position is recovered based on the modulus.
[0062] Preferably, updating the current puncture key using the data receiver includes:
[0063] For each tag to be punctured, select a random number and combine it with the current puncture key to calculate a new puncture key.
[0064] This invention also provides a lattice-based puncture-resistant attribute-based proxy re-encryption system, comprising:
[0065] A trusted institution is used to execute the initialization algorithm, generate system public parameters and master key, and generate a set of secret information by combining the identity of the data owner and the identity of the data receiver, and generate attribute key and initial puncture key by combining the identity of the data owner and the identity of the data receiver.
[0066] The data owner is responsible for encrypting the message vector based on system public parameters, a set of secret information, and the currently selected access policy, generating ciphertext. And generate a re-encryption key from the currently selected access policy to the newly selected access policy;
[0067] Cloud servers are used for ciphertext based on re-encryption key pairs. Perform the conversion to generate re-encrypted ciphertext. ;
[0068] The data receiver is used to process the ciphertext based on the attribute key and the current puncture key. and re-encrypted ciphertext Decrypt the message, recover the message vector, and update the current puncture key using the data receiver.
[0069] The technical solution of the present invention has the following advantages compared with the prior art:
[0070] The lattice-penetrable attribute-based proxy re-encryption method described in this invention achieves secure system bootstrapping and authoritative management through centralized key initialization and distribution by a trusted institution. Data owners autonomously generate encryption and re-encryption keys, ensuring fine-grained access control and flexible policy updates throughout the data lifecycle. The cloud server performs only ciphertext conversion in a semi-trusted environment, achieving efficient policy migration while maintaining plaintext invisibility. Data receivers independently complete decryption and key penetration, ensuring autonomous control over the decryption process and eliminating reliance on third-party key revocation mechanisms. This allows for immediate and precise revocation of decryption permissions for specific tags after key leakage, significantly shortening attack exposure time. This invention effectively solves the post-leakage security challenges faced by long-term data sharing in dynamic and open environments such as the Internet of Vehicles, achieving a balance between security, efficiency, and privacy protection. Attached Figure Description
[0071] To make the content of this invention easier to understand, the invention will be further described in detail below with reference to specific embodiments and accompanying drawings, wherein:
[0072] Figure 1 This is a flowchart illustrating the implementation of a lattice-based puncture-compatible attribute-based proxy re-encryption method provided by the present invention.
[0073] Figure 2 This is a structural block diagram of a lattice-penetrable attribute-based proxy re-encryption system provided in an embodiment of the present invention. Detailed Implementation
[0074] The core of this invention is to provide a lattice-penetrable attribute-based proxy re-encryption method and system, which effectively realizes secure system guidance and authoritative management, ensures fine-grained access control and policy update flexibility throughout the data lifecycle, achieves efficient policy migration while ensuring plaintext invisibility, and can immediately and accurately revoke the decryption permission of specific tags after key leakage, greatly shortening the attack exposure time. It effectively solves the security problem after leakage faced by long-term data sharing in dynamic open environments such as the Internet of Vehicles, and achieves a unity of security, efficiency and privacy protection.
[0075] To enable those skilled in the art to better understand the present invention, the invention will be further described in detail below with reference to the accompanying drawings and specific embodiments. Obviously, the described embodiments are merely 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.
[0076] Please refer to Figure 1. Figure 1 The flowchart illustrates the implementation of a lattice-based puncture-capable attribute-based proxy re-encryption method provided by this invention; the specific operation steps are as follows:
[0077] S101: Utilize a trusted institution to execute an initialization algorithm, generate system public parameters and a master key, and generate a set of secret information by combining the identity of the data owner and the identity of the data receiver; combine the identity of the data owner and the identity of the data receiver to generate an attribute key and an initial puncture key.
[0078] S102: The data owner encrypts the message vector based on system public parameters, a set of secret information, and the currently selected access policy to generate ciphertext. It also uses the data owner to generate a re-encryption key from the currently selected access policy to the newly selected access policy;
[0079] S103: Utilize a cloud server to pair ciphertext with a re-encryption key. Perform the conversion to generate re-encrypted ciphertext. ;
[0080] S104: Utilize the data receiver's attribute key and current piercing key to analyze the ciphertext. and re-encrypted ciphertext Decrypt the message, recover the message vector, and update the current puncture key using the data receiver.
[0081] This invention proposes a pierceable ciphertext policy attribute-based proxy re-encryption method (P-CP-ABPRE). This design combines pierceable encryption with ciphertext policy attribute-based proxy re-encryption, and has the following characteristics:
[0082] (1) Secure policy migration is achieved through a proxy re-encryption mechanism, and the proxy is ensured to be unable to access plaintext throughout the process;
[0083] (2) It supports the data receiver to perform key penetration testing on a specific tag, thereby enabling targeted revocation of the decryption permission for the encrypted data under that tag. Even if the key is leaked later, the corresponding data cannot be decrypted;
[0084] (3) The dual protection of fine-grained access control and post-leakage security mechanism ensures the long-term confidentiality of data in the dynamic vehicle network environment.
[0085] Based on the above embodiments, this embodiment will provide a detailed description of step S101:
[0086] It should be noted that the initialization algorithm Trusted organizations in security parameters Run the algorithm to generate common parameters With master key .in To be made public It is then kept secret by a trusted institution.
[0087] In one embodiment, utilizing a trusted authority to execute an initialization algorithm to generate system public parameters and a master key includes:
[0088] Obtain security parameters Set the modulus Dimensional parameters of the lattice Dimensional parameters of lattice basis and error distribution parameters (in Belongs to (real numbers);
[0089] Based on modulus Dimensional parameters of the lattice Dimension parameters of lattice basis Using the trapdoor generation algorithm Generate system matrix and system trapdoor matrix ;
[0090] Define global property set ( (The number of attributes in the global attribute set) and the tag set. ( The maximum number of tags in the tag set. , );
[0091] Sample multiple ( (number) random matrices Each random matrix is associated with an attribute in the global attribute set;
[0092] Common parameters of the system are generated based on the modulus, lattice dimension parameters, lattice basis dimension parameters, error distribution parameters, global attribute set, label set, system matrix, and multiple random matrices. Generate master key based on system trapdoor matrix .
[0093] In one embodiment, generating a set of secret information by combining the data owner's identity includes:
[0094] It should be noted that the data owner key generation algorithm Input common parameters Master key With data owner identity After a trusted institution verifies the legitimacy of the identity, it executes an algorithm to obtain an information set. And send it to the data owner.
[0095] Based on the orthogonal lattice of the system matrix under the modulus System trapdoor matrix Gaussian parameters ,use algorithm Generate a tag association matrix for each tag in the tag set. ,in , From 1 to The set of integers;
[0096] Based on system matrix Label association matrix Generate a public key matrix associated with each tag. ,in ;
[0097] Each tag is assigned a random vector, generating a tag association vector for each tag. ,in ;
[0098] Each access policy defined during data owner registration is bound to a random vector, generating a policy association vector for each access policy. ,in , This represents the maximum number of access policies that the system can select. From 1 to The set of integers;
[0099] Generate a set of secret information about the data owner based on the public key matrix, tag association vector, and policy association vector. .
[0100] It should be noted that the data receiver key generation algorithm Input common parameters Master key Data owner identity With the identity of the data recipient The trusted institution performs the following operations:
[0101] ①Assume the current access policy is the one selected by the data owner. There are 10 access policies, which contain a total of 100 access policies. There are several access conditions. Each access condition consists of... It consists of several attributes, among which For each attribute in the access conditions In the global property set The corresponding index is denoted as ,in .
[0102] ② Execute the algorithm and output the attribute key. With the initial puncture key .
[0103] In one embodiment, generating the attribute key and initial puncture key by combining the data owner's identity and the data receiver's identity includes:
[0104] For the currently selected access policy, the first The first access condition Attributes If the data receiver possesses the attribute, then an attribute matrix is constructed based on the attribute's index in the global attribute set. Otherwise, based on a randomly selected matrix Constructing the attribute matrix ;
[0105] All attribute matrices belonging to the same access condition ( and Perform horizontal splicing to construct a splicing condition matrix. =[ ;
[0106] Based on system matrix , Concatenate condition matrix and system trapdoor matrix ,use algorithm Generating lattices The Grid Obtain the attribute key base ,in ;
[0107] Based on system matrix , Concatenate condition matrix Attribute key base Random Gaussian parameters The policy association vector corresponding to the currently selected access policy ,use algorithm Generate attribute key vector ,in satisfy ( Indicates will and (Horizontal splicing) , The Gaussian parameters are randomly selected and , It is a constant. , for of Norm, for Gram-Schmidt orthogonalized matrix To asymptotically approach the upper bound;
[0108] Based on system matrix Tag association matrix System trapdoor matrix Random Gaussian parameters ,use algorithm Generating lattices The Grid , obtain the puncture key base ,in , The Gaussian parameters are randomly selected and , = ;
[0109] Based on public key matrix , puncture key base Random Gaussian parameters and label association vector ,use algorithm Generate puncture key vector ,in satisfy , , The Gaussian parameters are randomly selected and ;
[0110] Choose a random number as the unique identifier for the data receiver. ;
[0111] For each access condition, based on a unique identifier and attribute key vector Generate attribute key components ,in Obtain the attribute key ;
[0112] For each tag, based on a unique identifier and puncture key vector Generate initial puncture key components ,in Obtain the initial puncture key .
[0113] Based on the above embodiments, this embodiment will provide a detailed description of step S102:
[0114] It should be noted that the encryption algorithm Input common parameters ,gather Message vectors ( ) and the access policy chosen by the data owner The data owner executes an algorithm to generate ciphertext. And send it to the cloud server.
[0115] In some embodiments, the data owner encrypts the message vector based on system public parameters, a set of secret information, and the current access policy to generate ciphertext. include:
[0116] Based on the currently selected access policy Construct and publish a linear secret sharing scheme matrix. ,in express The number of attributes included. Represented as a matrix The number of columns;
[0117] Randomly select secret share Global random scaling factor Target random value (in , ), public vector and error vector (in Normal distribution On (dimensional vector), and publicly ;
[0118] Based on secret share Public vectors Message vectors Modulus and error vector Calculate the ciphertext body ;
[0119] For the currently selected access policy From the linear secret sharing scheme matrix Extract the policy row vector corresponding to each attribute , From 1 to The set of integers;
[0120] Calculate the policy association vector corresponding to the currently selected access policy. Strategy normalization factor ;
[0121] Based on global random scaling factor The strategy row vector Secret Shares Target random value The policy association vector corresponding to the currently selected access policy The strategy normalization factor Calculate the ciphertext component corresponding to each attribute. , where vector , ;
[0122] Select multiple (for message vectors) ( (Number) tags, each tag in the set The index in is Based on the tag association vectors corresponding to all selected tags The sum of squares of each component is used to calculate the tag aggregation value. ,in , From 1 to The set of integers;
[0123] Based on global random scaling factor Tag aggregation value Label association vectors corresponding to all selected labels The public key matrix associated with all selected tags Calculate the ciphertext associated with each selected tag. ,in ;
[0124] Ciphertext is generated based on the ciphertext body, the ciphertext component corresponding to each attribute, and the tag-related ciphertext corresponding to each selected tag. .
[0125] It should be noted that the linear secret sharing scheme is as follows:
[0126] If a secret sharing scheme is defined in the global attribute set If a variable is above a point and satisfies the following conditions, then it is called a variable in the above-mentioned area. The above is linear:
[0127] ① The secret share corresponding to each attribute is defined in superior;
[0128] ②Let vector ,in For secret shares, ( , () represents a random value, and there exists a shared matrix. Then the shared value is defined as ( , and attributes Related, .
[0129] Based on the currently selected access policy Construct a linear secret sharing scheme matrix The matrix The rows represent the attributes of the data receiver, while the columns represent the key shares of the data receiver. The policy is transformed into matrix form through the construction of a system of linear equations. Each row of the matrix represents a condition for satisfying a specific attribute through a linear combination. For example, if a data receiver's attributes satisfy the access policy, the value of that row corresponds to a non-zero value; otherwise, it is zero. The secret can only be recovered when the combination of data receiver attributes satisfies a specific linear condition. .
[0130] It should be noted that the re-encryption key generation algorithm Input common parameters The currently selected access policy With the newly selected access policy The data owner executes the algorithm to generate a re-encryption key. And send it to the cloud server.
[0131] In some embodiments, generating a re-encryption key from the currently selected access policy to the newly selected access policy using the data owner includes:
[0132] For the newly selected access policy Constructing a new linear secret-sharing scheme matrix and publicly and ,in express The number of attributes included;
[0133] Randomly select multiple new target random values ,in , ;
[0134] For the newly selected access policy From the new linear secret sharing scheme matrix Extract the new strategy row vector corresponding to each attribute , ;
[0135] Calculate the policy association vector corresponding to the newly selected access policy. New strategy normalization factor ,in ;
[0136] Based on policy row vectors Secret Shares Target random value The policy association vector corresponding to the currently selected access policy New strategy row vector New target random value The newly selected access strategy corresponds to the strategy association vector. and the normalization factor of the new strategy Calculate the re-encryption key component corresponding to each attribute. ,in , Obtain the re-encryption key .
[0137] Based on the above embodiments, this embodiment will provide a detailed description of step S103:
[0138] It should be noted that the re-encryption algorithm Input common parameters Re-encryption key With ciphertext The cloud server executes the algorithm to generate re-encrypted ciphertext. .
[0139] In some embodiments, the ciphertext is paired with a re-encryption key using a cloud server. Perform the conversion to generate re-encrypted ciphertext. include:
[0140] ciphertext Parsed into the ciphertext body Each attribute corresponds to a ciphertext component. Each selected tag corresponds to a encrypted tag. ;
[0141] For each attribute, the corresponding ciphertext component Based on re-encryption key components Convert to policy ciphertext components corresponding to each attribute ( )[ ]= ,in ;
[0142] Based on ciphertext The ciphertext is broken down into the ciphertext body, the policy ciphertext component corresponding to each attribute, and the tag-related ciphertext corresponding to each selected tag, generating a re-encrypted ciphertext. .
[0143] Based on the above embodiments, this embodiment will provide a detailed description of step S104:
[0144] It should be noted that the decryption algorithm Input common parameters Attribute key Current puncture key (The data receiver performs the first) The puncture key generated by the secondary puncture ) and ciphertext The data receiver runs an algorithm to obtain the message vector. .
[0145] It should be noted that the decryption algorithm Input common parameters Attribute key Current puncture key (The data receiver performs the first) The puncture key generated by the secondary puncture ) and re-encrypted ciphertext The data receiver runs an algorithm to obtain the message vector. .
[0146] In some embodiments, the data receiver utilizes the attribute key and the current piercing key to access the ciphertext. and re-encrypted ciphertext Decrypt and recover the message vector. include:
[0147] Determine if the attributes possessed by the data receiver satisfy the first of the currently selected access policies. Access conditions ;
[0148] Record the number of the currently selected access policies. The first access condition The first index of each attribute in the global attribute set. and the second index in the currently selected access strategy ,in and ;
[0149] Based on the policy row vector corresponding to the second index Calculate the reconstruction coefficients to satisfy ;
[0150] The system matrix is arranged according to the order in which the attributes appear in the access conditions. The attribute matrix corresponding to the first index Horizontal splicing to construct the decryption matrix =[ ];
[0151] Based on the ciphertext body Public vectors The ciphertext component corresponding to the second index Reconstruction coefficients Decryption matrix Attribute key components Each selected tag corresponds to a encrypted tag. and current puncture key components Perform decryption calculation And recover each position based on the modulus. The decoded message, that is, if ,but ,otherwise ;
[0152] Determine if the attributes possessed by the data receiver satisfy the first of the newly selected access strategies. Access conditions ;
[0153] Record the first of the newly selected access strategies The first access condition Each attribute, in the new first index of the global attribute set. and the new second index in the currently selected access strategy ,in and ;
[0154] Based on the new strategy row vector corresponding to the new second index Calculate the new reconstruction coefficients to satisfy ;
[0155] According to the order in which the attributes appear in the access conditions, the system matrix and the attribute matrix corresponding to the new first index are... Horizontal splicing to construct a new decryption matrix =[ ];
[0156] Based on the ciphertext body Public vectors The policy ciphertext component corresponding to the new second index New reconstruction coefficients New decryption matrix Attribute key components Each selected tag's associated ciphertext and the current puncture key component Perform decryption calculation And recover each position based on the modulus. The decoded message, that is, if ,but ,otherwise .
[0157] In some embodiments, updating the current puncture key using the data receiver includes:
[0158] It should be noted that the puncture algorithm Input common parameters Current puncture key and the number of times the current key has been punctured. The data receiver runs an algorithm to generate a new puncture key. .
[0159] Suppose the data receiver wants to perform a puncture at this point. ( ) tags, for each tag to be punctured ( In the collection for each label (Index) Select a random number , And, in conjunction with the current puncture key, calculate the new puncture key. ,in, = .
[0160] Based on the above embodiments, this embodiment demonstrates the correctness of a specific implementation plan:
[0161] (1) For the original ciphertext ,have
[0162] ,
[0163] .
[0164] Therefore, we get ,in Let be the error vector. Therefore, for each ,like ,but ,otherwise .
[0165] (2) For re-encrypted ciphertext ,have
[0166] .
[0167] Therefore, we get ,in Let be the error vector. Therefore, for each ,like ,but ,otherwise .
[0168] In the connected vehicle environment, the generation and transmission of sensitive information (such as real-time location, driving behavior, and accident reports) typically involves entities with different access permissions, such as vehicles, roadside units (RSUs), and traffic management centers (TMCs). This invention addresses the need for secure and flexible data sharing among multiple stakeholders by integrating attribute-based proxy re-encryption with puncture encryption techniques, proposing a lattice-penetrable attribute-based proxy re-encryption method. This invention supports fine-grained access control, allowing data receivers to securely access data according to dynamic policies without ever touching the plaintext. Furthermore, the puncture mechanism enables precise revocation of decryption permissions, ensuring that even if the ciphertext is stored for subsequent analysis, unauthorized access is prevented in the event of key leakage. In this invention, the puncture operation is performed locally by the data receiver, without relying on any external entity cooperation or online status, allowing for immediate and autonomous revocation of decryption permissions for specific ciphertext. This significantly reduces communication overhead and network latency during the revocation process, enabling the system to operate efficiently even in asynchronous, discontinuously connected vehicle environments. The data receiver achieves fine-grained decryption capability control solely through local key updates, improving response and operational efficiency. This feature is particularly suitable for high-safety-demand scenarios such as accident evidence collection and vehicle-to-vehicle coordination. While enhancing the overall security and privacy protection capabilities of the system, it also fully meets the requirements of intelligent transportation systems for the integration of safety, practicality, and autonomous controllability.
[0169] Please refer to Figure 2 , Figure 2 A structural block diagram of a lattice-penetrable attribute-based proxy re-encryption system provided in this embodiment of the invention; specifically, it may include:
[0170] A trusted institution is used to execute the initialization algorithm, generate system public parameters and master key, and generate a set of secret information by combining the identity of the data owner and the identity of the data receiver, and generate attribute key and initial puncture key by combining the identity of the data owner and the identity of the data receiver.
[0171] It should be noted that the Trusted Authority (TA), as a trusted third party, is responsible for system initialization, generating public parameters and master keys; preparing encrypted information for data owners; and distributing attribute keys and initial puncture keys to data recipients.
[0172] The data owner is responsible for encrypting the message vector based on system public parameters, a set of secret information, and the currently selected access policy, generating ciphertext. And generate a re-encryption key from the currently selected access policy to the newly selected access policy;
[0173] It should be noted that the data owner (DO) can communicate with third parties through a secure communication channel. During the encryption process, the DO first defines an appropriate access policy and selects relevant tags based on the user's definition. Then, it constructs and publishes a linear secret-sharing scheme matrix, encrypts the message vector to generate ciphertext, and uploads it to a cloud server (CS) for storage. At this point, the generated ciphertext can be decrypted by the user. Furthermore, when re-encryption is required, the DO generates a re-encryption key for the CS.
[0174] Cloud servers are used for ciphertext based on re-encryption key pairs. Perform the conversion to generate re-encrypted ciphertext. ;
[0175] It should be noted that the cloud server (CS): as a semi-trusted entity, the CS provides storage services for the DO and handles the encrypted data uploaded by the DO. Perform a re-encryption operation.
[0176] The data receiver is used to process the ciphertext based on the attribute key and the current puncture key. and re-encrypted ciphertext Decrypt the message, recover the message vector, and update the current puncture key using the data receiver.
[0177] It should be noted that the Data Receiver (DR) registers with the Data Acquisition Provider (TA) to obtain keys (including the attribute key and the initial puncture key), and then downloads the re-encrypted ciphertext from the CS. Perform decryption. Upon successful decryption, DR can puncture the relevant tags to revoke its own decryption privileges.
[0178] The lattice-penetrable attribute-based proxy re-encryption device of this embodiment is used to implement the aforementioned lattice-penetrable attribute-based proxy re-encryption method. Therefore, the specific implementation of the lattice-penetrable attribute-based proxy re-encryption device can be found in the previous embodiment section of the lattice-penetrable attribute-based proxy re-encryption method. Thus, its specific implementation can be referred to the description of the corresponding embodiments, and will not be repeated here.
[0179] It should be noted that in the event of a traffic accident, the data owner (the vehicle equipped with an On-Board Unit) first collects and encrypts accident-related data (such as video and sensor information). The encrypted data is then uploaded to a cloud server (CS) and re-encrypted on the server side. The system grants temporary access to authorized users who meet the attribute requirements (such as traffic police (TP), fire and rescue departments (FRS), emergency medical services (EMS), and towing and rescue units (TR)). After the accident is resolved, authorized users can revoke their decryption privileges through a puncture operation to ensure data privacy and security. Figure 2 This diagram illustrates the four main entities in the P-CP-ABPRE system model for connected vehicles: Trusted Authority (TA), Data Owner (DO), Cloud Server (CS), and Data Receiver (DR). The diagram describes the interactions between these entities and outlines their primary responsibilities.
[0180] In this embodiment, the TA is responsible for executing the system initialization algorithm (step ①), generating public parameters and the master key. The DO submits its identity information to the TA to complete registration (step ②), and then the TA distributes the corresponding set of secret information to the DO (step ③). The DR also provides its identity information to the TA for registration (step ④), and the TA distributes the key to it (step ⑤). The DO formulates an access policy based on the user and selects a tag, encrypts the message vector, and uploads it to the CS (step ⑥). After the user downloads the ciphertext from the CS, it can process the ciphertext. Decryption is performed (step ⑦), which primarily verifies the success of the decryption. If re-encryption is required, DO will generate a re-encryption key for CS (step ⑧). CS, as a semi-trusted entity, is responsible for storing the ciphertext. And perform a re-encryption operation (step 9). When the DR downloads the re-encrypted ciphertext... Then, its key can be used for decryption (step 10). Furthermore, the DR can proactively revoke its decryption privileges through a puncture operation (step 11). In this invention, the design of the DR autonomously performing the puncture operation has multiple advantages: it not only enables immediate response when the key is leaked, effectively shortening the attack exposure time, but also avoids the performance bottleneck of the TA by eliminating the need for a third-party key update mechanism; simultaneously, this design protects the DR's operational privacy, without exposing the revocation intention to any central entity; furthermore, the puncture operation can be performed offline, enhancing the robustness and practicality of this invention in non-continuous connection scenarios.
[0181] A specific embodiment of the present invention also provides a lattice-penetrable attribute-based proxy re-encryption device, comprising: a memory for storing a computer program; and a processor for executing the computer program to implement the steps of the above-described lattice-penetrable attribute-based proxy re-encryption method.
[0182] A specific embodiment of the present invention also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of the above-described lattice-penetrable attribute-based proxy re-encryption method.
[0183] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0184] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0185] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0186] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0187] Obviously, the above embodiments are merely illustrative examples for clear explanation and are not intended to limit the implementation. Those skilled in the art will recognize that other variations or modifications can be made based on the above description. It is neither necessary nor possible to exhaustively list all possible implementations here. However, obvious variations or modifications derived therefrom are still within the scope of protection of this invention.
Claims
1. A lattice-based pierceable attribute-based proxy re-encryption method, characterized in that, include: The system utilizes a trusted institution to execute an initialization algorithm, generating public system parameters and a master key. It also combines the data owner's identity to generate a set of secret information, and combines the data owner's identity and the data receiver's identity to generate an attribute key and an initial puncture key. The data owner encrypts the message vector based on system public parameters, a set of secret information, and the currently selected access policy to generate ciphertext. It also uses the data owner to generate a re-encryption key from the currently selected access policy to the newly selected access policy; Using cloud servers to encrypt ciphertext with a re-encryption key Perform the conversion to generate re-encrypted ciphertext. ; Using the data receiver's attribute key and current stab key, the ciphertext is... and re-encrypted ciphertext Decrypt the message, recover the message vector, and update the current puncture key using the data receiver; The process of using a trusted institution to execute an initialization algorithm to generate system public parameters and a master key, and combining the data owner's identity to generate a set of secret information, and combining the data owner's identity and the data receiver's identity to generate attribute keys and an initial puncture key, includes: Obtain security parameters, including setting the modulus, lattice dimension, lattice basis dimension, and error distribution parameters; based on the modulus, lattice dimension, and lattice basis dimension parameters, generate the system matrix and system trapdoor matrix using a trapdoor generation algorithm; define a global attribute set and a tag set; sample multiple random matrices, where each random matrix is associated with an attribute in the global attribute set; generate system common parameters based on the modulus, lattice dimension, lattice basis dimension, error distribution parameters, global attribute set, tag set, system matrix, and multiple random matrices; and generate the master key based on the system trapdoor matrix. Based on the orthogonal lattice of the system matrix at modulus, the system trapdoor matrix, and the Gaussian parameters, using The algorithm generates a tag association matrix for each tag in the tag set; based on the system matrix and the tag association matrix, it generates a public key matrix associated with each tag; it binds a random vector to each tag, generating a tag association vector for each tag; it binds a random vector to each access policy defined when the data owner registers, generating a policy association vector for each access policy; and it generates a set of secret information for the data owner based on the public key matrix, tag association vector, and policy association vector. For the currently selected access policy, the first The first access condition For each attribute, if the data receiver possesses that attribute, an attribute matrix is constructed based on its index in the global attribute set; otherwise, an attribute matrix is constructed based on a randomly selected matrix. All attribute matrices belonging to the same access condition are horizontally concatenated to construct a concatenation condition matrix. Based on the system matrix, the concatenation condition matrix, and the system trapdoor matrix, [the following is used]... The algorithm generates a lattice basis, obtaining an attribute key basis; based on the system matrix, the concatenated condition matrix, the attribute key basis, the random Gaussian parameters, and the policy association vector corresponding to the currently selected access policy, it utilizes... The algorithm generates attribute key vectors; based on the system matrix, tag association matrix, system trapdoor matrix, and random Gaussian parameters, it utilizes... The algorithm generates a lattice basis, obtaining the puncture key basis; based on the public key matrix, the puncture key basis, random Gaussian parameters, and the tag association vector, it utilizes... The algorithm generates a puncture key vector; selects a random number as the unique identifier of the data receiver; for each access condition, calculates the attribute key component corresponding to each access condition based on the unique identifier and the attribute key vector to obtain the attribute key; for each tag, calculates the initial puncture key component corresponding to each tag based on the unique identifier and the puncture key vector to obtain the initial puncture key.
2. The lattice-based puncture-capable attribute-based proxy re-encryption method according to claim 1, characterized in that, The data owner encrypts the message vector based on system public parameters, a set of secret information, and the current access policy to generate ciphertext. include: Construct a linear secret sharing scheme matrix based on the currently selected access policy; Randomly select the secret share, global random scaling factor, target random value, public vector, and error vector; The ciphertext body is calculated based on the secret share, public vector, message vector, modulus, and error vector. For the currently selected access strategy, extract the strategy row vector corresponding to each attribute from the linear secret sharing scheme matrix; Calculate the policy normalization factor of the policy association vector corresponding to the currently selected access policy; Based on the global random scaling factor, the policy row vector, the secret share, the target random value, the policy association vector corresponding to the currently selected access policy, and the policy normalization factor, calculate the ciphertext component corresponding to each attribute. Multiple labels are selected for the message vector, and the label aggregation value is calculated based on the sum of squares of each component of the label association vector corresponding to all selected labels. Based on the global random scaling factor, the tag aggregation value, the tag association vectors corresponding to all selected tags, and the public key matrix associated with all selected tags, calculate the tag-related ciphertext corresponding to each selected tag; Ciphertext is generated based on the ciphertext body, the ciphertext component corresponding to each attribute, and the tag-related ciphertext corresponding to each selected tag. .
3. The lattice-based puncture-capable attribute-based proxy re-encryption method according to claim 2, characterized in that, The process of generating a re-encryption key from the currently selected access policy to the newly selected access policy using the data owner includes: Construct a new linear secret-sharing scheme matrix for the newly selected access strategy; Randomly select multiple new target random values; For the newly selected access strategy, extract the new strategy row vector corresponding to each attribute from the new linear secret sharing scheme matrix; Calculate the new policy normalization factor for the policy association vector corresponding to the newly selected access policy; Based on the policy row vector, secret share, target random value, policy association vector corresponding to the currently selected access policy, new policy row vector, new target random value, policy association vector corresponding to the newly selected access policy, and the new policy normalization factor, calculate the re-encryption key component corresponding to each attribute to obtain the re-encryption key.
4. The lattice-based puncture-capable attribute-based proxy re-encryption method according to claim 3, characterized in that, The method utilizes a cloud server to encrypt ciphertext based on a re-encryption key. Perform the conversion to generate re-encrypted ciphertext. include: ciphertext The parsing process consists of the ciphertext body, the ciphertext component corresponding to each attribute, and the tag-related ciphertext corresponding to each selected tag. For each attribute's corresponding ciphertext component, it is converted into a policy ciphertext component corresponding to each attribute based on the re-encryption key; Based on ciphertext The ciphertext is broken down into the ciphertext body, the policy ciphertext component corresponding to each attribute, and the tag-related ciphertext corresponding to each selected tag, generating a re-encrypted ciphertext. .
5. The lattice-based puncture-capable attribute-based proxy re-encryption method according to claim 4, characterized in that, The method utilizes the data receiver to analyze the ciphertext based on the attribute key and the current piercing key. and re-encrypted ciphertext Decryption and recovery of the message vector include: Determine if the attributes possessed by the data receiver satisfy the first of the currently selected access policies. One access condition; Record the number of the currently selected access policies. The first access condition The attribute has a first index in the global attribute set and a second index in the currently selected access strategy; Calculate the reconstruction coefficients based on the strategy row vector corresponding to the second index; Concatenate the system matrix and the attribute matrix corresponding to the first index horizontally according to the order in which the attributes appear in the access conditions to construct the decryption matrix; Decryption calculations are performed based on the ciphertext body, public vector, ciphertext component corresponding to the second index, reconstruction coefficient, decryption matrix, attribute key, ciphertext related to each selected tag, and current puncture key, and the decoded message at each position is recovered based on the modulus. Determine if the attributes possessed by the data receiver satisfy the first of the newly selected access strategies. One access condition; Record the first of the newly selected access strategies The first access condition Each attribute has a new first index in the global attribute set and a new second index in the currently selected access strategy; Calculate the new reconstruction coefficients based on the new strategy row vector corresponding to the new second index; According to the order in which the attributes appear in the access conditions, the system matrix and the attribute matrix corresponding to the new first index are horizontally concatenated to construct a new decryption matrix; Decryption calculations are performed based on the ciphertext body, public vector, policy ciphertext component corresponding to the new second index, new reconstruction coefficient, new decryption matrix, attribute key, tag-related ciphertext corresponding to each selected tag, and current puncture key, and the decoded message at each position is recovered based on the modulus.
6. The lattice-based puncture-capable attribute-based proxy re-encryption method according to claim 5, characterized in that, The step of updating the current puncture key using the data receiver includes: For each tag to be punctured, select a random number and combine it with the current puncture key to calculate a new puncture key.
7. A lattice-based puncture-resistant proxy re-encryption device, characterized in that, include: A trusted institution is used to execute the initialization algorithm, generate system public parameters and master key, and generate a set of secret information by combining the identity of the data owner and the identity of the data receiver, and generate attribute key and initial puncture key by combining the identity of the data owner and the identity of the data receiver. The data owner is responsible for encrypting the message vector based on system public parameters, a set of secret information, and the currently selected access policy, generating ciphertext. And generate a re-encryption key from the currently selected access policy to the newly selected access policy; Cloud servers are used for ciphertext based on re-encryption key pairs. Perform the conversion to generate re-encrypted ciphertext. ; The data receiver is used to process the ciphertext based on the attribute key and the current puncture key. and re-encrypted ciphertext Decrypt the message, recover the message vector, and update the current puncture key using the data receiver; Specifically, the trusted mechanism is used for: Obtain security parameters, including setting the modulus, lattice dimension, lattice basis dimension, and error distribution parameters; based on the modulus, lattice dimension, and lattice basis dimension parameters, generate the system matrix and system trapdoor matrix using a trapdoor generation algorithm; define a global attribute set and a tag set; sample multiple random matrices, where each random matrix is associated with an attribute in the global attribute set; generate system common parameters based on the modulus, lattice dimension, lattice basis dimension, error distribution parameters, global attribute set, tag set, system matrix, and multiple random matrices; and generate the master key based on the system trapdoor matrix. Based on the orthogonal lattice of the system matrix at modulus, the system trapdoor matrix, and the Gaussian parameters, using The algorithm generates a tag association matrix for each tag in the tag set; based on the system matrix and the tag association matrix, it generates a public key matrix associated with each tag; it binds a random vector to each tag, generating a tag association vector for each tag; it binds a random vector to each access policy defined when the data owner registers, generating a policy association vector for each access policy; and it generates a set of secret information for the data owner based on the public key matrix, tag association vector, and policy association vector. For the currently selected access policy, the first The first access condition For each attribute, if the data receiver possesses that attribute, an attribute matrix is constructed based on its index in the global attribute set; otherwise, an attribute matrix is constructed based on a randomly selected matrix. All attribute matrices belonging to the same access condition are horizontally concatenated to construct a concatenation condition matrix. Based on the system matrix, the concatenation condition matrix, and the system trapdoor matrix, [the following is used]... The algorithm generates a lattice basis, obtaining an attribute key basis; based on the system matrix, the concatenated condition matrix, the attribute key basis, the random Gaussian parameters, and the policy association vector corresponding to the currently selected access policy, it utilizes... The algorithm generates attribute key vectors; based on the system matrix, tag association matrix, system trapdoor matrix, and random Gaussian parameters, it utilizes... The algorithm generates a lattice basis, obtaining the puncture key basis; based on the public key matrix, the puncture key basis, random Gaussian parameters, and the tag association vector, it utilizes... The algorithm generates a puncture key vector; selects a random number as the unique identifier of the data receiver; for each access condition, calculates the attribute key component corresponding to each access condition based on the unique identifier and the attribute key vector to obtain the attribute key; for each tag, calculates the initial puncture key component corresponding to each tag based on the unique identifier and the puncture key vector to obtain the initial puncture key.