Efficient privacy-preserving joint computation method, system and device for data obfuscation

CN116702192BActive Publication Date: 2026-09-08INSIGHT TECHNOLOGY (XIONGAN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310618960.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-29
Publication Date
2026-09-08
Estimated Expiration
2043-05-29

AI Technical Summary

Technical Problem

[0003]然而,在传统的查询协议中,查询方需要提供己方的ID以及参数明文给被查询方,这一过程会导致ID以及参数信息的泄露,从而,导致查询方的隐私信息受到威胁,因此,如何在提升隐私保护安全性的基础上,提升数据查询效率的问题亟待解决

Benefits of technology

[0018] As can be seen, the efficient privacy-preserving joint computing method, system, and apparatus for data obfuscation described in the embodiments of this application are applied to an efficient privacy-preserving joint computing system for data obfuscation. This system includes: a querying party and a queryee. The querying party obtains the ID to be queried, randomly selects m obfuscated IDs, and obfuscates the ID to be queried using the m obfuscated IDs to obtain an ID set, where m is a positive integer; generates a set of random numbers for each ID in the ID set as the weight of that ID, obtaining a weight set; generates a first query vector based on the ID set and performs homomorphic encryption on the first query vector to obtain a second query vector; sends the ID set, weight set, and second query vector to the queryee, who then performs a parameter query based on the ID set and a local database to obtain the query result; and finally, the query... The results are jointly calculated with the weight set to obtain a result set, which includes m+1 results. Each ID in the ID set corresponds to one result. The querying party writes the result set into the local cache in sequence. The query result is then multiplied by the second query vector to obtain the encrypted query result. The querying party decrypts the encrypted query result to obtain the plaintext query result. On the one hand, privacy-preserving query and calculation by introducing data obfuscation avoids additional computation and storage overhead. On the other hand, the obfuscated dataset and the homomorphically encrypted vector containing the data index can be sent to the querying party at once, avoiding the multi-round interaction in traditional cryptographic protocols and greatly improving the communication complexity of the protocol. Thus, it can improve data query efficiency while enhancing privacy protection and security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116702192B_ABST
    Figure CN116702192B_ABST
Patent Text Reader

Abstract

The embodiment of the application discloses a kind of data confusion efficient privacy protection joint calculation method, system and device, the system includes: inquirer and the inquired party;Method includes: inquirer obtains ID to be inquired, randomly selects m confused ID, ID to be inquired is confused by m confused ID, obtains ID set;Determine the weight corresponding to ID set, obtain weight set;According to ID set, generate first query vector, and homomorphic encryption is carried out to it, obtain second query vector;The inquired party carries out parameter query according to ID set and local database, obtains query result;Query result and weight set are jointly calculated, and result set is obtained;Query result and second query vector are carried out inner product operation, and encrypted query result is obtained;Inquirer carries out decryption, and obtains plaintext query result.Using the embodiment of the application can improve the efficiency of data query on the basis of improving privacy protection security.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of privacy computing technology or computer technology, specifically to an efficient privacy-preserving joint computing method, system, and apparatus for data obfuscation. Background Technology

[0002] In practical applications, consider a scenario involving joint queries and calculations by two parties. The querying party possesses an ID and a set of parameters, while the queried party possesses another set of parameters corresponding to the ID and a function for evaluating them. This function can be a calculation rule, a polynomial, a machine learning model, a scoring card, or any other calculation rule. The querying party provides the ID and corresponding parameters to the queried party. The queried party uses this ID to retrieve the other set of parameters from its own database, inputs all the aforementioned parameters into a specific function for evaluation, and returns the evaluation result to the querying party.

[0003] However, in traditional query protocols, the querying party needs to provide its ID and parameters in plaintext to the queried party. This process can lead to the leakage of ID and parameter information, thereby threatening the privacy of the querying party. Therefore, it is urgent to solve the problem of how to improve data query efficiency while enhancing privacy protection and security. Summary of the Invention

[0004] This application provides a method, system, and apparatus for efficient privacy-preserving joint computation with data obfuscation, which can improve data query efficiency while enhancing privacy protection and security.

[0005] In a first aspect, embodiments of this application provide an efficient privacy-preserving joint computation method for data obfuscation, applied to an efficient privacy-preserving joint computation system for data obfuscation, the system comprising: a querying party and a queryed party; the method comprising:

[0006] The querying party obtains the ID to be queried, randomly selects m obfuscated IDs, and obfuscates the ID to be queried using the m obfuscated IDs to obtain an ID set, where m is a positive integer; generates a set of random numbers for each ID in the ID set as the weight of that ID, to obtain a weight set; generates a first query vector based on the ID set, and performs homomorphic encryption on the first query vector to obtain a second query vector; and sends the ID set, the weight set, and the second query vector to the queried party.

[0007] The query result is obtained by the querying party performing a parameter query based on the ID set and the local database; the query result is then jointly calculated with the weight set to obtain a calculation result set, which includes m+1 calculation results, and each ID in the ID set corresponds to one calculation result.

[0008] The querying party writes the calculation result set into the local cache in order, and performs an inner product operation between the query result and the second query vector to obtain the encrypted query result;

[0009] The querying party decrypts the encrypted query result to obtain the plaintext query result.

[0010] Secondly, embodiments of this application provide a highly efficient privacy-preserving joint computing system with data obfuscation, the system comprising: a querying party and a queryee; wherein,

[0011] The querying party is configured to obtain the ID to be queried, randomly select m obfuscated IDs, obfuscate the ID to be queried using the m obfuscated IDs to obtain an ID set, where m is a positive integer; generate a set of random numbers for each ID in the ID set as the weight of the ID, to obtain a weight set; generate a first query vector based on the ID set, and homomorphically encrypt the first query vector to obtain a second query vector; and send the ID set, the weight set, and the second query vector to the queried party.

[0012] The queried party is used to perform parameter queries based on the ID set and the local database to obtain query results; to perform joint calculations on the query results and the weight set to obtain a calculation result set, which includes m+1 calculation results, and each ID in the ID set corresponds to one calculation result; to write the calculation result set into the local cache in order; and to perform an inner product operation on the query results and the second query vector to obtain an encrypted query result.

[0013] The querying party is also used to decrypt the encrypted query result to obtain the plaintext query result.

[0014] Thirdly, embodiments of this application provide an electronic device, including a processor, a memory, a communication interface, and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the processor, and the programs include instructions for performing the steps in the first aspect of embodiments of this application.

[0015] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program for electronic data interchange, wherein the computer program causes a computer to perform some or all of the steps described in the first aspect of embodiments of this application.

[0016] Fifthly, embodiments of this application provide a computer program product, wherein the computer program product includes a non-transitory computer-readable storage medium storing a computer program operable to cause a computer to perform some or all of the steps described in the first aspect of embodiments of this application. The computer program product may be a software installation package.

[0017] Implementing the embodiments of this application has the following beneficial effects:

[0018] As can be seen, the efficient privacy-preserving joint computing method, system, and apparatus for data obfuscation described in the embodiments of this application are applied to an efficient privacy-preserving joint computing system for data obfuscation. This system includes: a querying party and a queryee. The querying party obtains the ID to be queried, randomly selects m obfuscated IDs, and obfuscates the ID to be queried using the m obfuscated IDs to obtain an ID set, where m is a positive integer; generates a set of random numbers for each ID in the ID set as the weight of that ID, obtaining a weight set; generates a first query vector based on the ID set and performs homomorphic encryption on the first query vector to obtain a second query vector; sends the ID set, weight set, and second query vector to the queryee, who then performs a parameter query based on the ID set and a local database to obtain the query result; and finally, the query... The results are jointly calculated with the weight set to obtain a result set, which includes m+1 results. Each ID in the ID set corresponds to one result. The querying party writes the result set into the local cache in sequence. The query result is then multiplied by the second query vector to obtain the encrypted query result. The querying party decrypts the encrypted query result to obtain the plaintext query result. On the one hand, privacy-preserving query and calculation by introducing data obfuscation avoids additional computation and storage overhead. On the other hand, the obfuscated dataset and the homomorphically encrypted vector containing the data index can be sent to the querying party at once, avoiding the multi-round interaction in traditional cryptographic protocols and greatly improving the communication complexity of the protocol. Thus, it can improve data query efficiency while enhancing privacy protection and security. Attached Figure Description

[0019] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0020] Figure 1 This is a schematic diagram of the architecture of an efficient privacy-preserving joint computing system for implementing an efficient privacy-preserving joint computing method for data obfuscation, provided in an embodiment of this application.

