Privacy-preserving set intersection method, system, device and product
Patent Information
- Application Number
- CN202310023482.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-01-06
- Publication Date
- 2026-09-08
- Estimated Expiration
- 2043-01-06
AI Technical Summary
[0003]但是,目前的隐私保护集合求交技术无法针对数据方和计算方分开的情况求交,所以以往的隐私集合求交方案无法使用
[0032] Additional aspects and advantages of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention.
Smart Images

Figure CN118312969B_ABST
Abstract
Description
Technical Field
[0001] This application generally relates to the field of data security technology, and specifically to a method, system, device, and product for finding intersections of privacy-preserving sets. Background Technology
[0002] With the rapid development of the internet, a privacy-preserving set intersection technique has emerged. This technique enables the computation of the intersection of sets. Privacy set intersection is a cryptographic technique in secure multi-party computation, allowing participating parties to obtain the intersection of their data without obtaining additional information from each other. This technique has significant application value and is widely used in areas such as data sharing, advertising conversion rates, and contact discovery.
[0003] However, current privacy-preserving set intersection techniques cannot find intersections when the data provider and the computer are separate, so previous privacy-preserving set intersection schemes cannot be used. Summary of the Invention
[0004] In view of the above-mentioned defects or deficiencies in the prior art, it is desirable to provide a privacy-preserving set intersection method, system, device and product.
[0005] On the one hand, this application provides a method for finding the intersection of privacy-preserving sets, wherein the privacy-preserving sets include mutually isolated data receivers and data senders, including:
[0006] The first matrix data is sent to the computing node of the data receiver, and the array data is sent to the computing node of the data sender. The first matrix data is generated based on a preset rule, and the array data is generated based on the set elements of the data sender.
[0007] The computing nodes of the data receiver and the data sender generate the second matrix data based on batch random transmission.
[0008] An index array is generated when the hash function values of the first matrix and the second matrix are equal. The index array is determined based on the index values when the hash function values of the first matrix and the second matrix are equal.
[0009] The data sending node and the data receiving node obtain the intersection element based on the index array.
[0010] Preferably, before sending the first matrix data to the computing node of the data receiver and the array data to the computing node of the data sender, wherein the first matrix data is generated based on a preset rule and the array data is generated based on a preset sorting rule and pseudo-random encoding, the method further includes:
[0011] The data node of the data sender and the data node of the data receiver respectively broadcast the size of the data set.
[0012] Furthermore, the step of sending the first matrix data to the computing node of the data receiver and the array data to the computing node of the data sender, wherein the first matrix data is generated based on a preset rule and the array data is generated based on the set elements of the data sender, further includes:
[0013] The encryption algorithm and encryption key are sent to the data node of the data sender, and the encryption algorithm and encryption key are generated by the data node of the data receiver.
[0014] Preferably, the step of sending the first matrix data to the computing node of the data receiver and sending the array data to the computing node of the data sender, wherein the matrix data is generated based on a preset rule and the array data is generated based on a preset sorting rule and pseudo-random encoding, further includes:
[0015] The elements of the set are sorted using a cuckoo algorithm to generate the first array;
[0016] The first array is pseudo-randomly encoded to generate the second array;
[0017] Generate array data based on the first array and the second array.
[0018] Secondly, this application provides a privacy-preserving set intersection system, including:
[0019] The sending module is used to send first matrix data to the computing node of the data receiver and to send array data to the computing node of the data sender. The first matrix data is generated based on preset rules, and the array data is generated based on the set elements of the data sender.
[0020] A generation module is used by the computing nodes of the data receiver and the computing nodes of the data sender to generate a second matrix data based on batch random transmission.
[0021] A determining module is used to generate an index array when the hash function values of the first matrix and the second matrix are equal, wherein the index array is determined based on the index values when the hash function values of the first matrix and the second matrix are equal;
[0022] The acquisition module is used for the data sending data node and the data receiving data node to obtain the intersection element based on the index array.
[0023] Furthermore, prior to the sending module, the following is also included:
[0024] The broadcast module is used by the data nodes of the data sender and the data nodes of the data receiver to broadcast the size of the data set, respectively.
[0025] Preferably, the sending module is further configured to:
[0026] The elements of the set are sorted using a cuckoo algorithm to generate the first array;
[0027] The first array is pseudo-randomly encoded to generate the second array;
[0028] Generate array data based on the first array and the second array.
[0029] Thirdly, this application provides an electronic device, including a processor and a memory, wherein the memory stores at least one instruction, at least one program, code set, or instruction set, and the instruction, program, code set, or instruction set is loaded and executed by the processor to implement the above-mentioned privacy-preserving set intersection method.
[0030] Fourthly, this application provides a non-transitory computer-readable storage medium, characterized in that, when the instructions in the storage medium are executed by the processor of a mobile terminal, the mobile terminal is able to execute the above-mentioned privacy-preserving set intersection method.
[0031] Fifthly, this application provides a computer program product in which, when the instructions in the computer program product are executed by the processor of a mobile terminal, the mobile terminal is able to execute to implement the above-mentioned privacy-preserving set intersection method.
[0032] Additional aspects and advantages of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention.
[0033] The technical solutions provided by the embodiments of this disclosure may include the following beneficial effects: the privacy-preserving set intersection method of this application solves the problem of failure of privacy-preserving set intersection due to data isolation in the prior art, thereby successfully performing intersection calculation processing.
[0034] 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
[0035] Other features, objects, and advantages of this application will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings:
[0036] Figure 1 A flowchart illustrating a privacy-preserving set intersection method provided for embodiments of this application;
[0037] Figure 2 A flowchart of another privacy-preserving set intersection method provided for embodiments of this application;
[0038] Figure 3 A structural block diagram of a privacy-preserving set intersection system provided for embodiments of this application;
[0039] Figure 4 This is an internal structural diagram of an electronic device provided as an embodiment of this application. Detailed Implementation
[0040] The present application will now be described in further detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and not intended to limit it. Furthermore, it should be noted that, for ease of description, only the parts relevant to the invention are shown in the accompanying drawings.
[0041] It should be noted that, unless otherwise specified, the embodiments and features described in this application can be combined with each other. This application will now be described in detail with reference to the accompanying drawings and embodiments.
[0042] This solution can be applied to the field of data security technology. This application embodiment is illustrated using a privacy-preserving set intersection method.
[0043] Privacy-Preserving Set Intersection (PSI) is a specific problem in the field of secure multicast computation, possessing significant theoretical importance and strong practical value. For example, PSI methods are commonly used to calculate online advertising conversion rates, protecting user data held by participating parties. Typically, user data viewing an ad is held by the advertiser, while user data purchasing the advertised product is held by the merchant. Through PSI calculation, the advertiser and merchant can calculate their intersection while ensuring that user data remains hidden from each other, thus calculating the conversion rate. Typical PSI schemes involve both the data provider and the computer operating on the same node. However, some implementations utilize boundary devices such as network gateways to isolate data between the internal and external networks, with the data node on the internal network and the compute node on the external network.
[0044] Please see details. Figure 1 This application provides a method for finding the intersection of a privacy-preserving set, wherein the privacy-preserving set includes mutually isolated data receivers and data senders, including:
[0045] S101, the first matrix data is sent to the computing node of the data receiver, and the array data is sent to the computing node of the data sender. The first matrix data is generated based on a preset rule, and the array data is generated based on the set elements of the data sender.
[0046] Specifically, the data nodes of the data receiver sort the set of data to obtain (r1,...,r m At this point, the data node at the data receiver generates a random bit matrix T and calculates the matrix Uu. i =t i ⊕C(r i ), and T.shape = U.shape = (m,k), where k is a security parameter, usually set to 128, C is a pseudo-random code, and u i and t i These are the i-th rows of matrices U and T, respectively, where 1 <= i <= m. The data receiving node transmits matrices T and U to the computing node of R; that is, the first matrix data consists of matrices T and U. Furthermore, array data is generated based on each set element of the data sending node.
[0047] In some embodiments, before sending the first matrix data to the computing node of the data receiver, and sending the array data to the computing node of the data sender, wherein the first matrix data is generated based on a preset rule, and the array data is generated based on a preset sorting rule and pseudo-random encoding, the method further includes:
[0048] The data node of the data sender and the data node of the data receiver respectively broadcast the size of the data set.
[0049] Specifically, the data nodes of the data receiver and the data sender broadcast the size of their respective sets, and the two sets are compared, with the larger set being designated as m1.
[0050] In some embodiments, the step of sending the first matrix data to the computing node of the data receiver and sending the array data to the computing node of the data sender, wherein the first matrix data is generated based on a preset rule and the array data is generated based on the set elements of the data sender, further includes:
[0051] The encryption algorithm and encryption key are sent to the data node of the data sender, and the encryption algorithm and encryption key are generated by the data node of the data receiver.
[0052] Specifically, the data receiving node generates an encryption algorithm E and an encryption key, and simultaneously generates a decryption key. The data receiving node then sends the generated encryption algorithm E and encryption key to the data sending node. After sorting, the data receiving nodes obtain (o1,...,o...). m Based on encryption algorithm E and encryption key pairs (o1,...,o). mEncrypt the data to obtain (r1,...,r) m ).
[0053] In some embodiments, the step of sending the first matrix data to the computing node of the data receiver and sending the array data to the computing node of the data sender, wherein the first matrix data is generated based on a preset rule and the array data is generated based on a preset sorting rule and pseudo-random encoding, further includes:
[0054] The elements of the set are sorted using a cuckoo algorithm to generate the first array;
[0055] The first array is pseudo-randomly encoded to generate the second array;
[0056] Generate array data based on the first array and the second array.
[0057] Specifically, the data node sending the data performs three Cuckoo Sort operations on each set element y to obtain corresponding values p1, p2, and p3, generating an array H, which is the first data set. The data node also encrypts and calculates a pseudo-random code C(E(y)) for each set element y, generating an array C, which is the second array. The first and second arrays are combined to generate a new array, which is a combination of array C and array H. The data node sending the data sends H and C to the computation node of S.
[0058] S102, the computing node of the data receiver and the computing node of the data sender generate the second matrix data based on batch random transmission.
[0059] Specifically, the computing node of the data receiver generates a mask, which is then used in conjunction with matrices T and U to obtain matrices T' and U'. The computing node of the data sender generates a selection bit string, denoted as s, s = (s1,...,s...). k The computing nodes of the data receiver and the data sender perform batch random transmission, so that the computing node of the data sender obtains the second matrix data, namely matrix Q.
[0060] S103, when the hash function values of the first matrix and the second matrix are equal, an index array is generated, and the index array is determined based on the index value when the hash function values of the first matrix and the second matrix are equal.
[0061] Specifically, the computing node of the data sender calculates H(Q) p ⊕(C(E(y))·s)), where Q p Let H represent the p-th row of matrix Q, and H be a hash function. The sending node will compute the result H(Q).p ⊕(C(E(y))·s)) is sent to the computing node of the data receiver. The computing node of the data receiver calculates H(t). i ), where 1 <= i <= m, t i Represents the i-th row of matrix T; the computation nodes of the data receiver compare H(Q) p ⊕(C(E(y))·s)) and H(t) i When two values are equal, their corresponding index values are recorded. This results in two index arrays, a and b.
[0062] S104, the data sending node and the data receiving node obtain the intersection element based on the index array.
[0063] Specifically, the data receiver's compute node sends index array 'a' to its data node and index array 'b' to the data sender's compute node. The data sender's compute node then sends index array 'b' to its data node. The data receiver's data node retrieves the intersection element based on index array 'a'; the data sender's data node retrieves the intersection element based on index array 'b'.
[0064] according to Figure 2 To illustrate, the computation node of R calculates H(t) for its own matrix T. i ), 1 <= i <= m, t i Let R represent the i-th row of matrix T, and R be the Receiver, i.e., the data receiver. The computation nodes of S calculate H(Q). p ⊕(C(E(y))·s)), where Q p Let H(t) represent the p-th row of matrix Q, and S be the sender, i.e., the data sender. i )=H(Q p If ⊕(C(E(y))·s)), then the two have an intersection element r. i The following explains that this equation holds true when the elements on both sides are equal. After batch-OT (Batch Oblivious Transfer) is performed between the computation nodes of R and S, the computation node of S obtains matrix Q, which, according to the properties of batch-OT, can be denoted as:
[0065]
[0066] Among them, Q j , t j These are the j-th columns of matrices Q and T, respectively.
[0067] C(r i )=(ri 1 ,r i 2 ,…,r i k ). s j These are the selection bits of the computing node sending the data, s j ∈{s1,...,s k Equation (1) can be simplified as:
[0068] Q j =t j ⊕(s j ·r j ),1≤j≤k (2).
[0069] From equation (2), we can deduce that Q i =t i ⊕(s·C(r i ), 1≤i≤m. That is, t i =Q i ⊕(s·C(r i ),1≤i≤m
[0070] If the data node S holds element y and the data node R holds element r... i If they are equal, then according to the properties of pseudo-random coding, C(E(y)) = C(r) i ), Q i ⊕(s·C(E(y)))=Q i ⊕(s·C(r i ))=t i ,1≤i≤m, and thus H(t) i )=H(Q i ⊕(s·C(E(y)))). Therefore, by comparing the sets, we can find the intersection.
[0071] In summary, the privacy-preserving set intersection method provided in this application solves the problem of the failure of privacy-preserving set intersection due to data isolation in the prior art, thereby enabling successful intersection calculation.
[0072] Further reference Figure 3 It illustrates a privacy-preserving set intersection system 200 according to this application, including a sending module 210, a generating module 220, a determining module 230, and an obtaining module 240:
[0073] The sending module 210 is used to send first matrix data to the computing node of the data receiver and to send array data to the computing node of the data sender. The first matrix data is generated based on a preset rule, and the array data is generated based on the set elements of the data sender.
[0074] The generation module 220 is used by the computing nodes of the data receiver and the computing nodes of the data sender to generate second matrix data based on batch random transmission.
[0075] The determining module 230 is used to generate an index array when the hash function values of the first matrix and the second matrix are equal, wherein the index array is determined based on the index values when the hash function values of the first matrix and the second matrix are equal;
[0076] The acquisition module 240 is used for the data sending data node and the data receiving data node to obtain the intersection element based on the index array.
[0077] In some embodiments, prior to the sending module, the following is also included:
[0078] The broadcast module is used by the data nodes of the data sender and the data nodes of the data receiver to broadcast the size of the data set, respectively.
[0079] In some embodiments, the sending module is further configured to:
[0080] The elements of the set are sorted using a cuckoo algorithm to generate the first array;
[0081] The first array is pseudo-randomly encoded to generate the second array;
[0082] Generate array data based on the first array and the second array.
[0083] The privacy-preserving set intersection system of this application solves the problem of the failure of privacy-preserving set intersection due to data isolation in the prior art, thus enabling successful intersection calculation.
[0084] The division of modules or units mentioned in the detailed description above is not mandatory. In fact, according to the 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.
[0085] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operational instructions of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two connected blocks may actually be executed substantially in parallel, or they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified functions or operational instructions, or using a combination of dedicated hardware and computer instructions. The above description is merely a preferred embodiment of this application and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of disclosure in this application is not limited to technical solutions formed by specific combinations of the above-mentioned technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-mentioned technical features or their equivalent features without departing from the aforementioned disclosed concept. For example, technical solutions formed by substituting the above-mentioned features with (but not limited to) technical features with similar functions disclosed in this application.
[0086] In one embodiment, an electronic device is provided, which may be a terminal, and its internal structure diagram may be as follows: Figure 4 As shown, the electronic device includes a processor, memory, communication interface, display screen, and input devices connected via a system bus. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The communication interface of the computer device is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, carrier networks, Near Field Communication (NFC), or other technologies. When the computer program is executed by the processor, it implements a method for predicting the vulnerability of security situational awareness assets. The display screen of the computer device can be an LCD screen or an e-ink screen. The input devices can be a touch layer covering the display screen, buttons, a trackball, or a touchpad mounted on the computer device casing, or an external keyboard, touchpad, or mouse.
[0087] Those skilled in the art will understand that Figure 4The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0088] In one embodiment, the security situation awareness asset vulnerability prediction device provided in this application can be implemented as a computer program, which can be implemented in the form of, for example, Figure 4 The device operates on the electronic device shown. The memory of the electronic device can store the various program modules that make up the security situation awareness asset vulnerability prediction device.
[0089] The electronic device's memory stores at least one instruction, at least one program, code set, or instruction set. The instruction, program, code set, or instruction set is loaded and executed by the processor to implement the privacy-preserving set intersection method according to any of the above embodiments. For example, implementing the privacy-preserving set intersection method includes: sending first matrix data to the computing node of the data receiver, and sending array data to the computing node of the data sender. The first matrix data is generated based on preset rules, and the array data is generated based on the set elements of the data sender. The computing nodes of the data receiver and the data sender generate second matrix data based on batch random transmission. When the hash function values of the first matrix and the second matrix are equal, an index array is generated. The index array is determined based on the index values when the hash function values of the first matrix and the second matrix are equal. The data sender's data node and the data receiver's data node obtain the intersection elements based on the index array.
[0090] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When executed by a processor, the computer program performs the following steps: sending first matrix data to a computing node of a data receiver, and sending array data to a computing node of a data sender, wherein the first matrix data is generated based on a preset rule, and the array data is generated based on the set elements of the data sender; the computing nodes of the data receiver and the data sender generate second matrix data based on batch random transmission; generating an index array when the hash function values of the first matrix and the second matrix are equal, wherein the index array is determined based on the index values when the hash function values of the first matrix and the second matrix are equal; and the data sender and the data receiver obtain the intersection element based on the index array.
[0091] In one embodiment, a computer program product is provided. When instructions in the computer program product are executed by a processor of a mobile terminal, the mobile terminal is enabled to perform the following steps: sending first matrix data to a computing node of a data receiver, and sending array data to a computing node of a data sender, wherein the first matrix data is generated based on a preset rule, and the array data is generated based on the set elements of the data sender; the computing nodes of the data receiver and the data sender generate second matrix data based on batch random transmission; generating an index array when the hash function values of the first matrix and the second matrix are equal, wherein the index array is determined based on the index values when the hash function values of the first matrix and the second matrix are equal; and the data sender data node and the data receiver data node obtain the intersection element based on the index array.
[0092] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the methods described above. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, or optical storage, etc. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static random access memory (SRAM) and dynamic random access memory (DRAM), etc.
[0093] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0094] The above embodiments merely illustrate several implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the invention patent. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this patent application should be determined by the appended claims.
Claims
1. A method for finding the intersection of privacy-preserving sets, characterized in that, The privacy-preserving set includes mutually isolated data receivers and data senders. The data receiver includes data nodes and computing nodes, and the data sender includes data nodes and computing nodes. The data nodes of the data receiver and the data sender are located on an intranet, while the computing nodes of the data receiver and the data sender are located on an extranet. The data nodes and computing nodes are isolated from each other via a boundary device. The method includes: S101, the first matrix data is sent to the computing node of the data receiver, and the array data is sent to the computing node of the data sender. The first matrix data is generated based on a preset rule, and the array data is generated based on the set elements of the data sender. Specifically, the data nodes at the data receiver sort the collected data to obtain... At this point, the data node at the data receiver generates a random bit matrix T and calculates matrix U. , and These are the first and second digits of matrix U and matrix T, respectively. OK, ;and T.shape = U.shape= ,in These are safety parameters. Set to 128, It is a pseudo-random encoding; the data node of the data receiver transmits matrix T and matrix U to the computing node of the data receiver, that is, the first matrix data is matrix T and matrix U; and, array data is generated based on each set element of the data node of the data sender. Before step S101, the method further includes: The data node of the data sender and the data node of the data receiver respectively broadcast the size of the data set; Step S101 further includes: The encryption algorithm and encryption key are sent to the data node of the data sender, and the encryption algorithm and encryption key are generated by the data node of the data receiver. Specifically, the data receiving node generates encryption algorithm E and encryption key, and also generates decryption key; the data receiving node sends the generated encryption algorithm E and encryption key to the data sending node; after sorting, the data receiving node obtains... Based on encryption algorithm E and encryption key pair Encrypt to obtain ; Step S101 further includes: The elements of the set are sorted using a cuckoo algorithm to generate the first array; The first array is pseudo-randomly encoded to generate the second array; Generate array data based on the first array and the second array; Specifically, the data node of the data sender handles each set element. Calculate the cuckoo bird order three times to obtain the corresponding values. Let the generated array be H, where array H is the first data; the data node of the data sender processes each set element. encrypt and compute its pseudo-random code Let the generated array be C, which is the second array; the first array and the second array are combined to generate array data, which is a combination of array C and array H; the data node of the data sender sends H and C to the computing node of the data sender; S102, the computing node of the data receiver and the computing node of the data sender generate the second matrix data based on batch random transmission; Specifically, the computing node at the data receiver generates a mask, which is then used in conjunction with matrices T and U to obtain matrices T' and U'; the computing node at the data sender generates a selection bit string, denoted as... The computing nodes of the data receiver and the data sender perform batch random transmission, so that the computing node of the data sender obtains the second matrix data, namely matrix Q. S103, when the hash function values of the first matrix and the second matrix are equal, an index array is generated, and the index array is determined based on the index value when the hash function values of the first matrix and the second matrix are equal; Specifically, the computing nodes of the data sender perform computations. ,in Representation matrix The OK, It is a hash function; the sender's computing node will use the result. The data is sent to the computing node of the data receiver; the computing node of the data receiver performs the computation. ,in, , Represents the first... Okay; Comparison of computing nodes at the data receiver and When two values are equal, their corresponding indices are recorded; this results in two index arrays. and ; S104, the data sending node and the data receiving node obtain the intersection element based on the index array; Specifically, the computing nodes of the data receiver will use an index array. The data node sent to the data receiver will send an index array. The data is sent to the computing node of the data sender; the computing node of the data sender will index the data. Data is sent to the data node of the data sender; the data node of the data receiver uses the index array. Obtain the intersection elements; the data nodes of the data sender obtain the intersection elements based on the index array. , to obtain the intersection elements.
2. A privacy-preserving set intersection system, characterized in that, The privacy protection set includes mutually isolated data receivers and data senders. The data receiver includes data nodes and computing nodes, and the data sender includes data nodes and computing nodes. The data nodes of the data receiver and the data nodes of the data sender are located on an intranet, and the computing nodes of the data receiver and the computing nodes of the data sender are located on an extranet. The data nodes and the computing nodes are isolated from each other by a boundary device. The system is used to execute the privacy-preserving set intersection method as described in claim 1.
3. An electronic device, characterized in that, It includes a processor and a memory, wherein the memory stores at least one instruction, at least one program, code set, or instruction set, and the instruction, program, code set, or instruction set is loaded and executed by the processor to implement the privacy-preserving set intersection method according to claim 1.
4. A non-transitory computer-readable storage medium, characterized in that, When the instructions in the storage medium are executed by the processor of the mobile terminal, the mobile terminal is able to execute the privacy-preserving set intersection method according to claim 1.
5. A computer program product, characterized in that, When the instructions in the computer program product are executed by the processor of the mobile terminal, the mobile terminal is able to execute the privacy-preserving set intersection method according to claim 1.
Citation Information
Patent Citations
Privacy set intersection method and system
CN114401080A