Data processing method and device in multi-party privacy intersection and electronic equipment

文档序号:89588 发布日期:2021-10-08 浏览:32次 中文

阅读说明:本技术 一种多方隐私求交中的数据处理方法、装置及电子设备 (Data processing method and device in multi-party privacy intersection and electronic equipment ) 是由 徐葳 贾晓丰 李浥东 黄熹之 李艺 于 2021-09-07 设计创作,主要内容包括:本申请公开了一种多方隐私求交中的数据处理方法,应用于接收方设备,该接收方设备具有的m条关键词被采用布谷鸟哈希映射到大小为L的哈希表中,包括:接收发送方设备针对m条关键词发送的L组计算数据;使用L组计算数据中的m组计算数据,分别对应哈希表中的每条关键词,计算该条关键词对应的OPPRF结果;针对m个OPPRF结果中的每个OPPRF结果,将该OPPRF结果所对应的关键词的序号作为包头,与该OPPRF结果合并为处理后结果;将得到的m个处理后结果按照包头进行排序,并按照顺序存储到结果文件中;从结果文件中按顺序依次获取每个处理后结果,并使用该处理后结果包含的OPPRF结果,与对应的本地伪随机数进行数据融合。采用本方案,提高了多方隐私求交的效率。(The application discloses a data processing method in multi-party privacy intersection, which is applied to receiver equipment, wherein m key words which are possessed by the receiver equipment are mapped into a hash table with the size of L by adopting cuckoo hash, and the method comprises the following steps: receiving L groups of calculation data sent by sender equipment aiming at m key words; using m groups of calculation data in the L groups of calculation data to respectively correspond to each keyword in the hash table, and calculating an OPPRF result corresponding to the keyword; aiming at each OPPRF result in m OPPRF results, taking the serial number of the keyword corresponding to the OPPRF result as a packet header, and combining the packet header and the OPPRF result into a processed result; sequencing the m processed results according to the packet headers, and storing the m processed results into a result file according to the sequence; and sequentially acquiring each processed result from the result file in sequence, and performing data fusion with the corresponding local pseudo-random number by using the OPPRF result contained in the processed result. By adopting the scheme, the efficiency of multi-party privacy intersection is improved.)

1. A data processing method in multi-party privacy intersection is characterized in that the method is applied to receiver equipment, the receiver equipment is provided with a plurality of keywords, the number of the keywords is m, m keywords are mapped into a hash table with the size of L by adopting cuckoo hash, and L is not less than m, and the method comprises the following steps:

receiving L groups of calculation data sent by sender equipment aiming at m keywords, wherein the calculation data is used for calculating an OPPRF result;

using m groups of calculation data in the L groups of calculation data to respectively correspond to each keyword in the hash table, and calculating an OPPRF result corresponding to the keyword to obtain m OPPRF results;

aiming at each OPPRF result in m OPPRF results, taking the serial number of the keyword corresponding to the OPPRF result as a packet header, and combining the packet header and the OPPRF result into a processed result, wherein the packet header is positioned in the front part in the processed result;

sequencing the m processed results according to the packet headers, and storing the m processed results into a result file according to the sequence;

and sequentially acquiring each processed result from the result file in sequence, and performing data fusion with the corresponding local pseudo-random number by using the OPPRF result contained in the processed result.

2. The method as claimed in claim 1, wherein said calculating the OPPRF result corresponding to each keyword in the hash table by using m sets of calculation data in the L sets of calculation data respectively comprises:

acquiring each group of calculation data in the L groups of calculation data in sequence;

when a keyword is stored in a position corresponding to the set of calculation data in the hash table, calculating an OPPRF result corresponding to the keyword by using the set of calculation data;

and when the position corresponding to the set of calculation data in the hash table does not store the keyword, canceling the calculation of the OPPRF result by using the set of calculation data.

3. The method as claimed in claim 1, wherein said sorting the m processed results according to packet headers and storing them in a result file in order comprises:

dividing the m processed results into v groups, and respectively storing the v groups into v intermediate files, wherein the data volume of each intermediate file is less than the available space of the memory;

