Information processing method, device and communication equipment

By constructing a Bloom filter and performing filtering and matching operations in a set imbalance scenario, the problem of the inapplicability of privacy-preserving intersection calculation schemes in existing technologies is solved, and fast and accurate intersection calculation and efficient communication are achieved.

CN116094738BActive Publication Date: 2025-10-03CHINA MOBILE COMM LTD RES INST +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111313498.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-08
Publication Date
2025-10-03
Estimated Expiration
2041-11-08

AI Technical Summary

Technical Problem

Existing privacy-preserving intersection calculation schemes are not suitable for scenarios where the sets of both parties are unbalanced, especially when the sets are of unequal sizes, and the intersection cannot be effectively calculated.

Method used

By obtaining the filtering misjudgment rate, a Bloom filter is constructed and transmitted between communication devices. The Bloom filter is used to perform filtering and matching operations to achieve intersection calculation.

Benefits of technology

In the scenario of unbalanced sets, the intersection can be calculated quickly and accurately, which improves processing efficiency and ensures communication efficiency, solving the problem of insufficient applicability in existing technologies.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116094738B_ABST
    Figure CN116094738B_ABST
Patent Text Reader

Abstract

The present invention provides an information processing method, apparatus, and communication device. The information processing method includes: obtaining a filtering error rate based on the number of first elements in the first set and the number of second elements in the second set when the order of magnitude of elements between a first set to be matched and a second set differ; constructing a Bloom filter based on the filtering error rate; sending the Bloom filter to a second communication device; receiving an encrypted set to be matched as feedback from the second communication device based on the Bloom filter; performing a matching operation on the encrypted set to be matched based on the local encrypted set corresponding to the first set to obtain an intersection set; the first set being the local set of the first communication device, and the second set being the local set of the second communication device; and the number of first elements being less than the number of second elements. This solution addresses the problem that existing information processing solutions for privacy-preserving intersection calculations are not suitable for scenarios where the sets of both parties are unbalanced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of communication technologies, and in particular to an information processing method, apparatus, and communication equipment. Background Art

[0002] Privacy-preserving set intersection (PSI) computation is a specific application problem in the field of secure multi-party computation. This involves two parties holding their own sets computing the intersection of the two sets without disclosing their own private data. The requirement is that at the end of the protocol interaction, one or both parties should obtain the correct intersection and not obtain any information from the other party's set other than the intersection. This problem has been applied in many scenarios.

[0003] However, in the prior art, various PSI protocols are applicable to different application scenarios, and most protocols are applicable to application scenarios where the sets of both parties are balanced and small, but not to scenarios where the sets of both parties are unbalanced or large.

[0004] As described above, the information processing scheme for privacy-preserving intersection calculation in the prior art is not applicable to the scenario where the sets of both parties are unbalanced. Summary of the Invention

[0005] The purpose of the present invention is to provide an information processing method, apparatus and communication device to solve the problem that the information processing scheme for privacy-preserving intersection calculation in the prior art is not suitable for scenarios where the sets of both parties are unbalanced.

[0006] In order to solve the above technical problems, an embodiment of the present invention provides an information processing method, which is applied to a first communication device, including:

[0007] When the order of magnitude of elements in the first set to be matched and the second set is different, obtaining a filtering misjudgment rate according to the number of first elements in the first set and the number of second elements in the second set;

[0008] Constructing a Bloom filter according to the filtering misjudgment rate;

[0009] Sending the Bloom filter to a second communication device;

[0010] receiving an encryption set to be matched fed back by the second communication device according to the Bloom filter;

[0011] performing a matching operation on the to-be-matched encrypted set according to the local encrypted set corresponding to the first set to obtain an intersection set;

[0012] The first set is a local set of the first communication device, and the second set is a local set of the second communication device;

[0013] The first number of elements is smaller than the second number of elements.

[0014] Optionally, before obtaining the filtering misjudgment rate according to the number of first elements in the first set and the number of second elements in the second set, the method further includes:

[0015] Obtaining a balance coefficient between the first set to be matched and the second set;

[0016] Wherein, when the order of magnitude of elements in the first set to be matched and the second set to be matched is different, obtaining the filtering misjudgment rate according to the number of first elements in the first set and the number of second elements in the second set includes:

[0017] In a case where the balance coefficient indicates that the order of magnitude of elements between the first set and the second set is different, a filtering false positive rate is obtained according to the first number of elements in the first set and the second number of elements in the second set.

[0018] Optionally, obtaining a balance coefficient between the first set to be matched and the second set includes:

[0019] Obtaining a balance coefficient between the first set to be matched and the second set according to the first formula;

[0020] Among them, the first formula is:

[0021] h=max(m,n) / min(m,n);

[0022] The h represents a balance coefficient, the m represents the number of first elements in the first set, and the n represents the number of second elements in the second set.

[0023] Optionally, obtaining the filtering misjudgment rate according to the number of first elements in the first set and the number of second elements in the second set includes:

[0024] Obtaining a filtering misjudgment rate according to the number of first elements in the first set and the number of second elements in the second set using a second formula;

[0025] Wherein, the second formula is:

[0026] f=[min(m,n) / max(m,n)]×s;

[0027] The f represents the filtering misjudgment rate, the m represents the number of first elements in the first set, the n represents the number of second elements in the second set, and the s represents the safety factor.

[0028] Optionally, before constructing the Bloom filter based on the filtering misjudgment rate, the method further includes:

[0029] Negotiate with the second communication device to determine a first key;

[0030] Using the first key, encrypting the elements in the first set to obtain a first encrypted set;

[0031] The step of constructing a Bloom filter according to the filtering misjudgment rate includes:

[0032] A Bloom filter is constructed according to the filtering false positive rate and the first encryption set.

[0033] Optionally, the method further includes:

[0034] Determine binning parameter information through negotiation with the second communication device according to the first parameter information;

[0035] Binning the first set according to the binning parameter information to obtain at least two binning sets;

[0036] The performing a matching operation on the to-be-matched encrypted set according to the local encrypted set corresponding to the first set to obtain an intersection set includes:

[0037] Encrypting each of the sub-box sets to obtain corresponding local encrypted sets;

[0038] According to the local encrypted set, a matching operation is performed on the encrypted set to be matched to obtain an intersection set;

[0039] The first parameter information includes: at least one of the number of the first elements, the number of the second elements, and dynamic resource status information; the dynamic resource status information includes: at least one of network bandwidth information, latency information, and processor processing capability information;

[0040] The binning parameter information includes at least one of the number of bins, the bin size, and the number of hash functions.

[0041] Optionally, binning the first set according to the binning parameter information to obtain at least two binning sets includes:

[0042] Each element in the first set is placed in a bin position according to the bin parameter information, to obtain at least two bin sets.

[0043] Optionally, the number of the to-be-matched encryption sets and the number of the local encryption sets are both at least two;

[0044] The performing a matching operation on the to-be-matched encrypted set according to the local encrypted set corresponding to the first set to obtain an intersection set includes:

[0045] performing matching operations on the at least two to-be-matched encrypted sets in parallel based on the at least two local encrypted sets to obtain at least two matching intersections;

[0046] An intersection set is obtained according to the at least two matching intersections.

[0047] An embodiment of the present invention further provides an information processing method, applied to a second communication device, comprising:

[0048] receiving a Bloom filter sent by a first communication device;

[0049] Using the Bloom filter, filtering the second set to obtain a set to be matched;

[0050] Obtaining an encrypted set to be matched according to the set to be matched;

[0051] Sending the encryption set to be matched to the first communication device;

[0052] The Bloom filter is constructed by the first communication device according to a filtering misjudgment rate obtained based on the first number of elements in the first set and the second number of elements in the second set;

[0053] The first set is a local set of the first communication device, and the second set is a local set of the second communication device;

[0054] The first number of elements is smaller than the second number of elements.

[0055] Optionally, before using the Bloom filter to filter the second set to obtain the to-be-matched set, the method further includes:

[0056] Negotiate with the first communication device to determine a first key;

[0057] The filtering of the second set by using the Bloom filter to obtain the set to be matched includes:

[0058] Using the first key, encrypting the elements in the second set;

[0059] Filtering the encrypted elements using the Bloom filter;

[0060] Construct a set to be matched based on the elements obtained by filtering.

[0061] Optionally, the method further includes:

[0062] Determine binning parameter information through negotiation with the first communication device according to the first parameter information;

[0063] The step of obtaining an encrypted set to be matched according to the set to be matched includes:

[0064] Binning the to-be-matched set according to the binning parameter information to obtain at least two binning sets;

[0065] Encrypting each of the sub-box sets to obtain corresponding encrypted sets to be matched;

[0066] The first parameter information includes: at least one of the number of the first elements, the number of the second elements, and dynamic resource status information; the dynamic resource status information includes: at least one of network bandwidth information, latency information, and processor processing capability information;

[0067] The binning parameter information includes at least one of the number of bins, the bin size, and the number of hash functions.

[0068] Optionally, binning the to-be-matched set according to the binning parameter information to obtain at least two binning sets includes:

[0069] According to the binning parameter information, each element in the to-be-matched set is placed in N bin positions to obtain at least two binning sets;

[0070] Wherein, N is equal to the number of hash functions in the bin parameter information.

[0071] An embodiment of the present invention further provides an information processing apparatus, applied to a first communication device, comprising:

[0072] a first acquisition module, configured to acquire a filtering misjudgment rate according to the number of first elements in the first set and the number of second elements in the second set when the order of magnitude of elements in the first set and the second set to be matched is different;

[0073] A first construction module is configured to construct a Bloom filter according to the filtering misjudgment rate;

[0074] A first sending module, configured to send the Bloom filter to a second communication device;

[0075] A first receiving module is configured to receive an encryption set to be matched fed back by the second communication device according to the Bloom filter;

[0076] a first matching module, configured to perform a matching operation on the to-be-matched encrypted set according to the local encrypted set corresponding to the first set, to obtain an intersection set;

[0077] The first set is a local set of the first communication device, and the second set is a local set of the second communication device;

[0078] The first number of elements is smaller than the second number of elements.

[0079] Optionally, also include:

[0080] a second acquisition module, configured to acquire a balance coefficient between the first set to be matched and the second set before acquiring a filtering false positive rate according to the number of first elements in the first set and the number of second elements in the second set;

[0081] Wherein, when the order of magnitude of elements in the first set to be matched and the second set to be matched is different, obtaining the filtering misjudgment rate according to the number of first elements in the first set and the number of second elements in the second set includes:

[0082] In a case where the balance coefficient indicates that the order of magnitude of elements between the first set and the second set is different, a filtering false positive rate is obtained according to the first number of elements in the first set and the second number of elements in the second set.

[0083] Optionally, obtaining a balance coefficient between the first set to be matched and the second set includes:

[0084] Obtaining a balance coefficient between the first set to be matched and the second set according to the first formula;

[0085] Among them, the first formula is:

[0086] h=max(m,n) / min(m,n);

[0087] The h represents a balance coefficient, the m represents the number of first elements in the first set, and the n represents the number of second elements in the second set.

[0088] Optionally, obtaining the filtering misjudgment rate according to the number of first elements in the first set and the number of second elements in the second set includes:

[0089] Obtaining a filtering misjudgment rate according to the number of first elements in the first set and the number of second elements in the second set using a second formula;

[0090] Wherein, the second formula is:

[0091] f=[min(m,n) / max(m,n)]×s;

[0092] The f represents the filtering misjudgment rate, the m represents the number of first elements in the first set, the n represents the number of second elements in the second set, and the s represents the safety factor.

[0093] Optionally, also include:

