A secure non-interactive comparison method and device for finding intersection of multiple sets

Through the combination of the cuckoo hash function and linear homomorphic hash function, combined with the trusted third-party random number generation and 2-choice 1 inadvertent transmission technology, a non-interactive comparison method for interchange of multi-party privacy sets is realized, and the problems of low application efficiency and poor universality in the existing technology are solved, and efficient and secure data comparison is achieved.

CN119519933BActive Publication Date: 2025-04-11HARBIN INSTITUTE OF TECHNOLOGY (SHENZHEN) (INSTITUTE OF SCIENCE AND TECHNOLOGY INNOVATION HARBIN INSTITUTE OF TECHNOLOGY SHENZHEN)
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510053253.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-01-14
Publication Date
2025-04-11
Estimated Expiration
2045-01-14

AI Technical Summary

Technical Problem

The existing multi-party privacy set interception method has shortcomings in application efficiency and versatility, especially in multiple communication structures and data sharing scenarios, it is difficult to achieve efficient and secure data comparison.

Method used

The cuckoo hash function is used for offline data storage, a linear homomorphic hash function is constructed, and a random number set is generated by a trusted third party, and calculated based on 2-choice 1 inadvertent transmission to obtain a shared value set, and finally a non-interactive comparison is performed based on the communication protocol and the shared value set.

Benefits of technology

Comparison results are obtained through one-way data transmission, addition operations and homomorphic operations, which greatly reduces the calculation amount and realizes efficient and secure multi-party collection interchange non-interactive comparison, which is suitable for the delivery needs of multiple advertising scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119519933B_ABST
    Figure CN119519933B_ABST
Patent Text Reader

Abstract

The present invention provides a secure non-interactive comparison method and device for multi-party set intersection, and relates to the technical field of privacy set intersection comparison methods. The method includes: collecting data from software services of multiple service providers; determining the communication structure and multi-party information exchange requirements according to the advertising scene delivery requirements; using the cuckoo hash function for offline data storage to obtain a multi-party hash table; constructing a linear homomorphic hash function based on the multi-party hash table; generating a random number set offline through a trusted third party; using a 2-choose-1 oblivious transmission based on the multi-party hash table to calculate and obtain a shared value set; based on the communication protocol, the random number set, the linear homomorphic hash function and the shared value set, performing a non-interactive comparison according to the multi-party hash table to obtain the intersection of advertising delivery shared data. The present invention is a non-interactive comparison method with high non-interactive processing efficiency and strong versatility.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of privacy set intersection comparison methods, and in particular to a secure multi-party set intersection non-interactive comparison method and device. Background Art

[0002] With the advent of the big data era, data privacy protection has become a focus of public attention. In this field, the Private Set Intersection (PSI) technology plays a pivotal role. This technology allows two or more parties to jointly calculate the intersection of private sets without disclosing the non-intersecting parts of their respective input sets. In the context of the continuous strengthening of data privacy regulations, PSI technology is particularly important for maintaining personal privacy and ensuring data security. Through this technology, data can be effectively utilized and analyzed without leaking sensitive information, providing a strong technical support for data privacy protection.