respectively sorting a plurality of processed results contained in each intermediate file in a memory according to packet headers to obtain v sorted intermediate files;

and sorting m processed results contained in the v sorted intermediate files according to packet headers to obtain a result file, wherein the result file contains m processed results stored in sequence.

4. The method as claimed in claim 3, wherein said sorting m processed results contained in said v sorted intermediate files according to packet headers to obtain a result file comprises:

and sorting m processed results contained in the v sorted intermediate files according to packet headers by adopting a multi-path merging and reducing method of a patroller tree to obtain a result file.

5. A method according to claim 3, wherein v is calculated using the formula:

wherein, memory _ limit represents the available space of the memory, opprf _ size represents the data size of one processed result, [ ] represents the integer of p, and U represents the number of processed results contained in each intermediate file.

6. The method of any one of claims 1-5, wherein L is greater than m and less than 2 m.

7. A data processing device in multi-party privacy intersection is applied to a receiver device, the receiver device is provided with a plurality of keywords, the number of the keywords is m, m keywords are subjected to hash mapping by adopting cuckoo to a hash table with the size of L, and L is not less than m, and the data processing device comprises:

the system comprises a data receiving module, a data processing module and a data processing module, wherein the data receiving module is used for receiving L groups of calculation data sent by sender equipment aiming at m keywords, and the calculation data is used for calculating an OPPRF result;

a result calculation module, configured to use m sets of calculation data in the L sets of calculation data to respectively correspond to each keyword in the hash table, and calculate an OPPRF result corresponding to the keyword, to obtain m OPPRF results;

a result merging module, configured to, for each OPPRF result of the m OPPRF results, merge a serial number of a keyword corresponding to the OPPRF result as a packet header with the OPPRF result into a processed result, where the packet header is located in a front portion in the processed result;

the result sorting module is used for sorting the m processed results according to the packet headers and storing the m processed results into a result file according to the sequence;

and the data fusion module is used for sequentially acquiring each processed result from the result file in sequence and performing data fusion with the corresponding local pseudo-random number by using the OPPRF result contained in the processed result.

8. The apparatus of claim 7, wherein the result calculation module is specifically configured to obtain each of the L sets of calculation data in sequence; when a keyword is stored in a position corresponding to the set of calculation data in the hash table, calculating an OPPRF result corresponding to the keyword by using the set of calculation data; and when the position corresponding to the set of calculation data in the hash table does not store the keyword, canceling the calculation of the OPPRF result by using the set of calculation data.

9. An electronic device comprising a processor and a machine-readable storage medium storing machine-executable instructions executable by the processor, the processor being caused by the machine-executable instructions to: carrying out the method of any one of claims 1 to 5.

10. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the method of any one of claims 1 to 5.

Technical Field

The present application relates to the field of privacy computing technologies, and in particular, to a data processing method and apparatus in multiparty privacy intersection, and an electronic device.

Background

The Multi-Party privacy negotiation (M-PSI) means that each of a plurality of parties has a data Set, and the Intersection of all the data sets is obtained by one Party through interaction among the parties, and each Party cannot acquire data in the data sets of other parties.

For example, a client and a plurality of servers each have a data set, and between the client and the servers, the intersection of the data sets of all the servers is desired, and finally the intersection result is obtained by the client. In the execution of the protocol, each server cannot derive the set data information of any other participant, and the client can only obtain the intersection result of a plurality of data sets of the multiple parties, and cannot know any information except the intersection result in any server data set. When there are only 1 service end, the multiparty privacy Intersection is a general privacy Intersection (PSI) scenario.

Currently, in the multi-party privacy negotiation technology, the negotiation can be performed based on an OPPRF (Random-Random Function) protocol, and in the computation process of the multi-party privacy negotiation, the OPPRF protocol needs to be invoked between every two participants in the multiple participants.

