Data processing method, device, equipment, storage medium and product

By obfuscating the combination of arrays and shuffling algorithms, the existing security interception method is solved, and the problem of inefficient and inefficient in big data interception is realized, and an efficient and secure data interception process is achieved, with strong practicality and anti-malicious attack capabilities.

CN116248345BActive Publication Date: 2025-09-05CHINA MOBILE INFORMATION TECHNOLOGY CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211693998.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-28
Publication Date
2025-09-05
Estimated Expiration
2042-12-28

AI Technical Summary

Technical Problem

The existing security transfer method relies heavily on inadvertent transmission (OT). The security cannot be guaranteed under the semi-honest model, and the big data transfer time takes a long time and low performance, which cannot effectively solve the problem of post-event accountability.

Method used

The obfuscation array and shuffle algorithm are used to perform obfuscation operations through the first party and the second party performs sorting operations to achieve safe submission, ensuring that any party has evidence to hold accountable when violating the agreement, and reducing the transmission and calculation amount.

Benefits of technology

It improves the security of data submission, reduces time cost and calculation complexity, enhances the ability to resist malicious attacks, and can effectively hold violations of the agreement accountable.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116248345B_ABST
    Figure CN116248345B_ABST
Patent Text Reader

Abstract

The present application discloses a data processing method, device, equipment, storage medium and product. The method includes: the first party sends a target obfuscation array and an obfuscation array set to the second party, and the second party sorts them based on a randomly shuffled order after receiving them, and obtains a second target array, a target obfuscation array set and a first target array respectively, and sends the result to the first party; after receiving them, the first party deobfuscates the second target array based on the obfuscation order to obtain a third target array; and finds the intersection of the arrays in the first target array and the third target array to obtain intersection data; after receiving the intersection data, the second party restores the array sequence to obtain the target intersection data. According to the embodiment of the present application, the data of either party is recorded in the other party. If either party violates the agreement, it can be held accountable based on the evidence, thereby ensuring the security of data intersection, and the data transmission volume and calculation amount of the entire process are small, saving time cost.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of big data security technology, and in particular relates to a data processing method, device, equipment, storage medium and product. Background Art

[0002] With the improvement of informatization, cases of information and data leakage are emerging in an endless stream. Privacy computing in the data processing process has become one of the hot topics in this field. As an important part of privacy computing, secure intersection also plays a vital role in this field.

[0003] Secure intersection involves two parties, each holding a data set, and calculating the intersection of those sets. During this process, no information about the non-intersecting parts of the two sets is leaked. Currently, secure intersection methods primarily rely on Bloom filters (BF) or Garbled Bloom filters (GBF), employing oblivious transfer (OT) for secure intersection. However, this approach relies heavily on OT and is feasible in a semi-honest model, requiring both parties to fully adhere to the protocol during the secure intersection process. However, in practical applications, this security cannot be guaranteed. There's no guarantee that both parties will adhere to the protocol and not actively attack the other party to maliciously steal information, and it also fails to address the issue of subsequent accountability. Furthermore, when the intersecting sets are large, multiple oblivious transfers are required, which is time-consuming and reduces the GBF's performance. Summary of the Invention

[0004] The embodiments of the present application provide a data processing method, apparatus, device, storage medium, and product that can ensure the security of data intersection and save time costs.

[0005] In a first aspect, an embodiment of the present application provides a data processing method, applied to a first party, the method comprising:

[0006] Based on the initial array of the first party, determining a set of obfuscated arrays;

[0007] Obfuscating the first obfuscated array and the initial array of the first party to obtain a first preset obfuscated array;

[0008] Iteratively obfuscate the first preset obfuscation array and the second obfuscation array until all obfuscation arrays in the obfuscation array set are obfuscated to obtain a target obfuscation array;

[0009] The target obfuscation array and the obfuscation array set are sent to the second party, so that the second party randomly shuffles the target obfuscation array and the arrays in the obfuscation array set.

[0010] This embodiment of the present application provides a data processing method, which is applied to a second party. The method includes:

[0011] Receiving a target confusion array determined by iteratively confusing the first preset confusion array and the second confusion array and a confusion array set determined based on the initial array of the first party, and randomly scrambling the initial array of the second party to obtain a first target array;

[0012] Sort the target obfuscation array and the obfuscation array set sent by the first party based on the randomly disrupted order to obtain a second target array and a target obfuscation array set;

[0013] The first target array, the second target array, and the target obfuscation array set are sent to the first party, so that the first party obfuscates the second target array and the target obfuscation array set based on the obfuscation order.

[0014] In a second aspect, an embodiment of the present application provides a data processing device, applied to a first party, the device comprising:

[0015] a determination module, configured to determine a set of obfuscated arrays based on an initial array of the first party;

[0016] A first obfuscation module is configured to obfuscate the first obfuscated array and the initial array of the first party to obtain a first preset obfuscated array;

[0017] A second obfuscation module is configured to iteratively obfuscate the first preset obfuscation array and the second obfuscation array until all obfuscation arrays in the obfuscation array set are obfuscated to obtain a target obfuscation array;

[0018] The sending module is used to send the target confusion array and the confusion array set to the second party, so that the second party randomly shuffles the target confusion array and the arrays in the confusion array set.

[0019] An embodiment of the present application provides a data processing device, applied to a second party, the device including:

[0020] A first sorting module is configured to receive a target obfuscation array determined by iteratively obfuscating the first preset obfuscation array and the second obfuscation array, and a set of obfuscation arrays determined based on the initial array of the first party, and randomly shuffle the initial array of the second party to obtain a first target array;