[0021] Figure 2 This is a flowchart illustrating an efficient privacy-preserving joint computation method for data obfuscation provided in an embodiment of this application;

[0022] Figure 3 This is a schematic diagram of the structure of a data-obfuscated, high-efficiency privacy-preserving joint computing system provided in an embodiment of this application;

[0023] Figure 4 This is a schematic diagram of another data-obfuscated, high-efficiency privacy-preserving joint computing system provided in this application embodiment;

[0024] Figure 5 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0025] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. All other embodiments obtained by those skilled in the art without creative effort in the embodiments of the present application are within the scope of protection of the present application.

[0026] The terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish different objects, not to describe a specific order. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or apparatuses.

[0027] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.

[0028] The querying party and the queried party described in the embodiments of this application can both be electronic devices. Electronic devices can include smartphones (such as Android phones, iOS phones, Windows Phones, etc.), tablet computers, PDAs, dashcams, servers, laptops, mobile internet devices (MIDs) or wearable devices (such as smartwatches, Bluetooth headsets), etc. The above are just examples and not exhaustive. They include but are not limited to the above-mentioned electronic devices. The electronic device can also be a cloud server or a computer cluster.

[0029] In this embodiment of the application, the querying party may include a client, and the queried party may include a server, such as a server.

[0030] In this embodiment, a sample can be understood as each row of data in the original data. A sample includes an ID, a feature, and a label. The identification (ID) is a unique identifier for each row of data; each row is different, such as an ID card number, mobile phone number, or an auto-incrementing sequence number. The label is the modeling target, a specific outcome the sample aims to predict, such as a borrower (ID being an ID card number) defaulting (label), while another borrower did not default (label). The sample includes both ID and label; the label is a description of the ID and also the target of a modeling exercise. In this embodiment, broadly speaking, ID can be understood as a keyword, and keywords include the identification.