In each implementation process of the OPPRF protocol, one participant serves as a receiver device, the other participant serves as a sender device, the receiver device is provided with a plurality of keywords, the keywords are subjected to Hash mapping by adopting Cuckoo to a Hash table with the size of L, L groups of data used for calculating the OPPRF result and sent by the sender device are received, each group of received data is used in sequence, the OPPRF result is calculated according to the keywords stored at the corresponding positions in the Hash table, and the calculated OPRRF result is fused with the locally stored pseudo random numbers corresponding to the keywords.

In the implementation process of the OPPRF protocol, after the plurality of keywords are mapped into the hash table, positions of the plurality of keywords in the hash table are random and are not arranged according to the original sequence, so that the plurality of calculated OPPRF results corresponding to the plurality of keywords one by one are not arranged according to the original sequence of the keywords, and therefore, when the plurality of calculated OPPRF results corresponding to one keyword are required to be obtained according to the original sequence of the plurality of keywords and fused with the locally stored pseudo random number corresponding to the one keyword, the plurality of OPPRF results corresponding to the one keyword are required to be obtained from the plurality of OPPRF results with disordered sequence.

In addition, in practical applications, the number of the multiple keywords of the receiving device is often very large, which may be millions, and accordingly, the data size of the received L groups of data used for calculating the OPPRF result is also very large, the data size of the multiple calculated OPPRF results is also very large, which may reach several GB, and these OPPRF results cannot be stored in the memory and can only be stored in the file of the external storage.

Disclosure of Invention

The embodiment of the application provides a data processing method and device in multi-party privacy intersection and electronic equipment, and aims to solve the problem that in the prior art, the efficiency of multi-party privacy intersection is low.

The embodiment of the application provides a data processing method in multi-party privacy intersection, which is applied to receiver equipment, wherein the receiver equipment is provided with a plurality of keywords, the number of the keywords is m, m keywords are mapped into a hash table with the size of L by adopting cuckoo hash, and L is not less than m, and the method comprises the following steps:

receiving L groups of calculation data sent by sender equipment aiming at m keywords, wherein the calculation data is used for calculating an OPPRF result;

using m groups of calculation data in the L groups of calculation data to respectively correspond to each keyword in the hash table, and calculating an OPPRF result corresponding to the keyword to obtain m OPPRF results;

aiming at each OPPRF result in m OPPRF results, taking the serial number of the keyword corresponding to the OPPRF result as a packet header, and combining the packet header and the OPPRF result into a processed result, wherein the packet header is positioned in the front part in the processed result;

sequencing the m processed results according to the packet headers, and storing the m processed results into a result file according to the sequence;

and sequentially acquiring each processed result from the result file in sequence, and performing data fusion with the corresponding local pseudo-random number by using the OPPRF result contained in the processed result.

Further, the calculating, by using m sets of calculation data in the L sets of calculation data, an OPPRF result corresponding to each keyword in the hash table, respectively includes:

acquiring each group of calculation data in the L groups of calculation data in sequence;

when a keyword is stored in a position corresponding to the set of calculation data in the hash table, calculating an OPPRF result corresponding to the keyword by using the set of calculation data;

and when the position corresponding to the set of calculation data in the hash table does not store the keyword, canceling the calculation of the OPPRF result by using the set of calculation data.

Further, the sorting the m processed results according to the packet headers and storing the m processed results into a result file according to a sequence includes:

dividing the m processed results into v groups, and respectively storing the v groups into v intermediate files, wherein the data volume of each intermediate file is less than the available space of the memory;

respectively sorting a plurality of processed results contained in each intermediate file in a memory according to packet headers to obtain v sorted intermediate files;

and sorting m processed results contained in the v sorted intermediate files according to packet headers to obtain a result file, wherein the result file contains m processed results stored in sequence.

Further, the sorting m processed results included in the v sorted intermediate files according to packet headers to obtain a result file includes:

and sorting m processed results contained in the v sorted intermediate files according to packet headers by adopting a multi-path merging and reducing method of a patroller tree to obtain a result file.

Further, v is calculated using the following formula:

wherein, memory _ limit represents the available space of the memory, opprf _ size represents the data size of one processed result, [ ] represents the integer of p, and U represents the number of processed results contained in each intermediate file.

Further, L is greater than m and less than 2 m.