[0094] a first negotiation module, configured to negotiate with the second communication device to determine a first key before constructing a Bloom filter according to the filtering false positive rate;

[0095] a first encryption module, configured to encrypt the elements in the first set using the first key to obtain a first encrypted set;

[0096] The step of constructing a Bloom filter according to the filtering misjudgment rate includes:

[0097] A Bloom filter is constructed according to the filtering false positive rate and the first encryption set.

[0098] Optionally, the device further includes:

[0099] A second negotiation module, configured to negotiate with the second communication device to determine binning parameter information based on the first parameter information;

[0100] A first binning module, configured to bin the first set according to the binning parameter information to obtain at least two binning sets;

[0101] The performing a matching operation on the to-be-matched encrypted set according to the local encrypted set corresponding to the first set to obtain an intersection set includes:

[0102] Encrypting each of the sub-box sets to obtain corresponding local encrypted sets;

[0103] According to the local encrypted set, a matching operation is performed on the encrypted set to be matched to obtain an intersection set;

[0104] The first parameter information includes: at least one of the number of the first elements, the number of the second elements, and dynamic resource status information; the dynamic resource status information includes: at least one of network bandwidth information, latency information, and processor processing capability information;

[0105] The binning parameter information includes at least one of the number of bins, the bin size, and the number of hash functions.

[0106] Optionally, binning the first set according to the binning parameter information to obtain at least two binning sets includes:

[0107] Each element in the first set is placed in a bin position according to the bin parameter information, to obtain at least two bin sets.

[0108] Optionally, the number of the to-be-matched encryption sets and the number of the local encryption sets are both at least two;

[0109] The performing a matching operation on the to-be-matched encrypted set according to the local encrypted set corresponding to the first set to obtain an intersection set includes:

[0110] performing matching operations on the at least two to-be-matched encrypted sets in parallel based on the at least two local encrypted sets to obtain at least two matching intersections;

[0111] An intersection set is obtained according to the at least two matching intersections.

[0112] An embodiment of the present invention further provides an information processing apparatus, applied to a second communication device, comprising:

[0113] A second receiving module, configured to receive a Bloom filter sent by the first communication device;

[0114] A first filtering module is configured to filter the second set using the Bloom filter to obtain a to-be-matched set;

[0115] A first processing module, configured to obtain an encrypted set to be matched according to the set to be matched;

[0116] A second sending module, configured to send the encryption set to be matched to the first communication device;

[0117] The Bloom filter is constructed by the first communication device according to a filtering misjudgment rate obtained based on the first number of elements in the first set and the second number of elements in the second set;

[0118] The first set is a local set of the first communication device, and the second set is a local set of the second communication device;

[0119] The first number of elements is smaller than the second number of elements.

[0120] Optionally, also include:

[0121] a third negotiation module, configured to negotiate with the first communication device to determine the first key before filtering the second set using the Bloom filter to obtain a to-be-matched set;

[0122] The filtering of the second set by using the Bloom filter to obtain the set to be matched includes:

[0123] Using the first key, encrypting the elements in the second set;

[0124] Filtering the encrypted elements using the Bloom filter;

[0125] Construct a set to be matched based on the elements obtained by filtering.

[0126] Optionally, the device further includes:

[0127] a fourth negotiation module, configured to negotiate with the first communication device to determine binning parameter information based on the first parameter information;

[0128] The step of obtaining an encrypted set to be matched according to the set to be matched includes:

[0129] Binning the to-be-matched set according to the binning parameter information to obtain at least two binning sets;

[0130] Encrypting each of the sub-box sets to obtain corresponding encrypted sets to be matched;

[0131] The first parameter information includes: at least one of the number of the first elements, the number of the second elements, and dynamic resource status information; the dynamic resource status information includes: at least one of network bandwidth information, latency information, and processor processing capability information;

[0132] The binning parameter information includes at least one of the number of bins, the bin size, and the number of hash functions.

[0133] Optionally, binning the to-be-matched set according to the binning parameter information to obtain at least two binning sets includes:

[0134] According to the binning parameter information, each element in the to-be-matched set is placed in N bin positions to obtain at least two binning sets;

[0135] Wherein, N is equal to the number of hash functions in the bin parameter information.

[0136] An embodiment of the present invention further provides a communication device, which is a first communication device, comprising: a processor and a transceiver;

[0137] The processor is configured to obtain a filtering false positive rate according to the number of first elements in the first set and the number of second elements in the second set when the order of magnitude of elements between the first set and the second set to be matched is different;

[0138] Constructing a Bloom filter according to the filtering misjudgment rate;

[0139] sending the Bloom filter to a second communication device via the transceiver;

[0140] receiving, by the transceiver, an encryption set to be matched fed back by the second communication device according to the Bloom filter;

[0141] performing a matching operation on the to-be-matched encrypted set according to the local encrypted set corresponding to the first set to obtain an intersection set;

[0142] The first set is a local set of the first communication device, and the second set is a local set of the second communication device;

[0143] The first number of elements is smaller than the second number of elements.

[0144] Optionally, the processor is further configured to:

[0145] Before obtaining the filtering false positive rate according to the number of first elements in the first set and the number of second elements in the second set, obtaining a balance coefficient between the first set to be matched and the second set;

[0146] Wherein, when the order of magnitude of elements in the first set to be matched and the second set to be matched is different, obtaining the filtering misjudgment rate according to the number of first elements in the first set and the number of second elements in the second set includes:

[0147] In a case where the balance coefficient indicates that the order of magnitude of elements between the first set and the second set is different, a filtering false positive rate is obtained according to the first number of elements in the first set and the second number of elements in the second set.

[0148] Optionally, obtaining a balance coefficient between the first set to be matched and the second set includes:

[0149] Obtaining a balance coefficient between the first set to be matched and the second set according to the first formula;

[0150] Among them, the first formula is:

[0151] h=max(m,n) / min(m,n);

[0152] The h represents a balance coefficient, the m represents the number of first elements in the first set, and the n represents the number of second elements in the second set.

[0153] Optionally, obtaining the filtering misjudgment rate according to the number of first elements in the first set and the number of second elements in the second set includes:

[0154] Obtaining a filtering misjudgment rate according to the number of first elements in the first set and the number of second elements in the second set using a second formula;

[0155] Wherein, the second formula is:

[0156] f=[min(m,n) / max(m,n)]×s;

[0157] The f represents the filtering misjudgment rate, the m represents the number of first elements in the first set, the n represents the number of second elements in the second set, and the s represents the safety factor.

[0158] Optionally, the processor is further configured to:

[0159] Before constructing the Bloom filter according to the filtering false positive rate, negotiating with the second communication device to determine a first key;

[0160] Using the first key, encrypting the elements in the first set to obtain a first encrypted set;

[0161] The step of constructing a Bloom filter according to the filtering misjudgment rate includes:

[0162] A Bloom filter is constructed according to the filtering false positive rate and the first encryption set.

[0163] Optionally, the processor is further configured to:

[0164] Determine binning parameter information through negotiation with the second communication device according to the first parameter information;

[0165] Binning the first set according to the binning parameter information to obtain at least two binning sets;

[0166] The performing a matching operation on the to-be-matched encrypted set according to the local encrypted set corresponding to the first set to obtain an intersection set includes:

[0167] Encrypting each of the sub-box sets to obtain corresponding local encrypted sets;

[0168] According to the local encrypted set, a matching operation is performed on the encrypted set to be matched to obtain an intersection set;

[0169] The first parameter information includes: at least one of the number of the first elements, the number of the second elements, and dynamic resource status information; the dynamic resource status information includes: at least one of network bandwidth information, latency information, and processor processing capability information;

[0170] The binning parameter information includes at least one of the number of bins, the bin size, and the number of hash functions.

[0171] Optionally, binning the first set according to the binning parameter information to obtain at least two binning sets includes:

[0172] Each element in the first set is placed in a bin position according to the bin parameter information, to obtain at least two bin sets.

[0173] Optionally, the number of the to-be-matched encryption sets and the number of the local encryption sets are both at least two;

[0174] The performing a matching operation on the to-be-matched encrypted set according to the local encrypted set corresponding to the first set to obtain an intersection set includes:

[0175] performing matching operations on the at least two to-be-matched encrypted sets in parallel based on the at least two local encrypted sets to obtain at least two matching intersections;

[0176] An intersection set is obtained according to the at least two matching intersections.

[0177] An embodiment of the present invention further provides a communication device, which is a second communication device and includes: a processor and a transceiver;

[0178] The processor is configured to receive, through the transceiver, a Bloom filter sent by the first communication device;

[0179] Using the Bloom filter, filtering the second set to obtain a set to be matched;

[0180] Obtaining an encrypted set to be matched according to the set to be matched;

[0181] Sending the encryption set to be matched to the first communication device via the transceiver;

[0182] The Bloom filter is constructed by the first communication device according to a filtering misjudgment rate obtained based on the first number of elements in the first set and the second number of elements in the second set;

[0183] The first set is a local set of the first communication device, and the second set is a local set of the second communication device;

[0184] The first number of elements is smaller than the second number of elements.

[0185] Optionally, the processor is further configured to:

[0186] Before filtering the second set using the Bloom filter to obtain the to-be-matched set, negotiating with the first communication device to determine the first key;

[0187] The filtering of the second set by using the Bloom filter to obtain the set to be matched includes:

[0188] Using the first key, encrypting the elements in the second set;

[0189] Filtering the encrypted elements using the Bloom filter;

[0190] Construct a set to be matched based on the elements obtained by filtering.

[0191] Optionally, the processor is further configured to:

[0192] Determine binning parameter information through negotiation with the first communication device according to the first parameter information;

[0193] The step of obtaining an encrypted set to be matched according to the set to be matched includes:

[0194] Binning the to-be-matched set according to the binning parameter information to obtain at least two binning sets;

[0195] Encrypting each of the sub-box sets to obtain corresponding encrypted sets to be matched;

[0196] The first parameter information includes: at least one of the number of the first elements, the number of the second elements, and dynamic resource status information; the dynamic resource status information includes: at least one of network bandwidth information, latency information, and processor processing capability information;

[0197] The binning parameter information includes at least one of the number of bins, the bin size, and the number of hash functions.

[0198] Optionally, binning the to-be-matched set according to the binning parameter information to obtain at least two binning sets includes:

[0199] According to the binning parameter information, each element in the to-be-matched set is placed in N bin positions to obtain at least two binning sets;

[0200] Wherein, N is equal to the number of hash functions in the bin parameter information.

[0201] An embodiment of the present invention further provides a communication device, comprising a memory, a processor, and a program stored in the memory and executable on the processor; when the processor executes the program, the information processing method on the first communication device side is implemented; or,

[0202] When the processor executes the program, the information processing method on the second communication device side is implemented.

[0203] An embodiment of the present invention further provides a readable storage medium having a program stored thereon, which, when executed by a processor, implements the steps of the information processing method on the first communication device side; or,

[0204] When the program is executed by the processor, the steps of the information processing method on the second communication device side are implemented.

[0205] The beneficial effects of the above technical solution of the present invention are as follows:

[0206] In the above scheme, the information processing method obtains a filtering error rate based on the first number of elements in the first set and the second number of elements in the second set when the order of magnitude of elements between the first set and the second set to be matched is different; constructs a Bloom filter based on the filtering error rate; sends the Bloom filter to the second communication device; receives the encrypted set to be matched fed back by the second communication device based on the Bloom filter; performs a matching operation on the encrypted set to be matched based on the local encrypted set corresponding to the first set to obtain an intersection set; wherein the first set is the local set of the first communication device and the second set is the local set of the second communication device; the number of the first elements is less than the number of the second elements; and can support the implementation of: estimating the Bloom filter error rate (i.e., the filtering error rate) based on the difference in the number of samples of both parties, and then constructing a Bloom filter for filtering the large set, so that the size of the two sets can be balanced with a single filtering; thereby, even in a scenario where the sets of both parties are unbalanced, the intersection calculation can be quickly and accurately performed, while improving processing efficiency and ensuring communication efficiency, effectively solving the problem that information processing schemes for privacy-preserving intersection calculation in the prior art are not suitable for scenarios where the sets of both parties are unbalanced. BRIEF DESCRIPTION OF THE DRAWINGS

