A multi-party privacy set intersection method, apparatus, device and medium
By combining the methods of packaged secret sharing and Bloom filters, the communication performance and security of the multi-party privacy set intersection protocol are optimized, ensuring that each participant can obtain the intersection result. This solves the problem of high computational and communication overhead in the prior art and realizes information theory-secure intersection computation.
Patent Information
- Application Number
- CN202411786776.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-06
- Publication Date
- 2026-02-10
- Estimated Expiration
- 2044-12-06
AI Technical Summary
Existing multi-party privacy set intersection protocols based on Bloom filters and unintentional transmission suffer from high computational and communication overhead, poor scalability, and insufficient security, failing to ensure that all participants receive the intersection result equally.
By employing a packet-based secret sharing technique combined with a Bloom filter, random bits and their shares are generated in the offline phase, and data mapping and intersection calculation are performed in the online phase to optimize communication performance and ensure information security.
It enables each participant to obtain the intersection result equally, reduces computation and communication overhead, improves the scalability of the protocol, and has information theory security.
Smart Images

Figure CN119519968B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of computer, in particular to a multi-party private set intersection method, device, equipment and medium. BACKGROUND
[0002] Private Set Intersection (PSI) refers to two or more participants holding their own data sets without mutual trust, to calculate the intersection of all sets without revealing any information other than the intersection. Multi-Party PSI (MPSI) is compared with two parties, and the performance of the protocol is related to the number of participants and the size of the input set. The implementation of MPSI is mainly divided into programmable oblivious pseudo-random function plus zero sharing, special encoding plus threshold homomorphic encryption, BF (Bloom Filter) plus Oblivious Transfer (OT).
[0003] The existing MPSI protocol based on BF and OT has the following problems: (1) the number of OT calls increases exponentially with the number of participants and the size of the data set. OT technology is mainly based on public key cryptography calculation, which has great calculation and communication overhead in actual practice, and poor scalability; (2) the existing protocol only supports the leader to obtain the intersection result, and the leader simply forwards the result to each party, which is a meaningless operation method; (3) the BF and OT based scheme is based on mathematical difficult problems, and does not have information theoretic security. Therefore, the above technical problems need to be solved by the technical personnel in the field. SUMMARY
[0004] Therefore, the purpose of the present application is to provide a multi-party private set intersection method, device, equipment and medium, which can optimize the performance of online communication, so that each participant can equally obtain the intersection result, and has information theoretic security. The specific scheme is as follows:
[0005] In a first aspect, the present application discloses a multi-party private set intersection method, comprising:
[0006] In the offline phase, for each participant, a first number of random bits are generated, and a first share of the random bits and a second share of the XOR operation result of the random bits are generated based on secret sharing, and the first share and the second share are sent to each participant;
[0007] In the online stage, a data set of each of the participants is determined, and each of the data sets of the participants is mapped to a Bloom filter of each of the participants based on a plurality of predetermined hash functions, to obtain a first array of each of the participants; the size of the first array is the first number;
[0008] For each of the participants, the first share or the second share is determined as a target share of each of the participants according to a relationship between the random bit and the first array, and each of the target shares of each of the participants is added, to obtain a second array of each of the participants;
[0009] The second array of each of the participants is randomized to obtain a processed array of each of the participants, and the processed array of any target number of the participants is shared to each of the participants, so that each of the participants reconstructs a corresponding third array;
[0010] For each of the participants, an intersection element is determined based on the data set and the third array.
[0011] Optionally, for each of the participants, the first share or the second share is determined as a target share of each of the participants according to a relationship between the random bit and the first array, comprising:
[0012] For each of the participants, if the random bit is the same as an array element at a corresponding position in the first array, the second share is determined as a target share of each of the participants;
[0013] For each of the participants, if the random bit is different from an array element at a corresponding position in the first array, the first share is determined as a target share of each of the participants.
[0014] Optionally, the second array of each of the participants is randomized, comprising:
[0015] A random value of each of the participants and the second array of each of the participants are multiplied to realize the randomization of the second array of each of the participants.
[0016] Optionally, the method for multiple-party private set intersection further comprises:
[0017] In the offline stage, the first number of random variables is generated;
[0018] For each of the random variables, a third share of the random variable is generated based on the secret sharing, and the third share is sent to each of the participants, so that each of the participants obtains the random value according to the received third share.
[0019] Optionally, the target number is n-q+1, n is the number of participants, and q is the number of secrets packed into one share.
[0020] Optionally, for each of the participants, the intersection element is determined based on the data set and the third array, including:
[0021] For each of the participants, each data in the data set is traversed, and the data is operated based on the plurality of hash functions to obtain a plurality of hash values;
[0022] A plurality of subscript positions are determined based on the plurality of hash values, and the intersection element is determined based on an array element corresponding to the subscript position in the third array.
[0023] Optionally, the intersection element is determined based on the array element corresponding to the subscript position in the third array, including:
[0024] It is judged whether the array elements corresponding to each of the subscript positions in the third array are all 0;
[0025] If the array elements corresponding to each of the subscript positions are all 0, the data is determined as the intersection element.
[0026] In a second aspect, the present application discloses a multi-party private set intersection device, including:
[0027] A random bit sharing module is configured to, in an offline stage, for each participant, generate a first number of random bits, generate a first share of the random bits and a second share of an exclusive or operation result of the random bits based on secret sharing, and send the first share and the second share to each of the participants;
[0028] A Bloom filter mapping module is configured to, in an online stage, determine a data set of each of the participants, and map the data set of each of the participants to a Bloom filter of each of the participants based on a plurality of hash functions determined in advance to obtain a first array of each of the participants; the size of the first array is the first number.
[0029] a target share accumulation module configured to determine, for each of the participants, the first share or the second share as a target share of each of the participants according to the relationship between the random bit and the first array, and to add each of the target shares of each of the participants to obtain a second array of each of the participants;
[0030] a randomization and reconstruction module configured to perform randomization processing on the second array of each of the participants to obtain a processed array of each of the participants, and to share the processed array of any target number of the participants to each of the participants so as to reconstruct a corresponding third array by each of the participants;
[0031] an intersection element determination module configured to determine, for each of the participants, an intersection element based on the data set and the third array.
[0032] In a third aspect, the present application discloses an electronic device, comprising:
[0033] a memory configured to save a computer program;
[0034] a processor configured to execute the computer program to implement the multi-party privacy set intersection method disclosed above.
[0035] In a fourth aspect, the present application discloses a computer readable storage medium configured to save a computer program; wherein the computer program is executed by a processor to implement the multi-party privacy set intersection method disclosed above.
[0036] It can be seen that the application discloses a multi-party private set intersection method, which comprises the following steps of: in an offline stage, for each participant, generating a first number of random bits, generating a first share of the random bits and a second share of an exclusive or operation result of the random bits based on secret sharing, and sending the first share and the second share to each participant; in an online stage, determining a data set of each participant, and mapping the data set of each participant to a Bloom filter of each participant based on a plurality of predetermined hash functions to obtain a first array of each participant; the size of the first array is the first number; for each participant, determining the first share or the second share as a target share of each participant according to the relationship between the random bit and the first array, and adding each target share of each participant to obtain a second array of each participant; performing randomization processing on the second array of each participant to obtain a processed array of each participant, and sharing the processed array of any target number of participants to each participant, so that each participant reconstructs a corresponding third array; for each participant, determining an intersection element based on the data set and the third array. It can be seen that, compared with the OT technology, the additive operation and the multiplicative operation of the packed secret sharing are relatively simple, and the offline-online paradigm is adopted in the application, a part of the operation is processed in the offline stage, and the online communication performance is optimized. Further, the application can efficiently share a plurality of secrets at one time, and the operation of each participant in the secret distribution, secret reconstruction, homomorphic addition and multiplication calculation process is equal for each secret sharing party, that is, each participant in the application can equally obtain the intersection result. Further, compared with the OT technology based on the mathematical difficult problem, the packed secret sharing has information theory security, and therefore the whole process of the application is information theory security. BRIEF DESCRIPTION OF DRAWINGS
[0037] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings needed to be used in the embodiments or the prior art description. Obviously, the drawings in the following description only constitute the embodiments of the present application, and for those skilled in the art, other drawings can also be obtained without creative labor based on the provided drawings.
[0038] Figure 1 A flow chart of a multi-party private set intersection method disclosed by the application is disclosed.
[0039] Figure 2 A Bloom filter structure diagram is disclosed.
[0040] Figure 3 A packed secret sharing diagram is disclosed.
[0041] Figure 4 A multi-party privacy set intersection device structure schematic diagram disclosed by the present application is shown in the figure;
[0042] Figure 5 An electronic device structure diagram disclosed by the present application is shown in the figure. DETAILED DESCRIPTION
[0043] The technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings of the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by a person of ordinary skill in the art without creative labor fall within the protection scope of the present application.
[0044] The existing MPSI protocol based on BF and OT has the following problems: (1) the number of OT calls increases exponentially with the number of participants and the size of the data set, OT technology is mainly based on public key cryptography calculation, which has great calculation and communication overhead in actual practice, and has poor scalability; (2) the existing protocol only supports the leader to obtain the intersection result, and the leader simply forwards the result to each party, which is a meaningless operation method; (3) the scheme based on BF and OT is based on mathematical difficult problems, and does not have information-theoretic security, therefore, the above technical problems are urgent to be solved by the person skilled in the art.
[0045] Therefore, the embodiments of the present application propose a multi-party privacy set intersection scheme, which optimizes the online communication performance, so that each participant can obtain the intersection result equally, and has information-theoretic security.
[0046] The embodiments of the present application disclose a multi-party privacy set intersection method, as shown in the figure, Figure 1 , which comprises:
[0047] Step S11: In the offline stage, for each participant, a first number of random bits are generated, a first share of the random bits is generated based on secret sharing and a second share of the exclusive or operation result of the random bits is generated, and the first share and the second share are sent to each participant.
[0048] Figure 2 A Bloom filter structure schematic diagram is disclosed, as shown in the figure, Figure 2 The Bloom filter (BF) is a compact data structure for storing a set S, which is a bit array with m entries, each bit is initialized to 0, and the Bloom filter is associated with k random hash functions, wherein , an element is inserted into the BF, and the index The bits at the indices are set to 1, and when querying an element, if all the bits at the indices in the BF are 1, then x is a member of the set S, denotes the i-th element of the BF of the set S.
[0049] Figure 3 A packed secret sharing scheme is disclosed, as shown in Figure 3 Packed Shamir’s Secret Sharing (Packed-SSS) allows efficient sharing of multiple secrets simultaneously. Assume that q is the number of secrets packed into one share, and n is the number of participants. There is a secret vector and a secret sharing There is a polynomial of degree where , ; , Each participant holds a corresponding share Reconstruction of a Packed-SSS of degree requires shares, and secret reconstruction can be achieved by Lagrange interpolation.
[0050] In the offline phase, for each participant, a first number (m) of random bits are generated, where each , and a first share of the random bits and a second share of the XOR operation result of the random bits are generated based on the secret sharing, and the first share and the second share are sent to each participant, where .
[0051] Further, in the offline phase, a first number of random variables, i.e. are generated. For each random variable, a third share of the random variable is generated based on the secret sharing, and the third share is sent to each of the participants, so that each of the participants obtains a random value from the received third share, which will be used in the subsequent.
[0052] Step S12: In the online phase, determine the data set of each of the participants, and map the data set of each of the participants to the Bloom filter of each of the participants based on a plurality of predetermined hash functions, to obtain a first array of each of the participants; the size of the first array is the first number.
[0053] In the online phase, all participants P agree on k hash functions, i.e. h1,...,hk:{0,1}*→zm, in advance. Based on the k hash functions, each participant Pi's dataset is mapped to each participant's Bloom filter, resulting in each participant's first array, whose size is m.
[0054] Step S13: For each participant, determine the first share or the second share as the target share of each participant according to the relationship between the random bit and the first array. Add each target share of each participant to obtain each participant's second array.
[0055] In this embodiment, for each participant Pi, if the random bit is the same as the array element at the corresponding position in the first array, i.e. , the second share is determined as the target share of each participant. For each participant, if the random bit is different from the array element at the corresponding position in the first array, , the first share is determined as the target share of each participant. Finally, each participant P v shares the determined Bloom filter held to , , , represents the XOR operation.
[0056] Further, add each target share of each participant to obtain each participant's second array, i.e. , For a given index j, if each is equal to 1, the participant holding the cumulative BF shares the share with the position element "0", and in other cases holds the share "≤n".
[0057] Step S14: Randomize each participant's second array to obtain the processed array of each participant, and share the processed array of any target number of participants to each participant, so that each participant reconstructs the corresponding third array.
[0058] In this embodiment, multiply each participant's random value with each participant's second array to achieve randomization of each participant's second array, resulting in , each participant's random value is obtained based on the foregoing steps in the offline phase.
[0059] Furthermore, the processed arrays of the n-q+1 participants are shared among the participants, so that each participant can reconstruct the corresponding third array, i.e. , where n is the number of participants and q is the number of secrets packaged into a shared pool.
[0060] Step S15: For each participant, determine the intersection element based on the dataset and the third array.
[0061] In this embodiment, for each of the aforementioned participants Iterate through each data point in the dataset. , The data is processed by the multiple hash functions to obtain multiple hash values. Multiple index positions are determined based on the multiple hash values. The intersection element is determined based on the array elements corresponding to the index positions in the third array. Furthermore, it is determined whether the array elements corresponding to each index position in the third array are all 0. If the array elements corresponding to each index position are all 0, the data is determined as the intersection element.
[0062] In summary, this application proposes an MPSI method based on BF and Packed-SSS technologies, addressing the principles and security requirements of MPSI. The core idea of the MPSI method is... Safely calculate the cumulative BF (sum over multiple Bloom filters), i.e. ,in, Represents a set BF (non-standard defined BF, protocol operation has BF variant). Share with other parties Then calculate the sum of all shares held as The share. Finally. Refactoring Through inspection Are the elements in To obtain the intersection. That is, for Each element of the input If the inspection is in middle, If all entries at the index are 0, then Belongs to the intersection of elements. To ensure that non-intersection elements are included... The entries corresponding to the indexes in the table are random values, introducing random sharing pairs. Masking is performed. Therefore, the ultimate goal of the scheme is to compute the randomized cumulative BF, i.e. ,in, It is a random vector.
[0063] The MPSI method of the present application is constructed by replacing OT with Packed-SSS technology in the existing MPSI protocol of BF and OT, and has good scalability with the number of participants and the size of the data set under semi-honest security. The protocol is constructed by combining BF and Packed-SSS technology, and the offline preprocessing paradigm is introduced to optimize the communication performance in the online phase and improve the overall performance of the MSPI method. Compared with Shamir secret sharing, the Packed-SSS technology can efficiently share multiple secrets at a time, and the operation of each secret sharing party is equal. Based on the simple and efficient and information-theoretic security characteristics of the Packed-SSS technology, the MPSI method proposed in the present application has high performance, and each participant can equally obtain the intersection result, and the whole process of the method is information-theoretically secure.
[0064] It can be seen that the present application discloses a multi-party private set intersection method, comprising: in the offline phase, for each participant, generating a first number of random bits, and generating a first share of the random bits and a second share of the exclusive or operation result of the random bits based on secret sharing, and sending the first share and the second share to each participant; in the online phase, determining the data set of each participant, and mapping the data set of each participant to the Bloom filter of each participant based on a plurality of predetermined hash functions to obtain a first array of each participant; the size of the first array is the first number; for each participant, determining the first share or the second share as the target share of each participant according to the relationship between the random bit and the first array, and adding each target share of each participant to obtain a second array of each participant; performing randomization processing on the second array of each participant to obtain a processed array of each participant, and sharing the processed array of any target number of participants to each participant, so that each participant reconstructs a corresponding third array; for each participant, determining the intersection elements based on the data set and the third array. As can be seen from the above, the packed secret sharing is simpler in addition and multiplication operations than the OT technology, and the offline-online paradigm is adopted in the present application to process a part of the operation in the offline phase, thereby optimizing the online communication performance. Further, the present application can efficiently share multiple secrets at a time, and the operation of each secret sharing party is equal in the secret distribution, secret reconstruction, homomorphic addition and multiplication calculation process, that is, each participant in the present application can equally obtain the intersection result. Further, compared with the OT technology based on mathematical difficult problems, the packed secret sharing has information-theoretic security, so the whole process of the present application is information-theoretically secure.
[0065] Correspondingly, the present application also discloses a multi-party private set intersection device, as shown inFigure 4 The device comprises:
[0066] a random bit sharing module 11, configured to, in an offline stage, generate, for each participant, a first number of random bits, and generate, based on secret sharing, a first share of the random bits and a second share of an exclusive or operation result of the random bits, and send the first share and the second share to each participant;
[0067] a Bloom filter mapping module 12, configured to, in an online stage, determine a data set of each participant, and map the data set of each participant to a Bloom filter of each participant based on a plurality of predetermined hash functions, to obtain a first array of each participant; the first array has the first number of elements;
[0068] a target share accumulation module 13, configured to, for each participant, determine, according to a relationship between the random bits and the first array, whether the first share or the second share is the target share of each participant, and add each target share of each participant to obtain a second array of each participant;
[0069] a randomization and reconstruction module 14, configured to perform randomization processing on the second array of each participant to obtain a processed array of each participant, and share the processed array of any target number of participants to each participant, so that each participant reconstructs a corresponding third array;
[0070] an intersection element determination module 15, configured to, for each participant, determine an intersection element based on the data set and the third array.
[0071] Wherein, the more specific working process of each module can refer to the corresponding content disclosed in the foregoing embodiments, which will not be repeated here.
[0072] It can be seen that the application discloses a multi-party private set intersection method, which comprises the following steps: in an offline stage, for each participant, a first number of random bits are generated, a first share of the random bits is generated based on secret sharing, a second share of an exclusive or operation result of the random bits is generated, and the first share and the second share are sent to each participant; in an online stage, a data set of each participant is determined, and each data set of each participant is mapped to a Bloom filter of each participant based on a plurality of predetermined hash functions, so that a first array of each participant is obtained; the size of the first array is the first number; for each participant, the first share or the second share is determined as a target share of each participant according to the relationship between the random bit and the first array, and each target share of each participant is added, so that a second array of each participant is obtained; the second array of each participant is randomized to obtain a processed array of each participant, and the processed array of any target number of participants is shared to each participant, so that each participant can reconstruct a corresponding third array; for each participant, an intersection element is determined based on the data set and the third array. As can be seen, compared with the OT technology, the additive operation and the multiplicative operation of the packed secret sharing are relatively simple, and the offline-online paradigm is adopted in the application, so that a part of the operation is processed in the offline stage, and the online communication performance is optimized. Further, the application can efficiently share a plurality of secrets at one time, and the operation of each participant is equal in the secret distribution, the secret reconstruction, the homomorphic addition and the homomorphic multiplication calculation process, that is, each participant in the application can equally obtain the intersection result. Further, compared with the OT technology based on the mathematical difficult problem, the packed secret sharing has the security in the information theory, and therefore the whole process of the application is information-theoretically secure.
[0073] Further, the embodiment of the application further provides an electronic device. Figure 5 The electronic device 20 structure diagram shown in accordance with an exemplary embodiment, the content in the figure cannot be considered as any limitation on the scope of use of the application.
[0074] Figure 5 The electronic device 20 structure diagram provided by the embodiment of the application. The electronic device 20, specifically can include: at least one processor 21, at least one memory 22, display screen 23, input and output interface 24, communication interface 25, power supply 26 and communication bus 27. Wherein, the memory 22 is used for storing computer program, the computer program is loaded and executed by the processor 21, to realize the related steps in the multi-party private set intersection method disclosed by any preceding embodiment. In addition, the electronic device 20 in the embodiment specifically can be electronic computer.
[0075] In this embodiment, the power supply 26 is configured to provide operating voltage for each hardware device on the electronic device 20; the communication interface 25 is configured to create a data transmission channel between the electronic device 20 and external devices, and the communication protocol followed by the communication interface 25 can be any communication protocol applicable to the technical solution of the present application, which will not be limited herein; the input / output interface 24 is configured to obtain external input data or output data to the outside, and the specific interface type can be selected according to the specific application requirements, which will not be limited herein.
[0076] In addition, the memory 22 as a carrier for storing resources can be a read-only memory, a random access memory, a magnetic disk or an optical disk, etc., and the resources stored thereon can include a computer program 221, and the storage mode can be temporary storage or permanent storage. In addition to the computer program 221 capable of being used to complete the multi-party private set intersection method executed by the electronic device 20 disclosed in any of the foregoing embodiments, the computer program 221 can further include a computer program capable of being used to complete other specific work.
[0077] Further, the present application further discloses a computer readable storage medium for storing a computer program; wherein the computer program is executed by a processor to implement the multi-party private set intersection method disclosed above.
[0078] The specific steps of the method can refer to the corresponding content disclosed in the foregoing embodiments, which will not be repeated here.
[0079] The embodiments in the present application are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts of each embodiment can be referred to each other. For the device disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple, and the relevant parts can be referred to the method part.
[0080] The skilled person can further realize that the units and algorithm steps of the examples described in combination with the embodiments disclosed herein can be realized in electronic hardware, computer software or a combination of the two. In order to clearly show the interchangeability of hardware and software, the components and steps of each example have been described in the above description. Whether the functions are realized in hardware or software depends on the specific application and design constraints of the technical solution. The skilled person can use different methods to realize the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.
[0081] The steps of a method or algorithm described in connection with the embodiments disclosed herein can be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module can reside in RAM, flash memory, ROM, electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. The storage medium can be coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium can be integral to the processor. The processor and the storage medium can reside in an ASIC.
[0082] Finally, it should be noted that, in the description above, relative terms such as first and second, etc. are merely used to distinguish one entity or operation from another, without necessarily requiring or implying any such actual relationship or order between such entities or operations. Also, the terms "comprises", "comprising", or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but can include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without limitation, an element preceded by "comprises... a" does not, without more constraints, foreclose the existence of additional identical elements in the process, method, article, or apparatus that comprises the element.
[0083] The above provides a kind of multi-party privacy set intersection method, device, equipment, storage medium provided in the application, principle and implementation mode of the application are described in this paper, the above example is only for helping to understand the method and its core idea of the application;For the general technical personnel in the art, according to the idea of the application, there will be changes in specific implementation mode and application range, and the above description of the specification should not be understood as the limitation of the application.
Claims
1. A method for finding the intersection of multiple privacy sets, characterized in that, include: During the offline phase, for each participant, a first number of random bits are generated, and a first share of the random bits and a second share of the XOR operation result of the random bits are generated based on secret sharing. The first share and the second share are then sent to each participant. During the online phase, the dataset of each participant is determined, and the dataset of each participant is mapped to the Bloom filter of each participant based on a plurality of pre-determined hash functions to obtain a first array of each participant; the size of the first array is the first quantity; For each participant, the first share or the second share is determined as the target share of each participant based on the relationship between the random bits and the first array, and the target shares of each participant are added together to obtain the second array of each participant. The second array of each participant is randomized to obtain the processed array of each participant, and the processed arrays of any target number of participants are shared to each participant so that each participant can reconstruct the corresponding third array. For each of the aforementioned participants, the intersection element is determined based on the dataset and the third array.
2. The method for finding the intersection of multi-party privacy sets according to claim 1, characterized in that, For each participant, determining the first share or the second share as the target share for each participant based on the relationship between the random bits and the first array includes: For each of the participants, if the random bit is the same as the array element at the corresponding position in the first array, then the second share is determined as the target share of each participant. For each participant, if the random bit is different from the corresponding array element in the first array, then the first share is determined as the target share for each participant.
3. The method for finding the intersection of multi-party privacy sets according to claim 1, characterized in that, The randomization process for the second array of each participant includes: The random value of each participant is multiplied by the second array of each participant to randomize the second array of each participant.
4. The method for finding the intersection of multi-party privacy sets according to claim 3, characterized in that, Also includes: During the offline phase, the first number of random variables are generated; For each of the random variables, a third share of the random variable is generated based on the secret sharing, and the third share is sent to each of the participating parties so that each of the participating parties obtains the random value based on the received third share.
5. The method for finding the intersection of multi-party privacy sets according to claim 1, characterized in that, The target quantity is n-q+1, where n is the number of participants and q is the number of secrets packaged into a shared object.
6. The method for finding the intersection of multi-party privacy sets according to claim 1, characterized in that, For each participant, determining the intersection element based on the dataset and the third array includes: For each of the aforementioned participants, each piece of data in the dataset is traversed, and the data is processed based on the plurality of hash functions to obtain a plurality of hash values; Multiple index positions are determined based on the multiple hash values, and the intersection element is determined based on the array elements corresponding to the index positions in the third array.
7. The method for finding the intersection of multi-party privacy sets according to claim 6, characterized in that, Determining the intersection element based on the array element corresponding to the index position in the third array includes: Determine whether all array elements at each index position in the third array are 0; If all array elements corresponding to the specified index positions are 0, then the data is determined as the intersection element.
8. A multi-party privacy set intersection device, characterized in that, include: The random bit sharing module is used to generate a first number of random bits for each participant during the offline phase, and generate a first share of the random bits and a second share of the XOR operation result of the random bits based on secret sharing, and send the first share and the second share to each participant. The Bloom filter mapping module is used to determine the dataset of each participant during the online phase, and map the dataset of each participant to the Bloom filter of each participant based on a plurality of predetermined hash functions, to obtain a first array of each participant; the size of the first array is the first quantity; The target share accumulation module is used to determine, for each participant, the first share or the second share as the target share of each participant based on the relationship between the random bits and the first array, and to add up the target shares of each participant to obtain the second array of each participant. The randomization and reconstruction module is used to randomize the second array of each participant to obtain the processed array of each participant, and to share the processed arrays of any target number of participants to each participant so that each participant can reconstruct the corresponding third array. The intersection element determination module is used to determine the intersection element for each of the participants based on the dataset and the third array.
9. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor for executing the computer program to implement the multi-party privacy set intersection method as described in any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, Used to store computer programs; wherein, when the computer programs are executed by a processor, they implement the multi-party privacy set intersection method as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Multi-party privacy set intersection method for resisting malicious enemies
CN110719159A
Implementation method and system of security comparison protocol based on copy secret sharing
CN117118602A