[0021] A second sorting module is used to sort the target obfuscation array and the obfuscation array set sent by the first party based on a randomly shuffled order, to obtain a second target array and a target obfuscation array set;

[0022] The sending module is configured to send the first target array, the second target array, and the target obfuscated array set to the first party, so that the first party deobfuscates the second target array and the target obfuscated array set based on the obfuscation order.

[0023] In a third aspect, an embodiment of the present application provides an electronic device, the device comprising: a processor and a memory storing computer program instructions;

[0024] When the processor executes the computer program instructions, it implements the data processing method as described in any one of the first aspects.

[0025] In a fourth aspect, an embodiment of the present application provides a computer storage medium, on which computer program instructions are stored. When the computer program instructions are executed by a processor, the data processing method as described in any one of the first aspects is implemented.

[0026] In a fifth aspect, an embodiment of the present application provides a computer program product. When the instructions in the computer program product are executed by a processor of an electronic device, the electronic device can execute the data processing method described in any one of the first aspects.

[0027] The data processing methods, devices, equipment, storage media, and products of the embodiments of the present application determine a set of obfuscated arrays using the first party's initial array, randomly select an obfuscation method, and use each obfuscated array in the set of obfuscated arrays to obfuscate the first party's initial array to obtain a target obfuscated array. The target obfuscated array and the set of obfuscated arrays are then sent to the second party. The second party randomly shuffles the target obfuscated array, the set of obfuscated arrays, and the second party's initial array, and sends the result to the first party, so that the first party can deobfuscate the sorted arrays based on the obfuscation order. After the obfuscation is completed, the first party calculates the intersection of the arrays to obtain intersection data, and sends the intersection data to the second party, so that the second party can restore the intersection data to the target intersection data based on the randomly shuffled order. Therefore, according to the data processing methods of the embodiments of the present application, if two parties want to perform data intersection, either party's obfuscated or sorted arrays will be recorded in the other party. If either party violates the agreement, they can be held accountable based on the recorded evidence. Both parties can only obtain the intersection data, and other data information will not be leaked, thereby ensuring the security of the data intersection. The entire process has a small amount of transmission and computation, saving time and cost. BRIEF DESCRIPTION OF THE DRAWINGS

[0028] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0029] Figure 1This is a schematic diagram of a data processing architecture provided by an embodiment of the present application;

[0030] Figure 2 This is a flow chart of a data processing method provided in an embodiment of the present application;

[0031] Figure 3 This is a flow chart of a method for constructing an initial array of a first party provided in an embodiment of the present application;

[0032] Figure 4 This is a schematic diagram of a hash function generation method provided in an embodiment of the present application;

[0033] Figure 5 This is a flow chart of a method for constructing an initial array of a second party provided in an embodiment of the present application;

[0034] Figure 6 is a structural diagram of a data processing device provided in an embodiment of the present application;

[0035] Figure 7 is a structural diagram of another data processing device provided in an embodiment of the present application;

[0036] Figure 8 This is a structural diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0037] The features and exemplary embodiments of various aspects of the present application will be described in detail below. In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain the present application, rather than to limit the present application. For those skilled in the art, the present application can be implemented without the need for some of these specific details. The following description of the embodiments is merely to provide a better understanding of the present application by illustrating the examples of the present application.

[0038] It should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. In the absence of further limitations, the elements defined by the phrase "comprising..." do not exclude the presence of other identical elements in the process, method, article, or device comprising the elements.

[0039] In the past, information and data were typically shared collaboratively using plaintext exchanges. While this greatly facilitated business operations, it also led to numerous cases of information and data leaks. Consequently, privacy-preserving computing has become a hot topic in this field, enabling data integration and utilization without exposing plaintext data. Privacy-preserving computing encompasses many different domains, from simple data queries to complex joint modeling. The security methods and models employed vary widely, and even within the same domain, the models and approaches employed can differ significantly.

[0040] Secure intersection is a crucial area in privacy computing and also plays a crucial role in other fields such as data analysis and modeling. Secure intersection between two parties involves finding the intersection of two sets of data, each of which holds a data set. This process prevents any information leakage from the non-intersecting parts of the data sets. Existing methods for secure intersection using Bloom filters (BFs) primarily employ the oblivious transfer (OT) method, and a special Bloom filter, called a garbled Bloom filter (GBF), has been constructed. The secure intersection process involves one party (Party A) generating a GBF, while the other party (Party B) generates a BF. Using OT, Party B, which generated the BF, obtains Party A's GBF. If the corresponding position in Party B's BF is 0, no data is obtained. If the corresponding position is 1, the random array or the XORed value of the corresponding position in Party A's GBF is obtained.

[0041] It's important to note that existing secure intersection methods rely heavily on over-the-air (OT), which, in turn, leads to inherent problems inherent to OT. On the one hand, existing methods are indeed feasible in a semi-honest model. For example, if the other party is unaware of the attack, they won't initiate an attack. Or, if they do, they'll know the attack information and therefore choose not to attack. In other words, both parties fully adhere to the protocol during the secure intersection process and won't perform any actions outside of the protocol, while maintaining curiosity. However, the unique nature of OT makes the semi-honest model more fragile than expected. This is primarily due to OT's inherent assumption that the acquirer shouldn't have an information advantage. In the GBF model, the acquirer already knows that a "1" byte carries the correct information, not a "0" byte. Therefore, an information advantage on one side can somewhat undermine the practicality of the semi-honest model. Furthermore, during the attack, even if the other party detects the attack, they have no evidence to hold them accountable. Incorporating step-by-step verification methods can easily lead to lengthy processing times and difficulties in application. Furthermore, if both parties have large sets of data to be intersected, multiple OTs are required, which degrades GBF's intersection performance. Furthermore, the time consumption caused by the large amount of OT transmission is unavoidable.