The embodiment of the present application further provides a data processing apparatus in multiparty privacy negotiation, which is applied to a receiver device, where the receiver device has a plurality of keywords, the number of the plurality of keywords is m, m keywords are hash-mapped into a hash table with a size of L by using cuckoo, and L is not less than m, including:

the system comprises a data receiving module, a data processing module and a data processing module, wherein the data receiving module is used for receiving L groups of calculation data sent by sender equipment aiming at m keywords, and the calculation data is used for calculating an OPPRF result;

a result calculation module, configured to use m sets of calculation data in the L sets of calculation data to respectively correspond to each keyword in the hash table, and calculate an OPPRF result corresponding to the keyword, to obtain m OPPRF results;

a result merging module, configured to, for each OPPRF result of the m OPPRF results, merge a serial number of a keyword corresponding to the OPPRF result as a packet header with the OPPRF result into a processed result, where the packet header is located in a front portion in the processed result;

the result sorting module is used for sorting the m processed results according to the packet headers and storing the m processed results into a result file according to the sequence;

and the data fusion module is used for sequentially acquiring each processed result from the result file in sequence and performing data fusion with the corresponding local pseudo-random number by using the OPPRF result contained in the processed result.

Further, the result calculation module is specifically configured to obtain each of the L sets of calculation data in sequence; when a keyword is stored in a position corresponding to the set of calculation data in the hash table, calculating an OPPRF result corresponding to the keyword by using the set of calculation data; and when the position corresponding to the set of calculation data in the hash table does not store the keyword, canceling the calculation of the OPPRF result by using the set of calculation data.

Further, the result sorting module is specifically configured to divide the m processed results into v groups, store the v groups into v intermediate files, and store the v intermediate files in a manner that the data size of each intermediate file is smaller than the available space of the memory; respectively sorting a plurality of processed results contained in each intermediate file in a memory according to packet headers to obtain v sorted intermediate files; and sorting m processed results contained in the v sorted intermediate files according to packet headers to obtain a result file, wherein the result file contains m processed results stored in sequence.

Further, the result sorting module is specifically configured to sort the m processed results included in the v sorted intermediate files according to the packet headers by using a multiway merging and regression method of a loser tree, so as to obtain a result file.

Further, v is calculated using the following formula:

wherein, memory _ limit represents the available space of the memory, opprf _ size represents the data size of one processed result, [ ] represents the integer of p, and U represents the number of processed results contained in each intermediate file.

Further, L is greater than m and less than 2 m.

Embodiments of the present application further provide an electronic device, including a processor and a machine-readable storage medium storing machine-executable instructions executable by the processor, the processor being caused by the machine-executable instructions to: the data processing method in any multiparty privacy intersection is realized.

An embodiment of the present application further provides a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, and when the computer program is executed by a processor, the computer program implements any one of the above data processing methods in the multiparty privacy intersection.

Embodiments of the present application further provide a computer program product containing instructions, which when run on a computer, cause the computer to execute any one of the above data processing methods in multiparty privacy rendezvous.

The beneficial effect of this application includes:

in the method provided in this embodiment, after m sets of calculation data sent by a sender device are used to respectively correspond to each keyword in a hash table, an OPPRF result corresponding to the keyword is calculated, and m OPPRF results are obtained, for each OPPRF result in the m OPPRF results, a serial number of the keyword corresponding to the OPPRF result is used as a packet header, the result is combined with the OPPRF result to obtain a processed result, and the packet header in the processed result is located at a front portion, then, the obtained m processed results are sorted according to the packet header and stored in a result file according to a sequence, at this time, since the sorting according to the packet header is equivalent to the sorting according to the serial number of the keyword, an arrangement sequence of the m processed results in the result file is the same as an original sequence of the m keywords, and further, each processed result can be sequentially obtained from the result file according to the sequence, and data fusion is performed with the corresponding local pseudo random number using the OPPRF result included in the processed result. Compared with the prior art that the specified OPPRF result is obtained from the OPPRF result with disordered sequence, the time spent is reduced, and the efficiency of multi-party privacy intersection is improved.

