Attribute-based boolean searchable encryption system and method against quantum attack in cloud environment
Patent Information
- Application Number
- CN202610144153.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-02-02
- Publication Date
- 2026-10-27
- Estimated Expiration
- 2046-02-02
AI Technical Summary
然而,这种方式无法适用于云检索这种多用户/多所有者的检索场景
[0083]1)授权用户可以将包含AND、OR与NOT检索逻辑的布尔检索请求借助非单调LSSS矩阵进行表达,实现对云端数据的精确检索,避免重复进行数据请求,优化用户使用体验。
Smart Images

Figure CN121984672B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of cloud computing encrypted search technology. Specifically, it refers to an attribute-based Boolean searchable encryption system and method resistant to quantum attacks in a cloud environment. Background Technology
[0002] With the rapid development of cloud computing and the accelerating pace of digital transformation, more and more enterprises and individuals are choosing to outsource their data to cloud storage to fully utilize the vast storage space and abundant computing resources of cloud services. In recent years, frequent cloud data breaches have served as a stark warning about cloud data security.
[0003] In the field of cryptography, the traditional approach to addressing data security needs is to encrypt data before uploading it to the cloud. However, with the development of quantum computing, traditional cryptographic techniques such as Diffie-Hellman and elliptic curve cryptography are no longer sufficient to ensure data security. In 2024, the National Institute of Standards and Technology (NIST) published four post-quantum cryptographic algorithm standards. Among them, lattice-based cryptography (LBC) has been widely used. Based on the nearest vector problem, the shortest vector problem, and fault-tolerant learning (LWE), it constructs post-quantum identity-based cryptography (IBE) and attribute-based cryptography (ABE) to ensure data security under quantum threats. While these methods effectively protect data security, they deprive data owners of effective control over cloud data and pose challenges to the accurate, efficient, and secure retrieval of cloud data.
[0004] Attribute-based Boolean Searchable Encryption (ABBKS) leverages ABE technology to achieve fine-grained search authorization and Boolean retrieval, protecting data security while empowering users with efficient and precise control over information filtering, effectively addressing the aforementioned challenges. Specifically, ABBKS allows data owners to specify access policies for encrypted data, generate a keyword index with a keyword set, and send it to the cloud server. Users use their attribute private keys to generate search tokens for their Boolean retrieval requests. The cloud server uses these search tokens to retrieve the cloud-based keyword index. Users can obtain the corresponding search data only if their attribute information meets the access policy of the keyword index and the keyword set of the keyword index matches the Boolean request. Since keywords are extracted from the data itself, attackers can launch Selective Keyword Attack (CKA) to obtain keyword information from the keyword index using unauthorized search tokens; or launch Keyword Guessing Attack (KGA) to directly guess keyword information from the search token using public parameters, or generate a keyword index for the guessed keywords and match it with the intercepted search token to obtain keyword information from the search token. Therefore, this technology should not only ensure data security but also protect the privacy of keyword information in the keyword index and search token, ensuring their security under CKA and KGA.
[0005] Lattice-based property-based searchable encryption (LABKS) technology enables fine-grained authorized retrieval of encrypted data in the cloud under quantum threats, involving entities such as authorizing authorities, cloud servers, data owners, and data users. For example... Figure 1 As shown, the implementation process of LABKS includes the following steps:
[0006] 1) System initialization. The authorized agency generates the system public key. and system master key .
[0007] 2) Key generation. The user submits a set of attributes to the authorization authority. Authorized agencies utilize and Generate a private key for this user .
[0008] 3) Data encryption. The data owner specifies access policies for their data. and keywords The data owner generates a keyword index. Send to the cloud server.
[0009] 4) Search token generation. The user uses their private key. Search keywords for it Generate search token Send it to the cloud server for retrieval.
[0010] 5) Cloud data retrieval. Cloud servers utilize search tokens. Keyword index in the cloud Perform a search and matching operation if and only if and When the search is successful, the cloud server returns the search results to the user.
[0011] In a cloud computing environment, the following problems still exist in using LABKS technology to achieve fine-grained authorized data retrieval under quantum threats:
[0012] 1) The existing LABKS solution only implements single-keyword retrieval with fine-grained search authorization in the cloud environment. It cannot support users' retrieval expressions containing retrieval logic such as AND, OR and NOT, thus failing to meet users' precise retrieval needs and limiting its application in real-world retrieval scenarios.
[0013] 2) To combat Internal KGA (IKGA) under quantum threats, existing LABKS schemes allow data owners to use their private keys to generate keyword indexes, preventing quantum attackers from guessing user search keywords by generating keyword indexes based on guessed keywords. However, this approach is not suitable for cloud search scenarios with multiple users / owners. Summary of the Invention
[0014] To address the limitations of existing encrypted retrieval technologies in cloud environments regarding precise retrieval and multi-user retrieval, this invention proposes a quantum-resistant attribute-based Boolean searchable encryption system and method for cloud environments. This system supports precise retrieval needs of users with retrieval logic including AND, OR, and NOT, while ensuring IKGA security resistance in multi-user / multi-owner retrieval modes.
[0015] A quantum-resistant, property-based, kibble-searchable encryption system for cloud environments includes a trusted authorization authority, a data owner, a data user, and a cloud server A. ) and cloud server B ( ).
[0016] A trusted authorization authority establishes and maintains the system's public and master keys. Simultaneously, the trusted authorization authority distributes private keys to users and distributes cloud server private keys to two cloud servers via secure channels.
[0017] The data owner has a large amount of data on the server that needs to be stored and shared, and generates a keyword index and uploads it. .
[0018] Users generate search tokens for Boolean query formulas based on their own query requests and submit them to [the relevant authority / organization]. To search for encrypted documents on cloud servers.
[0019] As a semi-trusted third party, it is responsible for storing the keyword index uploaded by the data owner, and using the user-uploaded search trapdoor and their private key to perform partial search operations and send the temporary search results to... .
[0020] As a semi-trusted third party, responsible for using its private key with The temporary search results sent together complete the final search.
[0021] A quantum-resistant, attribute-based Boolean searchable encryption method for cloud environments, comprising the following steps:
[0022] Step 1: Establish an encrypted search system based on data owners and users;
[0023] make It is a global set of attributes in the system, and each user owns a set of attributes from it. The data owner uses AND gates to define the access policy. This strategy can be represented as a concatenated combination of positive attribute sets, negative attribute sets, and meaningless attribute sets.
[0024] Access Policy In, positive subset Users must possess these attributes to search for the corresponding searchable ciphertext, negative subset. This is used to prevent users with these attributes from searching searchable ciphertext, while meaningless subsets are excluded. The attributes in the configuration will not affect the authorization decision. Let... If and only if and hour, For authorized attribute set; otherwise This is an unauthorized set.
[0025] Step two: In the search system, the trusted authorization agency establishes the system public key and system master key and maintains the entire system, and distributes the cloud server private key to the two cloud servers through a secure channel; at the same time, the trusted authorization agency distributes the private key to the user.
[0026] (1) The process of establishing a system public key and a system master key by a trusted authorization authority and distributing the cloud server private key to the two cloud servers is defined as Setup( ) The specific process is as follows:
[0027] Step 201, the trusted authorization authority obtains ABBKS.Setup( ) ( ):
[0028] Trusted authorization authorities call TSPHF.Setup( Common parameters for generating TSPHF Firstly, based on system security parameters Generate system parameters and , for - Bounded error distribution, in the integer ring modulo q Select random numbers And output global common parameters And define the hash function. Perform the following operations:
[0029] First, generate ( ) TrapGen ), and for the global property set Each attribute choose ,in This indicates that the user owns this attribute. This indicates that the user does not own this attribute.
[0030] Then, in Random selection and in A vector is randomly selected from an n-dimensional vector space. ,calculate and .
[0031] At the same time, generate TrapGen and .
[0032] Finally, the LABKS master public key is output. ( ), retain the master private key ( ).in, These are all intermediate results, which together constitute the master public key; All of these are randomly selected random numbers, which together form the master private key.
[0033] Step 202, further, call TSPHF.TSetup( ) generates a trapdoor public key and trapdoor private key Call TSPHF.HashKG( Generate hash key and TSPHF.ProjKG( Generate projection key .
[0034] The algorithm construction details of TSPHF are as follows:
[0035] TSetup ( The algorithm first generates ( ) TrapGen ( Then select the one that satisfies the requirements. of and Then generate And set another public parameter and SPHF trapdoor .
[0036] HashKG ( The algorithm randomly selects... And set the hash key .
[0037] ProjKG ( This algorithm generates and outputs the projection key. .
[0038] Step 203, Output the public key Retain the master key and for Set server key ,for set up .
[0039] (2) The algorithm for a trusted authorization authority to generate a user's private key is defined as KeyGen( ) :
[0040] Choosing a Trusted Authorization Agency And perform the following operations:
[0041] First, generate , among which when Value Otherwise, take the value .definition and generate ExtendR( ).
[0042] Then, generate satisfy Granting access permissions to users.
[0043] Next, generate satisfy , and select ,calculate , , .
[0044] Finally, the algorithm outputs the user's private key. .
[0045] Step 3, Data Owner Input Search strategy and keyword set Output encrypted keyword index .
[0046] The keyword encryption indexing algorithm is defined as IndexGen( ) The data owner is randomly selected. This serves as a secret vector for attribute authorization and keyword encryption, thus combining search authorization with Boolean search. The data owner first generates the authorization index as follows:
[0047] The data owner samples noise values from a Gaussian distribution. Using the previously generated common basis matrix generate .
[0048] For each attribute The data owner selects the noise value. ,generate If but ,otherwise For any attribute Select And generate and .
[0049] Next, the data owner generates a keyword index in the following manner:
[0050] Noise values are sampled from a Gaussian distribution. as well as ,generate as well as .
[0051] For each Randomly select an n-dimensional secret vector And generate and ,in Keywords The name does not contain privacy information; for Keyword values; m-dimensional noise vector .
[0052] Finally, the data owner outputs the following keyword index:
[0053]
[0054] in, for A collection of all keyword names in the text;
[0055] Step four: When a user issues a query request, a search trapdoor is generated based on a Boolean query formula and submitted to cloud server A to search for the encrypted document.
[0056] The algorithm by which users generate search trapdoors based on Boolean query formulas is defined as TokenGen( ) :
[0057] Users first obtain :
[0058] Users first randomly select Construct vector And use the matrix corresponding to the Boolean search strategy. Calculate shared vectors Then perform the following operations:
[0059] For counting From 1 to Random selection ,set up , and generate and Next, for each generate ,in The LSSS matrix is the first The keyword value corresponding to the row.
[0060] generate satisfy as well as satisfy ; as well as .
[0061] Finally, the user is further randomized. scalars are randomly selected from among them. The output search trapdoor is as follows:
[0062]
[0063] Then, select a random number. and noise value , set witnesses and its words Then, it is generated. Choose a new hash key Projection key and trapdoor projection key Then, the user generates a hash. Hash( ) and for all of Generate by performing blinding operation Finally, the algorithm... Output user search traps , .
[0064] The construction details of TSPHF are as follows:
[0065] ProjHash ( ): Given witness The algorithm generates and outputs projected hash values. .
[0066] TProjKG ( This algorithm generates another projection key. .
[0067] Step 5: Cloud server A uses the search trapdoor uploaded by the user and their private key to perform a partial search operation, obtains temporary search results, and sends the temporary search results to cloud server B.
[0068] ( ) After receiving a search request, Choose random and in the following manner and Perform partial search operations and output provisional search results:
[0069] first, Using its own private key Calculation and acquisition And generate .
[0070] then, Will Randomize to ;
[0071] at last, Towards Output temporary search results .
[0072] Among them, Hash ( ): Given witness corresponding words ,in and To eliminate noise, the algorithm generates and outputs hash values. .
[0073] Step six: Cloud server B uses its private key together with the temporary search results sent by cloud server A to complete the final search.
[0074] ( ) :from receive back, Using its own private key, complete the entire search process by following these steps:
[0075] first, via TSPHF.VerHP Algorithm check Whether it is a valid projection key, i.e., whether it satisfies the following condition: If so, then the projection key is valid, and the algorithm outputs... .Will Set as , can obtain TSPHF.THash( ), and for all of Perform the deblinding operation to generate This matches the linear property of TSPHF; otherwise, the output... Terminate the search process and output .
[0076] Among them, THash ( This algorithm generates trapdoor hash values. .
[0077] VerHP ( ):if The algorithm outputs Otherwise, output .
[0078] Next, set up And perform the final search:
[0079] If the user's attributes satisfy the indexing strategy, i.e. Then calculate ,in The rule for determining the value is: if but Otherwise, if Then take Conversely, take Furthermore, if the keywords in the encrypted index satisfy the user's search strategy, that is... Then cloud servers can build a collection and And the coefficient can be obtained. Make Established. Here, for each and every one of them. ,definition and Subsequently, if and The cloud server can obtain the following final calculation and retrieval results:
[0080]
[0081] in, .because and , , and Each component is sampled from a truncated discrete Gaussian distribution. ,and With all , The distribution statistics are close to And all Follows a truncated discrete Gaussian distribution According to the parameter settings, the following can be obtained: Therefore, if the encrypted index satisfies the user's search needs, the algorithm outputs 1 and returns the corresponding search entry to the user; otherwise, it outputs 0.
[0082] The advantages and beneficial effects of this invention are as follows:
[0083] 1) Authorized users can express Boolean search requests containing AND, OR, and NOT search logic using a non-monotonic LSSS matrix to achieve accurate retrieval of cloud data, avoid repeated data requests, and optimize the user experience.
[0084] 2) It not only ensures the privacy protection of keywords in searchable encrypted text in multi-user / multi-owner search scenarios such as cloud search, but also realizes the privacy protection of keywords in search tokens, ensuring that attackers cannot launch IKG even if they collude with any cloud server, thus achieving a balance between security and practicality. Attached Figure Description
[0085] Figure 1 This is a schematic diagram of LABKS technology under the quantum threat in existing technologies;
[0086] Figure 2 This is a schematic diagram of the technical solution architecture of a quantum-resistant attribute-based Boolean searchable encryption system and method in a cloud environment, according to the present invention. Detailed Implementation
[0087] The present invention will now be described in further detail with reference to the accompanying drawings and embodiments.
[0088] This invention proposes an attribute-based Boolean searchable encryption system and method resistant to quantum attacks in a cloud environment. It achieves IKGA security resistance in a dual-cloud model, improving keyword privacy under quantum threats while enabling accurate retrieval. The system offers the following technical advantages:
[0089] (1) A lattice basis ABBKS was designed based on the LWE hard problem. It uses non-monotonic LSSS to express Boolean query formulas to support Boolean queries. At the same time, only the keyword names in the keyword index are exposed to prevent keyword leakage, and the attackers' active guessing attacks on the keywords are resisted by splitting the secret values in the keyword index.
[0090] The implementation process of the ABBKS technical solution:
[0091] Setup( ) ( Trusted authorization agencies first base their decisions on system security parameters. Generate system parameters , , , and ,in for -Bounded error distribution, and define the hash function. And perform the following operations:
[0092] generate( ) TrapGen ), and for the global property set Each attribute choose ,in This indicates that the user owns this attribute. This indicates that the user does not own this attribute.
[0093] Random selection , and calculate and .
[0094] generate TrapGen and .
[0095] Finally, the algorithm can output the LABKS master public key. ( ), retain the master private key ( ).
[0096] KeyGen( ) Selection of Trusted Authorization Agencies And perform the following operations:
[0097] First, its generation , among which when Value Otherwise, take the value .definition , and generate ExtendR( ).
[0098] Furthermore, its generation satisfy Granting access permissions to users.
[0099] Next, its generation satisfy , and select ,calculate , , .
[0100] Finally, the algorithm outputs the user's private key. .
[0101] IndexGen( ) The data owner is randomly selected. This serves as a secret vector for attribute authorization and keyword encryption, thus combining search authorization with Boolean search. The data owner first generates the authorization index as follows:
[0102] Data owner selects noise value And generate .
[0103] For each attribute The data owner selects the noise value. ,generate If but ,otherwise For any attribute Select And generate and .
[0104] Next, the data owner will generate a keyword index in the following manner:
[0105] Select noise level as well as ,generate as well as .
[0106] For each Random selection And generate and ,in Keywords The name should not contain private information, such as job title; for Keyword values, for example: department manager; .
[0107] Finally, the data owner outputs the following keyword index:
[0108]
[0109] in, for A collection of all keyword names in the text;
[0110] TokenGen( ) Data users first randomly select Construct vector And calculate the shared vector. Then for each Perform the following operations:
[0111] For counting From 1 to Random selection ,set up , and generate and Next, for each generate ,in The LSSS matrix is the first The keyword value corresponding to the row.
[0112] generate satisfy as well as satisfy ; as well as .
[0113] Finally, the data users are further randomized. The search trapdoor is output as follows:
[0114]
[0115] Search( , , ) After receiving a search request, if the user's attributes meet the indexing strategy, then... Then calculate ,in The rule for determining the value is: if but Otherwise, if Then take Conversely, take Furthermore, if the keywords in the encrypted index satisfy the user's search strategy, that is... Then cloud servers can build a collection and And the coefficient can be obtained. Make Established. Here, for each and every one of them. We define and Subsequently, if and The cloud server can obtain the following final calculation and retrieval results:
[0116]
[0117] in, .because and , , and Each component is sampled from a truncated discrete Gaussian distribution. ,and With all , The distribution statistics are close to And all Follows a truncated discrete Gaussian distribution According to the parameter settings, the following can be obtained: Therefore, if the encrypted index satisfies the user's search needs, the algorithm outputs 1 and returns the corresponding search entry to the user; otherwise, it outputs 0.
[0118] (2) Based on the LWE hypothesis, a lattice-based trapdoor smooth projection hash function (TSPHF) is constructed and implemented with two non-colluding cloud servers to achieve IKGA security resistance in multi-user / multi-owner retrieval scenarios. Specifically, the scheme hashes each keyword in the search token, and only the two non-colluding clouds, which respectively hold the hash key and the TSPHF trapdoor, can complete the search operation together.
[0119] The implementation process of the TSPHF technical solution:
[0120] Setup ( This algorithm is based on security level. Configure system parameters ,choose And output global common parameters .
[0121] HashKG ( The algorithm randomly selects... And set the hash key .
[0122] Hash ( ): Given witness corresponding words ,in and To eliminate noise, the algorithm generates and outputs hash values. .
[0123] ProjKG ( This algorithm generates and outputs the projection key. .
[0124] ProjHash ( ): Given witness The algorithm generates and outputs projected hash values. .
[0125] TSetup ( The algorithm first generates ( ) TrapGen ( Then select the one that satisfies the requirements. of and Then generate And set another public parameter and SPHF trapdoor .
[0126] TProjKG ( This algorithm generates another projection key. .
[0127] THash ( This algorithm generates trapdoor hash values. .
[0128] VerHP ( ):if The algorithm outputs Otherwise, output .
[0129] (3) Implementation process of the overall technical solution:
[0130] Setup( ) Trusted authorization agencies obtain ( ) ABBKS.Setup( ), and further
[0131] Call TSPHF.Setup( Common parameters for generating TSPHF ;
[0132] Call TSPHF.TSetup( ) generates a trapdoor public key and trapdoor private key ;
[0133] Call TSPHF.HashKG( Generate hash key and TSPHF.ProjKG( Generate projection key .
[0134] Finally, output the public key. Retain the master key and for Set server key ,for set up .
[0135] KeyGen( ) Obtained from trusted authorized agencies ABBKS.KeyGen( ).
[0136] IndexGen : Get .
[0137] TokenGen( ) Users first obtain Then, select a random number. and noise value , set witnesses and its words Then, it is generated. Choose a new hash key Projection key and trapdoor projection key Then, the user generates a hash. Hash( ) and for all of Generate by performing blinding operation Finally, the algorithm... Output user search traps , .
[0138] ( ): Upon receiving a search request, Choose random and in the following manner and Perform partial search operations and output provisional search results:
[0139] first, Using its own private key Calculation and acquisition And generate .
[0140] then, Will Randomize to
[0141] at last, Towards Output temporary search results .
[0142] ( ):from receive back, Using its own private key, complete the entire search process by following these steps:
[0143] first, via TSPHF.VerHP Algorithm check Is this a valid projection key? If not, terminate the retrieval process and output the result. Otherwise, Set as , can obtain TSPHF.THash( ), and for all of Perform the deblinding operation to generate This matches the linear properties of TSPHF.
[0144] Next, set up And with the help of ABBKS Search( , , The algorithm obtains the final search results.
[0145] A quantum-resistant, attribute-based, kibble-searchable encryption system for cloud environments includes: a trusted authorization authority, a data owner, a data user, and a cloud server A. ) and cloud server B ( ),like Figure 2 As shown.
[0146] 1) Trusted Authorization Authority. The trusted authorization authority establishes the system's public key and master key and maintains the entire system. Simultaneously, the trusted authorization authority distributes private keys to users and distributes cloud server private keys to the two cloud servers via secure channels.
[0147] 2) Data Owner. This entity has a large amount of data on the server that needs to be stored and shared; it generates keyword indexes and uploads them to... .
[0148] 3) User. This entity can generate a search token for a Boolean query formula based on its own query request and submit it to... To search for encrypted documents in the cloud.
[0149] 4) This entity is a semi-trusted third party responsible for storing the keyword index uploaded by the data owner, and for performing partial search operations using the user-uploaded search trapdoor and their private key, and sending temporary search results to... .
[0150] 5) This entity is a semi-trusted third party, responsible for using its private key to... The temporary search results sent together complete the final search.
[0151] Combination Figure 2 A quantum-resistant, attribute-based Boolean searchable encryption method for cloud environments is described below:
[0152] make It is the complete set of attributes in the system, and the user owns a set of attributes from it. The data owner uses AND gates to define the access policy. This strategy can be represented as a concatenated combination of a positive attribute set, a negative attribute set, and a meaningless attribute set. The positive subset... Users must possess these attributes to search for the corresponding searchable ciphertext, negative subset. This is used to prevent users with these attributes from searching searchable ciphertext, while meaningless subsets are excluded. The attributes in the configuration will not affect the authorization decision. Specifically, let's set... If and only if and hour, For authorized attribute set; otherwise This is an unauthorized set. The overall technical solution's algorithm definition is as follows:
[0153] 1) Setup( , ) ( This algorithm establishes the system's algorithm and inputs security parameters. and attribute complete set Output the master public key Master key And the server private keys assigned to CSA and CSB respectively. and .
[0154] 2) KeyGen( , , ) This algorithm is a user private key generation algorithm, input... , and user attribute set Output the private key bound to this property set. .
[0155] 3) IndexGen( , , ) This algorithm is an encrypted index generation algorithm, input... Search strategy and keyword set Output encrypted keyword index .
[0156] 4) TokenGen( , , ) This algorithm is a user trapdoor generation algorithm, input... User private key Boolean query formula Generate and search trapdoors .
[0157] 5) ( ) .enter , , and , Output temporary search results .
[0158] 6) ( ) .enter , and If satisfied and , Output 1 if the output is 1, otherwise output 0.
[0159] This invention proposes a quantum-resistant Boolean searchable encryption method for attribute basis in a cloud environment. Firstly, it utilizes non-monotonic LSSS to realize complex Boolean retrieval expressions, achieving for the first time a quantum-resistant secure retrieval of complex Boolean keywords under the LWE hard problem, ensuring accurate user retrieval while preventing leakage of keyword information in the keyword index. Secondly, it constructs a novel post-quantum TSPHF scheme, designing and implementing secure retrieval under a dual-cloud model, protecting keyword privacy in the search token without affecting search accuracy, thus preventing leakage of keyword information in the search token.
Claims
1. A quantum-resistant, attribute-based Boolean searchable encryption method for cloud environments, characterized in that, The specific steps are as follows: Step 1: Establish an encrypted search system based on data owners and users; make It is a global set of attributes in the system, and each user owns a set of attributes from it. The data owner uses AND gates to define the access policy. This strategy is represented as a concatenated combination of positive attribute sets, negative attribute sets, and meaningless attribute sets; Step two: In the search system, the trusted authorization authority establishes the system public key and system master key and maintains the entire system, and distributes the cloud server private keys to the two cloud servers through a secure channel; at the same time, the trusted authorization authority distributes the private keys to the users. (1) The process of establishing a system public key and a system master key by a trusted authorization authority and distributing the cloud server private key to the two cloud servers is defined as Setup( ) The specific process is as follows: Trusted licensors obtain ABBKS.Setup( ) ( The specific process is as follows: Firstly, based on system security parameters Generate system parameters and , for - Bounded error distribution, in the integer ring modulo q Select random numbers And output global common parameters And define the hash function. Perform the following operations: First, generate ( ) TrapGen ), and for the global property set Each attribute choose ,in This indicates that the user owns this attribute. This indicates that the user does not own this attribute; Then, in Random selection and in A vector is randomly selected from an n-dimensional vector space. ,calculate and ; At the same time, generate TrapGen and ; Finally, the LABKS master public key is output. ( ), retain the master private key ( ); in, These are all intermediate results, which together constitute the master public key; All of these are randomly selected random numbers, which together form the master private key; Furthermore, call TSPHF.Setup( Common parameters for generating TSPHF ; Call TSPHF.TSetup( ) generates a trapdoor public key and trapdoor private key ; Call TSPHF.HashKG( Generate hash key and TSPHF.ProjKG( Generate projection key ; Finally, output the public key. Retain the master key and for Set server key ,for set up ; (2) The algorithm for a trusted authorization authority to generate a user's private key is defined as KeyGen( ) : Choosing a Trusted Authorization Agency And perform the following operations: First, generate ,when Value ,otherwise Value ;definition , and generate ExtendR( ); Then, generate satisfy Grant users access permissions; Next, generate satisfy , and select ,calculate , , ; Finally, the algorithm outputs the user's private key. ; Step 3, Data Owner Input Search strategy and keyword set Output encrypted keyword index ; Step 4: When a user issues a query request, a search trapdoor is generated based on a Boolean query formula and submitted to cloud server A to search for the encrypted document. The algorithm by which users generate search trapdoors based on Boolean query formulas is defined as TokenGen( ) : Users first obtain The specific process is as follows: Users first randomly select Construct vector And use the matrix corresponding to the Boolean search strategy. Calculate shared vectors Then for each Perform the following operations: For counting From 1 to Random selection ,set up , and generate and Next, for each generate ,in The LSSS matrix is the first The keyword value corresponding to the row; generate satisfy as well as satisfy ; as well as ; Finally, the data users are further randomized. scalars are randomly selected from among them. The search trapdoor is output as follows: ;in, It is a function that maps each row of the LSSS matrix to a keyword; Then, select a random number. and noise value , set witnesses and its words Next, its generation Choose a new hash key Projection key and trapdoor projection key Then, the user generates a hash. Hash( ) and for all of Generate by performing blinding operation Finally, the algorithm... Output user search traps , ; Step 5: Cloud server A uses the search trapdoor uploaded by the user and their private key to perform a partial search operation, obtains temporary search results, and sends the temporary search results to cloud server B. ( ) After receiving a search request, Select random and in the following manner and Perform partial search operations and output provisional search results: first, Using its own private key Calculation and acquisition And generate ; then, Will Randomize to ;in, for A collection of all keyword names in the text; , , , The noise values are selected by sampling from a Gaussian distribution. , Corresponding to , Ciphertext index, , , Corresponding to , Keyword index; and These correspond to m-dimensional noise vectors. Keyword index; Keywords The name; Access strategy Meaningless subsets in; Under the premise, express hour Ciphertext index, express hour The encrypted index; at last, Towards Output temporary search results ; Step 6: Cloud server B uses its private key together with the temporary search results sent by cloud server A to complete the final search; ( ) :from receive back, Using its own private key, complete the entire search process by following these steps: first, via TSPHF.VerHP Algorithm check ( Is it a valid projection key? Determine if it meets the following conditions. If so, it means the projection key is valid, and the output should be... Further Set as ,get TSPHF.THash( ), and for all of Perform the deblinding operation to generate Otherwise, the projection key is invalid, and the output is... Terminate the search process and output ;in, It is a short vector calculated using a sampling algorithm; Next, set up And perform the final search: If the user's attributes satisfy the indexing strategy, i.e. Then calculate ,in The rule for determining the value is: if but Otherwise, if Then take Conversely, take Furthermore, if the keywords in the encrypted index satisfy the user's search strategy, that is... Then cloud servers can build a collection and And the coefficient can be obtained. Make Established, for each ,definition and ; then, if and The final calculation and retrieval results obtained by cloud server B are as follows: in, Encrypt attributes in the keyword index The ciphertext matrix, ,because and , , and Each component is sampled from a truncated discrete Gaussian distribution. , With all , The distribution statistics are as follows And all Follows a truncated discrete Gaussian distribution According to the parameter settings ; Indicates the LSSS matrix for Corresponding keyword values; randomly selected by the data owner. The encrypted index serves as a secret vector for attribute authorization and keyword encryption; therefore, if the encrypted index satisfies the user's search needs, the algorithm outputs 1 and returns the corresponding search entry to the user; otherwise, it outputs 0.
2. The attribute-based Boolean searchable encryption method for quantum attack resistance in a cloud environment according to claim 1, characterized in that, The access policy In, positive subset Users must possess these attributes to search for the corresponding searchable ciphertext, negative subset. This is used to prevent users with these attributes from searching searchable ciphertext, while meaningless subsets are excluded. The attributes in the file will not affect the authorization decision; let's assume... If and only if and hour, For authorized attribute set; otherwise This is an unauthorized set.
3. The attribute-based Boolean searchable encryption method for quantum attack resistance in a cloud environment according to claim 2, characterized in that, The keyword encryption indexing algorithm is defined as IndexGen( ) The data owner is randomly selected. This serves as a secret vector for attribute authorization and keyword encryption, thus combining search authorization with Boolean search; the data owner first generates the authorization index in the following manner: The data owner samples noise values from a Gaussian distribution. Using the previously generated common basis matrix generate ; For each attribute The data owner selects the noise value. ,generate If but ,otherwise For any attribute Select And generate and ; Next, the data owner generates a keyword index in the following manner: Noise values are sampled from a Gaussian distribution. as well as ,generate as well as ; For each Randomly select an n-dimensional secret vector And generate and ,in Keywords The name does not contain privacy information; for Keyword values, m-dimensional noise vector ; Finally, the data owner outputs the following keyword index: 。 4. The attribute-based Boolean searchable encryption method for quantum attack resistance in a cloud environment according to claim 1, characterized in that, The algorithm construction details of TSPHF are as follows: TSetup ( The algorithm first generates ( ) TrapGen ( Then select the one that satisfies the requirements. of and Then generate And set another public parameter and SPHF trapdoor ; HashKG ( The algorithm randomly selects... And set the hash key ; ProjKG ( This algorithm generates and outputs the projection key. ; ProjHash ( ): Given witness The algorithm generates and outputs projected hash values. ; TProjKG ( This algorithm generates another projection key. ; Hash ( ): Given witness corresponding words ,in and To eliminate noise, the algorithm generates and outputs hash values. ; THash ( This algorithm generates trapdoor hash values. ; VerHP ( ):if The algorithm outputs Otherwise, output .
5. A quantum-resistant, attribute-based Boolean searchable encryption system for cloud environments, characterized in that, The method for implementing any one of claims 1 to 4 includes a trusted authorization agency, a data owner, a data user, cloud server A, and cloud server B; A trusted authorization authority establishes the system public key and system master key and maintains the entire system. At the same time, the trusted authorization authority distributes private keys to users and distributes cloud server private keys to two cloud servers through a secure channel. The data owner stores and shares data on the server, generates a keyword index, and uploads it to cloud server A; Users generate search tokens for Boolean query formulas based on their own query requests and submit them to cloud server A to search for encrypted documents in cloud server A; Cloud server A is a semi-trusted third party responsible for storing the keyword index uploaded by the data owner, and using the search trap uploaded by the user and their private key to perform part of the search operation, and send the temporary search results to cloud server B. Cloud server B is a semi-trusted third party, responsible for using its private key together with the temporary search results sent by cloud server A to complete the final search.
Citation Information
Patent Citations
Searchable encryption method based on Chinese in cloud environment
CN105681280A
Data circulation control method based on cleanable attribute encryption in cloud environment
CN115277171A