[0042] In order to solve the problems of the prior art, the present invention provides a schematic diagram of a data processing architecture, such as Figure 1 As shown, as an example, the two parties seeking intersection use the basic BF. The size of the BF is generated based on the data volume of the party with the larger data volume. The first party performs an obfuscation operation and the second party performs a sorting operation, such as the shuffle algorithm, to obtain the BF intersection data.

[0043] S101. The first party sends a target obfuscation array and an obfuscation array set to the second party, so that the second party randomly shuffles the target obfuscation array and arrays in the obfuscation array set.

[0044] S102: The second party receives the target confusion array and the confusion array set sent by the first party, and sorts the target confusion array, the confusion array set, and the arrays in the second party's initial array based on a randomly shuffled order, to obtain a second target array, a target confusion array set, and the first target confusion array respectively;

[0045] S103. The second party sends the second target array, the target obfuscation array set, and the first target obfuscation array to the first party, so that the first party deobfuscates the second target array and the arrays in the target obfuscation array based on the obfuscation order.

[0046] S104: The first party receives the second target array, the target obfuscation array set, and the first target obfuscation array sent by the second party, and deobfuscates the second target array based on the obfuscation order to obtain a third target array.

[0047] S105, the first party calculates the intersection of the first target array and the arrays in the third target array to obtain intersection data;

[0048] S106. The first party sends the intersection data to the second party, so that the second party restores the order of the arrays in the intersection data based on the randomly disrupted order;

[0049] S107: The second party receives the intersection data sent by the first party, and restores the data in the intersection data to a sequence based on the randomly shuffled sequence to obtain target intersection data;

[0050] S108: The second party sends the address corresponding to the target intersection data to the first party, so that the first party queries the target intersection data based on the address corresponding to the target intersection data.

[0051] Therefore, based on the data processing architecture provided by the embodiments of this application, if either party violates the agreement, the evidence stored in the intermediate step of intersecting the data between the two parties can resolve the problem of subsequent accountability, which is more practical. Furthermore, the computation only involves binary XOR, random number generation, and transposition operations, which reduces time consumption. Furthermore, because the security of the obfuscation party depends on the number of obfuscated arrays, and the sorting party relies on the shuffle algorithm, it can prevent completely malicious attacks and has better resistance to malicious attacks.

[0052] In addition, compared with the traditional oblivious transmission (OT) with a smaller transmission volume, for example, in the embodiment of the present application, without pre-calculation, the transmission volume required for each element is 10n bits, where n is the security parameter. When the security parameter n is 112, 10n is 1120 bits, while a blind signature or OT with the same security factor requires at least 2048*2 bits; when pre-calculation is used, only 40 bits of transmission volume is required; for a PSI of 1 million to 1 million, the test results of the embodiment of the present application are 25-26 seconds, with a transmission volume of 200MB, which is much faster than GBF.

[0053] In some embodiments, while the first party is obfuscating, the second party needs to perform corresponding but completely different steps from the first party to ensure the security of the intersection process. In S101, the target obfuscation array and the obfuscation array set are the results of the first party using the obfuscation method. The BFs of the first and second parties are of equal length. For the second party, it is only necessary to generate a shuffle sequence of the same length as the BF, mapping each bit in the BF to another position, but without changing the value. In addition, security can also be enhanced by increasing the number of obfuscation arrays.

[0054] In some embodiments, in S102, after the second party receives the target obfuscation array and the obfuscation array set sent by the first party, it cannot directly perform intersection because the exclusive OR (Xor) operation and the logical AND (And) operation are not interchangeable. Therefore, the second party needs to hand over the initial array to the first party for intersection, and the first party can remove the obfuscation and naturally complete the intersection. In the whole process, the second party uses the shuffle algorithm to ensure the security of the intersection. At the same time, the second party retains the order of the shuffle. Since the elements in the BF are only 0 and 1, after random shuffling, it is impossible to restore it when the shuffle order is unknown. In addition, when the length of the BF exceeds thousands, the factorial level of cracking difficulty increases the computational difficulty, and the length of the general BF is even in the tens of millions or hundreds of millions, so the security is much higher than other methods.

[0055] In some embodiments, in S103, the second party sends the second target array, the target obfuscation array set, and the first target obfuscation array to the first party, so that the first party performs deobfuscation based on the obfuscation order. In S104, the first party is the executor of the deobfuscation operation. Since the shuffling method used by the target obfuscation array set is the same as BF, the first party knows the obfuscation order and can perform deobfuscation. Therefore, after receiving the second target array, the target obfuscation array set, and the first target obfuscation array sent by the second party, the first party performs deobfuscation using the obfuscation order in S101 to obtain the shuffled initial array of the first party, i.e., the third target array, to ensure smooth data intersection.

[0056] In some embodiments, in S105, the BF of the first party after shuffling and the received BF of the second party after shuffling, that is, the third target array and the first target array, can be directly And-operated to obtain intersection data because the And operation and shuffle are interchangeable.

