A method for multi-party data set outsourcing privacy computation intersection
By outsourcing privacy computation intersection methods for multi-party datasets encrypted with Bloom filters and super-incremental sequence encoding, this approach solves the problem of high communication and computational complexity in multi-party collaborations, achieving efficient and secure multi-party data intersection computation, and is suitable for large-scale data and multi-party scenarios.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- XIDIAN UNIV
- Filing Date
- 2024-12-31
- Publication Date
- 2026-05-15
AI Technical Summary
Existing privacy-preserving computation intersection technologies face challenges in multi-party collaboration scenarios, including high communication overhead, high computational complexity, and strong dependence on trusted third parties, making it difficult to meet the needs of large-scale data and multi-party collaboration.
A method for outsourcing privacy computation intersection of multi-party datasets is adopted. Data encoding and encryption are performed using Bloom filters and super-incrementing sequences. Homomorphic encryption and differential privacy techniques are combined, and data aggregation and decoding are performed through cloud servers to achieve secure computation without the participation of trusted third parties.
It improves computational efficiency, reduces data transmission volume and communication rounds, enhances the system's decentralization capabilities, prevents attackers from inferring the original data, adapts to varying numbers of parties and heterogeneous environments, and has strong practicality.
Smart Images

Figure CN119835047B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of privacy computing technology, and in particular to a method for outsourcing privacy computing intersections of multi-party datasets. Background Technology
[0002] With the rapid development of big data and artificial intelligence technologies, the importance of data resources is becoming increasingly prominent. In many application scenarios, different organizations, enterprises, or individuals often possess complementary data, and data collaboration can create greater value. However, due to data privacy and security considerations, directly sharing raw data is not feasible. This has spurred the widespread application of privacy-preserving computation intersection technology. Privacy-preserving computation intersection technology can calculate the intersection of data sets without exposing the data of all parties involved. For example, in joint modeling, different companies can achieve collaborative marketing by calculating the intersection of customer data; in the medical field, different hospitals can use the intersection of patient data for joint research while effectively protecting patient privacy.
[0003] In practical applications, scenarios involving privacy-preserving computation intersections are often not limited to two parties but involve multi-party collaboration. However, most existing technologies primarily focus on two-party intersections, making it difficult to effectively address the complex needs of multi-party collaborations. Simultaneously, with the continuous growth of data volume, privacy-preserving computation intersections also face severe challenges in terms of communication overhead and computational complexity. On the one hand, the massive data volume leads to a significant increase in communication overhead; on the other hand, encryption operations and complex data processing flows make it difficult for computational efficiency to meet practical requirements. Furthermore, traditional privacy-preserving computation intersection technologies typically rely on trusted third parties to coordinate and process data.
[0004] In related technologies, privacy-preserving computation intersection schemes are mainly divided into two-party privacy-preserving computation intersections and multi-party privacy-preserving computation intersections. The technical points of two-party privacy-preserving computation intersections primarily focus on the application of cryptographic methods, such as homomorphic encryption, Boolean circuits, and blind transmission, enabling both parties to securely compute the intersection of data sets without exposing the original data. These schemes typically have low communication and computational complexity, making them suitable for small to medium-sized data scenarios. In contrast, multi-party privacy-preserving computation intersections require collaborative computation among multiple participants, significantly increasing technical complexity. Multi-party privacy-preserving computation intersections use secret sharing or distributed Boolean circuits to achieve secure collaboration without a trusted third party, optimize computational efficiency through parallel computing and block-based strategies, protect data output security using differential privacy, and reduce reliance on trusted third parties by combining blockchain or trusted execution environments. Multi-party schemes emphasize communication round optimization and scalability design to address the challenges of large-scale data and multi-party collaboration. However, due to the need for extensive secret sharing, Boolean circuit computation, or distributed protocol interactions, multi-party schemes result in high communication rounds and large data transmission volumes, severely impacting efficiency.
[0005] Therefore, it is necessary to improve one or more of the problems existing in the above-mentioned related technical solutions.
[0006] It should be noted that the information disclosed in the background section above is only used to enhance the understanding of the background of this disclosure, and therefore may include information that does not constitute prior art known to those skilled in the art. Summary of the Invention
[0007] The purpose of this disclosure is to provide a method for outsourcing privacy computation of the intersection of multi-party datasets, thereby overcoming, at least to some extent, one or more problems caused by the limitations and defects of related technologies.
[0008] According to a first aspect of the present disclosure, a method for outsourcing privacy computation of the intersection of multi-party datasets is provided, the method comprising:
[0009] The local data ID set is mapped to the Bloom filter set using multiple hash functions, and the Bloom filter set is inverted to obtain the inverse Bloom filter.
[0010] The inverse Bloom filter is encoded using a super-incrementing sequence to obtain plaintext data;
[0011] The plaintext data is encrypted to obtain ciphertext data, and the ciphertext data is uploaded to the cloud server.
[0012] The aggregated ciphertext data sent by the cloud server is obtained, and the aggregated ciphertext data is decrypted to obtain aggregated plaintext data;
[0013] The aggregated plaintext data is decoded using a super-incrementing sequence to obtain multidimensional aggregated data;
[0014] The multidimensional aggregated data is permuted to obtain an intersection Bloom filter;
[0015] Query the intersection Bloom filter to obtain the intersection of the local data.
[0016] Furthermore, the expression for encrypting the plaintext data is:
[0017]
[0018] in, For encrypted ciphertext data, For public key generator, Plain text data It is a random number. The modulus of the public key.
[0019] Furthermore, the expression for decrypting the aggregated ciphertext data is:
[0020]
[0021] in, To aggregate plaintext data, It is a Lagrange function.
[0022] According to a second aspect of the present disclosure, a method for outsourcing privacy computation of the intersection of multi-party datasets is provided, the method comprising:
[0023] Retrieve encrypted data uploaded by all clients;
[0024] All the ciphertext data are aggregated to obtain aggregated ciphertext data.
[0025] Furthermore, the expression for aggregating all the aforementioned ciphertext data is:
[0026]
[0027]
[0028]
[0029] in, To aggregate encrypted data, For encrypted ciphertext data, For public key generator, Plain text data It is a random number. The modulus of the public key.
[0030] According to a third aspect of the present disclosure, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the steps of the method for compiling the intersection of outsourced privacy computation of multi-party datasets as described in any of the above embodiments.
[0031] According to a fourth aspect of the present disclosure, an electronic device is provided, comprising:
[0032] Processor; and
[0033] Memory for storing the executable instructions of the processor;
[0034] The processor is configured to execute the steps of the method for outsourcing privacy computation intersection of multi-party datasets in any of the above embodiments by executing the executable instructions.
[0035] The technical solutions provided by the embodiments of this disclosure may include the following beneficial effects:
[0036] In the embodiments of this disclosure, a block-based computation method for multi-party intersection is proposed, utilizing the aforementioned method of outsourcing privacy computation of multi-party datasets. This method segments the data and combines it with dynamic load balancing technology to improve computational efficiency while ensuring privacy and security. It achieves secure multi-party data computation without the participation of a trusted third party, enhancing the system's decentralization capabilities. The integration of differential privacy technology and a secret-sharing mechanism not only guarantees the privacy and security of the computation process but also prevents attackers from inferring the original data from the output results. It can dynamically adapt to changes in the number of parties and supports distributed deployment and expansion in heterogeneous environments, demonstrating strong practicality. The introduction of compression transmission and data encoding optimization strategies significantly reduces data transmission volume and communication rounds, improving the utilization efficiency of network resources.
[0037] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description
[0038] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure. It is obvious that the drawings described below are merely some embodiments of this disclosure, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort.
[0039] Figure 1 This diagram illustrates the steps of a method for outsourcing privacy computation of the intersection of a multi-party dataset in an exemplary embodiment of this disclosure.
[0040] Figure 2 This illustration shows a scenario diagram in an exemplary embodiment of the present disclosure;
[0041] Figure 3 A step diagram illustrating another method for outsourcing privacy computation of the intersection of multi-party datasets in an exemplary embodiment of this disclosure;
[0042] Figure 4 This diagram illustrates a program product according to an exemplary embodiment of the present disclosure;
[0043] Figure 5 This diagram illustrates an electronic device according to an exemplary embodiment of the present disclosure. Detailed Implementation
[0044] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, they are provided so that this disclosure will be more comprehensive and complete, and will fully convey the concept of the exemplary embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0045] Furthermore, the accompanying drawings are merely illustrative of this disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and therefore repeated descriptions of them will be omitted. Some block diagrams shown in the drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.
[0046] This example implementation first provides a method for outsourcing privacy computation of the intersection of multi-party datasets. This method can be applied to a terminal device, such as a mobile phone, personal digital assistant, laptop, tablet, smartwatch, or other mobile terminal [adjusted flexibly according to specific circumstances, such as the terminal device being a server]. Reference Figure 1 As shown, the method may include the following steps:
[0047] Step S101: Use multiple hash functions to map the local data ID set to the Bloom filter set, and invert the Bloom filter set to obtain the inverse Bloom filter;
[0048] Step S102: Encode the inverse Bloom filter using a super-incrementing sequence to obtain plaintext data;
[0049] Step S103: Encrypt the plaintext data to obtain ciphertext data, and upload the ciphertext data to the cloud server;
[0050] Step S104: Obtain the aggregated ciphertext data sent by the cloud server, and decrypt the aggregated ciphertext data to obtain the aggregated plaintext data;
[0051] Step S105: Decode the aggregated plaintext data using a super-incrementing sequence to obtain multidimensional aggregated data;
[0052] Step S106: Permutate the multidimensional aggregated data to obtain an intersection Bloom filter;
[0053] Step S107: Query the intersection Bloom filter to obtain the intersection of the local data.
[0054] By outsourcing privacy-preserving computation of the intersection of multi-party datasets as described above, a block-based computation method for multi-party intersections is proposed. This method segments the data and combines it with dynamic load balancing technology to improve computational efficiency while ensuring privacy and security. It achieves secure multi-party data computation without the participation of a trusted third party, enhancing the system's decentralization capabilities. The integration of differential privacy technology and a secret-sharing mechanism not only guarantees the privacy and security of the computation process but also prevents attackers from inferring the original data from the output results. It can dynamically adapt to changes in the number of parties and supports distributed deployment and expansion in heterogeneous environments, demonstrating strong practicality. The introduction of compression transmission and data encoding optimization strategies significantly reduces data transmission volume and communication rounds, improving the utilization efficiency of network resources.
[0055] Below, we will refer to Figures 1 to 2 The steps of the method described above in this example embodiment will be explained in more detail.
[0056] In step S101, multiple hash functions are used to map the local data ID set to the Bloom filter set, and the Bloom filter set is inverted to obtain the inverse Bloom filter.
[0057] For example, such as Figure 2 As shown, this application includes a cloud server S and several clients, each client containing its own dataset. This application requires a trusted third party to generate a public-private key pair. ( ) The key center sets the security parameters to Select the modulus , and It is a large prime number. The key center selects the generator. ;in, =1 , The public key private key .
[0058] This application requires a trusted third party to generate a superincreasing sequence. ,in, .
[0059] A trusted third party will share public and private keys. ( ) and super-increasing sequences Distributed to each client, each client uses the public key. Encrypt the data using a private key. The data is decrypted. Each client uses a super-incrementing sequence to encode and decode the multidimensional data.
[0060] Local client i will use data Each hash function maps the local data ID set to a Bloom filter. ,in, It is a Bloom filter built by client i. It is a Bloom filter A bit array containing k positions.
[0061] The local client inverts the Bloom filter to obtain the inverse Bloom filter. , The reverse Bloom filter representing the client. It is a bit array of the inverse Bloom filter.
[0062] In step S102, the inverse Bloom filter is encoded using a super-incrementing sequence to obtain plaintext data.
[0063] For example, each client uses a Bloom filter. Obtain by encoding , It is the encoded result of client i, a unique value representing the state of the inverse Bloom filter, used for subsequent encryption and data aggregation. This represents an outordered increasing sequence.
[0064]
[0065] In step S103, the plaintext data is encrypted to obtain ciphertext data, and the ciphertext data is uploaded to the cloud server.
[0066] For example, each client encodes data. Obtain by encryption , Represents the encrypted ciphertext; g is a public key generator used for encryption. For plaintext data, the input value to be encrypted is given by r (a random number used to enhance ciphertext security) and n (the public key modulus, equal to the product of two large prime numbers p and q). The range of modulo operations is used to limit the size of the calculation result.
[0067]
[0068] Each client will transmit encrypted data Uploaded to cloud server S.
[0069] In step S104, the aggregated ciphertext data sent by the cloud server is obtained, and the aggregated ciphertext data is decrypted to obtain aggregated plaintext data.
[0070] For example, each client decrypts the aggregation result to obtain... , It is the aggregated plaintext data, and the result after decryption. Lagrange function, calculation .
[0071]
[0072] In step S105, the aggregated plaintext data is decoded using a super-incrementing sequence to obtain multidimensional aggregated data.
[0073] For example, each client uses a super-increasing sequence to pair the data. Decode to obtain , The specific decoding is shown in Algorithm 1:
[0074]
[0075] In step S106, the multidimensional aggregated data is permuted to obtain an intersection Bloom filter.
[0076] For example, each client determines the data set based on the decoding data set. , Set up a Bloom filter The specific algorithm is as shown in Algorithm 2:
[0077]
[0078] In step S107, the intersection Bloom filter is queried to obtain the intersection of the local data.
[0079] For example, each client obtains a Bloom filter. The client uses the local dataset ID to query the filter to obtain the intersection between the client datasets.
[0080] It should be noted that although the steps of the method in this disclosure are described in a specific order in the accompanying drawings, this does not require or imply that these steps must be performed in that specific order, or that all the steps shown must be performed to achieve the desired result. Additional or alternative steps may be omitted, multiple steps may be combined into one step, and / or a step may be broken down into multiple steps. Furthermore, it is readily understood that these steps may be executed synchronously or asynchronously, for example, in multiple modules / processes / threads.
[0081] Furthermore, this example implementation also provides a method for outsourcing privacy computation of the intersection of multi-party datasets. (See reference...) Figure 3As shown, the method may include the following steps:
[0082] Step S201: Obtain the encrypted data uploaded by all clients;
[0083] Step S202: Aggregate all the ciphertext data to obtain aggregated ciphertext data.
[0084] For example, the cloud server aggregates the encrypted data from each client to obtain:
[0085]
[0086]
[0087]
[0088] Each client will aggregate the password arts Returned to each client.
[0089] In one embodiment, privacy-preserving data mapping and permutation based on Bloom filters is employed. A set of hash functions is used to map the data ID set to a Bloom filter, and a permutation is used to generate an inverse Bloom filter, ensuring data privacy while improving data processing efficiency. The permutation method of the inverse Bloom filter further enhances the ability to obfuscate data patterns, avoiding the direct exposure of implicit data characteristics.
[0090] In one embodiment, a super-increasing sequence encoding and decoding mechanism is employed. A super-increasing sequence is used to encode a Bloom filter, mapping multidimensional data to a single scalar for efficient data packaging and processing. Leveraging the unique properties of super-increasing sequences, the aggregated multidimensional data is decoded to accurately recover the original data dimensions and content.
[0091] In one embodiment, data encryption and decryption are based on homomorphic encryption. Homomorphic encryption techniques (such as Paillier encryption) are applied to achieve secure aggregation of data uploaded by various clients without decryption. Public-private key pairing ensures the security of encrypted data and allows clients to decrypt the aggregation result to recover the data content.
[0092] In one embodiment, a secure aggregation process is implemented between the client and the cloud server. The collaborative workflow between the client and the cloud server is designed to allow each client to upload encrypted data. The cloud server only performs the aggregation operation on the encrypted data and does not need to access the plaintext data. The cloud server returns the aggregated ciphertext to the client, and each client decrypts it to recover the aggregation result for subsequent processing, preventing the leakage of private data in the cloud.
[0093] In one embodiment, an intersection Bloom filter is generated based on the decoded data. After the client decodes the aggregated data, an intersection Bloom filter is constructed through logical judgment to achieve privacy-preserving computation of the set intersection. An algorithm design for generating the Bloom filter intersection is proposed to ensure the efficiency and accuracy of the intersection computation.
[0094] In one embodiment, privacy-preserving computation intersections involving multiple parties are supported. The solution supports collaborative computation among multiple clients, combining super-incrementing sequences and homomorphic encryption to achieve data intersection computations without relying on a trusted third party. The data intersection computation is scalable, suitable for multi-client scenarios, and capable of handling privacy-preserving computation needs for large-scale data.
[0095] In one embodiment, a privacy protection mechanism resistant to reverse reasoning is employed. The encoding, encryption, permutation, and intersection calculation processes of data all utilize a distributed design to prevent any single party or cloud entity from obtaining private data through reverse reasoning.
[0096] In one embodiment, differential privacy is enhanced in the results. During the intersection result output stage, the output results are perturbed using a differential privacy mechanism to further improve privacy protection capabilities.
[0097] In one specific embodiment, this application offers enhanced privacy protection. By combining Bloom filters, inverse Bloom filters, and homomorphic encryption, this invention avoids plaintext transmission and direct computation throughout the entire data processing process, ensuring that client data exists only in encrypted form on the cloud server, effectively preventing privacy leaks.
[0098] This application supports efficient collaboration among multiple parties. By combining super-incremental sequence encoding and homomorphic encryption, this invention enables collaborative data intersection calculation among multiple clients without the need for a trusted third party, making it suitable for multi-party scenarios and possessing good scalability.
[0099] This application achieves a balance between coding efficiency and computational accuracy. By utilizing a super-incrementing sequence coding mechanism, the data from the Bloom filter is mapped to a single scalar, greatly simplifying the data aggregation and transmission process. At the same time, it can accurately reconstruct multidimensional data through decoding, ensuring computational accuracy.
[0100] This application offers lower computational and communication overhead. Through efficient data representation using Bloom filters and encoding compression of super-incrementing sequences, this invention significantly reduces the amount of data transmitted between the client and the cloud server, lowering communication costs. Simultaneously, the aggregation properties of homomorphic encryption greatly optimize computational overhead in the cloud.
[0101] This application enhances security against reverse reasoning. By employing Bloom filter substitution, homomorphic encryption, and logical inversion operations, this invention introduces additional obfuscation protection measures at each stage of data processing, preventing intermediate data from being reverse-reasoned and further improving security.
[0102] This application demonstrates its versatility and adaptability to various scenarios. The invention employs a Bloom filter as the underlying data structure, exhibiting excellent versatility and allowing for flexible application in diverse scenarios such as large-scale dataset intersection calculations, data matching, and sharing.
[0103] This application presents an innovative design for efficient set intersection calculation. Through inverse Bloom filter substitution and logical flipping operations, this invention can accurately label intersection results and reduce interference from spurious positives, thereby improving the accuracy of intersection calculation.
[0104] By outsourcing privacy-preserving computation of the intersection of multi-party datasets as described above, a block-based computation method for multi-party intersections is proposed. This method segments the data and combines it with dynamic load balancing technology to improve computational efficiency while ensuring privacy and security. It achieves secure multi-party data computation without the participation of a trusted third party, enhancing the system's decentralization capabilities. The integration of differential privacy technology and a secret-sharing mechanism not only guarantees the privacy and security of the computation process but also prevents attackers from inferring the original data from the output results. It can dynamically adapt to changes in the number of parties and supports distributed deployment and expansion in heterogeneous environments, demonstrating strong practicality. The introduction of compression transmission and data encoding optimization strategies significantly reduces data transmission volume and communication rounds, improving the utilization efficiency of network resources.
[0105] Regarding the apparatus in the above embodiments, the specific manner in which each module performs its operation has been described in detail in the embodiments related to the method, and will not be elaborated upon here.
[0106] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to embodiments of this disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units. Components shown as modules or 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 modules can be selected to achieve the purpose of this disclosure according to actual needs. Those skilled in the art can understand and implement this without any inventive effort.
[0107] In exemplary embodiments of this disclosure, a computer-readable storage medium is also provided, having stored thereon a computer program that, when executed by a processor, can implement the steps of the method for compiling the intersection of outsourced privacy computations of multi-party datasets as described in any of the above embodiments. In some possible implementations, various aspects of the invention can also be implemented as a program product comprising program code that, when run on a terminal device, causes the terminal device to perform the steps described in the above-described method for compiling the intersection of outsourced privacy computations of multi-party datasets according to various exemplary embodiments of the invention.
[0108] refer to Figure 4 As shown, a program product 300 for implementing the above-described method according to an embodiment of the present invention is described. It may employ a portable compact disc read-only memory (CD-ROM) and include program code, and may run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited thereto. In this document, the readable storage medium may be any tangible medium containing or storing a program that may be used by or in conjunction with an instruction execution system, apparatus, or device.
[0109] The program product may employ any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: electrical connections having one or more wires, portable disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0110] The computer-readable storage medium may include data signals propagated in baseband or as part of a carrier wave, carrying readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. The readable storage medium may also be any readable medium other than a readable storage medium, capable of transmitting, propagating, or transmitting programs for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the readable storage medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.
[0111] Program code for performing the operations of this invention can be written in any combination of one or more programming languages, including object-oriented programming languages such as Java and C++, and conventional procedural programming languages such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0112] In exemplary embodiments of this disclosure, an electronic device is also provided, which may include a processor and a memory for storing executable instructions of the processor. The processor is configured to perform the steps of the method for compiling the intersection of outsourced privacy computations of multi-party datasets as described in any of the above embodiments by executing the executable instructions.
[0113] Those skilled in the art will understand that various aspects of the present invention can be implemented as systems, methods, or program products. Therefore, various aspects of the present invention can be specifically implemented in the following forms: entirely in hardware, entirely in software (including firmware, microcode, etc.), or in a combination of hardware and software, collectively referred to herein as “circuit,” “module,” or “system.”
[0114] The following reference Figure 5 To describe an electronic device 600 according to this embodiment of the present invention. Figure 5 The electronic device 600 shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of the present invention.
[0115] like Figure 5 As shown, the electronic device 600 is presented in the form of a general-purpose computing device. The components of the electronic device 600 may include, but are not limited to: at least one processing unit 610, at least one storage unit 620, a bus 630 connecting different system components (including storage unit 620 and processing unit 610), a display unit 640, etc.
[0116] The storage unit stores program code that can be executed by the processing unit 610, causing the processing unit 610 to perform the steps described in the above-described method for outsourcing privacy computation intersection of multi-party datasets according to various exemplary embodiments of the present invention. For example, the processing unit 610 can perform, as follows: Figure 1 The steps are shown in the figure.
[0117] The storage unit 620 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM) 6201 and / or a cache storage unit 6202, and may further include a read-only memory unit (ROM) 6203.
[0118] The storage unit 620 may also include a program / utility 6204 having a set (at least one) program module 6205, such program module 6205 including but not limited to: an operating system, one or more application programs, other program modules and program data, each or some combination of these examples may include an implementation of a network environment.
[0119] Bus 630 can represent one or more of several types of bus structures, including a memory cell bus or memory cell controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local bus using any of the various bus structures.
[0120] Electronic device 600 can also communicate with one or more external devices 700 (e.g., keyboard, pointing device, Bluetooth device, etc.), and with one or more devices that enable a user to interact with electronic device 600, and / or with any device that enables electronic device 600 to communicate with one or more other computing devices (e.g., router, modem, etc.). This communication can be performed via input / output (I / O) interface 650. Furthermore, electronic device 600 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 660. Network adapter 660 can communicate with other modules of electronic device 600 via bus 630. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with electronic device 600, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0121] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, or network device, etc.) to execute the method for outsourcing privacy computation intersection of multi-party datasets according to the embodiments of this disclosure.
[0122] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the appended claims.
Claims
1. A method for outsourcing privacy computation of the intersection of multi-party datasets, characterized in that, The method includes: Step S101: Use multiple hash functions to map the local data ID set to the Bloom filter set, and invert the Bloom filter set to obtain the inverse Bloom filter; Specifically, this includes: each client containing its own dataset, and a trusted third party generating a public-private key pair. ( ) The key center sets the security parameters to Select the modulus , and It is a large prime number; the key center selects the generator. ;in, =1 , The public key private key ; Trusted third party generates super-increasing sequences ,in, Wherein, for any k (1 < k ≤ n), the following condition is satisfied: k is the index of the current dimension, and n is the total length of the sequence. This constraint is used to reserve a safe gap between each dimension to prevent carry overflow when multiple data are homomorphically accumulated. A trusted third party will share public and private keys. ( ) and super-increasing sequences Distributed to each client, each client uses the public key. Encrypt the data using a private key. The data is decrypted; each client uses a super-incrementing sequence to encode and decode the multidimensional data. Local client i will use data Each hash function maps the local data ID set to a Bloom filter. ,in, It is a Bloom filter built by client i. It is a Bloom filter A bit array containing k positions; The local client inverts the Bloom filter to obtain the inverse Bloom filter. , The reverse Bloom filter representing the client. It is the bit array of the inverse Bloom filter; Step S102: Encode the inverse Bloom filter using a super-incrementing sequence to obtain plaintext data; Specifically, this includes: each client's use of Bloom filters. Obtain by encoding : in, It is the encoding result of client i. It is the unique numerical value that represents the state of the inverse Bloom filter, and is used for subsequent encryption and data aggregation; Represents an out-of-order increasing sequence: Step S103: Encrypt the plaintext data to obtain ciphertext data, and upload the ciphertext data to the cloud server; Specifically, this includes: each client's encoding data Obtain by encryption : in, Represents the encrypted ciphertext; g is a public key generator used for encryption. The plaintext data is represented by r; r is a random number used to enhance ciphertext security; N is the public key modulus, where N equals the product of two large prime numbers p and q. The range of modulo operations is used to limit the size of the calculation result; Each client will transmit encrypted data Uploaded to cloud server S; Step S104: Obtain the aggregated ciphertext data sent by the cloud server, and decrypt the aggregated ciphertext data to obtain the aggregated plaintext data; Specifically, this includes: each client decrypting the aggregation result to obtain the aggregated plaintext data. : in, It is a Lagrange function; Step S105: Decode the aggregated plaintext data using a super-incrementing sequence to obtain multidimensional aggregated data; Specifically, this includes: each client using super-incremental sequence pairs for data. Decode to obtain , ,make Decrementing from j=k to 1, perform the following calculations sequentially: If j > 1, calculate... And calculate the aggregate value for the current dimension. If j = 1, calculate This yields aggregated data across various dimensions. , }; Step S106: Permutate the multidimensional aggregated data to obtain an intersection Bloom filter; Specifically, this includes: each client based on the decoded data set , Aggregated data for the j-th dimension :like If the result is greater than 0, then the intersection Bloom filter will be used. The corresponding position is 0; if = 0, then the intersection Bloom filter will be used. The corresponding position is 1; thus, the intersection Bloom filter is obtained. Set up a Bloom filter ; Step S107: Query the intersection Bloom filter to obtain the intersection of the local data; Specifically, this includes: each client obtaining a Bloom filter. The client uses the local dataset ID to query the filter to obtain the intersection between the client datasets, that is, the intersection of the local data.
2. 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 steps of the method for outsourcing privacy computation of the intersection of multi-party datasets as described in any one of claims 1.
3. An electronic device, characterized in that, include: processor; and memory for storing the executable instructions of the processor; The processor is configured to perform the steps of the method for outsourcing privacy computation intersection of a multi-party dataset according to any one of claims 1 by executing the executable instructions.