[0031] The embodiments of this application will be described in detail below.

[0032] Please see Figure 1 , Figure 1 This is a schematic diagram of the architecture of an efficient privacy-preserving joint computation system for implementing an efficient data obfuscation method, as provided in an embodiment of this application. As shown in the figure, the system includes: a querying party and a queryee; wherein,

[0033] The querying party is configured to obtain the ID to be queried, randomly select m obfuscated IDs, obfuscate the ID to be queried using the m obfuscated IDs to obtain an ID set, where m is a positive integer; generate a set of random numbers for each ID in the ID set as the weight of the ID, to obtain a weight set; generate a first query vector based on the ID set, and homomorphically encrypt the first query vector to obtain a second query vector; and send the ID set, the weight set, and the second query vector to the queried party.

[0034] The queried party is used to perform parameter queries based on the ID set and the local database to obtain query results; to perform joint calculations on the query results and the weight set to obtain a calculation result set, which includes m+1 calculation results, and each ID in the ID set corresponds to one calculation result; to write the calculation result set into the local cache in order; and to perform an inner product operation on the query results and the second query vector to obtain an encrypted query result.

[0035] The querying party is also used to decrypt the encrypted query result to obtain the plaintext query result.

[0036] Optionally, in generating the first query vector based on the ID set, the query method is specifically used for:

[0037] Set the index of the ID to be queried in the ID set to 1, and set all other indices except the ID to be queried to 0;

[0038] The indexes of each ID in the ID set are used to construct the first query vector.

[0039] Optionally, the queried party is further specifically used for:

[0040] The queried party is configured with a preset expression;

[0041] The trigger is invoked to load the preset expression;

[0042] The step of jointly calculating the query results and the weight set to obtain a calculation result set includes:

[0043] The query results and the weight set are jointly calculated using the preset expression to obtain the calculation result set.

[0044] Optionally, both the querying party and the queried party implement the query function through a privacy information retrieval protocol.

[0045] Please see Figure 2 , Figure 2 This is a flowchart illustrating an efficient privacy-preserving joint computation method for data obfuscation provided in an embodiment of this application; applicable to, for example... Figure 1 The illustrated efficient privacy-preserving joint computation system with data obfuscation includes a querying party and a queryee; the method may include the following steps:

[0046] 201. Obtain the ID to be queried through the querying party, randomly select m obfuscated IDs, obfuscate the ID to be queried through the m obfuscated IDs to obtain an ID set, where m is a positive integer; generate a set of random numbers for each ID in the ID set as the weight of the ID to obtain a weight set; generate a first query vector based on the ID set, and perform homomorphic encryption on the first query vector to obtain a second query vector; send the ID set, the weight set, and the second query vector to the queried party.