[0057] In some embodiments, in S106, the intersection data received by the second party is the true intersection obtained by intersecting the data of both parties. In S107, the second party restores the order of the data in the intersection data based on the order obtained after random shuffling. In other words, the second party obtains the BF of the intersection after shuffling, i.e., the target intersection data. In S108, the second party sends the ID address corresponding to the target intersection data to the first party, so that the first party can query the target intersection data based on the address corresponding to the target intersection data, thereby completing the safe intersection.

[0058] Therefore, since the number of 1s in the array after obfuscation or shuffle is consistent with the number of sets confirmed by both parties in advance, both parties can verify it at any step of the protocol. Secondly, when both parties perform the operation, the shuffle or obfuscated array of either party will be left as evidence on the other party, which can be used to ensure that both parties comply with the agreement after the fact. If either party violates the agreement, the evidence in the intermediate steps of both parties can solve the problem of subsequent accountability. At the same time, it can also play a certain role in the anti-malicious attack model. It can simply introduce verification in the middle, thereby providing higher security for data processing. In addition, since public key encryption technology is not used in the entire process, most operations are bit-level operations, and the computing consumption is extremely small. Data at the billion level can be completely solved by single-core operations with extremely small computational workload.

[0059] Since the purpose of the obfuscation operation is to not expose the original BF, while ensuring that the obfuscation itself is reversible. Under this premise, Figure 2 A flow chart of a data processing method provided by an embodiment of the present application is shown. Before S101, the first party first performs an obfuscation operation, such as Figure 2 As shown, the method specifically includes the following steps:

[0060] S201, determining a confusion array set based on the initial array of the first party;

[0061] S202: Obfuscate the first obfuscated array and the initial array of the first party to obtain a first preset obfuscated array;

[0062] S203, iteratively obfuscate the first preset obfuscation array and the second obfuscation array until all obfuscation arrays in the obfuscation array set are obfuscated to obtain a target obfuscation array;

[0063] S204: Send the target confusion array and the confusion array set to the second party, so that the second party randomly shuffles the target confusion array and the arrays in the confusion array set.

[0064] In some embodiments, in S201 , the data type of the obfuscated array is also binary, and the length of the obfuscated array is consistent with the length of the initial array of the first party.

[0065] In some embodiments, at S202, a first obfuscation method is used to obfuscate a first obfuscated array and an initial array of the first party. The first obfuscation method is any one of preset obfuscation methods, including but not limited to XOR, anti-XOR, negation, and maintaining the same. An array is randomly selected from the set of obfuscated arrays, namely, the first obfuscated array. The first obfuscation method is then used to obfuscate the first obfuscated array and the initial array of the first party to obtain a first preset obfuscated array.

[0066] In some embodiments, in S203, after obtaining the first preset obfuscation array, another obfuscation array, i.e., a second obfuscation array, is randomly selected, and the first preset obfuscation array and the second obfuscation array are iteratively obfuscated using a second obfuscation method. The second obfuscation array is any obfuscation array in the obfuscation array set except the first obfuscation array, and an obfuscation method, i.e., a second obfuscation method, is randomly selected. The second obfuscation method is also any one of the preset obfuscation methods and may be the same as or different from the first obfuscation method. The first preset obfuscation array and the second obfuscation array are then obfuscated using the second obfuscation method, and so on, until all obfuscation arrays in the obfuscation array set participate in the obfuscation, and a target obfuscation number is obtained.

[0067] In some embodiments, in S204, the first party sends the target obfuscated array and the obfuscated array set to the second party. It should be noted that even if the second party obtains the target obfuscated array and the obfuscated array set, it is computationally impossible to restore the initial array of the first party.

[0068] Therefore, since only the first party knows the order of the obfuscated arrays and the method of each obfuscation, even if the second party obtains the obfuscated initial array of the first party and all the obfuscated arrays used for obfuscation, it cannot restore the original array. The current solution to this problem is the exhaustive method, but the exhaustive method is exponential. When there is enough obfuscated data, the difficulty of implementing this method is consistent with the difficulty level of prime factor decomposition that asymmetric encryption relies on, so the exhaustive method is not suitable. Therefore, the data processing method of the embodiment of the present application has a low difficulty level and well guarantees the security of data intersection.

[0069] Since both parties involved in data processing use the basic BF in the data intersection process, in order to ensure the consistency of the BFs of both parties in the intersection and the smooth progress of the intersection, before S101, it is necessary to first obtain the initial arrays of the first party and the second party respectively, and set the parameters involved therein, such as the length of BF, the value range of the hash function, the number of hash functions, etc.

[0070] Figure 3 A flow chart of a method for constructing an initial array of a first party provided in an embodiment of the present application is shown, Figure 3 As shown, the method specifically includes the following steps:

[0071] S301. Obtaining the first party's data volume and false positive probability;

[0072] S302: Determine the length of the first party's initial array, the required hash function, and the number of hash functions based on the first party's data volume and false positive probability;

[0073] S303: Generate a first all-zero array of a first preset length based on the length of the initial array of the first party, and determine a first hash value based on the hash function and the number of hash functions;

[0074] S304 : Set the position corresponding to each first hash value in the first all-zero array to obtain an initial array of the first party.

[0075] In some embodiments, in S301, the data volume refers to the amount of data to be intersected by the first party. It is generally considered that the data volume is not confidential information, so there is no need to obtain a specific, accurate data volume; obtaining a range of the data volume is also acceptable. As an example, in BF, to determine whether an element is in a data set, multiple bits of the corresponding hash function can be checked. If any bit is 0, it indicates that the element is definitely not in the data set. If multiple bits are all 1, it indicates that the element is likely to be in the data set, but not necessarily in the data set. This is caused by a "false positive." For example, a false positive can be understood as a false alarm.