Additional features and advantages of the application will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of the application. The objectives and other advantages of the application may be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.

Drawings

The accompanying drawings are included to provide a further understanding of the application and are incorporated in and constitute a part of this specification, illustrate embodiments of the application and together with the description serve to explain the principles of the application and not to limit the application. In the drawings:

fig. 1 is a flowchart of a data processing method in a multi-party privacy negotiation provided in an embodiment of the present application;

FIG. 2 is a flowchart of a data processing method in a multi-party privacy negotiation according to another embodiment of the present application;

FIG. 3 is a schematic structural diagram of a data processing apparatus in a multi-party privacy negotiation provided in an embodiment of the present application;

fig. 4 is a schematic structural diagram of an electronic device according to an embodiment of the present application.

Detailed Description

In order to provide an implementation scheme for improving the efficiency of multi-party privacy intersection, embodiments of the present application provide a data processing method, an apparatus and an electronic device in multi-party privacy intersection, and a preferred embodiment of the present application is described below with reference to the drawings in the specification, it should be understood that the preferred embodiment described herein is only used for illustrating and explaining the present application, and is not used to limit the present application. And the embodiments and features of the embodiments in the present application may be combined with each other without conflict.

An embodiment of the present application provides a data processing method in multiparty privacy negotiation, which is applied to a receiver device, where the receiver device has a plurality of keywords, the number of the plurality of keywords is m, m keywords are hash-mapped into a hash table with a size of L by using cuckoo, and L is not less than m, as shown in fig. 1, the method includes:

and 11, receiving L groups of calculation data sent by the sender equipment aiming at the m keywords, wherein the calculation data is used for calculating an OPPRF result.

And step 12, using m groups of calculation data in the L groups of calculation data to respectively correspond to each keyword in the hash table, and calculating the OPPRF result corresponding to the keyword to obtain m OPPRF results.

And step 13, aiming at each OPPRF result in the m OPPRF results, combining the number of the keyword corresponding to the OPPRF result as a packet header with the OPPRF result to form a processed result, wherein the packet header is positioned in the front part in the processed result.

And step 14, sequencing the m processed results according to the packet headers, and storing the m processed results into a result file according to the sequence.

And step 15, sequentially acquiring each processed result from the result file in sequence, and performing data fusion with the corresponding local pseudo-random number by using the OPPRF result contained in the processed result.

By adopting the data processing method in the multiparty privacy intersection provided by the embodiment of the application, as the packet headers of the processed results are sorted, the sorting is equivalently carried out according to the serial numbers of the keywords, so that the arrangement sequence of m processed results in the result file is the same as the original sequence of m keywords, each processed result can be sequentially obtained from the result file in sequence, and the OPPRF result contained in the processed result is used for carrying out data fusion with the corresponding local pseudo random number. Compared with the prior art that the specified OPPRF result is obtained from the OPPRF result with disordered sequence, the time spent is reduced, and the efficiency of multi-party privacy intersection is improved.

In addition, in practical application, because the amount of data that needs to be stored and processed is very large in the implementation process of the OPPRF protocol, the time taken to read the specified OPPRF result from all the obtained OPPRF results is very large in the implementation time of the OPPRF protocol, and therefore, the time taken to sort the processed results in the application is much shorter than the time taken to obtain the specified OPPRF result from the disordered OPPRF results in the prior art, that is, compared with the prior art, by adopting the method provided by the embodiment of the present application, the efficiency of multi-party privacy commitment can be significantly improved.

The method and apparatus provided herein are described in detail below with reference to the accompanying drawings using specific embodiments.

An embodiment of the present application provides a data processing method in multi-party privacy negotiation, which may specifically include the following steps, as shown in fig. 2:

and step 21, aiming at the m keywords, the receiver device maps the m keywords into a hash table with the size of L by adopting cuckoo hash, wherein L is not less than m.

L may represent the number of locations in the hash table for storing keywords, one location storing one keyword.

Further, in practical application, the larger the value of L is, the larger the hash success probability of cuckoo is, and correspondingly, the larger the value of L is, the larger the subsequent calculation amount is, and therefore L may be larger than m and smaller than 2 m.