[0047] In this embodiment, the ID to be queried can be a single ID. It is obfuscated using m obfuscated IDs (where m is a positive integer) to enhance security. Next, a set of random numbers is generated for each ID in the ID set as its weight, resulting in a weight set. This means that each ID's weight corresponds to a set of random numbers. This introduces data obfuscation for privacy protection, replacing complex public-key cryptographic calculations and improving the overall computational performance during the query process. Furthermore, the plaintext ID can be directly retrieved from the database, thus avoiding additional storage overhead.

[0048] Furthermore, the querying party can generate a first query vector based on the ID set, then homomorphically encrypt the first query vector to obtain a second query vector, and then send the ID set, weight set, and second query vector to the queried party. The queried party can receive the ID set, weight set, and second query vector. The obfuscated dataset and the homomorphically encrypted vector containing the data index can be sent to the queried party at once, avoiding the multi-round interaction in traditional cryptographic protocols and greatly improving the communication complexity of the protocol.

[0049] Optionally, step 201 above, generating the first query vector based on the ID set, may include the following steps:

[0050] 11. Set the index of the ID to be queried in the ID set to 1, and set all other indices except the ID to be queried to 0;

[0051] 12. The indexes of each ID in the ID set are used to construct the first query vector.

[0052] In a specific implementation, the index of the ID to be queried in the ID set can be set to 1, and the other indices can be set to 0. This distinguishes the ID to be queried from other IDs, and the indices of each ID in the ID set are used to form the first query vector.

[0053] Optionally, both the querying party and the queried party implement the query function through a privacy information retrieval protocol.

[0054] In this embodiment of the application, the querying party can perform the query function based on the private information retrieval (PIR) protocol, and the queried party can also perform the query function based on the PIR protocol.

[0055] In this embodiment, the privacy information retrieval protocol using an index is introduced. Since the query party initiates ID obfuscation, they already know the index of the ID to be queried in the obfuscated ID set. Therefore, they can directly use the index-based privacy information retrieval protocol for querying, without relying on keyword-based privacy information retrieval, which incurs significant performance overhead. Furthermore, the privacy information retrieval protocol using a data index can obtain query results with only a single interaction, eliminating the need for complex cryptographic protocols and greatly reducing overall communication complexity.

[0056] To illustrate, in the specific implementation, the querying party selects the ID to be queried and randomly selects an obfuscated ID to obfuscate it. For each obfuscated ID, the querying party generates a set of random numbers as the weight of the current ID. The querying party's PIR module generates a query vector based on the obfuscated ID set and performs homomorphic encryption on this vector. The querying party sends the obfuscated result and the encrypted query vector to the computing node of the queried party.

[0057] In this embodiment of the application, the query vector can be in the form of one-hot encoding. For example, assuming the obfuscated ID set is id1, id2, ..., id i ,....,id n , where id i If the ID to be queried is 0,0,...,1,....,0, then the generated query vector is 0,0,...,1,....,0, where the index of the position with a value of 1 is i.

[0058] 202. The queried party performs parameter queries based on the ID set and the local database to obtain query results; the query results are jointly calculated with the weight set to obtain a calculation result set, which includes m+1 calculation results, and each ID in the ID set corresponds to one calculation result.

[0059] In this embodiment of the application, the queried party can perform parameter queries based on the ID set and the local database to obtain query results, and then perform joint calculations with the weight set to obtain a calculation result set. The calculation result set includes m+1 calculation results, and each ID in the ID set corresponds to one calculation result.

[0060] Optionally, the following steps may also be included:

[0061] S1. Configure a preset expression through the queried party;

[0062] S2. Call the trigger to load the preset expression;

[0063] The expression resides in the memory of the computing module, and the purpose of setting the trigger is to load the expression without restarting the computing service.

[0064] In the specific implementation, the trigger is loaded using a local microservice approach, and the process is as follows:

[0065] 1. The calculation module starts the trigger listening module, which generates a service and listens on a local port. (For example, if the service name is Trigger, the corresponding IP + port is 127.0.0.1:12345).

[0066] 2. When the expression changes, the administrator modifies the expression JSON file (the expression is stored in the form of a JSON file) and saves it locally.

[0067] 3. The administrator calls the local microservice interface, namely the Trigger service in step S1, and transmits the path of the JSON file storing the expression content in step S2 to the Trigger service.

[0068] 4. After receiving the request, the Trigger service reads the JSON file according to the path parameter and triggers the expression parsing module to parse the expression. The parsed result is stored in memory and replaces the original expression memory module.