[0076] In some embodiments, in S302, after the false positive probability is determined, the number of hash functions can be obtained according to the false positive probability. For example, the number of hash functions can be determined using the following formula (1):

[0077]

[0078] Among them, P represents the false positive probability, k * Indicates the number of hash functions.

[0079] As an example, if the false positive probability is one percent, 7 hash functions are required. If the false positive probability is one thousandth, 11 hash functions are required. Basically, for every tenfold decrease in the false positive probability, 3-4 more hash functions will be added.

[0080] Exemplarily, the value range of the hash function is the length of the initial array of the first party, and the length of the initial array of the first party is determined using the following formula (2):

[0081]

[0082] Among them, m * Indicates the length of the initial array of the first party, n indicates the amount of data or the range of data of the party with the larger amount of data, k * Indicates the number of hash functions.

[0083] As an example, the required hash function can be selected from the variable-length Shake256 hash algorithm. Since the output length of the algorithm can be freely set, multiple hash functions can be intercepted from different bits of a hash algorithm. The hash value of the length is used as the hash function, and k is intercepted in this way * All hash functions can be obtained in this way. For example, Figure 4 As shown, SHA256 and SHACK256 can also be selected as basic functions. By establishing several random numbers, multiplying the random numbers by two basic functions and summing them, the new function obtained by the sum is used as a new hash function.

[0084] In some embodiments, in S303 , a first all-zero array having the same length as the initial array of the first party is generated, and each bit in the array uses a binary data type, which can save memory and computing costs.

[0085] In some embodiments, in S304, each first hash value corresponds to a position in the first party's initial array, and the 0 bit corresponding to each first hash value in the first all-zero array is set to 1 to obtain the first party's initial array. Considering the possibility of repeated bit settings, that is, the hash values ​​calculated by a hash function for two elements may be the same, the position may have been set to 1 by the previous element. In this case, no operation is performed, and the other bits can be operated on.

[0086] Because only when the parameters are set in the same way can the two parties perform data intersection. Therefore, based on the information exchange of the data volume and the setting of the relevant parameters, the consistency of the BF of both parties in the intersection is guaranteed, thus laying the foundation for the smooth and safe intersection.

[0087] Based on the same implementation, Figure 5 A flow chart of a method for constructing an initial array of a second party provided in an embodiment of the present application is shown, Figure 5 As shown, the method specifically includes the following steps:

[0088] S501, obtaining the data volume and false positive probability of the second party;

[0089] S502: Determine the length of the second party's initial array, the required hash function, and the number of hash functions based on the second party's data volume and false positive probability;

[0090] S503, generating a second all-zero array of a second preset length based on the length of the initial array of the second party, and determining a second hash value based on the hash function and the number of hash functions;

[0091] S504: Set the position corresponding to each second hash value in the second all-zero array to obtain the initial array of the second party.

[0092] The method for constructing the initial array of the second party is the same as the method for constructing the initial array of the first party, and will not be repeated here.

[0093] Thus, the initial array of the first party and the initial array of the second party are determined respectively, and the parameters involved in the data intersection between the two parties are set, which lays the foundation for the safe intersection between the two parties.

[0094] It should be noted that the application scenarios described in the above embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. Those skilled in the art will appreciate that as new application scenarios emerge, the technical solutions provided in the embodiments of the present application will also be applicable to similar technical problems.

[0095] Based on the same inventive concept, the present application provides a data processing device, specifically combined with Figure 6 Provide detailed explanation.

[0096] Figure 6 A data processing device provided by an embodiment of the present application is shown, which is applied to a first party, such as Figure 6 As shown, the data processing device 600 may include:

[0097] Determining module 601, configured to determine a set of obfuscated arrays based on an initial array of the first party;

[0098] A first obfuscation module 602 is configured to obfuscate the first obfuscated array and the initial array of the first party to obtain a first preset obfuscated array;

[0099] A second obfuscation module 603 is configured to iteratively obfuscate the first preset obfuscation array and the second obfuscation array until all obfuscation arrays in the obfuscation array set are obfuscated to obtain a target obfuscation array;

[0100] The sending module 604 is configured to send the target obfuscated array and the obfuscated array set to the second party, so that the second party randomly shuffles the target obfuscated array and the arrays in the obfuscated array set.

[0101] Therefore, according to a data processing device provided by an embodiment of the present application, since only the first party knows the order of the obfuscated arrays and the method of each obfuscation, even if the second party obtains the initial array of the first party after obfuscation and all the obfuscated arrays used for obfuscation, it cannot restore the original array. If the two parties want to intersect data, the obfuscated or sorted arrays of either party will be recorded in the other party. If either party violates the agreement, they can be held accountable based on the recorded evidence. Moreover, both parties can only obtain the intersection data, and other data information will not be leaked, thereby ensuring the security of data intersection. In addition, the transmission and computational complexity of the entire process are relatively small, saving time and cost.

[0102] In some embodiments, in order to smoothly perform obfuscation and obtain a first preset obfuscation array, the first obfuscation module 602 may include the following units:

[0103] A first obfuscation unit is configured to obfuscate the first obfuscation array and the initial array of the first party using a first obfuscation method to obtain a first preset obfuscation array;

[0104] In some embodiments, in order to smoothly perform iterative obfuscation, the second obfuscation module 603 may include the following units:

