Attribute privacy protection method, device and medium based on attribute hiding and matching
By processing attributes using dual Bloom filters and an improved Bloom filter, complete hiding and efficient decryption of access policies are achieved, solving the problems of attribute privacy leakage and low decryption efficiency in existing technologies, and improving system security and efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SICHUAN NORMAL UNIV
- Filing Date
- 2023-05-26
- Publication Date
- 2026-05-19
AI Technical Summary
Existing ciphertext policies that support access policy hiding are based on attribute encryption schemes, which suffer from problems such as attribute privacy leakage, lack of support for computational outsourcing, and low decryption efficiency.
A dual Bloom filter is used to randomize and secretly segment attributes. The existence of attributes and access strategies are completely hidden by using the Bloom filter and the improved Bloom filter. The computation is outsourced to a cloud server to reduce the burden on the device.
It achieves complete hiding of access policies and efficient decryption through attribute matching, reduces attribute matching time, lowers computational and storage overhead, improves system efficiency, resists dictionary guessing and collusion attacks, and ensures security.
Smart Images

Figure CN116722972B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data security technology, and specifically to an attribute privacy protection method, device, and medium based on attribute hiding and matching. Background Technology
[0002] CP-ABE can not only secretly store sensitive data belonging to data owners, but also provide flexible access control and efficient one-to-many encryption for all encrypted data. However, current CP-ABE schemes still have many application limitations, failing to protect the privacy of access policies, thus jeopardizing the privacy of data owners and making them unsuitable for scenarios with high security requirements. For example, in a medical system, if an attending physician encrypts and uploads a patient's medical record using a CP-ABE scheme, defining the access policy as {Oncology Department and Attending Physician}, meaning only the attending physician in the Oncology Department can decrypt the encrypted data, an attacker, upon obtaining the encrypted case, can deduce that the patient has a tumor-related disease without decryption, thereby leaking the user's privacy.
[0003] Consequently, CP-ABE schemes supporting user privacy protection were proposed. The idea of completely hiding access policies by constructing an Attribute Bloom Filter (ABF) was first proposed by Yang et al. in 2017. They removed the attribute mapping function from the LSSS access structure and then used an attribute Bloom Filter to help users accurately locate the position of their attributes in the access matrix. However, Hao et al. subsequently proved that Yang et al.'s scheme was vulnerable to dictionary attacks; anyone could query all attributes from the ABF and determine whether a certain attribute existed in the access policy, and a complete user attribute and access policy could be recovered through a brute-force attack. Therefore, Hao et al. proposed a fuzzy attribute localization scheme based on a confusion Bloom Filter to address this problem. This scheme constructs only the row information of the access matrix into the attribute Bloom Filter and stipulates that only authorized users can query the row information containing the attribute, increasing system security. However, the biggest problem with policy hiding based on Bloom filters is the possibility of false positives. To address this issue, Ying et al. proposed the lightweight access policy privacy protection scheme CP-ABE, which uses a Cuckoo Filter to completely hide the access policy, resulting in lower space overhead. It also solves the problem that Bloom filters cannot delete elements from the table, reduces the false positive rate of Bloom filters, and has a higher search speed.
[0004] In 2021, Hassan et al. proposed a privacy-preserving distributed data access control (PDAC) scheme for IoT environments, designing three auxiliary tree structures to achieve privacy protection. The first is an anti-collusion tree that binds the user's decryption key to their anonymous credential (accu) to prevent key combination attacks; the second is an auxiliary tree that implements unpaired decryption testing; and the third is an auxiliary tree that implements a policy hiding mechanism. However, this scheme requires canceling the anonymous credential (accu) bound to the user's key during decryption, resulting in significant encryption and decryption computational overhead. Similarly, to alleviate decryption computational overhead, Han et al. proposed a CP-ABE scheme that supports revocation and hiding policies. This scheme uses a pre-decryption approach, specifically dividing the ciphertext into two parts: the first part is the encrypted message M, and the second part is redundant ciphertext used to encrypt the first part. However, this scheme is based on a composite-order bilinear group design and requires generating redundant ciphertext or key components, significantly increasing both computational and storage overhead. To address the two major problems commonly found in the CP-ABE hiding strategy scheme—attribute value guessing attacks and excessively high time complexity of decryption testing algorithms—Zhang et al. designed an online privacy-preserving decryption testing algorithm in 2021. This scheme securely outsources the user's decryption testing phase to a cloud server, but the local verification algorithm still incurs significant computational overhead, failing to alleviate the user's computational burden. Summary of the Invention
[0005] The technical problem this invention aims to solve is that existing attribute-based encryption schemes that support access policy hiding generally only support access policy privacy protection, resulting in attribute privacy leakage, lack of support for computational outsourcing, and low decryption efficiency. The goal is to provide an attribute privacy protection method, device, and medium based on attribute hiding and matching. This involves using a Bloom filter (BF) and random numbers in a selection matrix to determine the existence of attributes, enabling rapid discovery and filtering of the vast majority of mismatched attributes. Then, an improved Garbled Bloom filter (GBF) is used to randomize and secretly segment the attributes, achieving complete hiding of attribute information in the access policy and attribute matching under conditions of complete access policy hiding.
[0006] This invention is achieved through the following technical solution:
[0007] The first aspect of this invention provides an attribute privacy protection method based on attribute hiding and matching, comprising the following specific steps:
[0008] S1. Get System Properties , for attributes Perform mapping and hash transformations to obtain attribute elements;
[0009] S2. Initialize the parameters of the Bloom filter BF and the improved Bloom filter GBF, and use the independent hash function in BF to index the position of the attribute elements.
[0010] S3. Check the value of BF at the current index position. If the value of BF at the current index position is 1, then output... If the value of BF at the current index position is 0, then set it to 1 and interpolate it towards GBF;
[0011] S4. Obtain the secret component of the attribute element, and then... The secret component is inserted into GBF for attribute location to achieve attribute hiding;
[0012] S5. Perform attribute matching based on attribute hiding.
[0013] This invention achieves complete hiding of access policies by secretly segmenting attributes and corresponding row number information and storing them in an improved Bloom filter. The use of a dual Bloom filter not only supports both policy privacy and attribute privacy protection under outsourced computation conditions, but also resists dictionary guessing and collusion attacks, ensuring security in a cloud environment. A traditional Bloom filter is used to determine whether a user attribute is in the access policy, eliminating unnecessary matching operations; if the attribute is in the access policy, the improved Bloom filter is then used to determine the row number of that attribute in the corresponding access matrix. Based on the dual Bloom filter, a CP-ABE scheme supporting complete hiding of access policies and efficient decryption is constructed. The dual Bloom filter is built during encryption, and during decryption, it is used to determine the attribute set matching the access policy, significantly reducing attribute matching time. Furthermore, the powerful computing power of cloud servers is used for outsourced computation, alleviating the burden on devices with limited computing power and storage space, resulting in higher system efficiency.
[0014] Furthermore, S1 specifically includes:
[0015] Get Attributes Random cluster elements are generated for attributes through an authorized agency. ;
[0016] Computational attribute public key For public key Perform a hash transformation to obtain a hash function. ;
[0017] Generate random numbers for the access matrix Generate random numbers from the matrix With hash function After performing an XOR operation, hash the result again to obtain the element. .
[0018] Furthermore, the initialization parameters include:
[0019] Number of attributes to add The number of hash functions Maximum length of inserted element , An independent hash function that evenly distributes attributes across the filter. .
[0020] Furthermore, the step of using an independent hash function in BF to index the position of attribute elements specifically includes:
[0021] Use independent hash functions Will of The secret components are uniformly distributed as follows: The location index, the The location index includes , , , .
[0022] Furthermore, S3 specifically includes:
[0023] Check BF in , , , Determine the value at the index position. Is it 0?
[0024] like If both values are 1, it means the attribute is already in BF and does not need to be added to GBF. Output ;
[0025] Otherwise, it means the attribute is not in BF, and will After the value is set from 0 to 1, it is interpolated into GBF.
[0026] Furthermore, the use of secret segmentation specifically includes:
[0027] use Secret sharing will Divided into indivual Bit string , then calculate .
[0028] Furthermore, the GBF interpolation specifically includes:
[0029] Will of A secret component Insert into the corresponding position in GBF Through XOR operation ,get A string of bits ;
[0030] in, It is a length of The string is used to help data users accurately retrieve its attributes in the access matrix. The corresponding line number; Indicates length is The attribute hash value, ;
[0031] The interpolation process into GBF also includes determining whether interpolation exists at the current position. If it does, the old value in GBF is retrieved and recalculated. Other secret components.
[0032] Furthermore, S5 specifically includes:
[0033] Get Attributes Corresponding public key According to the public key Determine the hash value ;
[0034] Get random numbers from a matrix Combined with hash value Determine attribute elements ;
[0035] Using independent hash functions in BF Calculate the elements of Location index , , , Searching for BF Determine the value corresponding to each position index. Are all values 1?
[0036] If not all values are 1, it means that the attribute is not in the Bloom filter, and the output will be... Decryption terminated;
[0037] If all values are 1, perform a location operation on the attribute;
[0038] From GBF Retrieve the corresponding secret component at the location index. ;
[0039] Find the matrix row number corresponding to the attribute, and determine the correct attribute row number based on the secret component. To locate the attribute;
[0040] Perform the above operation on the remaining attributes and output the minimum set of matching attributes.
[0041] A second aspect of the present invention provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor, when executing the program, implements an attribute privacy protection method based on attribute hiding and matching.
[0042] A third aspect of the present invention provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements an attribute privacy protection method based on attribute hiding and matching.
[0043] Compared with the prior art, the present invention has the following advantages and beneficial effects:
[0044] This paper proposes a method for complete hiding of access policies and attributes based on a dual Bloom filter. The dual Bloom filter is used to randomize attributes, and the attributes and corresponding row number information are secretly segmented and stored in the improved Bloom filter, achieving complete hiding of the access policy. The use of the dual Bloom filter not only supports both policy privacy and attribute privacy protection under outsourced computing conditions, but also resists dictionary guessing and collusion attacks, ensuring security in cloud environments.
[0045] A dual Bloom filter-based attribute matching method is proposed. First, a traditional Bloom filter is used to determine if a user attribute is included in the access policy, eliminating unnecessary matching operations. If the attribute is included, an improved Bloom filter is then used to determine the row number of that attribute in the corresponding access matrix. Based on the dual Bloom filter, a CP-ABE scheme supporting complete access policy hiding and efficient decryption is constructed. The dual Bloom filter is built during encryption, and during decryption, it is used to determine the attribute set matching the access policy, significantly reducing attribute matching time. Furthermore, the powerful computing capabilities of cloud servers are utilized for outsourced computation, alleviating the burden on devices with limited computing power and storage space, resulting in higher system efficiency. Attached Figure Description
[0046] To more clearly illustrate the technical solutions of the exemplary embodiments of the present invention, the accompanying drawings used in the embodiments will be briefly described below. It should be understood that the following drawings only show some embodiments of the present invention and should not be considered as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort. In the drawings:
[0047] Figure 1 This is the process of hiding the access strategy and attributes in the embodiments of the present invention;
[0048] Figure 2This refers to the access strategy and attribute hiding method in the embodiments of the present invention;
[0049] Figure 3 This is a method for mapping different row numbers to the same attribute in an embodiment of the present invention;
[0050] Figure 4 This refers to the attribute matching method in this embodiment of the invention;
[0051] Figure 5 This is a completely hidden access tree in the embodiments of the present invention;
[0052] Figure 6 This is a CP-ABE scheme system framework that supports access policy hiding and efficient decryption in the embodiments of the present invention. Detailed Implementation
[0053] To make the objectives, technical solutions, and advantages of the present invention clearer, the present invention will be further described in detail below with reference to the embodiments and accompanying drawings. The illustrative embodiments and descriptions of the present invention are only used to explain the present invention and are not intended to limit the present invention.
[0054] Example 1
[0055] like Figure 1 and Figure 2 As shown, the first aspect of this embodiment provides an attribute privacy protection method based on attribute hiding and matching, characterized by the following specific steps:
[0056] S1. Get System Properties , for attributes Perform mapping and hash transformations to obtain attribute elements. ;
[0057] S2. Initialize the parameters of the Bloom filter BF and the improved Bloom filter GBF, and use the independent hash function in BF to index the position of the attribute elements.
[0058] S3. Check the value of BF at the current index position. If the value of BF at the current index position is 1, then output... If the value of BF at the current index position is 0, then set it to 1 and interpolate it towards GBF;
[0059] S4. Obtain the secret component of the attribute element, and then... The secret component is inserted into GBF for attribute positioning;
[0060] S5. Repeat the above steps for the remaining attributes to perform attribute matching.
[0061] This embodiment achieves complete hiding of the access policy by secretly segmenting attributes and corresponding row number information and storing them in an improved Bloom filter. The use of a dual Bloom filter not only supports both policy privacy and attribute privacy protection under outsourced computation conditions, but also resists dictionary guessing and collusion attacks, ensuring security in a cloud environment. A traditional Bloom filter is used to determine whether a user attribute is in the access policy, eliminating unnecessary matching operations; if the attribute is in the access policy, the improved Bloom filter is then used to determine the row number of that attribute in the corresponding access matrix. Based on the dual Bloom filter, a CP-ABE scheme supporting complete hiding of the access policy and efficient decryption is constructed. The dual Bloom filter is built during encryption, and during decryption, it is used to determine the attribute set matching the access policy, significantly reducing attribute matching time. Furthermore, the powerful computing power of cloud servers is used for outsourced computation, alleviating the burden on devices with limited computing power and storage space, resulting in higher system efficiency.
[0062] In some possible embodiments, system properties are obtained. , for attributes The process of mapping and hashing to obtain attribute elements includes: first, mapping and hashing the attributes. During system initialization, a trusted authorized agency assigns attributes... Generate random group elements And calculate the attribute public key Then for the public key Perform a hash transformation to obtain Finally, the data owner generates random numbers for the access matrix. Afterwards, with XOR operation and rehashing yield the element .
[0063] In some possible embodiments, parameter initialization of the Bloom filter (BF) and the improved Bloom filter (GBF) includes defining the parameters of the Bloom filter (BF) and the improved Bloom filter (GBF). ,in The number of attributes to add. The number of hash functions, Indicates the maximum bit length of the inserted element. yes Each independent hash function evenly distributes attributes into the filter.
[0064] In some possible embodiments, obtaining the secret component of an attribute element includes: using Secret sharing will Divided into indivual Bit string , then calculate .
[0065] In some possible embodiments, checking the BF attribute includes: using an independent hash function Will of The secret components are uniformly distributed as follows: Location index: , , , Afterwards, check BF's... , , , Determine the value at the index position. Is it 0? If both values are 1, it means the attribute is already in BF and does not need to be added to GBF. Output Otherwise, it means the attribute is not in BF, and will be... After the value is set from 0 to 1, it can be interpolated into GBF.
[0066] In some possible embodiments, interpolating to GBF includes: of A secret component Insert into the corresponding position in GBF Through XOR operation It can be obtained A string of bits .in, It is a length of The string is used to help data users accurately retrieve its attributes in the access matrix. The corresponding line number; Indicates length is The attribute hash value, .
[0067] In some possible implementations, during the GBF interpolation process, some positions may already be occupied by previously inserted values. To ensure that previously inserted attributes can be restored, the new value will not overwrite the existing value; instead, the old value in the GBF will be reused, and then the other secret shares of the element will be recalculated. The above process needs to be repeated for each attribute.
[0068] In some possible embodiments, the handling of different row numbers mapping the same attribute is as follows: Since there are often multiple rows in the access matrix corresponding to the same attribute, in order to flexibly and accurately represent the same attribute, the BF structure in this solution is modified as follows: Figure 3 As shown, assuming that 48 bits are used in BF to store the matrix row numbers, this space is divided into six equal parts, one of which occupies 8 bits and can be used to represent a range within... The matrix row numbers can accommodate up to 6 row numbers with the same attribute.
[0069] The second aspect of this embodiment provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the program, it implements an attribute privacy protection method based on attribute hiding and matching as provided in the first aspect of this embodiment.
[0070] The third aspect of this embodiment provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements an attribute privacy protection method based on attribute hiding and matching as provided in the first aspect of this embodiment.
[0071] Example 2
[0072] like Figure 4 As shown, this implementation provides an attribute matching method under the condition that the access policy is completely hidden;
[0073] (1) Attribute membership determination: First, the data user queries the attribute. Corresponding public key Calculate hash value Then, with matrix random numbers XOR operation yields attribute elements Then, through the independent hash function in BF... Calculate the elements of Location index , , , Finally, search for BF. Determine the value corresponding to each position index. If all values are 1, then the attribute is not in the Bloom filter and the output should be set to 1. If all values are 1, then decryption is terminated; if all values are 1, then it indicates that the attribute... The access strategy then performs subsequent attribute location operations.
[0074] (2) Attribute location: from GBF Retrieve the corresponding secret component at the location index. Find the matrix row number corresponding to the attribute, first calculate... Then and Perform an XOR operation. This is due to the attributes of the data owner DU. Attribute matching has been successful, indicating and They are equal, therefore the correct attribute row number can be calculated. Successfully located the attribute under the condition that the access strategy is completely hidden.
[0075] Attribute matching: Repeat the above process for the remaining attributes. This only applies if a set of constants exists. Make At that time, user attribute set Satisfy the access strategy and output the minimum set of matching attributes. , Otherwise, output .
[0076] like Figure 5 The diagram illustrates the method for completely hiding the access tree: If the access strategy is an access tree structure, firstly, the leaf nodes of the access tree are numbered using a pre-order traversal. At this point, one attribute corresponds to one number, similar to the format of one row corresponding to one attribute in an access matrix. Then, the number and attribute hash value are inserted into the access tree (BF) as elements, following the same process as the completely hidden access matrix and attribute matching methods described above.
[0077] Example 3
[0078] like Figure 6 As shown, this embodiment provides a CP-ABE scheme system framework that supports access policy hiding and efficient decryption;
[0079] This includes four different types of entities, which are defined in detail below.
[0080] (1) Authorized Authority (AA): The AA is a fully trusted entity responsible for executing the initialization algorithm 𝑆𝑒𝑡𝑢𝑝 to generate the system public key and master key, and honestly executing the key generation algorithm 𝐾𝑒𝑦𝐺𝑒𝑛 to generate private keys for users.
[0081] (2) Cloud Service Provider (CSP): A semi-trusted cloud server is responsible for encrypted storage. It will strictly and honestly perform the relevant tasks and then return the requested results, but it will be curious about the data stored in the cloud and obtain as much sensitive information as possible in the process of performing the tasks.
[0082] (3) Data Owner (DO): The provider of cloud data, who stores and shares large amounts of data in the cloud, defines access policies related to ciphertext, executes the DISH algorithm according to the specified access policies, and uploads the ciphertext to the CSP.
[0083] (4) Data Owner (DU): The consumer of cloud data, queries the ciphertext stored in the cloud and downloads the corresponding ciphertext, and executes the semaphore algorithm using the private key obtained from the AA. It can only successfully decrypt the data if its attribute set satisfies the access policy.
[0084] (1) Initialization The algorithm is initialized and invoked by the authorized agency AA, with the security parameter 𝜆 and the maximum value of the number of attributes as input. Output public key and master key Specifically, this includes:
[0085] Bilinear mapping , They are two multiplicative cyclic groups of prime order p. for The generator. This is the complete set of system attributes, with a total number of attributes. Randomly generate group elements Attribute public key The authorizing body AA defines the hash function. , Random selection ,generate and :
[0086]
[0087]
[0088] in, The field represents the set for any prime number p. Under addition and multiplication modulo p, a field is formed, which is knowledge of abstract algebra or elementary number theory. A field represents a field that does not contain zero elements.
[0089] Bilinear mapping is the underlying theoretical basis for designing attribute encryption algorithms, enabling... , and All are multiplicative cyclic groups, and their order is a prime number. ,set up for generator, for generator, This represents the prime number group. Based on this, the function is defined. If it has the following characteristics, it is called For bilinear mapping:
[0090] Bilinear: for , and ,have ;
[0091] Non-degeneracy: Existence of group elements , making ;
[0092] Computability: for , It can effectively calculate .
[0093] (2) Private key generation Called by AA, input system public key Master key And the user attribute set S. Select a random number based on the user attribute set S. and attributes Corresponding public key ,get :
[0094]
[0095] Then select a random number. The conversion key is generated as follows:
[0096]
[0097] The final generated user private key is .
[0098] (3) Encryption stage The encryption algorithm consists of two stages: the first stage is the ciphertext generation stage, which is similar to the encryption algorithm in the basic CP-ABE scheme; the second stage is the attribute hiding stage, which hides the attribute information in the access strategy by constructing a double Bloom filter.
[0099] ① Data owner (DO) generates based on access policy. ,in It is The matrix, This is a mapping function that maps row numbers in an access matrix to attribute sets. AA is the matrix. Generate random numbers DO selects the secret value. Generate vectors ,for ,calculate DO selects a random value for each attribute. , encrypted plaintext Generate intermediate ciphertext as follows:
[0100] , ;
[0101] , , ;
[0102] .
[0103] ② The algorithm takes an access policy and attributes as input, and outputs a double Bloom filter (BF) and a GBF, which store the mapping relationship between attributes and matrices, to hide the access policy. See section 1, Access Policy and Attribute Hiding Method, for the specific steps of the algorithm. Call... and Then, DO will encrypt the text. Uploaded to the cloud server.
[0104] (4) Decryption test phase In the attribute matching phase, the cloud server first determines whether the attribute is in the access policy using the position index on the Bloom filter (BF). Then, based on the improved Bloom filter (GBF), it obtains the secret share of the element, thereby restoring the mapping relationship from attribute to row number in the access matrix. See section 2, Attribute Matching Method, for details. If the attribute match is successful, the matched attribute set is output. Otherwise, output ; This indicates that there is no minimum authorized set that satisfies the access policy.
[0105] (5) Outsourced decryption stage: After the decryption test is passed, the cloud server uses the data consumer's conversion key. right Perform partial decryption and output the converted ciphertext to the data consumer. as follows:
[0106]
[0107] (6) Local decryption stage: Data consumers will encrypt the text and converting ciphertext Download to your local computer, decrypt and convert the ciphertext to recover the plaintext. The process is as follows:
[0108]
[0109] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of the present invention. It should be understood that the above description is only a specific embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. A method for protecting attribute privacy based on attribute hiding and matching, characterized in that, The specific steps include the following: S1. Get System Properties , for attributes Perform mapping and hash transformations to obtain attribute elements; S2. Initialize the parameters of the Bloom filter BF and the improved Bloom filter GBF, and use the independent hash function in BF to index the position of the attribute elements. S3. Check the value of BF at the current index position. If the value of BF at the current index position is 1, then output... If the value of BF at the current index position is 0, then set it to 1 and interpolate it towards GBF; S4. Obtain the secret component of the attribute element, insert the secret component of the attribute element into GBF, locate the attribute, and realize attribute hiding; S5. Perform attribute matching based on attribute hiding; S5 specifically includes: Get Attributes Corresponding public key According to the public key Determine the hash value ; Get random numbers from a matrix Combined with hash value Determine attribute elements ; Using independent hash functions in BF Calculate the elements of Location index , , , Searching for BF Determine the value corresponding to each position index. Are all values 1? If not all values are 1, it means that the attribute is not in the Bloom filter, and the output will be... Decryption terminated; If all values are 1, perform a location operation on the attribute; From GBF Retrieve the corresponding secret component at the location index. ; Find the matrix row number corresponding to the attribute, and determine the correct attribute row number based on the secret component. To locate the attribute; Perform the above operation on the remaining attributes and output the minimum set of matching attributes.
2. The attribute privacy protection method based on attribute hiding and matching according to claim 1, characterized in that, S1 specifically includes: Get Attributes Random cluster elements are generated for attributes through an authorized agency. ; Computational attribute public key For public key Perform a hash transformation to obtain a hash function. ; Generate random numbers for the access matrix Generate random numbers from the matrix With hash function After performing an XOR operation, hash the result again to obtain the element. .
3. The attribute privacy protection method based on attribute hiding and matching according to claim 2, characterized in that, The parameter initialization includes: Number of attributes to add The number of hash functions Maximum length of the inserted element , An independent hash function that evenly distributes attributes into the filter. .
4. The attribute privacy protection method based on attribute hiding and matching according to claim 3, characterized in that, The method of using an independent hash function in BF to index the position of attribute elements specifically includes: Use independent hash functions Will of The secret components are uniformly distributed as follows: The location index, the The location index includes , , , .
5. The attribute privacy protection method based on attribute hiding and matching according to claim 4, characterized in that, S3 specifically includes: Check BF in , , , Determine the value at the index position. Is it 0? like If both values are 1, it means the attribute is already in BF and does not need to be added to GBF. Output ; Otherwise, it means the attribute is not in BF, and will After the value is set from 0 to 1, it is interpolated into GBF.
6. The attribute privacy protection method based on attribute hiding and matching according to claim 4, characterized in that, The use of an independent hash function Will of The secret components are uniformly distributed as follows: The location index specifically includes: use Secret sharing will Divided into indivual Bit string , then calculate .
7. The attribute privacy protection method based on attribute hiding and matching according to claim 6, characterized in that, The GBF interpolation specifically includes: Will of A secret component Insert into the corresponding position in GBF Through XOR operation ,get 1-bit string ; in, It is a length of The string is used to help data users accurately retrieve its attributes in the access matrix. The corresponding line number; Indicates length is The attribute hash value, ; The interpolation process into GBF also includes determining whether interpolation exists at the current position. If interpolation exists, the old value in GBF is retrieved and recalculated. Other secret components.
8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the attribute privacy protection method based on attribute hiding and matching as described in any one of claims 1 to 7.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the attribute privacy protection method based on attribute hiding and matching as described in any one of claims 1 to 7.