[0069] 5. The Trigger returns the results (including status information such as whether the parsing was successful and whether the memory replacement was successful) to the administrator.

[0070] Then, step 202 above, which involves jointly calculating the query results and the weight set to obtain a result set, can be implemented as follows:

[0071] The query results and the weight set are jointly calculated using the preset expression to obtain the calculation result set.

[0072] In this embodiment, a trigger is introduced to enable online parsing of expression strings without requiring service restarts or source code modifications, greatly reducing the cost of function updates.

[0073] In this embodiment of the application, the preset expression can be preset or set by system default. The preset expression can be a string, and the preset expression can be configured by a configuration file or a network request.

[0074] In practical implementation, triggers and expression parsing modules can be introduced during the expression loading phase to enable dynamic updates of the computation function. Specifically, triggers are introduced into the computation node of the queried party. Administrators of the queried party's function (model, algorithm) can update the computation function online by replacing the expression string, and triggers the computation node to perform real-time function updates.

[0075] In practice, a preset expression can be configured on the queried party, a trigger can be called to load the preset expression, and then the query result and the weight set can be jointly calculated using the preset expression to obtain the calculation result set.

[0076] 203. The querying party writes the calculation result set into the local cache in order, and performs an inner product operation between the query result and the second query vector to obtain the encrypted query result.

[0077] In this embodiment of the application, the queried party can write the calculation result set into the local cache in order, and then perform an inner product operation between the query result and the second query vector to obtain the encrypted query result.

[0078] 204. The querying party decrypts the encrypted query result to obtain the plaintext query result.

[0079] In this embodiment of the application, the querying party can decrypt the encrypted query result to obtain the plaintext query result.

[0080] In this embodiment of the application, for privacy-preserving data query and calculation scenarios under massive data conditions, the main purpose is to achieve efficient massive data query and calculation while protecting the privacy of both the querying party and the queried party. By adopting the above embodiment of the application, problems such as low-cost dynamic updating of calculation functions, efficient data query, and optimization of communication rounds are solved.

[0081] In its implementation, the obfuscation method involves the querying party submitting a set of query IDs containing multiple obfuscated IDs for privacy protection in each query. The party being queried only needs to perform multiple queries on the database using the aforementioned set of IDs, without requiring any modification to the original database. Furthermore, all information in the ID set is used in plaintext computation, and the strength of privacy protection depends only on the scale of obfuscation. The overall computational efficiency is a linear multiple of plaintext computation, significantly improving computational efficiency compared to privacy-preserving computation protocols in public-key cryptography.

[0082] For example, consider companies A and B jointly predicting advertising effectiveness. Company A has user travel data, and company B has user e-commerce data. Company A also has an advertising effectiveness prediction model. The prediction process is as follows: Company B provides a user ID and the corresponding e-commerce data to company A. Company A retrieves the corresponding travel data locally using the user ID, and then inputs both sets of data into the model (assuming the model is located locally at company A) for prediction. The predicted advertising effectiveness is then returned to company B. Throughout this process, company B does not want company A to know the real user ID it is predicting. Using the solution in this application, company B obfuscates the IDs to be predicted and sends multiple user IDs and corresponding e-commerce data to company A. Company A queries and calculates these results, obtaining multiple predictions. Subsequently, company B performs a privacy-preserving query on these multiple data sets using the PIR protocol (i.e., B retrieves one result from the multiple results calculated by A), ultimately obtaining the query result corresponding to the target user ID that company B needs. This improves data query efficiency while enhancing privacy and security.

[0083] For example, Figure 3 As shown, the client is the querying party, and the server is the queryed party. The server includes: compute nodes, a local database, a PIR module, and a local cache. The client obfuscates the ID to be queried and the obfuscated ID using the obfuscation module to obtain an ID set. Based on the ID set, it determines a weight set and generates a homomorphically encrypted query vector. The client sends the ID set, weight set, and homomorphically encrypted query vector to the compute node. The compute node uses the PIR module to query based on the ID set and the local database to obtain the query result. It then performs a joint calculation with the weight set to obtain the calculation result, which is stored in the local cache. Finally, it performs an inner product operation on the calculation result and the homomorphically encrypted query vector to obtain an encrypted query result. The encrypted query result is then sent to the querying party for decryption to obtain the plaintext query result.