[0105] The second obfuscation unit is configured to iteratively obfuscate the first preset obfuscation array and the second obfuscation array using a second obfuscation method until all obfuscation arrays in the obfuscation array set participate in the obfuscation, thereby obtaining a target obfuscation array; the first obfuscation method and the second obfuscation method are any one of the preset obfuscation methods, and the preset obfuscation methods include exclusive-or, inverse exclusive-or, negation, and remaining unchanged.

[0106] In some embodiments, to achieve secure data exchange between the first party and the second party, the data processing device 600 may further include the following submodules:

[0107] a receiving submodule, configured to receive a first target array, a second target array, and a target obfuscation array set sent by a second party, so that the first party deobfuscates the second target array based on the obfuscation order to obtain a third target array; wherein the first target array is an array obtained by randomly scrambling the second party's initial array, and the second target array is an array obtained by sorting the target obfuscation array by the second party based on the randomly scrambled order;

[0108] The processing submodule is used to obtain the intersection of the arrays in the first target array and the third target array, obtain the intersection data, and send the intersection data to the second party so that the second party can restore the intersection data in a random order.

[0109] In some embodiments, before determining the obfuscated array set based on the initial array of the first party, it is necessary to first determine the initial array of the first party. Therefore, the data processing device 600 may further include the following submodules:

[0110] The acquisition submodule is used to obtain the first-party data volume and false positive probability;

[0111] a determination submodule, configured to determine the length of the initial array of the first party, the required hash function, and the number of hash functions based on the amount of data of the first party and the false positive probability;

[0112] a generating submodule, configured to generate a first all-zero array of a first preset length based on the length of the initial array of the first party, and determine a first hash value based on the hash function and the number of hash functions;

[0113] The setting submodule is used to set the position corresponding to each first hash value in the first all-zero array to obtain the initial array of the first party.

[0114] Figure 7 Another data processing device provided by an embodiment of the present application is shown, which is applied to a second party, such as Figure 7 As shown, the data processing device 700 may include:

[0115] The first sorting module 701 is configured to receive a target obfuscation array determined by iteratively obfuscating the first preset obfuscation array and the second obfuscation array, and a set of obfuscation arrays determined based on the initial array of the first party, and randomly shuffle the initial array of the second party to obtain a first target array.

[0116] A second sorting module 702 is configured to sort the target obfuscation array and the obfuscation array set sent by the first party based on a randomly shuffled order, to obtain a second target array and a target obfuscation array set;

[0117] The sending module 703 is configured to send the first target array, the second target array, and the target obfuscated array set to the first party, so that the first party deobfuscates the second target array and the target obfuscated array set based on the obfuscation order.

[0118] Thus, according to the data processing device provided by the embodiments of the present application, data intersection between the first and second parties is achieved while ensuring the security of the intersection. If either party violates the agreement, the evidence stored during the intermediate step of the data intersection can resolve the problem of subsequent accountability, which is more practical. Furthermore, the computation only involves binary XOR, random number generation, and transposition operations, reducing time consumption.

[0119] In some embodiments, to achieve secure data exchange between the first party and the second party, the data processing device 700 may further include the following submodules:

[0120] A restoration submodule, configured to receive the intersection data sent by the first party and restore the intersection data in a random order to obtain target intersection data;

[0121] The sending submodule is used to send the address corresponding to the target intersection data to the first party, so that the first party can query the target intersection data.

[0122] In some embodiments, before receiving the target obfuscation array and the obfuscation array set sent by the first party and sorting the initial array of the second party based on the randomly shuffled order to obtain the first target array, it is necessary to first determine the initial array of the second party. Therefore, the above-mentioned data processing device 700 may further include the following submodules:

[0123] The acquisition submodule is used to obtain the data volume and false positive probability of the second party;

[0124] a determination submodule, configured to determine the length of the initial array of the second party, the required hash function, and the number of hash functions based on the amount of data of the second party and the false positive probability;

[0125] a generating submodule, configured to generate a second all-zero array of a second preset length based on the length of the initial array of the second party, and to determine a second hash value based on the hash function and the number of hash functions;

[0126] The setting submodule is used to set the position corresponding to each second hash value in the second all-zero array to obtain the initial array of the second party.

[0127] Figure 8 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application is shown.

[0128] The electronic device 800 may include a processor 801 and a memory 802 storing computer program instructions.

[0129] Specifically, the processor 801 may include a central processing unit (CPU), or an application-specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present application.

[0130] The memory 802 may include a large capacity memory for data or instructions. By way of example and not limitation, the memory 802 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive, or a combination of two or more of these. Where appropriate, the memory 802 may include removable or non-removable (or fixed) media. Where appropriate, the memory 802 may be inside or outside the integrated gateway disaster recovery device. In a specific embodiment, the memory 802 is a non-volatile solid-state memory.

[0131] The memory 802 may include a read-only memory (ROM), a random access memory (RAM), a magnetic disk storage medium device, an optical storage medium device, a flash memory device, an electrical, optical or other physical / tangible memory storage device. Therefore, generally, the memory 802 includes one or more tangible (non-transitory) computer-readable storage media (e.g., a memory device) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the data processing method according to the first aspect of the present application.

[0132] The processor 801 implements any one of the data processing methods in the above embodiments by reading and executing computer program instructions stored in the memory 802 .

[0133] In one example, the electronic device 800 may further include a communication interface 803 and a bus 804. Figure 8 As shown, the processor 801, the memory 802, and the communication interface 803 are connected via a bus 804 and communicate with each other.

[0134] The communication interface 803 is mainly used to implement communication between various modules, devices, units and / or equipment in the embodiments of the present application.