[0003] In the data preprocessing stage of federated learning, PSI technology can be used to align data without leaking private data, which is crucial for protecting user privacy and applying federated learning on a large scale. The evaluation of advertising effectiveness is an important application scenario of PSI, such as advertising providers collecting users' clicks on certain online ads, and payment channel providers collecting users' use of their bank cards for financial transactions. In order to allow advertisers to calculate the number of successful transactions after users click on online ads, advertisers and payment channel providers implement data links based on common user identifiers (such as users' phone numbers). However, existing PSI methods require participants to conduct multiple rounds of interactions to complete data transmission and comparison; in order to ensure data privacy, element comparison requires very expensive cryptographic operations, which greatly reduces the efficiency of practical applications.

[0004] With the rapid development of new technologies such as the Internet and big data, the scale of private data sharing has expanded, and more and more distributed data requires multi-party collaborative processing, which has brought greater challenges to privacy protection technology. Multi-party private set intersection technology allows some or all participants to obtain the intersection of private sets without leaking sensitive information of non-intersection sets. However, simply reusing the previous two-party PSI method to solve the multi-party PSI problem is lacking in application efficiency and problem targeting. At present, some works have proposed targeted solutions for multi-party PSI, but these methods can only perform intersection operations on a specific communication structure, such as the star-shaped K-star structure, the ring-shaped O-ring structure, and the tree structure optimized for K-star. The cryptographic components of these methods are difficult to reuse.

[0005] In the prior art, there is a lack of a non-interactive comparison method with high non-interactive processing efficiency and strong versatility. Summary of the invention

[0006] In order to solve the technical problems of high implementation cost, low application efficiency and poor versatility in multiple application scenarios of the multi-party comparison method in the prior art, the embodiment of the present invention provides a secure multi-party set intersection non-interactive comparison method and device. The technical solution is as follows:

[0007] On the one hand, a secure non-interactive comparison method for finding intersection of multiple sets is provided, the method being implemented by a non-interactive comparison device, the method comprising:

[0008] Collect data on software services from multiple service providers to obtain multi-party data sets;

[0009] Obtaining advertising scene delivery requirements; determining a communication structure and multi-party information exchange requirements based on the advertising scene delivery requirements; and constructing a communication protocol based on the communication structure and multi-party information exchange requirements;

[0010] According to the multi-party data set, a cuckoo hash function is used for offline data storage to obtain a multi-party hash table and the number of elements in each bucket corresponding to the multi-party hash table; a linear homomorphic hash function is constructed according to the multi-party hash table;

[0011] Generate a random number set offline through a trusted third party according to the number of elements in each bucket corresponding to the multi-party hash table;

[0012] Based on the random number set and the multi-party information exchange requirements, according to the multi-party hash table, a sharing value set is obtained by using 2-choose-1 oblivious transfer for calculation;

[0013] Based on the communication protocol, the random number set, the linear homomorphic hash function and the shared value set, a non-interactive comparison is performed according to the multi-party hash table to obtain an intersection of advertising delivery shared data.

[0014] On the other hand, a secure non-interactive comparison device for multi-party set intersection is provided, and the device is applied to a secure non-interactive comparison method for multi-party set intersection, and the device comprises:

[0015] A multi-party data acquisition module is used to collect data from software services of multiple service providers to obtain multi-party data sets;

[0016] A communication protocol construction module is used to obtain advertising scene delivery requirements; determine the communication structure and multi-party information exchange requirements according to the advertising scene delivery requirements; and construct a communication protocol according to the communication structure and multi-party information exchange requirements;

[0017] A data offline storage module is used to use a cuckoo hash function to perform offline data storage according to the multi-party data set, obtain a multi-party hash table and the number of elements in each bucket corresponding to the multi-party hash table; and construct a linear homomorphic hash function according to the multi-party hash table;

[0018] A random number generation module, used to generate a random number set offline through a trusted third party according to the number of elements in each bucket corresponding to the multi-party hash table;

[0019] A sharing value calculation module, configured to obtain a sharing value set by performing calculation based on the random number set and the multi-party information exchange requirements and the multi-party hash table using oblivious transfer based on 2-choose-1;

[0020] The data online comparison module is used to perform non-interactive comparison according to the multi-party hash table based on the communication protocol, the random number set, the linear homomorphic hash function and the shared value set to obtain the intersection of advertising delivery shared data.

[0021] On the other hand, a non-interactive comparison device is provided, comprising: a processor; a memory, wherein the memory stores computer-readable instructions, and when the computer-readable instructions are executed by the processor, any one of the above-mentioned non-interactive comparison methods for secure multi-party set intersection is implemented.

[0022] On the other hand, a computer-readable storage medium is provided, wherein at least one instruction is stored in the storage medium, and the at least one instruction is loaded and executed by a processor to implement any one of the above-mentioned secure non-interactive comparison methods for multi-party set intersection.

[0023] The beneficial effects brought about by the technical solution provided by the embodiment of the present invention include at least:

[0024] The present invention proposes a secure non-interactive comparison method for multi-party set intersection, which obtains the comparison result through one-way data transmission, addition operation and homomorphic operation, greatly reducing the amount of calculation; a communication structure is constructed according to the advertising scene delivery requirements, and the online comparison protocol method of the component is expanded according to the communication structure to realize the non-interactive comparison method. The present invention is a non-interactive comparison method based on non-interactive processing with high efficiency and strong versatility. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0026] Figure 1 This is a flow chart of a secure non-interactive comparison method for finding intersection of multiple sets provided by an embodiment of the present invention;

[0027] Figure 2 It is a block diagram of a secure non-interactive comparison device for multi-party set intersection provided by an embodiment of the present invention;

[0028] Figure 3 It is a structural schematic diagram of a non-interactive comparison device provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0029] The technical solution of the present invention is described below in conjunction with the accompanying drawings.

[0030] In the embodiments of the present invention, words such as "exemplarily" and "for example" are used to indicate examples, illustrations or explanations. Any embodiment or design described as "example" in the present invention should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of the word "example" is intended to present the concept in a specific way. In addition, in the embodiments of the present invention, the meaning expressed by "and / or" can be both, or it can be either of the two.

[0031] In the embodiments of the present invention, "image" and "picture" can sometimes be used interchangeably. It should be noted that when the difference between them is not emphasized, the meanings they intend to express are the same. "of", "corresponding, relevant" and "corresponding" can sometimes be used interchangeably. It should be noted that when the difference between them is not emphasized, the meanings they intend to express are the same.