[0084] Let me give another example, such as Figure 4 As shown, the querying party, i.e., the client, performs obfuscation on the query ID and ID weight to obtain ID obfuscation and random number obfuscation. The server implements the query calculation service, with complex function plugins implementing preset expressions and computation nodes implementing computation services. These nodes can utilize the data query module to complete the query function using the database (local database) and parameters sent by the querying party. Then, they use expression parsing or function evaluation to obtain the calculation result, which is stored in a local cache (Redis). In the specific implementation, the server and client use the PIR protocol to implement the query function; they can be referred to as the PIR server and PIR client, respectively.

[0085] For example, suppose the client has two types of data: ID and corresponding weight information. The querying party obfuscates the ID and the data. The querying party uses the obfuscated ID to query the parameters and uses the retrieved data to perform calculations to obtain multiple sets of data. The querying party obtains the query results through a privacy information retrieval protocol, which can be divided into two stages: the expression loading stage and the online query stage.

[0086] The expression loading phase may include the following steps:

[0087] A1. Server-side setting expressions (can be configured through configuration files, network requests, or other methods);

[0088] A2. Call the trigger to activate the expression parsing module to load the expression.

[0089] In the specific implementation, triggers and expression parsing modules are introduced during the expression loading phase to enable dynamic updates of the calculation function.

[0090] The online query stage may include the following steps:

[0091] B1. The querying party selects the ID to be queried and randomly selects an obfuscated ID to obfuscate the ID to be queried;

[0092] B2. The querying party generates a set of random numbers as the weight for each obfuscated ID. The querying party's PIR module generates a query vector based on the obfuscated ID set and performs homomorphic encryption on this vector. The querying party sends the obfuscated result and the encrypted query vector to the computing node. (This query vector is in one-hot encoded form; for example, assuming the obfuscated ID set is...) <id1,id2,...,id i ,....,id n >, where id i If the ID to be queried is , then the generated query vector is <0,0,...,1,....,0>, where the index of the position with a value of 1 is i;

[0093] B3. The queried party queries its local database for parameters based on all received IDs, and performs a joint calculation by combining the retrieved parameters and the parameters sent by the client, resulting in a corresponding calculation result for each ID.

[0094] B4. The queried party writes the calculation results into the local cache in sequence and constructs the query results into a vector. <res1,res2,...,res i ,....,res n >), and perform an inner product operation with the encrypted index vector to obtain the encrypted query result ([[res)). i ]]);

[0095] B5. The party being queried sends the encrypted query results to the party querying.

[0096] B6. The querying party decrypts the encrypted query result locally to obtain the final plaintext query result.

[0097] In the online query phase, step B1 introduces random ID obfuscation, allowing subsequent calculations and queries on the queried party to be executed in plaintext in parallel, without requiring database modifications, reducing storage overhead, completing the query in a single interaction, and lowering communication complexity. Furthermore, step B4 in the online query phase introduces fully homomorphic encrypted inner product operations, allowing the queried party to directly calculate the encrypted query result.

[0098] Overall, in this application embodiment, triggers and expression parsing are introduced into the computing node to achieve dynamic updates of the computing function, a privacy information retrieval protocol for indexes is introduced to significantly improve the efficiency of privacy-protected queries, and privacy-protected queries and calculations with data obfuscation are introduced to avoid additional computing and storage overhead.

[0099] As can be seen, the efficient privacy-preserving joint computation method for data obfuscation described in this application embodiment is applied to an efficient privacy-preserving joint computation system for data obfuscation. This system includes: a querying party and a queryee. The querying party obtains the ID to be queried, randomly selects m obfuscated IDs, and obfuscates the ID to be queried using these m obfuscated IDs to obtain an ID set, where m is a positive integer; generates a set of random numbers for each ID in the ID set as its weight, obtaining a weight set; generates a first query vector based on the ID set and performs homomorphic encryption on the first query vector to obtain a second query vector; sends the ID set, weight set, and second query vector to the queryee, who then performs a parameter query based on the ID set and a local database to obtain the query result; and compares the query result with... The weight set is jointly calculated to obtain a result set, which includes m+1 calculation results. Each ID in the ID set corresponds to one calculation result. The querying party writes the result set into the local cache in sequence. The query result is then multiplied by the second query vector to obtain the encrypted query result. The querying party decrypts the encrypted query result to obtain the plaintext query result. On the one hand, privacy-preserving query and calculation by introducing data obfuscation avoids additional computation and storage overhead. On the other hand, the obfuscated dataset and the homomorphically encrypted vector containing the data index can be sent to the querying party at once, avoiding the multi-round interaction in traditional cryptographic protocols and greatly improving the communication complexity of the protocol. Thus, it can improve data query efficiency while enhancing privacy protection and security.