[0135] Bus 804 comprises hardware, software or both, couples the parts of electronic device 800 to each other.For example, and not limitation, bus 804 may comprise accelerated graphics port (AGP) or other graphics bus, enhanced industry standard architecture (EISA) bus, front side bus (FSB), hypertransport (HT) interconnection, industry standard architecture (ISA) bus, infinite bandwidth interconnection, low pin count (LPC) bus, memory bus, micro channel architecture (MCA) bus, peripheral component interconnection (PCI) bus, PCI-Express (PCI-X) bus, serial advanced technology attachment (SATA) bus, video electronics standard association local (VLB) bus or other suitable bus or two or more of these combinations.In suitable cases, bus 804 may comprise one or more buses.Although the present application embodiment describes and shows specific bus, the application considers any suitable bus or interconnection.

[0136] The electronic device 800 can be combined with Figure 2 and Figure 6 The data processing method and device described or Figure 4 and Figure 7 Described data processing method and device.

[0137] In addition, in conjunction with the data processing methods in the above embodiments, embodiments of the present application may provide a computer storage medium for implementation. The computer storage medium stores computer program instructions; when the computer program instructions are executed by a processor, any one of the data processing methods in the above embodiments is implemented.

[0138] It should be understood that the present application is not limited to the specific configurations and processes described above and illustrated in the figures. For the sake of brevity, a detailed description of known methods is omitted here. In the above embodiments, several specific steps are described and illustrated as examples. However, the method process of the present application is not limited to the specific steps described and illustrated. Those skilled in the art can make various changes, modifications, and additions, or change the order of the steps after understanding the spirit of the present application.

[0139] The functional blocks shown in the above-described block diagram can be implemented as hardware, software, firmware or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of the present application are programs or code segments that are used to perform the required tasks. The program or code segment can be stored in a machine-readable medium, or transmitted on a transmission medium or a communication link by a data signal carried in a carrier wave. "Machine-readable medium" can include any medium that can store or transmit information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROMs, flash memories, erasable ROMs (EROMs), floppy disks, CD-ROMs, optical disks, hard disks, optical fiber media, radio frequency (RF) links, etc. The code segment can be downloaded via a computer network such as the Internet, an intranet, etc.

[0140] It should also be noted that the exemplary embodiments mentioned in this application describe some methods or systems based on a series of steps or devices. However, this application is not limited to the order of the above steps. In other words, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.

[0141] Aspects of the present application have been described above with reference to the flowcharts and / or block diagrams of the methods, devices (systems) and computer program products according to the embodiments of the present application. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer or other programmable data processing device to produce a machine so that these instructions executed via the processor of the computer or other programmable data processing device enable the implementation of the function / action specified in one or more boxes of the flowchart and / or block diagram. This processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor or a field programmable logic circuit. It is also understood that each box in the block diagram and / or the flowchart and the combination of the boxes in the block diagram and / or the flowchart can also be implemented by the dedicated hardware that performs the specified function or action, or can be implemented by the combination of dedicated hardware and computer instructions.

[0142] The above description is only a specific embodiment of the present application. Those skilled in the art will clearly understand that for the convenience and brevity of description, the specific working processes of the systems, modules and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here. It should be understood that the scope of protection of the present application is not limited thereto. Any person skilled in the art can easily think of various equivalent modifications or replacements within the technical scope disclosed in the present application, and these modifications or replacements should be included in the scope of protection of the present application.

Claims

1. A data processing method, characterized in that: Applied to a first party, the method includes: Determining a confusion array set based on the initial array of the first party, wherein the confusion array set includes at least one confusion array; Obfuscating a first obfuscated array and an initial array of the first party to obtain a first preset obfuscated array; wherein the first obfuscated array is any one of the obfuscated array set; Iteratively obfuscate the first preset obfuscation array and the second obfuscation array until all obfuscation arrays in the obfuscation array set participate in the obfuscation, thereby obtaining a target obfuscation array; wherein the second obfuscation array is an obfuscation array in the obfuscation array set excluding the first obfuscation array; Sending the target obfuscation array and the set of obfuscation arrays to a second party, so that the second party randomly shuffles the target obfuscation array and arrays in the set of obfuscation arrays; receiving a first target array, a second target array, and a target obfuscation array set sent by the second party; deobfuscating the second target array based on the obfuscation order to obtain a third target array; wherein the first target array is an array obtained by randomly scrambling the initial array of the second party, and the second target array is an array obtained by the second party sorting the target obfuscation array based on the random scrambling order; The intersection of the first target array and the arrays in the third target array is obtained to obtain intersection data, and the intersection data is sent to the second party so that the second party can restore the intersection data in sequence based on the randomly shuffled order.

2. The method according to claim 1, characterized in that Obfuscating the first obfuscated array and the initial array of the first party to obtain a first preset obfuscated array includes: Obfuscating the first obfuscated array and the initial array of the first party using a first obfuscation method to obtain the first preset obfuscated array; The iteratively obfuscating the first preset obfuscation array and the second obfuscation array until all obfuscation arrays in the obfuscation array set participate in the obfuscation to obtain a target obfuscation array includes: Iteratively obfuscate the first preset obfuscation array and the second obfuscation array using a second obfuscation method until all obfuscation arrays in the obfuscation array set participate in the obfuscation, thereby obtaining the target obfuscation array; The first obfuscation method and the second obfuscation method are any one of preset obfuscation methods, and the preset obfuscation method includes XOR, anti-XOR, negation, and unchanged.