When L is greater than m, after m keywords are mapped into the hash table with size L, the storage positions of the m keywords in the hash table are random, that is, the storage sequence of the m keywords in the hash table is not the original sequence, and some positions in the hash table are not storing keywords.

Step 22, the sender device sends L sets of calculation data to the receiver device, where the calculation data is used to calculate the OPPRF result.

In this embodiment of the application, the generation of the L groups of calculation data may adopt a generation manner in various implementable OPPRF protocol implementation methods, which is not limited herein.

And step 23, after receiving the L groups of calculation data, the receiving side device uses m groups of calculation data in the L groups of calculation data to respectively correspond to each keyword in the hash table, and calculates an OPPRF result corresponding to the keyword to obtain m OPPRF results.

In the embodiment of the application, the L groups of calculation data are in one-to-one correspondence with the L positions of the hash table, each group of calculation data is used for calculating an OPPRF result according to the keywords stored in the positions corresponding to the hash table, and since some positions in the hash table do not store the keywords, there is no practical meaning in calculating the OPPRF result according to the position, so that the OPPRF result can be calculated only by using each group of calculation data corresponding to the positions in which the keywords are stored.

In this embodiment of the application, after receiving L sets of calculation data, the L sets of calculation data may be stored in sequence corresponding to L positions of the hash table, and when an OPPRF result needs to be calculated, each set of calculation data in the L sets of calculation data is obtained in sequence, when a keyword is stored in a position corresponding to the set of calculation data in the hash table, the set of calculation data is used to calculate an OPPRF result corresponding to the keyword, when no keyword is stored in a position corresponding to the set of calculation data in the hash table, the set of calculation data is cancelled, a next set of calculation data is read in sequence, and calculation of the next set of calculation data is started.

Suppose that the key x (ki) is hashed by a cuckoo and then mapped to the hash table at a position T (ki), where ki represents the serial number of the key x (ki), ki is greater than or equal to 1 and less than or equal to m, and T is greater than or equal to 1 and less than or equal to L (ki).

Accordingly, the OPPRF result corresponding to T (ki) is denoted as PRF (T (ki)), the m OPPRF results are expressed as PRF (T (k1)), PRF (T (k2)), …, PRF (T (km)), wherein 1 ≦ T (k1) < T (k2) < … < T (km) ≦ L, wherein k1, k2, …, km respectively represent the sequence numbers of m keywords, but are not arranged in order from small to large, because, when mapping m keywords into the hash table, since the mapping positions are random, the arrangement order is no longer the original order, that is, the keyword stored at the T (k1) position may be any one of the m keywords, and it can also be understood that the arrangement order of the keywords x (k1), x (k2), …, x (km) is the arrangement order in the hash table, and is not the original order of the m keywords.

And step 24, aiming at each OPPRF result in the m OPPRF results, the receiving side equipment uses the serial number of the keyword corresponding to the OPPRF result as a packet header, and combines the packet header and the OPPRF result into a processed result, wherein the packet header is positioned in the front part in the processed result.

In the embodiment of the present application, the serial number of the keyword is used as the header and is merged with the OPPRF result, and a merging manner of character string connection may be adopted.

Thus, the m OPPRF results PRF (T (k1)), PRF (T (k2)), …, PRF (T (km)), corresponding to the m numbers k1, k2, …, km arranged in sequence, and the post-processing results can be represented as k1| PRF (T (k1)), k2| PRF (T (k2)), …, km | PRF (T (km)), where "|" represents string concatenation.

And step 25, dividing the m processed results into v groups by the receiver device, and storing the v groups into v intermediate files respectively, wherein the data volume of each intermediate file is less than the available space of the memory.

In the embodiment of the present application, v may be calculated by using the following formula:

where memory _ limit represents the available space of the memory, opprf _ size represents the data size of one processed result, [ ] represents the integer of p, and U represents the number of processed results contained in each intermediate file.

Correspondingly, when dividing, the U processed results may be obtained in sequence each time and stored in one intermediate file, and the last remaining less than U processed results may be stored in the last intermediate file.