[0100] Consistent with the above embodiments, please refer to Figure 5 , Figure 5This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. As shown in the figure, the electronic device includes a processor, a memory, a communication interface, and one or more programs. The one or more programs are stored in the memory and configured to be executed by the processor. In this embodiment, the electronic device is applied to a high-efficiency privacy-preserving federated computing system for data obfuscation. The system includes a querying party and a querying party. The program includes instructions for performing the following steps:

[0101] The querying party obtains the ID to be queried, randomly selects m obfuscated IDs, and obfuscates the ID to be queried using the m obfuscated IDs to obtain an ID set, where m is a positive integer; generates a set of random numbers for each ID in the ID set as the weight of that ID, to obtain a weight set; generates a first query vector based on the ID set, and performs homomorphic encryption on the first query vector to obtain a second query vector; and sends the ID set, the weight set, and the second query vector to the queried party.

[0102] The query result is obtained by the querying party performing a parameter query based on the ID set and the local database; the query result is then jointly calculated with the weight set to obtain a calculation result set, which includes m+1 calculation results, and each ID in the ID set corresponds to one calculation result.

[0103] The querying party writes the calculation result set into the local cache in order, and performs an inner product operation between the query result and the second query vector to obtain the encrypted query result;

[0104] The querying party decrypts the encrypted query result to obtain the plaintext query result.

[0105] Optionally, in generating the first query vector based on the set of IDs, the above procedure includes instructions for performing the following steps:

[0106] Set the index of the ID to be queried in the ID set to 1, and set all other indices except the ID to be queried to 0;

[0107] The indexes of each ID in the ID set are used to construct the first query vector.

[0108] Optionally, the above procedure may also include instructions for performing the following steps:

[0109] The queried party is configured with a preset expression;

[0110] The trigger is invoked to load the preset expression;

[0111] The step of jointly calculating the query results and the weight set to obtain a calculation result set includes:

[0112] The query results and the weight set are jointly calculated using the preset expression to obtain the calculation result set.

[0113] Optionally, both the querying party and the queried party implement the query function through a privacy information retrieval protocol.

[0114] As can be seen, the electronic device described in this application embodiment is applied to a high-efficiency privacy-preserving joint computing system for data obfuscation. This system includes: a querying party and a queryee. The querying party obtains the ID to be queried, randomly selects m obfuscated IDs, and obfuscates the ID to be queried using these m obfuscated IDs to obtain an ID set, where m is a positive integer; generates a set of random numbers for each ID in the ID set as its weight, obtaining a weight set; generates a first query vector based on the ID set and performs homomorphic encryption on the first query vector to obtain a second query vector; sends the ID set, weight set, and second query vector to the queryee, who then performs a parameter query based on the ID set and a local database to obtain the query result; and finally, concatenates the query result with the weight set. The computation is performed to obtain a result set, which includes m+1 computation results. Each ID in the ID set corresponds to one computation result. The querying party writes the result set into the local cache in sequence. The query result is then multiplied by the second query vector to obtain the encrypted query result. The querying party decrypts the encrypted query result to obtain the plaintext query result. On the one hand, privacy-preserving query and computation by introducing data obfuscation avoids additional computation and storage overhead. On the other hand, the obfuscated dataset and the homomorphically encrypted vector containing the data index can be sent to the querying party at once, avoiding the multi-round interaction in traditional cryptographic protocols and greatly improving the communication complexity of the protocol. Thus, it can improve data query efficiency while enhancing privacy protection and security.

[0115] This application also provides a computer storage medium storing a computer program for electronic data interchange, which causes a computer to perform some or all of the steps of any of the methods described in the above method embodiments, wherein the computer includes an electronic device.

[0116] This application also provides a computer program product, which includes a non-transitory computer-readable storage medium storing a computer program operable to cause a computer to perform some or all of the steps of any of the methods described in the above method embodiments. The computer program product may be a software installation package, and the computer may include an electronic device.

[0117] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this application.

[0118] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.

[0119] In the several embodiments provided in this application, it should be understood that the disclosed apparatus can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of the units described above is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical or other forms.