3. The method according to claim 1, characterized in that Before determining the obfuscated array set based on the initial array of the first party, the method further includes: Obtaining the data volume and false positive probability of the first party; determining, based on the amount of data of the first party and the false positive probability, the length of the initial array of the first party, the required hash function, and the number of hash functions; generating a first all-zero array of a first preset length based on the length of the initial array of the first party, and determining a first hash value based on the hash function and the number of hash functions; A position corresponding to each first hash value in the first all-zero array is set to obtain an initial array of the first party.

4. A data processing method, characterized in that: Applied to the second party, the method includes: Receiving a target confusion array determined by iteratively obfuscating a first preset confusion array and a second confusion array, and a confusion array set determined based on an initial array of the first party, sent by the first party, and randomly scrambling the initial array of the second party to obtain a first target array, wherein the first preset confusion array is obtained by the first party obfuscating the first confusion array and the initial array of the first party, the first confusion array is any one in the confusion array set, and the second confusion array is a confusion array in the confusion array set other than the first confusion array; sorting the target obfuscation array and the obfuscation array set sent by the first party based on the randomly shuffled order to obtain a second target array and a target obfuscation array set; sending the first target array, the second target array, and the target obfuscation array set to the first party, so that the first party deobfuscates the second target array and the target obfuscation array set based on the obfuscation order; receiving intersection data sent by the first party, and restoring the intersection data in order based on the randomly shuffled order to obtain target intersection data, wherein the intersection data is obtained by intersecting the first target array by the first party and a third target array obtained by deobfuscating the second target array based on the obfuscation order; The address corresponding to the target intersection data is sent to the first party, so that the first party queries the target intersection data.

5. The method according to claim 4, characterized in that Before receiving, from the first party, a target confusion array determined after iteratively obfuscating the first preset confusion array and the second confusion array, and a confusion array set determined based on the initial array of the first party, and randomly scrambling the initial array of the second party to obtain the first target array, the method further includes: Obtaining the data volume and false positive probability of the second party; determining, based on the amount of data of the second party and the false positive probability, the length of the initial array of the second party, the required hash function, and the number of hash functions; generating a second all-zero array of a second preset length based on the length of the initial array of the second party, and determining a second hash value based on the hash function and the number of hash functions; A position corresponding to each second hash value in the second all-zero array is set to obtain an initial array of the second party.

6. A data processing device, characterized in that: Applied to a first party, the apparatus includes: a determination module, configured to determine a confusion array set based on the initial array of the first party, wherein the confusion array set includes at least one confusion array; A first obfuscation module, configured to obfuscate a first obfuscation array and an initial array of the first party to obtain a first preset obfuscation array; wherein the first obfuscation array is any one of the obfuscation array set; a second obfuscation module, configured to iteratively obfuscate the first preset obfuscation array and the second obfuscation array until all obfuscation arrays in the obfuscation array set are obfuscated, thereby obtaining a target obfuscation array; wherein the second obfuscation array is an obfuscation array in the obfuscation array set excluding the first obfuscation array; a sending module, configured to send the target confusion array and the confusion array set to a second party, so that the second party randomly shuffles the target confusion array and arrays in the confusion array set; The sending module is further configured to receive a first target array, a second target array, and a target obfuscation array set sent by the second party; deobfuscate the second target array based on the obfuscation order to obtain a third target array; wherein the first target array is an array obtained by randomly scrambling the initial array of the second party, and the second target array is an array obtained by the second party sorting the target obfuscation array based on the random scrambling order; The intersection of the first target array and the arrays in the third target array is obtained to obtain intersection data, and the intersection data is sent to the second party so that the second party can restore the intersection data in sequence based on the randomly shuffled order.

7. A data processing device, characterized in that: Applied to a second party, the apparatus includes: a first sorting module, configured to receive a target obfuscation array determined by iteratively obfuscating a first preset obfuscation array and a second obfuscation array, and a set of obfuscation arrays determined based on an initial array of the first party, and randomly shuffle the initial array of the second party to obtain a first target array, wherein the first preset obfuscation array is obtained by the first party obfuscating the first obfuscation array and the initial array of the first party, the first obfuscation array is any one in the set of obfuscation arrays, and the second obfuscation array is an obfuscation array in the set of obfuscation arrays other than the first obfuscation array; A second sorting module is configured to sort the target confusion array and the confusion array set sent by the first party based on the randomly shuffled order, to obtain a second target array and a target confusion array set; a sending module, configured to send the first target array, the second target array, and the target obfuscated array set to the first party, so that the first party deobfuscates the second target array and the target obfuscated array set based on the obfuscation order; The sending module is further configured to receive the intersection data sent by the first party, and restore the intersection data in sequence based on the randomly shuffled order to obtain target intersection data, wherein the intersection data is obtained by intersecting the first target array and a third target array obtained by deobfuscating the second target array based on the obfuscation order by the first party; The address corresponding to the target intersection data is sent to the first party, so that the first party queries the target intersection data.

8. An electronic device, characterized in that: The device includes: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, the data processing method according to any one of claims 1 to 5 is implemented.

9. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer program instructions, and when the computer program instructions are executed by a processor, the data processing method according to any one of claims 1 to 5 is implemented.

10. A computer program product, characterized in that When the instructions in the computer program product are executed by a processor of an electronic device, the electronic device is enabled to perform the data processing method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Data set processing method and device, data processing method and device and storage medium

    CN113127916A

  • Database obfuscation system and method

    EP2189925A2