[0207] Figure 1 Schematic diagram of the information processing method according to an embodiment of the present invention Figure 1 ;

[0208] Figure 2 Schematic diagram of the information processing method according to an embodiment of the present invention Figure 2 ;

[0209] Figure 3 Schematic diagram of the specific implementation process of the information processing method of the embodiment of the present invention Figure 1 ;

[0210] Figure 4 Schematic diagram of the specific implementation process of the information processing method of the embodiment of the present invention Figure 2 ;

[0211] Figure 5 Schematic diagram of the structure of the information processing device according to an embodiment of the present invention Figure 1 ;

[0212] Figure 6 Schematic diagram of the structure of the information processing device according to an embodiment of the present invention Figure 2 ;

[0213] Figure 7 Schematic diagram of the communication device structure according to an embodiment of the present invention Figure 1 ;

[0214] Figure 8 Schematic diagram of the communication device structure according to an embodiment of the present invention Figure 2 . DETAILED DESCRIPTION

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

[0216] The present invention addresses the problem that the information processing scheme for privacy-preserving intersection calculation in the existing technology is not applicable to the scenario where the sets of two parties are unbalanced. An information processing method is provided, which is applied to a first communication device (which can be implemented as a client (such as a terminal), which is the party with fewer elements in the two parties), such as Figure 1 Shown, including:

[0217] Step 11: when the order of magnitude of elements in the first set to be matched and the second set is different, obtaining a filtering false positive rate according to the number of first elements in the first set and the number of second elements in the second set;

[0218] Step 12: constructing a Bloom filter according to the filtering misjudgment rate;

[0219] Step 13: Send the Bloom filter to the second communication device;

[0220] Step 14: receiving the encryption set to be matched fed back by the second communication device according to the Bloom filter;

[0221] Step 15: According to the local encryption set corresponding to the first set, a matching operation is performed on the encryption set to be matched to obtain an intersection set; wherein, the first set is the local set of the first communication device, and the second set is the local set of the second communication device; the number of the first elements is less than the number of the second elements.

[0222] Step 12 may specifically include: obtaining the size multiple r=b / m (b is the filter bit length, m is the number of first elements) of the Bloom filter and the optimal number of hash functions k based on the filtering false positive rate and the false positive rate quick lookup table; constructing the Bloom filter based on r and k.

[0223] The encrypted set to be matched is a set obtained by the second communication device after boxing and encrypting the set to be matched; and the set to be matched is obtained by the second communication device filtering the second set using the Bloom filter.

[0224] The information processing method provided in an embodiment of the present invention comprises: obtaining a filtering error rate based on the number of first elements in the first set and the number of second elements in the second set when the order of magnitude of elements between the first set and the second set to be matched is different; constructing a Bloom filter based on the filtering error rate; sending the Bloom filter to a second communication device; receiving an encrypted set to be matched fed back by the second communication device based on the Bloom filter; performing a matching operation on the encrypted set to be matched based on a local encrypted set corresponding to the first set to obtain an intersection set; wherein the first set is a local set of the first communication device and the second set is a local set of the second communication device; and supporting the implementation of: estimating the Bloom filter error rate (i.e., filtering error rate) based on the difference in the number of samples of both parties, and then constructing a Bloom filter for filtering a large set, so that the size of the sets of both parties can be balanced with a single filtering operation; thereby enabling fast and accurate intersection calculation even in scenarios where the sets of both parties are unbalanced, improving processing efficiency, and ensuring communication efficiency, thereby effectively solving the problem that information processing solutions for privacy-preserving intersection calculation in the prior art are not suitable for scenarios where the sets of both parties are unbalanced.

[0225] Furthermore, before obtaining the filtering false positive rate based on the number of first elements in the first set and the second number of elements in the second set, it also includes: obtaining a balance coefficient between the first set to be matched and the second set; wherein, when the order of magnitude of elements between the first set and the second set to be matched is different, obtaining the filtering false positive rate based on the number of first elements in the first set and the second number of elements in the second set includes: when the balance coefficient indicates that the order of magnitude of elements between the first set and the second set is different, obtaining the filtering false positive rate based on the number of first elements in the first set and the second number of elements in the second set.

[0226] In this way, it is possible to accurately determine whether the two sets are balanced. Specifically, when the balance coefficient is greater than a threshold, it may indicate that the order of magnitude of the elements in the first set and the second set is different.

[0227] Wherein, obtaining the balance coefficient between the first set to be matched and the second set includes: obtaining the balance coefficient between the first set to be matched and the second set according to a first formula; wherein, the first formula is: h=max(m,n) / min(m,n); h represents the balance coefficient, m represents the number of first elements of the first set, and n represents the number of second elements of the second set.

[0228] This way the balance coefficient can be accurately obtained.

[0229] In an embodiment of the present invention, obtaining the filtering false positive rate based on the number of first elements in the first set and the number of second elements in the second set includes: using a second formula to obtain the filtering false positive rate based on the number of first elements in the first set and the number of second elements in the second set; wherein, the second formula is: f = [min(m,n) / max(m,n)]×s; f represents the filtering false positive rate, m represents the number of first elements in the first set, n represents the number of second elements in the second set, and s represents the safety factor.

[0230] In this way, the filtering misjudgment rate can be accurately obtained.

[0231] Furthermore, before constructing the Bloom filter based on the filtering error rate, it also includes: negotiating with the second communication device to determine a first key; using the first key to encrypt the elements in the first set to obtain a first encrypted set; constructing the Bloom filter based on the filtering error rate includes: constructing a Bloom filter based on the filtering error rate and the first encryption set.

[0232] This can further enhance the privacy and security of user data.

[0233] In an embodiment of the present invention, the method further includes: determining bin parameter information through negotiation with the second communication device based on the first parameter information; binning the first set based on the bin parameter information to obtain at least two bin sets; performing a matching operation on the encryption set to be matched based on the local encryption set corresponding to the first set to obtain an intersection set, including: encrypting each of the bin sets to obtain the corresponding local encryption sets; performing a matching operation on the encryption set to be matched based on the local encryption set to obtain an intersection set; wherein, the first parameter information includes: at least one of the number of the first elements, the number of the second elements, and dynamic resource status information; the dynamic resource status information includes: at least one of network bandwidth information, latency information, and processor processing capability information; the bin parameter information includes: at least one of the number of bins, bin size, and the number of hash functions.

[0234] This allows for binning of elements, making it more suitable for large collection scenarios.

[0235] Regarding “negotiating with the second communication device to determine the binning parameter information according to the first parameter information”, it may be performed before receiving the encryption set to be matched fed back by the second communication device according to the Bloom filter.

[0236] Regarding "negotiating with the second communication device to determine binning parameter information based on the first parameter information," specifically, this may include: the first communication device determining a parameter range based on the first parameter information and sending it to the second communication device; and receiving binning parameter information from the second communication device based on the parameter range. Specifically, the first communication device may provide a parameter range based on the first parameter information; the second communication device may select a target value from the parameter range based on the first parameter information (specifically, dynamic resource status information), obtain binning parameter information, and return it to the first communication device.

[0237] Regarding "binning the first set according to the binning parameter information to obtain at least two bin sets," specifically, this may include: using at least two hash functions to calculate at least two positions of an element. For example, if there are three hash functions and the number of bins is 100, then each element corresponds to three of the 100 positions. The first communication device (e.g., the client) uses cuckoo hashing to ensure that the element is located at one of the three positions, and the second communication device (e.g., the server) uses simple hashing to ensure that the element is located at all three positions. In this way, an intersection calculation can be performed between each pair of positions (i.e., bins) on the client and server to obtain an intersection result.

[0238] Regarding “encrypting each of the sub-box sets”, encryption may be performed according to the Privacy Preserving Set Intersection (PSI) protocol.

[0239] The dynamic resource situation information may include at least one of dynamic resource situation information on the first communication device side and dynamic resource situation information on the second communication device side.

[0240] The number of bins can be within the range [min(10,1.2×m),max(10,1.2×m)], where m represents the number of first elements.

[0241] In an embodiment of the present invention, binning the first set according to the binning parameter information to obtain at least two binning sets includes: placing each element in the first set in a binning position according to the binning parameter information to obtain at least two binning sets.

[0242] This ensures that the elements of each bin on the first communication device side can be found in the corresponding bin on the first communication device side. In addition, during the binning process, after the elements in the first set are binned, the empty bin positions can be filled with preset information, such as dummy elements.

[0243] In an embodiment of the present invention, the number of the encryption sets to be matched and the number of local encryption sets are both at least two; performing a matching operation on the encryption sets to be matched based on the local encryption set corresponding to the first set to obtain an intersection set includes: performing a matching operation on the at least two encryption sets to be matched in parallel based on the at least two local encryption sets to obtain at least two matching intersections; and obtaining an intersection set based on the at least two matching intersections.

[0244] This allows for parallel computing, significantly improving the performance of intersection calculations. "According to the at least two matching intersections, obtaining an intersection set" can be understood as aggregating the intersection results obtained for each bin. Furthermore, "According to the at least two local encrypted sets, performing matching operations on the at least two to-be-matched encrypted sets in parallel to obtain at least two matching intersections" can specifically include: performing a matching operation between each local encrypted set and a corresponding to-be-matched encrypted set to obtain a matching intersection (the intersection may be empty). The at least two local encrypted sets correspond to first sorting information, and the at least two to-be-matched encrypted sets correspond to second sorting information, with the first sorting information and the second sorting information being associated. Thus, for each local encrypted set, the corresponding to-be-matched encrypted set can be determined based on the first sorting information and the second sorting information. For example, if number 1 in the first sorting information is associated with number 1 in the second sorting information, then the local encrypted set ranked first (numbered first) in the at least two local encrypted sets corresponds to the to-be-matched encrypted set ranked first (numbered first) in the at least two to-be-matched encrypted sets. Correspondingly, the second communication device side also sends related data (such as the encryption set to be matched) in parallel to support the first communication device side to perform intersection calculation in parallel, thereby improving efficiency.

[0245] The embodiment of the present invention further provides an information processing method, which is applied to a second communication device (which can be implemented as a network device (such as a server), which is the party with more elements in the two parties), such as Figure 2 Shown, including:

[0246] Step 21: receiving a Bloom filter sent by the first communication device;

[0247] Step 22: Filter the second set using the Bloom filter to obtain a set to be matched;

[0248] Step 23: Obtain an encrypted set to be matched based on the set to be matched;

[0249] Step 24: Send the encryption set to be matched to the first communication device; wherein, the Bloom filter is constructed by the first communication device according to the filtering error rate obtained by the first number of elements in the first set and the second number of elements in the second set; the first set is a local set of the first communication device, and the second set is a local set of the second communication device; the first number of elements is less than the second number of elements.