Because the processed results are stored in each intermediate file as much as possible, more processed results can be sorted in the memory each time, so that the time spent is further reduced, and the efficiency is further improved.

Step 26, the receiving device sorts, in the memory, the plurality of processed results included in each intermediate file according to the packet header, so as to obtain v sorted intermediate files.

In the embodiment of the application, for each intermediate file, the plurality of processed results included in the intermediate file may be sorted according to the packet header according to an external sorting algorithm, and since the data amount of each intermediate file is smaller than the available space of the memory, rapid sorting may be implemented in the memory.

And step 27, the receiver device sorts the m processed results contained in the v sorted intermediate files according to the packet headers to obtain a result file, wherein the result file contains the m processed results stored in sequence.

In this step, an external sorting algorithm may also be used for sorting, and further, a multiway merging and reducing method of a loser tree may be used for sorting m processed results included in the v sorted intermediate files according to the packet headers to obtain a result file.

In the result file, the sequence of the m processed results is sorted according to the packet header, and the packet header is the serial number of the keyword, so that the sorting according to the serial number is equivalent to the sorting according to the original sequence of the keyword.

Based on the above example, after sorting the m processed results k1| PRF (T (k1)), k2| PRF (T (k2)), …, and km | PRF (T (km)), according to the packet header, the order table is set to 1| PRF (T (1)), 2| PRF (T (2)), …, and m | PRF (T (m)), that is, the original order of the keyword.

And step 28, the receiving side device sequentially acquires each processed result from the result file in sequence, and performs data fusion with the corresponding local pseudo random number by using the OPPRF result contained in the processed result.

In this embodiment, the local pseudo random number corresponding to the OPPRF result is a pseudo random number corresponding to a keyword corresponding to the OPPRF result.

In the calculation of the multi-party privacy intersection, a total of n +1 participants is assumed, wherein the total number of the participants comprises a client and n servers, and the final intersection result is obtained by the client. In the multi-party privacy interaction calculation of the n +1 participants, two processes are included, one is a zero sharing process, and the other is a reconstruction process.

In the zero sharing process, 2 times of OPPRF protocol is executed between every two participants in n +1 participants, wherein in the 1 st OPPRF protocol, one participant is used as a receiving party, the other participant is used as a sending party, and in the 2 nd OPPRF protocol, the roles of the two participants as the receiving party and the sending party are interchanged. For each participant, the one-time OPPRF protocol is executed, the pseudo random numbers corresponding to the plurality of keywords which are locally stored are subjected to one-time data coupling with the OPPRF result obtained by calculation, and correspondingly, the pseudo random numbers corresponding to the plurality of keywords which are locally stored are updated.

After the zero-sharing process is completed, the reconstruction process is started.

In the reconstruction process, a client serves as a receiver and executes an OPPRF protocol with n servers serving as senders respectively, correspondingly, the client serves as a receiver, the locally-stored pseudo random numbers corresponding to a plurality of keywords are updated through data fusion every time the OPPRF protocol is executed, and the pseudo random numbers obtained through final updating are compared with the locally-stored pseudo random numbers generated at first to obtain an intersection result.

In the sharing process and the reconstruction process of the multi-party privacy interaction calculation, the OPPRF protocol is executed between the participants each time, and the data processing method in the multi-party privacy interaction provided by the embodiment of the application can be adopted, so that the time spent on calculation is reduced, and the calculation efficiency is improved.

Based on the same inventive concept, according to the data processing method in the multiparty privacy intersection provided in the foregoing embodiment of the present application, correspondingly, another embodiment of the present application further provides a data processing apparatus in the multiparty privacy intersection, which is applied to a receiver device, where the receiver device has a plurality of keywords, the number of the plurality of keywords is m, the m keywords are hash-mapped into a hash table with a size of L by using cuckoo, and L is not less than m, and a schematic structural diagram of the data processing apparatus is shown in fig. 3, and specifically includes:

a data receiving module 31, configured to receive L groups of calculation data sent by the sender device for m keywords, where the calculation data is used to calculate an OPPRF result;