[0120] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0121] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0122] If the integrated units described above are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage device (CMD). In this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a memory and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned memory includes various media capable of storing program code, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.

[0123] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, which may include: flash drive, read-only memory (ROM), random access memory (RAM), disk or optical disk, etc.

[0124] The embodiments of this application have been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of this application. The description of the above embodiments is only for the purpose of helping to understand the method and core ideas of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.

Claims

1. A highly efficient privacy-preserving joint computation method with data obfuscation, characterized in that, A high-efficiency privacy-preserving federated computing system for data obfuscation, comprising: a querying party and a queryee; the method comprising: The querying party obtains the ID to be queried, randomly selects m obfuscated IDs, and obfuscates the ID to be queried using the m obfuscated IDs to obtain an ID set, where m is a positive integer; generates a set of random numbers for each ID in the ID set as the weight of that ID, to obtain a weight set; generates a first query vector based on the ID set, and performs homomorphic encryption on the first query vector to obtain a second query vector; and sends the ID set, the weight set, and the second query vector to the queried party. The query result is obtained by the querying party performing a parameter query based on the ID set and the local database; the query result is then jointly calculated with the weight set to obtain a calculation result set, which includes m+1 calculation results, and each ID in the ID set corresponds to one calculation result. The querying party writes the calculation result set into the local cache in order, and performs an inner product operation between the query result and the second query vector to obtain the encrypted query result; The querying party decrypts the encrypted query result to obtain the plaintext query result.

2. The method according to claim 1, characterized in that, The step of generating the first query vector based on the ID set includes: Set the index of the ID to be queried in the ID set to 1, and set all other indices except the ID to be queried to 0; The indexes of each ID in the ID set are used to construct the first query vector.

3. The method according to claim 1 or 2, characterized in that, The method further includes: The queried party is configured with a preset expression; The trigger is invoked to load the preset expression; The step of jointly calculating the query results and the weight set to obtain a calculation result set includes: The query results and the weight set are jointly calculated using the preset expression to obtain the calculation result set.

4. The method according to claim 1 or 2, characterized in that, Both the querying party and the queried party implement the query function through a privacy information retrieval protocol.

5. A highly efficient privacy-preserving joint computing system with data obfuscation, characterized in that, The system includes: the querying party and the queryee; among which, The querying party is configured to obtain the ID to be queried, randomly select m obfuscated IDs, obfuscate the ID to be queried using the m obfuscated IDs to obtain an ID set, where m is a positive integer; generate a set of random numbers for each ID in the ID set as the weight of the ID, to obtain a weight set; generate a first query vector based on the ID set, and homomorphically encrypt the first query vector to obtain a second query vector; and send the ID set, the weight set, and the second query vector to the queried party. The queried party is used to perform parameter queries based on the ID set and the local database to obtain query results; to perform joint calculations on the query results and the weight set to obtain a calculation result set, which includes m+1 calculation results, and each ID in the ID set corresponds to one calculation result; to write the calculation result set into the local cache in order; and to perform an inner product operation on the query results and the second query vector to obtain an encrypted query result. The querying party is also used to decrypt the encrypted query result to obtain the plaintext query result.

6. The system according to claim 5, characterized in that, In generating the first query vector based on the set of IDs, the query method is specifically used for: Set the index of the ID to be queried in the ID set to 1, and set all other indices except the ID to be queried to 0; The indexes of each ID in the ID set are used to construct the first query vector.

7. The system according to claim 5 or 6, characterized in that, The queried party is also specifically used for: The queried party is configured with a preset expression; The trigger is invoked to load the preset expression; The step of jointly calculating the query results and the weight set to obtain a calculation result set includes: The query results and the weight set are jointly calculated using the preset expression to obtain the calculation result set.

8. The system according to claim 5 or 6, characterized in that, Both the querying party and the queried party implement the query function through a privacy information retrieval protocol.

9. An electronic device, characterized in that, It includes a processor and a memory, the memory being used to store one or more programs and configured to be executed by the processor, the programs including instructions for performing the steps of the method as described in any one of claims 1-4.

10. A computer-readable storage medium, characterized in that, A computer program for storing electronic data interchange is provided, wherein the computer program causes a computer to perform the method as described in any one of claims 1-4.

Citation Information

Patent Citations

  • Privacy protection query method and device supporting outsourcing calculation and related equipment

    CN114428972A

  • Data query statistical method and device, computer equipment and storage medium

    CN114691759A