[0032] In the embodiments of the present invention, sometimes a subscript such as W1 may be written as a non-subscript such as W1. When the difference is not emphasized, the meanings to be expressed are the same.

[0033] In order to make the technical problems, technical solutions and advantages to be solved by the present invention more clear, a detailed description will be given below with reference to the accompanying drawings and specific embodiments.

[0034] The embodiment of the present invention provides a secure non-interactive comparison method for multi-party set intersection, which can be implemented by a non-interactive comparison device, which can be a terminal or a server. Figure 1 The flowchart of the non-interactive comparison method for secure multi-party set intersection is shown in FIG. 1 . The processing flow of the method may include the following steps:

[0035] S1. Collect data on software services from multiple service providers to obtain multi-party data sets.

[0036] In a feasible implementation, in the present invention, data is collected through software services provided by multiple service providers. Telecommunications operator data set have Data including user’s mobile phone number, product name, payment amount, etc.; Advertiser data set have The data includes user’s mobile phone number, advertisements served to the user, advertisements viewed by the user, etc.

[0037] S2. Obtain advertising scene delivery requirements; determine the communication structure and multi-party information exchange requirements based on the advertising scene delivery requirements; and construct a communication protocol based on the communication structure and multi-party information exchange requirements.

[0038] The communication structure includes a star communication structure, a ring communication structure or a path communication structure.

[0039] In a feasible implementation manner, in the present invention, a communication structure that meets the requirements can be constructed according to the delivery needs of the advertising scenario. The communication structure can be a star communication structure, a ring communication structure or a path communication structure. The method adopted by the present invention can flexibly construct a communication structure, which is conducive to the implementation of the solution.

[0040] Among them, the multi-party information exchange needs include the data exchange needs of communication operators, payment channel providers or advertising providers.

[0041] In a feasible implementation manner, in the present invention, the communication operator is responsible for sharing data; the payment channel provider shares data, receives data, or shares and receives data at the same time according to the actual needs of the solution; and the advertising provider is responsible for receiving data.

[0042] Among them, the communication protocols include communication protocols of communication operators, communication protocols of payment channel providers and communication protocols of advertising providers.

[0043] In a feasible implementation, when solving the "data island" problem, multiple service providers reach an agreement and decide to share data regularly. A directed graph is constructed according to the direction of authorized data transmission, and the protocol is implemented on each branch. All companies along the way can get the intersection results and achieve the effect of optimal communication and computing, so as to achieve more targeted advertising. This scenario can be constructed by a path communication structure, and each intermediate participant Each node can obtain the intersection of itself and all previous nodes, which is equivalent to continuously releasing the storage of mismatched data during path transmission, which can reduce the amount of communication and calculation.

[0044] Similarly, an advertising company needs to obtain data from other companies' databases and calculate the intersection, while ensuring that data cannot be shared between other participants. However, due to commercial restrictions, some companies that are the source of their demand data cannot communicate directly with the advertising company, but communicate with other companies that participate in data sharing. It is necessary to construct a directed graph according to the direction of data transmission, select a one-way acyclic shortest path with the advertising company as the end point and traverse all demand nodes. According to this protocol, the advertising company can get the final result without involving the leakage of intersection elements in the middle.

[0045] S3. Based on the multi-party data set, the cuckoo hash function is used for offline data storage to obtain the multi-party hash table and the number of elements in each bucket corresponding to the multi-party hash table; a linear homomorphic hash function is constructed based on the multi-party hash table.

[0046] Optionally, according to the multi-party data set, a cuckoo hash function is used for offline data storage to obtain a multi-party hash table and the number of elements in each bucket corresponding to the multi-party hash table, including:

[0047] Determine the range size according to the amount of data in the multi-party data set; determine the number of buckets in the multi-party hash table and the number of elements in each bucket of the multi-party hash table according to the range size;

[0048] Construct an initial multi-party hash table according to the number of buckets of the multi-party hash table and the number of elements in each bucket corresponding to the multi-party hash table;

[0049] Based on a preset constructed hash function, a location hash value set is generated for the data in the multi-party hash table;

[0050] Obtain the element suffix according to the number of buckets and the preset security parameters; Based on the position hash value set, the cuckoo hash function is used to calculate according to the element prefix and element suffix of the multi-party data set to obtain the position value set;

[0051] Generate a corresponding storage fingerprint according to the data of the multi-party data set; insert the storage fingerprint into an initial multi-party hash table based on the position value set to obtain the multi-party hash table.

[0052] In a feasible implementation, the communication operator has 3 data x1, x2, x3; the payment channel provider has 4 data y1, y2, y3, y4; the advertising provider has 3 data z1, z2, z3. According to the larger amount of data among the multiple parties, that is, the 4 data of the payment channel provider as the alternative value range size of the cuckoo hash function, the multiple parties use this to select three identical hash functions according to the random number generator based on uniform distribution The number of buckets of the two hash tables is determined based on the size of the alternative value range. , the number of elements that can be stored in each bucket of the payment channel provider . Combined with the range of elements stored in the bucket, determine the modulus of the linear homomorphic hash and the order of the cyclic group.