[0250] The information processing method provided by the embodiment of the present invention receives a Bloom filter sent by a first communication device; uses the Bloom filter to filter the second set to obtain a set to be matched; obtains an encrypted set to be matched based on the set to be matched; and sends the encrypted set to be matched to the first communication device; wherein the Bloom filter is constructed by the first communication device based on the filtering error rate obtained by the first number of elements in the first set and the second number of elements in the second set; the first set is the local set of the first communication device, and the second set is the local set of the second communication device; the number of the first element is less than the number of the second element; it can support the implementation of: estimating the Bloom filter error rate (i.e., the filtering error rate) based on the difference in the number of samples of both parties, and then constructing a Bloom filter for filtering the large set, so that the purpose of balancing the size of the sets of both parties can be achieved by filtering once; thereby, the intersection calculation can be quickly and accurately implemented even in the scenario where the sets of both parties are unbalanced, and the processing efficiency is improved, and the communication efficiency is guaranteed, which well solves the problem that the information processing scheme for privacy-preserving intersection calculation in the prior art is not suitable for the scenario where the sets of both parties are unbalanced.

[0251] Furthermore, before using the Bloom filter to filter the second set to obtain the set to be matched, it also includes: negotiating with the first communication device to determine the first key; wherein, using the Bloom filter to filter the second set to obtain the set to be matched includes: using the first key to encrypt the elements in the second set; using the Bloom filter to filter the encrypted elements; and constructing the set to be matched based on the elements obtained by filtering.

[0252] This can further enhance the privacy and security of user data. Regarding "building a to-be-matched set based on the filtered elements," this may specifically include: obtaining corresponding plaintext data for the filtered (encrypted) elements; and obtaining a to-be-matched set based on the plaintext data.

[0253] In an embodiment of the present invention, the method also includes: determining bin parameter information through negotiation with the first communication device based on the first parameter information; obtaining the encrypted set to be matched based on the set to be matched, including: binning the set to be matched according to the bin parameter information to obtain at least two bin sets; encrypting each of the bin sets to obtain corresponding encrypted sets to be matched; wherein, the first parameter information includes: at least one of the number of the first elements, the number of the second elements, and dynamic resource status information; the dynamic resource status information includes: at least one of network bandwidth information, latency information, and processor processing capability information; the bin parameter information includes: at least one of the number of bins, bin size, and the number of hash functions.

[0254] This allows for binning of elements, making it more suitable for large collection scenarios.

[0255] Regarding “negotiating with the first communication device to determine the binning parameter information according to the first parameter information”, it may be performed before obtaining the encryption set to be matched according to the set to be matched.

[0256] Regarding "negotiating with the first communication device to determine binning parameter information based on the first parameter information," this may specifically include: receiving a parameter range sent by the first communication device; selecting a target value from the parameter range based on the first parameter information to obtain binning parameter information, and sending the binning parameter information to the first communication device. Specifically, the first communication device may provide a parameter range based on the first parameter information; the second communication device may select a target value from the parameter range based on the first parameter information (specifically, dynamic resource status information) to obtain binning parameter information, and return the information to the first communication device.

[0257] Regarding "binning the to-be-matched set according to the binning parameter information to obtain at least two binned sets," this may specifically include: using at least two hash functions to calculate at least two positions of an element. For example, if there are three hash functions and the number of bins is 100, then each element corresponds to three of the 100 positions. The first communication device (e.g., the client) uses cuckoo hashing to ensure that the element is located at one of the three positions, and the second communication device (e.g., the server) uses simple hashing to ensure that the element is located at all three positions. In this way, an intersection calculation can be performed between each pair of positions (i.e., bins) on the client and server to obtain an intersection result.

[0258] Regarding "encrypting each of the bin sets," encryption may be performed using the Privacy Preserving Set Intersection (PSI) protocol. Regarding "encrypting each of the bin sets to obtain corresponding encrypted sets to be matched," this may specifically include encrypting one of the bin sets to obtain a corresponding encrypted set to be matched.

[0259] The dynamic resource situation information may include at least one of dynamic resource situation information on the first communication device side and dynamic resource situation information on the second communication device side.

[0260] The number of bins can be within the range [min(10,1.2×m),max(10,1.2×m)], where m represents the number of first elements.

[0261] In an embodiment of the present invention, binning the set to be matched according to the binning parameter information to obtain at least two binning sets includes: placing each element in the set to be matched in N binning positions according to the binning parameter information to obtain at least two binning sets; wherein N is equal to the number of hash functions in the binning parameter information.

[0262] This ensures that the elements of each bin on the first communication device side can be found in the corresponding bin on the first communication device side. In addition, during the binning process, after the elements in the second set are binned, the empty bin positions can be filled with preset information, such as dummy elements. Different bin positions belong to different bins.

[0263] The number of hash functions and the hash function used by the second communication device for binning are consistent with the number of hash functions and the hash function used by the second communication device for binning.

[0264] The information processing method provided by the embodiment of the present invention is described below with examples, taking a client as an example of the first communication device and a network device as an example of the second communication device (which can be specifically implemented as a server).

[0265] In response to the above technical issues, and considering that currently, when the sets of both parties and the adopted PSI protocol are determined, the computing resources of both parties are also determined. If there are surplus computing resources on both parties, the surplus resources cannot be further utilized to improve the overall computing efficiency. The embodiments of the present invention provide an information processing method, which can be specifically implemented as a highly adaptable privacy-preserving intersection calculation method. More specifically, the embodiments of the present invention address various privacy-aligned application scenarios currently in existence, such as one or both parties being a giant set (i.e., a set with more than a certain number of elements), balanced or unbalanced sets of both parties, and the inefficiency and inability of traditional PSI calculations to adapt to resource environments. A privacy-preserving intersection calculation method that is adaptable to these various application scenarios and has higher performance is proposed. The method mainly involves:

[0266] First, the balance coefficient is used to determine whether the sets of both parties (corresponding to the first set and the second set mentioned above) are balanced, that is, whether the elements in the sets of both parties are at the same order of magnitude; if they are unbalanced, the error rate (corresponding to the filtering error rate mentioned above) is estimated based on the number of elements of both parties, and the Bloom filter length (i.e., size) and the optimal number of hash functions are obtained by looking up the table based on the error rate; the party with a smaller set (corresponding to the first communication device mentioned above) constructs a Bloom filter based on the Bloom filter length and the optimal number of hash functions, encrypts the local elements and inserts them into the Bloom filter, and sends the Bloom filter to the party with a larger set (corresponding to the second communication device mentioned above); the party with a larger set uses the Bloom filter to filter all local elements, and after filtering, the number of elements in the set of the party with a larger set is reduced to the same order of magnitude as that of the party with a smaller set.

[0267] Then, the two parties negotiate the number of bins and other information (corresponding to the above-mentioned bin parameter information) based on the number of elements in the set (corresponding to the number of first elements and the number of second elements), the SPI protocol to be adopted, and the network bandwidth (corresponding to the above-mentioned network bandwidth information), latency (corresponding to the above-mentioned latency information), computing resources and other information (corresponding to the above-mentioned first parameter information), and then the two parties perform binning based on the negotiated information.

[0268] After the binning is completed, both parties use the traditional PSI protocol to obtain the intersection result of each bin (corresponding to the above-mentioned matching intersection), and then aggregate the intersection results of all bins to obtain the final intersection calculation result of both parties (corresponding to the above-mentioned intersection set).

[0269] Specifically, the above method can be as follows Figure 3 Shown, including:

[0270] Step 31. Set balance: Determine whether the sets of both parties are balanced (at the same order of magnitude); if not, filter the large set using a Bloom filter-based approach.

[0271] The purpose of step 31 is to simplify the unbalanced privacy set intersection calculation to the balanced privacy set intersection calculation. Assume that the party with the smaller set (usually the client) has m elements, and the party with the larger set (usually the server) has n elements. First, determine whether the two sets are balanced by checking whether the balance coefficient h = max(m,n) / min(m,n) < 1.5. Second, if they are unbalanced, estimate the false positive rate f based on the number of elements on both sides: f = [min(m,n) / max(m,n)] × s (the standard safety factor s is 1 and can be adjusted based on specific security requirements, see below). Third, use the false positive rate quick lookup table to determine the Bloom filter size multiple r (specifically r = b / m, where b is the filter bit length) and the optimal number of hash functions k. Then, the party with the smaller set (usually the client) constructs a Bloom filter based on the encrypted elements based on b and k and sends it to the party with the larger set (usually the server). Finally, the party with the larger set (usually the server) filters all local elements using this filter. After filtering, the number of elements on the party with the larger set changes from n to n', with n' being on the same order of magnitude as m. The "encrypted element" is obtained by encrypting the local element of the party with the smaller number of sets.

[0272] Specifically, assuming m = 600, n = 100 million, and the intersection of m and n has 100 elements, then f = 6 parts per million (the safety factor s = 1 at this time). The closest f found in the false positive rate quick lookup table is 6.71 parts per million, and the corresponding filter bit length b = 12000 (b / m = 20) and the optimal number of hash functions k = 13.9, that is, the client needs to use 14 hash functions to construct a Bloom filter with a bit length of 12000 (1500 bytes); the server filters 100 million elements according to this filter, and the elements obtained include two parts: 1 00 intersection elements of m and n, and the theoretical 671 false positives, that is, n' should theoretically be 771, which is on the same order of magnitude as m. This greatly improves the performance of subsequent matching calculations (reducing the server's 100 million elements to 771 at a cost of only 1500 bytes). At the same time, the server cannot know the exact 100 intersection elements based on the filtering results; it only knows that the intersection element exists among these 771 elements, which protects the client's privacy and achieves an overall balance between computational efficiency and privacy protection. Furthermore, this solution can control the size of the filtered set on the server by adjusting the safety factor, thereby adapting to the security requirements of different application scenarios. For example, if the safety factor s is set to 2, the false positive rate is increased to 12 per million, and n' should theoretically be 1442.