a result calculating module 32, configured to use m sets of calculation data in the L sets of calculation data to respectively correspond to each keyword in the hash table, and calculate an OPPRF result corresponding to the keyword, so as to obtain m OPPRF results;

a result merging module 33, configured to, for each OPPRF result in the m OPPRF results, merge the number of the keyword corresponding to the OPPRF result as a packet header with the OPPRF result to obtain a processed result, where the packet header is located in a front portion of the processed result;

a result sorting module 34, configured to sort the m processed results according to the packet headers, and store the m processed results in a result file according to a sequence;

and the data fusion module 35 is configured to sequentially obtain each processed result from the result file in sequence, and perform data fusion with the corresponding local pseudo-random number by using the OPPRF result included in the processed result.

Further, the result calculating module 32 is specifically configured to obtain each of the L sets of calculation data in sequence; when a keyword is stored in a position corresponding to the set of calculation data in the hash table, calculating an OPPRF result corresponding to the keyword by using the set of calculation data; and when the position corresponding to the set of calculation data in the hash table does not store the keyword, canceling the calculation of the OPPRF result by using the set of calculation data.

Further, the result sorting module 34 is specifically configured to divide the m processed results into v groups, store the v groups into v intermediate files, and store the v intermediate files in a manner that the data size of each intermediate file is smaller than the available space of the memory; respectively sorting a plurality of processed results contained in each intermediate file in a memory according to packet headers to obtain v sorted intermediate files; and sorting the m processed results contained in the v sorted intermediate files according to the packet headers to obtain a result file, wherein the result file contains the m processed results stored in sequence.

Further, the result sorting module 34 is specifically configured to sort the m processed results included in the v sorted intermediate files according to the packet headers by using a multiway merging and regression method of the patroller tree, so as to obtain a result file.

Further, v is calculated using the following formula:

where memory _ limit represents the available space of the memory, opprf _ size represents the data size of one processed result, [ ] represents the integer of p, and U represents the number of processed results contained in each intermediate file.

Further, L is greater than m and less than 2 m.

The functions of the above modules may correspond to the corresponding processing steps in the flows shown in fig. 1 and fig. 2, and are not described herein again.

The data processing device in the multi-party privacy negotiation provided by the embodiment of the application can be realized by a computer program. It should be understood by those skilled in the art that the above-mentioned module division is only one of many module division, and if the division is performed into other modules or not, it is within the scope of the present application as long as the wall painting and printing apparatus has the above-mentioned functions.

An electronic device is further provided in an embodiment of the present application, as shown in fig. 4, and includes a processor 41 and a machine-readable storage medium 42, where the machine-readable storage medium 42 stores machine-executable instructions that can be executed by the processor 41, and the processor 41 is caused by the machine-executable instructions to: the data processing method in any multiparty privacy intersection is realized.

An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, and when the computer program is executed by a processor, the data processing method in any of the above multi-party privacy intersection is implemented.

Embodiments of the present application further provide a computer program product containing instructions, which when run on a computer, cause the computer to execute any one of the above data processing methods in multiparty privacy rendezvous.

The machine-readable storage medium in the electronic device may include a Random Access Memory (RAM) and a Non-Volatile Memory (NVM), such as at least one disk Memory. Optionally, the memory may also be at least one memory device located remotely from the processor.

The Processor may be a general-purpose Processor, including a Central Processing Unit (CPU), a Network Processor (NP), and the like; but also Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs) or other Programmable logic devices, discrete Gate or transistor logic devices, discrete hardware components.

All the embodiments in the present specification are described in a related manner, and the same and similar parts among the embodiments may be referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the apparatus, the electronic device, the computer-readable storage medium, and the computer program product embodiment, since they are substantially similar to the method embodiment, the description is relatively simple, and for the relevant points, reference may be made to the partial description of the method embodiment.

It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.

The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.

These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.

These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.

It will be apparent to those skilled in the art that various changes and modifications may be made in the present application without departing from the spirit and scope of the application. Thus, if such modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include such modifications and variations as well.

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种区块链中随机数的处理方法、装置和电子设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!