[0053] The communication operator uses the cuckoo hash function to map all data (that is, all common identifiers, such as a user's phone number) to a A hash table with buckets and only one element in each bucket, storing Fingerprint Or fill value (dummy). The communication operator calculates three position values ​​for each data ,in Refers to the element suffix, Refers to the element prefix. The length of the suffix is ​​determined by the security parameter and the number of buckets. Refers to the serial number used Cuckoo hash function. Insert the fingerprint of the element at any empty position , here is , here It is the selected hash function index. If all three positions are not empty, randomly select a position and reallocate the elements inside until there is no collision. This process can be completed a finite number of times with appropriate parameter settings. After all elements are calculated, fill the remaining empty buckets with dummy values.

[0054] For payment channel providers, the same three hash functions as communication operators are used to map all of their elements (i.e. all common identifiers, such as the user's phone number) to a buckets, each containing In a hash table of elements, the buckets are stored Fingerprint Or fill value (dummy). Specifically, for each element Calculate the 3 position values ​​and insert the element's fingerprint in all 3 positions , here is ,in is the selected hash function index. After all elements are calculated, the remaining empty buckets are filled with dummy values.

[0055] Telecommunications operators, payment channel providers, and advertising providers agree on the parameters of the linear homomorphic hash function to be used: the modulus of the modular operation, i.e. a large prime number And generators The order of Specifically, it is generally necessary to determine a larger prime number based on the larger number of elements in the two parties to avoid discrete logarithm attacks, and Sure To ensure that the generator The order of is exactly , need to be verified , and for any power of operation , both , mod represents the modulus operation. The form of the hash function is . Satisfies the linear homomorphism property , .

[0056] S4. Generate a set of random numbers offline through a trusted third party based on the number of elements in each bucket corresponding to the multi-party hash table.

[0057] In a feasible implementation, a trusted third party (Trusted Third Party, TTP) generates a random number and distributes the random number to communication operators, payment channel providers, and advertising providers through a trusted channel.

[0058] S5. Based on the random number set and the multi-party information exchange requirements, according to the multi-party hash table, use the 2-choice-1 oblivious transfer to calculate and obtain the shared value set.

[0059] Optionally, based on the random number set and the multi-party information exchange requirements, according to the multi-party hash table, the calculation is performed using the 2-choose-1 oblivious transfer to obtain a shared value set, including:

[0060] According to the information exchange needs of multiple parties, the random number set is divided to obtain the random numbers of communication operators, payment channel providers and advertising providers;

[0061] According to the information exchange requirements of multiple parties, the hash table of communication operators and the hash table of payment channel providers are obtained based on the hash tables of multiple parties;

[0062] Construct a first shared value according to the data stored in the hash table of the communication operator; calculate based on the data stored in the hash table of the communication operator and the random number of the communication operator using oblivious transmission based on 2-choices-1 to obtain a first candidate value;

[0063] The second shared value is calculated according to the payment channel provider's random number, the first shared value and the first candidate value; the second candidate value is calculated according to the data stored in the payment channel provider's hash table and the payment channel provider's random number using oblivious transmission based on 2-choice-1;

[0064] Based on the information exchange requirements of multiple parties, the third sharing value is obtained by calculation according to the random number of the advertisement provider, the first sharing value, the second sharing value and the second alternative value.

[0065] In a feasible implementation, in this step, a method based on 1 out of 2 Oblivious Transfer (1-oo-2 OT) is adopted, and the communication operator generates a first sharing value for each element in each bucket. , and by Construct a vector , by adjusting the vector The last digit of The sum is equal to , k is the vector bit sequence number. And through the communication operator random number Calculate the first candidate value of 1-oo-2 OT for each bit of the element in the bucket. The first candidate value includes , . Telecommunications operators will , , Send it to the payment channel provider, and the payment channel provider will send the payment channel provider random number Convert to binary selection value and through Provided by telecommunications operators , Receive the corresponding value , and calculate the second share value .

[0066] Based on the above steps, the third sharing value is calculated by the method based on 2-choose-1 oblivious transmission. , I will not go into details here.

[0067] S6. Based on the communication protocol, random number set, linear homomorphic hash function and shared value set, non-interactive comparison is performed according to the multi-party hash table to obtain the intersection of advertising sharing data.

[0068] Optionally, based on the communication protocol, the random number set, the linear homomorphic hash function and the shared value set, a non-interactive comparison is performed according to the multi-party hash table to obtain the intersection of the advertising delivery shared data, including:

[0069] According to the information exchange requirements of multiple parties, the hash table of communication operators, the hash table of payment channel providers and the hash table of advertising providers are obtained according to the hash table of multiple parties;

[0070] Based on the communication protocol, the random number set and the linear homomorphic hash function, the communication operator hash table and the first shared value are calculated to obtain the data in the first hash table and the first random number hash;

[0071] Based on the communication protocol, the random number set and the linear homomorphic hash function, the payment channel provider hash table, the data in the first hash table and the first random number hash are calculated to obtain the data in the second hash table and the second random number hash;

[0072] Based on the communication protocol, the random number set and the linear homomorphic hash function, the intersection of the advertisement delivery shared data is obtained by performing calculations according to the advertisement delivery provider hash table, the data in the second hash table and the second random number hash.

[0073] In a feasible implementation, the communication operator, the payment channel provider and the advertising provider respectively hold data X, Y, and Z obtained by providing commercial services, and the path communication direction is from the communication operator via the payment channel provider and finally reaches the advertising provider.

[0074] The communication operator calculates the data in the first hash table after the shared value is calculated , first random number hash , and and Sent to the payment channel provider.

[0075] The payment channel calculates the data in the second hash table after the shared value is calculated , and compare whether If the equation holds, the payment channel provider outputs "match", releases the space for unmatched data, and redefines the remaining elements in the set as The payment channel provider calculates the payment channel provider after the sharing value is calculated. , Second random number hash , and , Sent to the ad server.

[0076] Advertisers calculate the intersection of shared ad delivery data , and compare whether , if the equation holds, the ad server outputs “match”.

[0077] When the middle participants are only responsible for reliably transmitting data to the end point, and the end point performs the intersection calculation, the payment channel provider is only responsible for transmitting data X and Y to the advertising provider, and the payment channel provider cannot calculate the intersection between the communication operator and itself.

[0078] The communication operator calculates the data in the first hash table after the shared value is calculated , first random number hash , and and Sent to the payment channel provider.

[0079] The payment channel calculates the data in the second hash table after the shared value is calculated , the second random number hash , and and Sent to the ad server.

[0080] Advertisers calculate the intersection of shared ad delivery data , and compare whether , if the equation holds, the ad server outputs “match”.

[0081] The present invention proposes a secure non-interactive comparison method for multi-party set intersection, which obtains the comparison result through one-way data transmission, addition operation and homomorphic operation, greatly reducing the amount of calculation; a communication structure is constructed according to the advertising scene delivery requirements, and the online comparison protocol method of the component is expanded according to the communication structure to realize the non-interactive comparison method. The present invention is a non-interactive comparison method based on non-interactive processing with high efficiency and strong versatility.

[0082] Figure 2 The block diagram of a non-interactive comparison device for secure multi-party set intersection according to an exemplary embodiment is shown. The device is used in a non-interactive comparison method for secure multi-party set intersection. Figure 2 The device includes a multi-party data acquisition module 210, a communication protocol construction module 220, an offline data storage module 230, a random number generation module 240, a sharing value calculation module 250 and an online data comparison module 260. Among them:

[0083] The multi-party data acquisition module 210 is used to collect data on software services of multiple service providers to obtain a multi-party data set;

[0084] The communication protocol construction module 220 is used to obtain the advertising scene delivery requirements; determine the communication structure and multi-party information exchange requirements according to the advertising scene delivery requirements; and construct a communication protocol according to the communication structure and multi-party information exchange requirements;

[0085] The data offline storage module 230 is used to use the cuckoo hash function to perform offline data storage based on the multi-party data set, obtain the multi-party hash table and the number of elements in each bucket corresponding to the multi-party hash table; and construct a linear homomorphic hash function based on the multi-party hash table;

[0086] A random number generation module 240, for generating a set of random numbers offline through a trusted third party according to the number of elements in each bucket corresponding to the multi-party hash table;

[0087] A sharing value calculation module 250 is used to obtain a sharing value set based on a random number set and multi-party information exchange requirements and a multi-party hash table by using a 2-choose-1 oblivious transfer;

[0088] The data online comparison module 260 is used to perform non-interactive comparison according to the multi-party hash table based on the communication protocol, random number set, linear homomorphic hash function and shared value set to obtain the intersection of advertising sharing data.

[0089] The communication structure includes a star communication structure, a ring communication structure or a path communication structure.

[0090] Among them, the multi-party information exchange needs include the data exchange needs of communication operators, payment channel providers or advertising providers.

[0091] Among them, the communication protocols include communication protocols of communication operators, communication protocols of payment channel providers and communication protocols of advertising providers.

[0092] Optionally, the offline data storage module 230 is further used to:

[0093] Determine the range size according to the amount of data in the multi-party data set; determine the number of buckets in the multi-party hash table and the number of elements in each bucket of the multi-party hash table according to the range size;

[0094] Construct an initial multi-party hash table according to the number of buckets of the multi-party hash table and the number of elements in each bucket corresponding to the multi-party hash table;

[0095] Based on a preset constructed hash function, a location hash value set is generated for the data in the multi-party hash table;

[0096] Obtain the element suffix according to the number of buckets and the preset security parameters; Based on the position hash value set, the cuckoo hash function is used to calculate according to the element prefix and element suffix of the multi-party data set to obtain the position value set;

[0097] Generate a corresponding storage fingerprint according to the data of the multi-party data set; insert the storage fingerprint into an initial multi-party hash table based on the position value set to obtain the multi-party hash table.

[0098] Optionally, the share value calculation module 250 is further configured to:

[0099] According to the information exchange needs of multiple parties, the random number set is divided to obtain the random numbers of communication operators, payment channel providers and advertising providers;

[0100] According to the information exchange requirements of multiple parties, the hash table of communication operators and the hash table of payment channel providers are obtained based on the hash tables of multiple parties;

[0101] Construct a first shared value according to the data stored in the hash table of the communication operator; calculate the first candidate value by using the oblivious transmission based on 2-choose-1 according to the data stored in the hash table of the communication operator and the random number of the communication operator;

[0102] The second shared value is calculated according to the payment channel provider's random number, the first shared value and the first candidate value; the second candidate value is calculated according to the data stored in the payment channel provider's hash table and the payment channel provider's random number using oblivious transmission based on 2-choice-1;

[0103] Based on the information exchange requirements of multiple parties, the third sharing value is obtained by calculation according to the random number of the advertisement provider, the first sharing value, the second sharing value and the second alternative value.

[0104] Optionally, the data line comparison module 260 is further configured to:

[0105] According to the information exchange requirements of multiple parties, the hash table of communication operators, the hash table of payment channel providers and the hash table of advertising providers are obtained according to the hash table of multiple parties;

[0106] Based on the communication protocol, the random number set and the linear homomorphic hash function, the communication operator hash table and the first shared value are calculated to obtain the data in the first hash table and the first random number hash;

[0107] Based on the communication protocol, the random number set and the linear homomorphic hash function, the payment channel provider hash table, the data in the first hash table and the first random number hash are calculated to obtain the data in the second hash table and the second random number hash;

[0108] Based on the communication protocol, the random number set and the linear homomorphic hash function, the intersection of the advertisement delivery shared data is obtained by performing calculations according to the advertisement delivery provider hash table, the data in the second hash table and the second random number hash.

[0109] The present invention proposes a secure non-interactive comparison method for multi-party set intersection, which obtains the comparison result through one-way data transmission, addition operation and homomorphic operation, greatly reducing the amount of calculation; a communication structure is constructed according to the advertising scene delivery requirements, and the online comparison protocol method of the component is expanded according to the communication structure to realize the non-interactive comparison method. The present invention is a non-interactive comparison method based on non-interactive processing with high efficiency and strong versatility.

[0110] Figure 3 is a schematic diagram of the structure of a non-interactive comparison device provided by an embodiment of the present invention, such as Figure 3 As shown, the non-interactive comparison device may include the above Figure 2 The non-interactive comparison device for secure multi-party set intersection is shown. Optionally, the non-interactive comparison device 310 may include a first processor 2001.

[0111] Optionally, the non-interactive comparison device 310 may further include a memory 2002 and a transceiver 2003 .

[0112] The first processor 2001, the memory 2002 and the transceiver 2003 may be connected via a communication bus.

[0113] Combine the following Figure 3 The components of the non-interactive comparison device 310 are specifically introduced as follows:

[0114] The first processor 2001 is the control center of the non-interactive comparison device 310, and may be a processor or a general term for multiple processing elements. For example, the first processor 2001 is one or more central processing units (CPUs), or may be application specific integrated circuits (ASICs), or may be one or more integrated circuits configured to implement the embodiments of the present invention, such as one or more microprocessors (digital signal processors, DSPs), or one or more field programmable gate arrays (field programmable gate arrays, FPGAs).

[0115] Optionally, the first processor 2001 may perform various functions of the non-interactive comparison device 310 by running or executing a software program stored in the memory 2002 and calling data stored in the memory 2002 .

[0116] In a specific implementation, as an embodiment, the first processor 2001 may include one or more CPUs, such as Figure 3 CPU0 and CPU1 are shown in FIG.

[0117] In a specific implementation, as an embodiment, the non-interactive comparison device 310 may also include multiple processors, such as Figure 3 The first processor 2001 and the second processor 2004 are shown in FIG. Each of these processors may be a single-core processor (single-CPU) or a multi-core processor (multi-CPU). The processor here may refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).

[0118] The memory 2002 is used to store the software program for executing the solution of the present invention, and is controlled to be executed by the first processor 2001. The specific implementation method can refer to the above method embodiment, which will not be repeated here.

[0119] Optionally, the memory 2002 may be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 2002 may be integrated with the first processor 2001, or may exist independently and access the first processor 2001 through the interface circuit ( Figure 3 (not shown) is coupled to the first processor 2001, which is not specifically limited in this embodiment of the present invention.

[0120] The transceiver 2003 is used to communicate with a network device or a terminal device.

[0121] Optionally, the transceiver 2003 may include a receiver and a transmitter ( Figure 3 The receiver is used to implement a receiving function, and the transmitter is used to implement a sending function.

[0122] Optionally, the transceiver 2003 may be integrated with the first processor 2001, or may exist independently and communicate with the first processor 2001 through the interface circuit ( Figure 3 (not shown) is coupled to the first processor 2001, which is not specifically limited in this embodiment of the present invention.

[0123] It should be noted that Figure 3 The structure of the non-interactive comparison device 310 shown in the figure does not constitute a limitation on the router, and the actual knowledge structure recognition device may include more or less components than those shown in the figure, or combine certain components, or arrange the components differently.

[0124] In addition, the technical effects of the non-interactive comparison device 310 can refer to the technical effects of the secure non-interactive comparison method for multi-party set intersection described in the above method embodiment, which will not be repeated here.

[0125] It should be understood that the first processor 2001 in the embodiment of the present invention may be a central processing unit (CPU), and the processor may also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc.

[0126] It should also be understood that the memory in the embodiments of the present invention may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of random access memory (RAM) are available, such as static RAM (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link DRAM (SLDRAM), and direct rambus RAM (DR RAM).

[0127] The above embodiments can be implemented in whole or in part by software, hardware (such as circuits), firmware or any other combination. When implemented by software, the above embodiments can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions or computer programs. When the computer instructions or computer programs are loaded or executed on a computer, the process or function described in the embodiment of the present invention is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center by wired (such as infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that contains one or more available media sets. The available medium can be a magnetic medium (for example, a floppy disk, a hard disk, a tape), an optical medium (for example, a DVD), or a semiconductor medium. The semiconductor medium can be a solid-state hard disk.

[0128] It should be understood that the term "and / or" in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. A and B can be singular or plural. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship, but it may also indicate an "and / or" relationship. Please refer to the context for specific understanding.

[0129] In the present invention, "at least one" means one or more, and "plurality" means two or more. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.

[0130] It should be understood that in various embodiments of the present invention, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.

[0131] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.

[0132] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described equipment, devices and units can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0133] In the several embodiments provided by the present invention, it should be understood that the disclosed devices, apparatuses and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

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

[0135] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0136] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, and other media that can store program codes.

[0137] The above is only a specific embodiment of the present invention, but the protection scope of the present invention is not limited thereto. Any person skilled in the art can easily think of changes or substitutions within the technical scope disclosed by the present invention, which should be included in the protection scope of the present invention. Therefore, the protection scope of the present invention should be based on the protection scope of the claims.

Claims

1. A secure non-interactive comparison method for multi-party set intersection, characterized in that: The method comprises: Collect data on software services from multiple service providers to obtain multi-party data sets; Obtaining advertising scene delivery requirements; determining a communication structure and multi-party information exchange requirements based on the advertising scene delivery requirements; and constructing a communication protocol based on the communication structure and multi-party information exchange requirements; The multi-party information exchange requirements include the communication operator data exchange requirements, the payment channel provider data exchange requirements or the advertising provider data exchange requirements; According to the multi-party data set, a cuckoo hash function is used for offline data storage to obtain a multi-party hash table and the number of elements in each bucket corresponding to the multi-party hash table; a linear homomorphic hash function is constructed according to the multi-party hash table; Generate a random number set offline through a trusted third party according to the number of elements in each bucket corresponding to the multi-party hash table; Based on the random number set and the multi-party information exchange requirements, according to the multi-party hash table, a sharing value set is obtained by using 2-choose-1 oblivious transfer for calculation; Based on the communication protocol, the random number set, the linear homomorphic hash function and the shared value set, a non-interactive comparison is performed according to the multi-party hash table to obtain an intersection of advertising delivery shared data.

2. The secure non-interactive comparison method for multi-party set intersection according to claim 1, characterized in that: The communication structure includes a star communication structure, a ring communication structure or a path communication structure.

3. The secure non-interactive comparison method for multi-party set intersection according to claim 1, characterized in that: The communication protocols include communication protocols for communication operators, communication protocols for payment channel providers and communication protocols for advertising providers.

4. The secure non-interactive comparison method for multi-party set intersection according to claim 1, characterized in that: According to the multi-party data set, the cuckoo hash function is used to perform offline data storage to obtain a multi-party hash table and the number of elements in each bucket corresponding to the multi-party hash table, including: Determine a range size according to the amount of data in the multi-party data set; determine the number of buckets in the multi-party hash table and the number of elements in each bucket of the multi-party hash table according to the range size; Constructing an initial multi-party hash table according to the number of buckets of the multi-party hash table and the number of elements in each bucket corresponding to the multi-party hash table; Based on a preset constructed hash function, generating a set of position hash values ​​for the data in the multi-party hash table; Obtain an element suffix according to the number of buckets and a preset security parameter; based on the position hash value set, use a cuckoo hash function to calculate according to the element prefix of the multi-party data set and the element suffix to obtain a position value set; Generate a corresponding storage fingerprint according to the data of the multi-party data set; insert the storage fingerprint into the initial multi-party hash table based on the position value set to obtain the multi-party hash table.

5. The secure non-interactive comparison method for multi-party set intersection according to claim 1, characterized in that: The method of obtaining a set of shared values ​​based on the random number set and the multi-party information exchange requirements and the multi-party hash table by using oblivious transmission based on 2-out-of-1 is as follows: According to the multi-party information exchange requirements, the random number set is divided to obtain the communication operator random number, the payment channel provider random number and the advertising provider random number; According to the multi-party information exchange requirements, a communication operator hash table and a payment channel provider hash table are obtained according to the multi-party hash table; Constructing a first shared value according to the data stored in the communication operator hash table; calculating based on 2-choose-1 oblivious transmission according to the data stored in the communication operator hash table and the communication operator random number to obtain a first candidate value; Calculate the second shared value according to the payment channel merchant random number, the first shared value and the first candidate value; calculate the second candidate value by using 2-choose-1 oblivious transfer based on the data stored in the payment channel merchant hash table and the payment channel merchant random number; Based on the multi-party information exchange requirements, a third sharing value is obtained by performing calculation according to the advertisement delivery provider random number, the first sharing value, the second sharing value and the second alternative value.

6. The secure non-interactive comparison method for multi-party set intersection according to claim 5, characterized in that: The method of performing non-interactive comparison based on the communication protocol, the random number set, the linear homomorphic hash function and the shared value set according to the multi-party hash table to obtain the intersection of advertising delivery shared data includes: According to the multi-party information exchange requirements, a communication operator hash table, a payment channel provider hash table, and an advertising provider hash table are obtained according to the multi-party hash table; Based on the communication protocol, the random number set and the linear homomorphic hash function, a calculation is performed according to the communication operator hash table and the first shared value to obtain data in a first hash table and a first random number hash; Based on the communication protocol, the random number set and the linear homomorphic hash function, a calculation is performed according to the payment channel merchant hash table, the data in the first hash table and the first random number hash to obtain the data in the second hash table and the second random number hash; Based on the communication protocol, the random number set and the linear homomorphic hash function, calculation is performed according to the advertisement delivery provider hash table, the data in the second hash table and the second random number hash to obtain the intersection of advertisement delivery shared data.

7. A secure non-interactive comparison device for multi-party set intersection, the secure non-interactive comparison device for multi-party set intersection being used to implement the secure non-interactive comparison method for multi-party set intersection as claimed in any one of claims 1 to 6, characterized in that: The device comprises: A multi-party data acquisition module is used to collect data from software services of multiple service providers to obtain multi-party data sets; A communication protocol construction module is used to obtain advertising scene delivery requirements; determine the communication structure and multi-party information exchange requirements according to the advertising scene delivery requirements; and construct a communication protocol according to the communication structure and multi-party information exchange requirements; The multi-party information exchange requirements include the communication operator data exchange requirements, the payment channel provider data exchange requirements or the advertising provider data exchange requirements; A data offline storage module is used to use a cuckoo hash function to perform offline data storage according to the multi-party data set, obtain a multi-party hash table and the number of elements in each bucket corresponding to the multi-party hash table; and construct a linear homomorphic hash function according to the multi-party hash table; A random number generation module, used to generate a random number set offline through a trusted third party according to the number of elements in each bucket corresponding to the multi-party hash table; A sharing value calculation module, configured to obtain a sharing value set by performing calculation based on the random number set and the multi-party information exchange requirements and the multi-party hash table using oblivious transfer based on 2-choose-1; The data online comparison module is used to perform non-interactive comparison according to the multi-party hash table based on the communication protocol, the random number set, the linear homomorphic hash function and the shared value set to obtain the intersection of advertising delivery shared data.

8. A non-interactive comparison device, characterized in that The non-interactive comparison device comprises: processor; A memory having computer-readable instructions stored thereon, wherein when the computer-readable instructions are executed by the processor, the method according to any one of claims 1 to 6 is implemented.

9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores program codes, which can be called by a processor to execute the method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Private data intersection calculation method and device, equipment and storage medium

    CN113343305A

  • Multi-user non-interactive privacy set intersection method applied to financial scene

    CN117390671A