[0273] After step 31 is completed, the intersection calculation of the unbalanced (m vs n) private sets is simplified to the intersection calculation of the balanced (m vs n') private sets.

[0274] Step 32. Element binning: Based on the number of elements in the sets of both parties and the dynamic resource situation (corresponding to the first parameter information above), the two parties negotiate the bin size and related parameters such as the hash function (corresponding to the above bin parameter information), and the two parties implement the binning operation based on these parameters.

[0275] The purpose of step 32 is to simplify the many-to-many matching problem into multiple smaller many-to-many matching problems. Based on the number of elements in both sets, the PSI protocol to be adopted in step 33, and the dynamic resource situation (corresponding to the dynamic resource situation information described above), the client and server negotiate the number of bins (corresponding to the above bin number), the size of each client bin (included in the above bin size), and the number of hash functions. The two parties then implement the following binning operations based on these parameters:

[0276] Assume that m = 600, n = 771, the number of bins agreed upon by the client and the server is 100, and two hash functions are used; the client performs binning based on cuckoo hashing, and the number of elements in each bin is int(m / 100) = 6, where int represents rounding; the server performs binning based on a simple hash function, and each of the 771 elements is placed in two bins according to the two hash functions, with an average of n' = 15 elements in each bin; regarding "using two hash functions", it may specifically include: the client uses 2 hash functions, and the server uses 2 hash functions; the 2 hash functions used by the client and the 2 hash functions used by the server are the same.

[0277] After step 32 is completed (one element on the client is placed in one bin, and one element on the server is placed in two bins), the elements in each bin on the client can definitely be found in the corresponding bin on the server. The many-to-many (m vs n) matching problem is simplified to multiple smaller many-to-many (m' vs n') matching problems.

[0278] The above-mentioned binning can be implemented using existing methods, and its specific content will not be repeated here.

[0279] Step 33. Parallel Computation: Run the PSI calculation in parallel using Map Reduce based on the binning granularity, and the client obtains the final privacy set intersection calculation result.

[0280] The purpose of step 33 is to perform intersection calculations based on the parallel execution of the PSI protocol in bins. Specifically, the intersection calculation is performed in parallel using a Map-Reduce approach for multiple smaller many-to-many matching problems: each bin uses the traditional PSI protocol (the Diffe-Hellman PSI protocol can also be used, which performs better in the equilibrium state of small sets) to obtain the intersection result of the bin (corresponding to the matching intersection mentioned above), and then the intersection results of all bins are aggregated to obtain the final intersection calculation result of both parties (corresponding to the intersection set mentioned above);

[0281] After step 33 is completed, the client will obtain the set intersection calculation result of both parties, while the server has no way of knowing the result, thereby achieving secure and private set intersection calculation.

[0282] The following is a specific example of the solution provided in the embodiment of the present invention.

[0283] Specifically, you can Figure 4 As shown, the solution provided by the embodiment of the present invention may include:

[0284] Step 41: The client and server determine through negotiation whether the sets of both parties are balanced. If so, proceed to step 46; if not, proceed to step 42.

[0285] Specifically, assuming that the number of elements in the client source set (corresponding to the first set mentioned above) is m, and the number of elements in the server target set (corresponding to the second set mentioned above) is n, the balance coefficient h = max(m,n) / min(m,n) < 1.5 is used to determine whether the two sets are balanced (specifically, if it is true, it is determined to be balanced; if not, it is determined to be unbalanced). If they are balanced, go to step 46; otherwise, go to step 42.

[0286] Step 42: Estimate the expected false positive rate of the Bloom filter (corresponding to the above-mentioned false positive rate of filtering) through negotiation between the filtering party and the assisting party, and then determine parameters such as the Bloom filter size and the hash function.

[0287] Specifically, the client and server negotiate to estimate the expected false positive rate of the Bloom filter and determine which server or client will be the filter and which will be the assister. This determines parameters such as the Bloom filter size and hash function. Specifically, the false positive rate f is estimated, where f = [min(m,n) / max(m,n)] × s (s defaults to 1). Based on the false positive rate, a quick lookup table for Bloom filter false positive rates is used to determine the recommended b / m ratio and the optimal number of hash functions k, where b is the recommended Bloom filter bit length.

[0288] Step 43: The client and the server may negotiate to obtain the same security key (corresponding to the above-mentioned first key) through a DH (Diffie-Hellman) exchange password exchange algorithm.

[0289] Step 44: The assisting party encrypts each element of the source set (corresponding to the first set mentioned above) based on the security key, and then constructs a Bloom filter based on the encrypted elements and sends it to the filtering party.

[0290] Specifically, the client constructs an empty Bloom filter based on the parameters negotiated in step 41, then uses the security key key to encrypt the m elements of the source set one by one and inserts them into the Bloom filter, and finally sends the Bloom filter to the server.

[0291] Step 45: The filtering party encrypts each element in the target set (corresponding to the above second set) based on the same security key, and then uses the received Bloom filter to filter, and forms a new target set (corresponding to the above to-be-matched set) through all filtered elements.

[0292] Specifically, the server encrypts the n elements in the target set one by one based on the security key key negotiated in step 42 and filters them with the received Bloom filter, and forms a new target set Q through the filtered elements. The size of the new target set is at the same order of magnitude as the client set size.

[0293] Step 46: The client and the server negotiate the bin size, the number of elements in each bin, and the number of hash functions (corresponding to the bin parameter information) based on the number of elements in both sets and the dynamic resource situation (corresponding to the first parameter information).

[0294] Specifically, the client and server negotiate the bin size, the number of elements in each client bin, and the number of hash functions based on the number of elements in each set, m, and n, the PSI protocol to be adopted in step 49, and dynamic resource conditions (including network bandwidth, latency, and processor processing power). The recommended bin number is within the range of [min(10, 1.2×m), max(10, 1.2×m)]. There is no hard and fast rule for the number, but adjustments must comply with the following three principles:

[0295] 1. The better the resources (such as network bandwidth and processing power), the more bins you should have;

[0296] 2. The more elements in the client collection, the more bins there are;

[0297] 3. The communication cost (such as bandwidth) and computational cost (such as CPU) required by the binned PSI protocol must be balanced with the currently available resources. Specifically, the more bins there are, the higher the cost and the more resources required.

[0298] Step 47: The client performs binning based on cuckoo hashing, and calculates the corresponding multiple bin positions for each (local) element. If any bin is not filled, it is inserted; otherwise, the original element is kicked out and the current element is inserted, and the original element repeats the process of finding the position.

[0299] Specifically, the client performs binning based on cuckoo hashing, and calculates the corresponding multiple bin positions for each element. If any of the multiple bins is not filled, it is inserted. Otherwise, any original element in the bin is kicked out and inserted into the current element. The original element repeats the process of finding a free position until it is found and inserted. The number of multiple bin positions calculated by the client is equal to the number of hash functions used. In addition, the multiple bin positions belong to different bins.

[0300] Step 48: The server performs a simple insertion using the same hash function (i.e., the hash function used by the client). For each element in the new target set (obtained in step 45), the server calculates its corresponding bin position. The element is inserted into multiple bins simultaneously (i.e., multiple bins are inserted with the element simultaneously). Finally, dummy elements are added to fill the unused bins on the server and client. The binning results obtained in this step, after encryption, correspond to the encrypted set to be matched.

[0301] It should be noted that the order of the binning operation performed by the client in step 47 and the binning operation performed by the server in step 48 is not strictly distinguished. Figure 4 It is just a hint.

[0302] Step 49: The client and server perform a map operation based on the bin granularity, that is, the traditional PSI protocol is used to perform an intersection calculation between each corresponding bin on the client and the server; for example: the intersection calculation is performed on the bin numbered 1 on the client and the bin numbered 1 on the server, and the intersection calculation is performed on the bin numbered 2 on the client and the bin numbered 2 on the server.

[0303] The PSI protocol here can adopt any traditional exact matching PSI protocol according to security requirements, including various PSI schemes such as DiffeHellman, homomorphic encryption, oblivious transfer, secret sharing or public key encryption algorithm RSA blind signature; specifically, the Diffe Hellamn PSI protocol can be adopted, but it is not limited to this.

[0304] This step specifically includes: the server encrypts the binning result (corresponding to the above encrypted set to be matched) and sends it to the client, and the client matches it with the local element (corresponding to the above local encrypted set), that is, intersection calculation.

[0305] Step 410: The client and server perform a reduce operation based on the bin granularity, that is, the intersection results obtained in each bin (corresponding to the above matching intersection) are aggregated, and finally the client obtains the final intersection result of the two sets (corresponding to the above intersection set).

[0306] The above steps 41 to 45 belong to the set balancing operation, steps 46 to 48 belong to the element binning operation, and steps 49 to 410 belong to the parallel computing operation.

[0307] Based on the above, the solution provided by the embodiment of the present invention involves:

[0308] 1. We propose a highly adaptable private intersection calculation method. This method, through three stages: set balancing, element binning, and parallel computation, is adaptable not only to scenarios where the sets of both parties are balanced or unbalanced, but also to scenarios where one or both parties are large sets.

[0309] 2. A method is proposed to estimate the false positive rate of the Bloom filter based on the difference in the number of samples on both sides, and then calculate the expected filter size (corresponding to the above-mentioned false positive rate) and the optimal number of hash functions. By constructing a Bloom filter to filter a large set, the goal of balancing the set sizes of both sides can be achieved by filtering once. In addition, by adjusting the safety factor (according to needs), the size of the filtered set on the server side can be controlled, thereby adapting to the security requirements of different application scenarios. Specifically, the higher the security requirement, the higher the safety factor.

[0310] 3. We propose a binning method (corresponding to the element binning described above) that integrates the session resource environment, the sample size of both parties, and the PSI communication computational cost. This allows the private intersection calculation to be dynamically adjusted as factors such as the session resource environment change, thereby achieving greater flexibility in adapting to application scenarios.

[0311] 4. A method for parallel computing based on binning using the big data map reduce method is proposed. This method performs intersection calculations on multiple bins in parallel to obtain the bin intersection result, and then aggregates the intersection results of each bin to obtain the final intersection result. Compared with the traditional serial method, this parallel method can fully utilize client and server resources, greatly improve the efficiency of intersection calculation, and solve the problem of inefficiency.

[0312] In combination with the above, it can be seen that the information processing method provided by the embodiment of the present invention involves: when the number of elements between the first set to be matched and the second set is unbalanced, the first communication device calculates the filtering error rate using a formula based on the number of first elements in the first set and the number of second elements in the second set; the first communication device constructs a Bloom filter based on the filtering error rate; the first communication device sends the Bloom filter to the second communication device; the second communication device filters the local elements (corresponding to the above-mentioned second set) according to the received Bloom filter to obtain a new set (corresponding to the above-mentioned set to be matched) that is roughly balanced with the first set of the first communication device; the first communication device and the second communication device negotiate to perform binning processing based on the number of elements in both sets and resource conditions. After binning, the traditional privacy intersection calculation protocol is used between each pair of bins of the first communication device and the second communication device to obtain the intersection calculation result of each bin (corresponding to the above-mentioned matching intersection), and the results of each bin (i.e., the intersection calculation result) are aggregated to form the final intersection calculation result of both parties (corresponding to the above-mentioned intersection set). This solution solves the problems of low efficiency and poor adaptability of information processing solutions for privacy-preserving intersection calculation in the prior art.

[0313] In summary, the solution provided by the embodiment of the present invention has the following advantages:

[0314] 1. High adaptability;

[0315] 1. One algorithm simultaneously adapts to three different privacy intersection computing application scenarios: large set-small set (unbalanced), large set-large set (balanced), and small set-small set (balanced);

[0316] 2. The client-side Bloom filter misjudgment rate can be calculated by adjusting the safety factor, and the size of the filtered set on the server can be controlled to balance security and efficiency, thus meeting the security requirements of different application scenarios.

[0317] 3. Binning is performed based on the session resource environment, the sample size of both parties, and the PSI communication computational cost. This allows the privacy intersection calculation to be dynamically adjusted as factors such as the session resource environment change, thereby achieving greater application flexibility.

[0318] 2. High performance;

[0319] By adopting the big data map reduce method to perform parallel computing based on binning, the performance of intersection computing is greatly improved, especially for the application scenarios of private intersection computing where one or both parties are giant sets.

[0320] In addition, the relevant contents involved in the embodiments of the present invention are introduced as follows:

[0321] (1) About Cuckoo Hash:

[0322] The purpose of Cuckoo Hashing is to resolve hash collisions, using less computation in exchange for more space. Its characteristics are small space usage and fast query speed. The algorithm consists of the following steps (assuming that two hash functions are used to calculate the corresponding element positions):

[0323] 1. If both positions are empty, insert one of them;

[0324] 2. If one of the two positions is empty, insert it into the empty position;

[0325] 3. If both positions are not empty, the element at one position is randomly kicked out, and the kicked element is then executed again to find its other position, and the cycle continues until the insertion is successful.

[0326] 4. If the number of times a user is kicked out reaches a certain threshold, the hash table is considered full and a rehash is performed.

[0327] Cuckoo hashing can significantly improve the efficiency of element query because elements must exist in one of the positions calculated by their corresponding hash function.

[0328] (2) About Bloom filter:

[0329] Bloom filters are a fast search algorithm that uses multiple hash functions. They are often used in situations where it's necessary to quickly determine whether an element is in a set, but 100% accuracy isn't strictly required. Bloom filters are highly space-efficient, using bit arrays to represent the set to be tested, significantly saving storage space. This algorithm can also be used to eliminate duplicates.

[0330] Bloom filters may make incorrect judgments, but they won't miss any. That is, if a Bloom filter determines that an element is not in a set, it definitely is not. If it determines that an element is in a set, there's a certain probability of misjudgment (if it's not there, it's definitely not there, but if it's there, it's not necessarily there). Therefore, Bloom filters aren't suitable for "zero error" applications. However, in applications that can tolerate a low error rate, Bloom filters significantly save space compared to other common algorithms (such as hashing and binary search); their space efficiency and query time far exceed those of general algorithms.

[0331] (3) About binning:

[0332] Binning uses hash functions to discretize continuous variables, consolidating multi-state discrete variables into a smaller set. This technique is commonly used in big data processing and machine learning. Typically, binning is used to divide a large data set into multiple smaller sets based on specific rules, facilitating multi-threaded parallel processing.

[0333] The embodiment of the present invention further provides an information processing device, which is applied to a first communication device, such as Figure 5 Shown, including:

[0334] A first acquisition module 51 is configured to acquire a filtering false positive rate according to the number of first elements in the first set and the number of second elements in the second set when the order of magnitude of elements in the first set and the second set to be matched is different;

[0335] A first construction module 52 is configured to construct a Bloom filter according to the filtering misjudgment rate;

[0336] A first sending module 53, configured to send the Bloom filter to a second communication device;

[0337] A first receiving module 54 is configured to receive an encryption set to be matched fed back by the second communication device according to the Bloom filter;

[0338] A first matching module 55 is configured to perform a matching operation on the encrypted set to be matched based on the local encrypted set corresponding to the first set to obtain an intersection set;

[0339] The first set is a local set of the first communication device, and the second set is a local set of the second communication device;

[0340] The first number of elements is smaller than the second number of elements.

[0341] The information processing device provided in an embodiment of the present invention obtains a filtering error rate based on the number of first elements in the first set and the number of second elements in the second set when the order of magnitude of elements between the first set and the second set to be matched is different; constructs a Bloom filter based on the filtering error rate; sends the Bloom filter to a second communication device; receives the encrypted set to be matched fed back by the second communication device based on the Bloom filter; performs a matching operation on the encrypted set to be matched based on the local encrypted set corresponding to the first set to obtain an intersection set; wherein the first set is the local set of the first communication device and the second set is the local set of the second communication device; and can support the implementation of: estimating the Bloom filter error rate (i.e., filtering error rate) based on the difference in the number of samples of both parties, and then constructing a Bloom filter for filtering the large set, so that the size of the sets of both parties can be balanced with a single filtering; thereby, even in a scenario where the sets of both parties are unbalanced, the intersection calculation can be quickly and accurately performed, while improving processing efficiency and ensuring communication efficiency, thereby effectively solving the problem that the information processing scheme for privacy-preserving intersection calculation in the prior art is not suitable for scenarios where the sets of both parties are unbalanced.

[0342] Furthermore, the information processing device also includes: a second acquisition module, which is used to obtain a balance coefficient between the first set to be matched and the second set before obtaining the filtering error rate based on the first number of elements in the first set and the second number of elements in the second set; wherein, when the order of magnitude of elements between the first set to be matched and the second set is different, obtaining the filtering error rate based on the first number of elements in the first set and the second number of elements in the second set includes: when the balance coefficient indicates that the order of magnitude of elements between the first set and the second set is different, obtaining the filtering error rate based on the first number of elements in the first set and the second number of elements in the second set.

[0343] Wherein, obtaining the balance coefficient between the first set to be matched and the second set includes: obtaining the balance coefficient between the first set to be matched and the second set according to a first formula; wherein, the first formula is: h=max(m,n) / min(m,n); h represents the balance coefficient, m represents the number of first elements of the first set, and n represents the number of second elements of the second set.

[0344] In an embodiment of the present invention, obtaining the filtering false positive rate based on the number of first elements in the first set and the number of second elements in the second set includes: using a second formula to obtain the filtering false positive rate based on the number of first elements in the first set and the number of second elements in the second set; wherein, the second formula is: f = [min(m,n) / max(m,n)]×s; f represents the filtering false positive rate, m represents the number of first elements in the first set, n represents the number of second elements in the second set, and s represents the safety factor.

[0345] Furthermore, the information processing device also includes: a first negotiation module, used to negotiate with the second communication device to determine a first key before constructing a Bloom filter based on the filtering error rate; a first encryption module, used to use the first key to encrypt the elements in the first set to obtain a first encrypted set; the construction of the Bloom filter based on the filtering error rate includes: constructing a Bloom filter based on the filtering error rate and the first encryption set.

[0346] In an embodiment of the present invention, the device also includes: a second negotiation module, used to negotiate with the second communication device to determine the bin parameter information based on the first parameter information; a first bin module, used to bin the first set according to the bin parameter information to obtain at least two bin sets; the local encryption set corresponding to the first set is matched with the encryption set to obtain an intersection set, including: encrypting each of the bin sets to obtain the corresponding local encryption sets; performing a matching operation on the encryption set to be matched according to the local encryption set to obtain an intersection set; wherein, the first parameter information includes: at least one of the number of the first elements, the number of the second elements and dynamic resource status information; the dynamic resource status information includes: at least one of network bandwidth information, latency information and processor processing capability information; the bin parameter information includes: at least one of the number of bins, bin size and number of hash functions.

[0347] The step of binning the first set according to the binning parameter information to obtain at least two binning sets includes placing each element in the first set in a binning position according to the binning parameter information to obtain at least two binning sets.

[0348] In an embodiment of the present invention, the number of the encryption sets to be matched and the number of local encryption sets are both at least two; performing a matching operation on the encryption sets to be matched based on the local encryption set corresponding to the first set to obtain an intersection set includes: performing a matching operation on the at least two encryption sets to be matched in parallel based on the at least two local encryption sets to obtain at least two matching intersections; and obtaining an intersection set based on the at least two matching intersections.

[0349] Among them, the implementation embodiments of the information processing method on the first communication device side are all applicable to the embodiments of the information processing device and can achieve the same technical effects.

[0350] The embodiment of the present invention further provides an information processing device, which is applied to a second communication device, such as Figure 6 Shown, including:

[0351] A second receiving module 61 is configured to receive a Bloom filter sent by the first communication device;

[0352] A first filtering module 62 is configured to filter the second set using the Bloom filter to obtain a set to be matched;

[0353] A first processing module 63 is configured to obtain an encrypted set to be matched according to the set to be matched;

[0354] A second sending module 64 is configured to send the encryption set to be matched to the first communication device;

[0355] The Bloom filter is constructed by the first communication device according to a filtering misjudgment rate obtained based on the first number of elements in the first set and the second number of elements in the second set;

[0356] The first set is a local set of the first communication device, and the second set is a local set of the second communication device;

[0357] The first number of elements is smaller than the second number of elements.

[0358] The information processing device provided by the embodiment of the present invention receives a Bloom filter sent by a first communication device; uses the Bloom filter to filter the second set to obtain a set to be matched; obtains an encrypted set to be matched based on the set to be matched; and sends the encrypted set to be matched to the first communication device; wherein the Bloom filter is constructed by the first communication device according to the filtering error rate obtained by the first number of elements in the first set and the second number of elements in the second set; the first set is the local set of the first communication device, and the second set is the local set of the second communication device; the number of the first element is less than the number of the second element; it can support the implementation of: estimating the Bloom filter error rate (i.e., the filtering error rate) based on the difference in the number of samples of both parties, and then constructing a Bloom filter for filtering the large set, so that the purpose of balancing the size of the sets of both parties can be achieved by filtering once; thereby, the intersection calculation can be quickly and accurately realized even in the scenario where the sets of both parties are unbalanced, and the processing efficiency is improved, and the communication efficiency is guaranteed, which well solves the problem that the information processing scheme for privacy-preserving intersection calculation in the prior art is not suitable for the scenario where the sets of both parties are unbalanced.

[0359] Furthermore, the information processing device also includes: a third negotiation module, which is used to negotiate with the first communication device to determine the first key before using the Bloom filter to filter the second set to obtain the set to be matched; wherein, using the Bloom filter to filter the second set to obtain the set to be matched includes: using the first key to encrypt the elements in the second set; using the Bloom filter to filter the encrypted elements; and constructing the set to be matched based on the elements obtained by filtering.

[0360] In an embodiment of the present invention, the device also includes: a fourth negotiation module, used to negotiate with the first communication device to determine the bin parameter information based on the first parameter information; the obtaining of the encryption set to be matched based on the set to be matched includes: binning the set to be matched according to the bin parameter information to obtain at least two bin sets; encrypting each of the bin sets to obtain the corresponding encryption sets to be matched; wherein, the first parameter information includes: at least one of the number of the first elements, the number of the second elements and dynamic resource status information; the dynamic resource status information includes: at least one of network bandwidth information, latency information and processor processing capability information; the bin parameter information includes: at least one of the number of bins, bin size and number of hash functions.

[0361] In an embodiment of the present invention, binning the set to be matched according to the binning parameter information to obtain at least two binning sets includes: placing each element in the set to be matched in N binning positions according to the binning parameter information to obtain at least two binning sets; wherein N is equal to the number of hash functions in the binning parameter information.

[0362] Among them, the implementation embodiments of the information processing method on the second communication device side are all applicable to the embodiments of the information processing device and can achieve the same technical effects.

[0363] The embodiment of the present invention further provides a communication device, wherein the communication device is a first communication device, such as Figure 7 As shown, it includes: a processor 71 and a transceiver 72;

[0364] The processor 71 is configured to obtain a filtering misjudgment rate according to the number of first elements in the first set and the number of second elements in the second set when the order of magnitude of elements in the first set and the second set to be matched is different;

[0365] Constructing a Bloom filter according to the filtering misjudgment rate;

[0366] sending the Bloom filter to a second communication device via the transceiver 72;

[0367] Receiving, via the transceiver 72, the encryption set to be matched fed back by the second communication device according to the Bloom filter;

[0368] performing a matching operation on the to-be-matched encrypted set according to the local encrypted set corresponding to the first set to obtain an intersection set;

[0369] The first set is a local set of the first communication device, and the second set is a local set of the second communication device;

[0370] The first number of elements is smaller than the second number of elements.

[0371] The communication device provided in an embodiment of the present invention obtains a filtering error rate based on the number of first elements in the first set and the number of second elements in the second set when the order of magnitude of elements between the first set and the second set to be matched is different; constructs a Bloom filter based on the filtering error rate; sends the Bloom filter to a second communication device; receives the encrypted set to be matched fed back by the second communication device based on the Bloom filter; performs a matching operation on the encrypted set to be matched based on the local encrypted set corresponding to the first set to obtain an intersection set; wherein the first set is the local set of the first communication device and the second set is the local set of the second communication device; and can support the implementation of: estimating the Bloom filter error rate (i.e., filtering error rate) based on the difference in the number of samples of both parties, and then constructing a Bloom filter for filtering the large set, so that the size of the sets of both parties can be balanced with a single filtering; thereby, even in a scenario where the sets of both parties are unbalanced, the intersection calculation can be quickly and accurately performed, while improving processing efficiency and ensuring communication efficiency, thereby effectively solving the problem that the information processing scheme for privacy-preserving intersection calculation in the prior art is not applicable to scenarios where the sets of both parties are unbalanced.

[0372] Furthermore, the processor is also used to: obtain a balance coefficient between the first set to be matched and the second set before obtaining the filtering error rate based on the first number of elements in the first set and the second number of elements in the second set; wherein, when the order of magnitude of elements between the first set to be matched and the second set is different, obtaining the filtering error rate based on the first number of elements in the first set and the second number of elements in the second set includes: when the balance coefficient indicates that the order of magnitude of elements between the first set and the second set is different, obtaining the filtering error rate based on the first number of elements in the first set and the second number of elements in the second set.

[0373] Wherein, obtaining the balance coefficient between the first set to be matched and the second set includes: obtaining the balance coefficient between the first set to be matched and the second set according to a first formula; wherein, the first formula is: h=max(m,n) / min(m,n); h represents the balance coefficient, m represents the number of first elements of the first set, and n represents the number of second elements of the second set.

[0374] In an embodiment of the present invention, obtaining the filtering false positive rate based on the number of first elements in the first set and the number of second elements in the second set includes: using a second formula to obtain the filtering false positive rate based on the number of first elements in the first set and the number of second elements in the second set; wherein, the second formula is: f = [min(m,n) / max(m,n)]×s; f represents the filtering false positive rate, m represents the number of first elements in the first set, n represents the number of second elements in the second set, and s represents the safety factor.

[0375] Furthermore, the processor is also used to: before constructing a Bloom filter based on the filtering error rate, negotiate with the second communication device to determine a first key; use the first key to encrypt the elements in the first set to obtain a first encrypted set; constructing a Bloom filter based on the filtering error rate includes: constructing a Bloom filter based on the filtering error rate and the first encryption set.

[0376] In an embodiment of the present invention, the processor is further used to: determine bin parameter information through negotiation with the second communication device based on the first parameter information; bin the first set based on the bin parameter information to obtain at least two bin sets; perform a matching operation on the encrypted set to be matched based on the local encryption set corresponding to the first set to obtain an intersection set, including: encrypting each of the bin sets to obtain the corresponding local encryption sets; perform a matching operation on the encrypted set to be matched based on the local encryption set to obtain an intersection set; wherein, the first parameter information includes: at least one of the number of the first elements, the number of the second elements, and dynamic resource status information; the dynamic resource status information includes: at least one of network bandwidth information, latency information, and processor processing capability information; the bin parameter information includes: at least one of the number of bins, bin size, and the number of hash functions.

[0377] The step of binning the first set according to the binning parameter information to obtain at least two binning sets includes placing each element in the first set in a binning position according to the binning parameter information to obtain at least two binning sets.

[0378] In an embodiment of the present invention, the number of the encryption sets to be matched and the number of local encryption sets are both at least two; performing a matching operation on the encryption sets to be matched based on the local encryption set corresponding to the first set to obtain an intersection set includes: performing a matching operation on the at least two encryption sets to be matched in parallel based on the at least two local encryption sets to obtain at least two matching intersections; and obtaining an intersection set based on the at least two matching intersections.

[0379] Among them, the implementation embodiments of the information processing method on the first communication device side are all applicable to the embodiments of the communication device and can achieve the same technical effects.

[0380] The embodiment of the present invention further provides a communication device, wherein the communication device is a second communication device, such as Figure 8 As shown, it includes: a processor 81 and a transceiver 82;

[0381] The processor 81 is configured to receive a Bloom filter sent by a first communication device through the transceiver 82;

[0382] Using the Bloom filter, filtering the second set to obtain a set to be matched;

[0383] Obtaining an encrypted set to be matched according to the set to be matched;

[0384] Sending the encryption set to be matched to the first communication device via the transceiver 82;

[0385] The Bloom filter is constructed by the first communication device according to a filtering misjudgment rate obtained based on the first number of elements in the first set and the second number of elements in the second set;

[0386] The first set is a local set of the first communication device, and the second set is a local set of the second communication device;

[0387] The first number of elements is smaller than the second number of elements.

[0388] The communication device provided in an embodiment of the present invention receives a Bloom filter sent by a first communication device; uses the Bloom filter to filter the second set to obtain a set to be matched; obtains an encrypted set to be matched based on the set to be matched; and sends the encrypted set to be matched to the first communication device; wherein the Bloom filter is constructed by the first communication device according to the filtering error rate obtained by the first number of elements in the first set and the second number of elements in the second set; the first set is a local set of the first communication device, and the second set is a local set of the second communication device; the number of the first element is less than the number of the second element; it can support the implementation of: estimating the Bloom filter error rate (i.e., the filtering error rate) based on the difference in the number of samples of both parties, and then constructing a Bloom filter for filtering the large set, so that the purpose of balancing the size of the sets of both parties can be achieved by filtering once; thereby, the intersection calculation can be quickly and accurately realized even in the scenario where the sets of both parties are unbalanced, and the processing efficiency is improved, and the communication efficiency is guaranteed, which well solves the problem that the information processing scheme for privacy-preserving intersection calculation in the prior art is not suitable for the scenario where the sets of both parties are unbalanced.

[0389] Furthermore, the processor is also used to: before using the Bloom filter to filter the second set to obtain the set to be matched, negotiate with the first communication device to determine the first key; wherein, using the Bloom filter to filter the second set to obtain the set to be matched includes: using the first key to encrypt the elements in the second set; using the Bloom filter to filter the encrypted elements; and constructing the set to be matched based on the elements obtained by filtering.

[0390] In an embodiment of the present invention, the processor is further used to: determine binning parameter information through negotiation with the first communication device based on first parameter information; obtaining an encrypted set to be matched based on the set to be matched, including: binning the set to be matched according to the binning parameter information to obtain at least two binning sets; encrypting each of the binning sets to obtain corresponding encrypted sets to be matched; wherein, the first parameter information includes: at least one of the number of the first elements, the number of the second elements, and dynamic resource status information; the dynamic resource status information includes: at least one of network bandwidth information, latency information, and processor processing capability information; the binning parameter information includes: at least one of the number of bins, bin size, and the number of hash functions.

[0391] In an embodiment of the present invention, binning the set to be matched according to the binning parameter information to obtain at least two binning sets includes: placing each element in the set to be matched in N binning positions according to the binning parameter information to obtain at least two binning sets; wherein N is equal to the number of hash functions in the binning parameter information.

[0392] Among them, the implementation embodiments of the information processing method on the second communication device side are all applicable to the embodiments of the communication device and can achieve the same technical effects.

[0393] An embodiment of the present invention also provides a communication device, comprising a memory, a processor, and a program stored on the memory and runnable on the processor; when the processor executes the program, the information processing method on the first communication device side is implemented; or, when the processor executes the program, the information processing method on the second communication device side is implemented.

[0394] Among them, the implementation embodiments of the information processing method on the first communication device side or the second communication device side are all applicable to the embodiments of the communication device and can achieve the same technical effects.

[0395] An embodiment of the present invention also provides a readable storage medium on which a program is stored, which, when executed by a processor, implements the steps of the information processing method on the first communication device side; or, when executed by a processor, implements the steps of the information processing method on the second communication device side.

[0396] Among them, the implementation embodiments of the information processing method on the first communication device side or the second communication device side are all applicable to the embodiments of the readable storage medium and can achieve the same technical effects.

[0397] It should be noted that many functional components described in this specification are referred to as modules in order to more particularly emphasize the independence of their implementation methods.

[0398] In embodiments of the present invention, modules can be implemented in software so that they can be executed by various types of processors. For example, an identified executable code module can include one or more physical or logical blocks of computer instructions, for example, which can be constructed as objects, procedures, or functions. Nevertheless, the executable code of the identified module does not need to be physically located together, but can include different instructions stored in different locations, which, when logically combined together, constitute the module and achieve the specified purpose of the module.

[0399] In fact, executable code module can be a single instruction or many instructions, and can even be distributed on a plurality of different code segments, distributed in the middle of different programs, and distributed across a plurality of memory devices.Similarly, operating data can be identified in the module, and can be implemented and organized in the data structure of any appropriate type according to any appropriate form.Described operating data can be collected as a single data set, or can be distributed in different locations (including on different storage devices), and can only be present on a system or network as an electronic signal at least in part.

[0400] When a module can be implemented using software, given the current state of hardware technology, those skilled in the art can build corresponding hardware circuits to implement the corresponding functions of the module, regardless of cost. The hardware circuits may include conventional very large scale integration (VLSI) circuits or gate arrays, as well as existing semiconductors such as logic chips and transistors, or other discrete components. Modules may also be implemented using programmable hardware devices, such as field programmable gate arrays, programmable array logic, or programmable logic devices.

[0401] The above is a preferred embodiment of the present invention. It should be pointed out that for ordinary personnel in this technical field, several improvements and modifications can be made without departing from the principles of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.

Claims

1. An information processing method, applied to a first communication device, characterized in that: include: When the order of magnitude of elements in the first set to be matched and the second set is different, obtaining a filtering misjudgment rate according to the number of first elements in the first set and the number of second elements in the second set; Constructing a Bloom filter according to the filtering misjudgment rate; Sending the Bloom filter to a second communication device; receiving an encryption set to be matched fed back by the second communication device according to the Bloom filter; performing a matching operation on the to-be-matched encrypted set according to the local encrypted set corresponding to the first set to obtain an intersection set; The first set is a local set of the first communication device, and the second set is a local set of the second communication device; The number of the first elements is less than the number of the second elements; The method further comprises: Determine binning parameter information through negotiation with the second communication device according to the first parameter information; Binning the first set according to the binning parameter information to obtain at least two binning sets; The performing a matching operation on the to-be-matched encrypted set according to the local encrypted set corresponding to the first set to obtain an intersection set includes: Encrypting each of the sub-box sets to obtain corresponding local encrypted sets; According to the local encrypted set, a matching operation is performed on the encrypted set to be matched to obtain an intersection set; The first parameter information includes: at least one of the number of the first elements, the number of the second elements, and dynamic resource status information; the dynamic resource status information includes: at least one of network bandwidth information, latency information, and processor processing capability information; The binning parameter information includes: at least one of the number of bins, the bin size, and the number of hash functions; The step of binning the first set according to the binning parameter information to obtain at least two binning sets includes: Each element in the first set is placed in a bin position according to the bin parameter information, to obtain at least two bin sets.

2. The information processing method according to claim 1, wherein: Before obtaining the filtering misjudgment rate according to the number of first elements in the first set and the number of second elements in the second set, the method further includes: Obtaining a balance coefficient between the first set to be matched and the second set; Wherein, when the order of magnitude of elements in the first set to be matched and the second set to be matched is different, obtaining the filtering misjudgment rate according to the number of first elements in the first set and the number of second elements in the second set includes: In a case where the balance coefficient indicates that the order of magnitude of elements between the first set and the second set is different, a filtering false positive rate is obtained according to the first number of elements in the first set and the second number of elements in the second set.

3. The information processing method according to claim 2, wherein: The obtaining of a balance coefficient between the first set to be matched and the second set includes: Obtaining a balance coefficient between the first set to be matched and the second set according to the first formula; Among them, the first formula is: h=max(m,n) / min(m,n); The h represents a balance coefficient, the m represents the number of first elements in the first set, and the n represents the number of second elements in the second set.

4. The information processing method according to claim 1 or 2, characterized in that: The obtaining of the filtering misjudgment rate according to the number of first elements in the first set and the number of second elements in the second set includes: Obtaining a filtering misjudgment rate according to the number of first elements in the first set and the number of second elements in the second set using a second formula; Wherein, the second formula is: f=[min(m,n) / max(m,n)]×s; The f represents the filtering misjudgment rate, the m represents the number of first elements in the first set, the n represents the number of second elements in the second set, and the s represents the safety factor.

5. The information processing method according to claim 1, wherein: Before constructing a Bloom filter based on the filtering misjudgment rate, the method further includes: Negotiate with the second communication device to determine a first key; Using the first key, encrypting the elements in the first set to obtain a first encrypted set; The step of constructing a Bloom filter according to the filtering misjudgment rate includes: A Bloom filter is constructed according to the filtering false positive rate and the first encryption set.

6. The information processing method according to claim 1, wherein: The number of the to-be-matched encryption sets and the number of the local encryption sets are both at least two; The performing a matching operation on the to-be-matched encrypted set according to the local encrypted set corresponding to the first set to obtain an intersection set includes: performing matching operations on the at least two to-be-matched encrypted sets in parallel based on the at least two local encrypted sets to obtain at least two matching intersections; An intersection set is obtained according to the at least two matching intersections.

7. An information processing method, applied to a second communication device, characterized in that: include: receiving a Bloom filter sent by a first communication device; Using the Bloom filter, filtering the second set to obtain a set to be matched; Obtaining an encrypted set to be matched according to the set to be matched; Sending the encryption set to be matched to the first communication device; The Bloom filter is constructed by the first communication device according to a filtering misjudgment rate obtained based on the first number of elements in the first set and the second number of elements in the second set; The first set is a local set of the first communication device, and the second set is a local set of the second communication device; The number of the first elements is less than the number of the second elements; The method further comprises: Determine binning parameter information through negotiation with the first communication device according to the first parameter information; The step of obtaining an encrypted set to be matched according to the set to be matched includes: Binning the to-be-matched set according to the binning parameter information to obtain at least two binning sets; Encrypting each of the sub-box sets to obtain corresponding encrypted sets to be matched; The first parameter information includes: at least one of the number of the first elements, the number of the second elements, and dynamic resource status information; the dynamic resource status information includes: at least one of network bandwidth information, latency information, and processor processing capability information; The binning parameter information includes at least one of the number of bins, the bin size, and the number of hash functions.

8. The information processing method according to claim 7, wherein: Before using the Bloom filter to filter the second set to obtain the to-be-matched set, the method further includes: Negotiate with the first communication device to determine a first key; The filtering of the second set by using the Bloom filter to obtain the set to be matched includes: Using the first key, encrypting the elements in the second set; Filtering the encrypted elements using the Bloom filter; Construct a set to be matched based on the elements obtained by filtering.

9. The information processing method according to claim 7, wherein: The step of binning the to-be-matched set according to the binning parameter information to obtain at least two binning sets includes: According to the binning parameter information, each element in the to-be-matched set is placed in N bin positions to obtain at least two binning sets; Wherein, N is equal to the number of hash functions in the bin parameter information.

10. An information processing device, applied to a first communication device, characterized in that: include: a first acquisition module, configured to acquire a filtering misjudgment rate according to the number of first elements in the first set and the number of second elements in the second set when the order of magnitude of elements in the first set and the second set to be matched is different; A first construction module is configured to construct a Bloom filter according to the filtering misjudgment rate; A first sending module, configured to send the Bloom filter to a second communication device; A first receiving module is configured to receive an encryption set to be matched fed back by the second communication device according to the Bloom filter; a first matching module, configured to perform a matching operation on the to-be-matched encrypted set according to the local encrypted set corresponding to the first set, to obtain an intersection set; The first set is a local set of the first communication device, and the second set is a local set of the second communication device; The number of the first elements is less than the number of the second elements; The device further comprises: A second negotiation module, configured to negotiate with the second communication device to determine binning parameter information based on the first parameter information; A first binning module, configured to bin the first set according to the binning parameter information to obtain at least two binning sets; The performing a matching operation on the to-be-matched encrypted set according to the local encrypted set corresponding to the first set to obtain an intersection set includes: Encrypting each of the sub-box sets to obtain corresponding local encrypted sets; According to the local encrypted set, a matching operation is performed on the encrypted set to be matched to obtain an intersection set; The first parameter information includes: at least one of the number of the first elements, the number of the second elements, and dynamic resource status information; the dynamic resource status information includes: at least one of network bandwidth information, latency information, and processor processing capability information; The binning parameter information includes: at least one of the number of bins, the bin size, and the number of hash functions; The step of binning the first set according to the binning parameter information to obtain at least two binning sets includes: Each element in the first set is placed in a bin position according to the bin parameter information, to obtain at least two bin sets.

11. The information processing device according to claim 10, wherein: Also includes: a second acquisition module, configured to acquire a balance coefficient between the first set to be matched and the second set before acquiring a filtering false positive rate according to the number of first elements in the first set and the number of second elements in the second set; Wherein, when the order of magnitude of elements in the first set to be matched and the second set to be matched is different, obtaining the filtering misjudgment rate according to the number of first elements in the first set and the number of second elements in the second set includes: In a case where the balance coefficient indicates that the order of magnitude of elements between the first set and the second set is different, a filtering false positive rate is obtained according to the first number of elements in the first set and the second number of elements in the second set.

12. The information processing device according to claim 11, wherein The obtaining of a balance coefficient between the first set to be matched and the second set includes: Obtaining a balance coefficient between the first set to be matched and the second set according to the first formula; Among them, the first formula is: h=max(m,n) / min(m,n); The h represents a balance coefficient, the m represents the number of first elements in the first set, and the n represents the number of second elements in the second set.

13. The information processing device according to claim 10 or 11, characterized in that The obtaining of the filtering misjudgment rate according to the number of first elements in the first set and the number of second elements in the second set includes: Obtaining a filtering misjudgment rate according to the number of first elements in the first set and the number of second elements in the second set using a second formula; Wherein, the second formula is: f=[min(m,n) / max(m,n)]×s; The f represents the filtering misjudgment rate, the m represents the number of first elements in the first set, the n represents the number of second elements in the second set, and the s represents the safety factor.

14. The information processing device according to claim 10, wherein Also includes: a first negotiation module, configured to negotiate with the second communication device to determine a first key before constructing a Bloom filter according to the filtering false positive rate; a first encryption module, configured to encrypt the elements in the first set using the first key to obtain a first encrypted set; The step of constructing a Bloom filter according to the filtering misjudgment rate includes: A Bloom filter is constructed according to the filtering false positive rate and the first encryption set.

15. The information processing device according to claim 10, wherein The number of the to-be-matched encryption sets and the number of the local encryption sets are both at least two; The performing a matching operation on the to-be-matched encrypted set according to the local encrypted set corresponding to the first set to obtain an intersection set includes: performing matching operations on the at least two to-be-matched encrypted sets in parallel based on the at least two local encrypted sets to obtain at least two matching intersections; An intersection set is obtained according to the at least two matching intersections.

16. An information processing device, applied to a second communication device, characterized in that: include: A second receiving module, configured to receive a Bloom filter sent by the first communication device; A first filtering module is configured to filter the second set using the Bloom filter to obtain a to-be-matched set; A first processing module, configured to obtain an encrypted set to be matched according to the set to be matched; A second sending module, configured to send the encryption set to be matched to the first communication device; The Bloom filter is constructed by the first communication device according to a filtering misjudgment rate obtained based on the first number of elements in the first set and the second number of elements in the second set; The first set is a local set of the first communication device, and the second set is a local set of the second communication device; The number of the first elements is less than the number of the second elements; The device further comprises: a fourth negotiation module, configured to negotiate with the first communication device to determine binning parameter information based on the first parameter information; The step of obtaining an encrypted set to be matched according to the set to be matched includes: Binning the to-be-matched set according to the binning parameter information to obtain at least two binning sets; Encrypting each of the sub-box sets to obtain corresponding encrypted sets to be matched; The first parameter information includes: at least one of the number of the first elements, the number of the second elements, and dynamic resource status information; the dynamic resource status information includes: at least one of network bandwidth information, latency information, and processor processing capability information; The binning parameter information includes at least one of the number of bins, the bin size, and the number of hash functions.

17. The information processing device according to claim 16, wherein: Also includes: a third negotiation module, configured to negotiate with the first communication device to determine the first key before filtering the second set using the Bloom filter to obtain a to-be-matched set; The filtering of the second set by using the Bloom filter to obtain the set to be matched includes: Using the first key, encrypting the elements in the second set; Filtering the encrypted elements using the Bloom filter; Construct a set to be matched based on the elements obtained by filtering.

18. The information processing device according to claim 16, wherein: The step of binning the to-be-matched set according to the binning parameter information to obtain at least two binning sets includes: According to the binning parameter information, each element in the to-be-matched set is placed in N bin positions to obtain at least two binning sets; Wherein, N is equal to the number of hash functions in the bin parameter information.

19. A communication device, wherein the communication device is a first communication device, characterized in that: include: processor and transceiver; The processor is configured to obtain a filtering false positive rate according to the number of first elements in the first set and the number of second elements in the second set when the order of magnitude of elements between the first set and the second set to be matched is different; Constructing a Bloom filter according to the filtering misjudgment rate; sending the Bloom filter to a second communication device via the transceiver; receiving, by the transceiver, an encryption set to be matched fed back by the second communication device according to the Bloom filter; performing a matching operation on the to-be-matched encrypted set according to the local encrypted set corresponding to the first set to obtain an intersection set; The first set is a local set of the first communication device, and the second set is a local set of the second communication device; The number of the first elements is less than the number of the second elements; The processor is further configured to: determine binning parameter information through negotiation with the second communication device based on the first parameter information; Binning the first set according to the binning parameter information to obtain at least two binning sets; The performing a matching operation on the to-be-matched encrypted set according to the local encrypted set corresponding to the first set to obtain an intersection set includes: Encrypting each of the sub-box sets to obtain corresponding local encrypted sets; According to the local encrypted set, a matching operation is performed on the encrypted set to be matched to obtain an intersection set; The first parameter information includes: at least one of the number of the first elements, the number of the second elements, and dynamic resource status information; the dynamic resource status information includes: at least one of network bandwidth information, latency information, and processor processing capability information; The binning parameter information includes: at least one of the number of bins, the bin size, and the number of hash functions; The step of binning the first set according to the binning parameter information to obtain at least two binning sets includes: Each element in the first set is placed in a bin position according to the bin parameter information, to obtain at least two bin sets.

20. A communication device, wherein the communication device is a second communication device, characterized in that: include: processor and transceiver; The processor is configured to receive, through the transceiver, a Bloom filter sent by the first communication device; Using the Bloom filter, filtering the second set to obtain a set to be matched; Obtaining an encrypted set to be matched according to the set to be matched; Sending the encryption set to be matched to the first communication device via the transceiver; The Bloom filter is constructed by the first communication device according to a filtering misjudgment rate obtained based on the first number of elements in the first set and the second number of elements in the second set; The first set is a local set of the first communication device, and the second set is a local set of the second communication device; The number of the first elements is less than the number of the second elements; The processor is further configured to: determine binning parameter information through negotiation with the first communication device according to the first parameter information; The step of obtaining an encrypted set to be matched according to the set to be matched includes: Binning the to-be-matched set according to the binning parameter information to obtain at least two binning sets; Encrypting each of the sub-box sets to obtain corresponding encrypted sets to be matched; The first parameter information includes: at least one of the number of the first elements, the number of the second elements, and dynamic resource status information; the dynamic resource status information includes: at least one of network bandwidth information, latency information, and processor processing capability information; The binning parameter information includes at least one of the number of bins, the bin size, and the number of hash functions.

21. A communication device comprising a memory, a processor, and a program stored in the memory and executable on the processor; characterized in that: When the processor executes the program, the information processing method according to any one of claims 1 to 6 is implemented; or When the processor executes the program, the information processing method according to any one of claims 7 to 9 is implemented.

22. A readable storage medium having a program stored thereon, characterized in that: When the program is executed by a processor, the steps of the information processing method according to any one of claims 1 to 6 are implemented; or When the program is executed by a processor, the steps of the information processing method according to any one of claims 7 to 9 are realized.

Citation Information

Patent Citations

  • Network node bloom filter construction and implementation method based on encryption algorithm

    CN107566111A

  • Pathogenic gene detection method based on privacy protection intersection calculation protocol

    CN111125736A