Data processing method and device, equipment and storage medium

The data is encrypted through homomorphic encryption and pseudo-random functions to ensure ciphertext processing during data interaction, solve the problem of low data security, and realize data circulation while protecting the data security of both parties.

CN119150313AActive Publication Date: 2024-12-17CHINA UNIONPAY

Patent Information

Application Number
CN202411148819.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-20
Publication Date
2024-12-17
Estimated Expiration
2044-08-20

AI Technical Summary

Technical Problem

During the data interaction process, the data security of the data provider and the data query party is low, which can easily lead to data leakage. The dishonest data provider may use the query information for malicious use, causing information security damage.

Method used

Homomorphic encryption and pseudo-random functions are used to encrypt the query data of the data query party in multiple levels, and ciphertext processing is adopted between the data provider and the data query party throughout the process to ensure that the data provider only receives the encrypted data and avoids the original Data leakage, and the data query party obtains the actual query data by decrypting the intersection.

Benefits of technology

It effectively protects the data security and privacy of the data provider, avoids information leakage from the data query party, realizes data circulation while ensuring the data security of interaction between the two parties, and prevents the security of data property from being threatened.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119150313A_ABST
    Figure CN119150313A_ABST
Patent Text Reader

Abstract

The invention discloses a data processing method and device, equipment and a storage medium. The invention belongs to the technical field of data processing. The method comprises the steps that first mapping encryption data sent by a data query party are received, the first mapping encryption data are data obtained after first encryption query data of the data query party are processed through a Hash mapping algorithm, and the first encryption query data are data obtained after non-plaintext query data are processed through homomorphic encryption and a pseudo-random function; matching the first mapping encryption data with the second mapping encryption data in each data storage space of the N data storage spaces to obtain N matching results; and according to the matching result, the encrypted query data corresponding to the matching result and the encrypted label data corresponding to the matching result, constructing N query feedback results which are sent to the data query party and are used for determining the query label data. In this way, ciphertext processing is adopted in the whole interaction process of the two parties, it is guaranteed that data of the data query party and the data provider are available and invisible, and the data security of interaction of the two parties is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] With the continuous development of the digital economy, data has become a key production factor. The use of data requires data to circulate between each other to avoid data silos. Therefore, how to ensure data security while achieving effective data circulation has become a topic that needs urgent attention.

[0003] In related technologies, data providers usually store data in plain text, and when a data query party requests data from a data provider, the data query party also provides data in plain text. However, these data may include sensitive data. If the data provider does not operate properly, there will be a risk of data leakage. For the data query party, when requesting data, the query information of the data query party will also be leaked to the data provider, which is easy to be used maliciously by dishonest data providers, causing damage to the information security of the query party. Summary of the invention

[0004] The embodiments of the present application provide a data processing method, apparatus, device and storage medium, which can solve the problem of low data security in the data interaction process between data providers and data query parties in the related art.

[0005] In a first aspect, an embodiment of the present application provides a data processing method, which is applied to a data provider. The method may include:

[0006] Receive a query request sent by a data query party, the query request carries first mapped encrypted data, the first mapped encrypted data is data obtained by processing the first encrypted query data of the data query party through a first hash mapping algorithm, the first encrypted query data is data obtained by processing the non-plaintext query data of the data query party through homomorphic encryption and a pseudo-random function, and the query request is used to request a data provider to query query tag data of the non-plaintext query data;

[0007] Match the first mapped encrypted data with the second mapped encrypted data in each data storage space of the N data storage spaces to obtain N matching results; wherein the second mapped encrypted data in the i-th data storage space of the N data storage spaces is the second encrypted query data of the data query party processed by the j-th hash mapping algorithm among the N hash mapping algorithms, the second encrypted query data is the preset non-plaintext query data of the data provider processed by homomorphic encryption and a pseudo-random function, and the N hash mapping algorithms include the first hash mapping algorithm;

[0008] Constructing N query feedback results according to each matching result in the N matching results, the third encrypted query data corresponding to each matching result, and the encrypted tag data of the third encrypted query data;

[0009] N query feedback results are sent to the data query party, and the N query feedback results are used to determine the query label data.

[0010] In a second aspect, an embodiment of the present application provides a data processing method, which is applied to a data query party. The method may include:

[0011] Send a query request to the data provider, the query request carries first mapped encrypted data, the first mapped encrypted data is data obtained by processing the first encrypted query data of the data query party through a first hash mapping algorithm, the first encrypted query data is data obtained by processing the non-plaintext query data of the data query party through homomorphic encryption and a pseudo-random function, and the query request is used to request the data provider to query query tag data of the non-plaintext query data;

[0012] Receive N query feedback results sent by a data query party, the N query feedback results are determined by N matching results, third encrypted query data corresponding to each of the N matching results, and encrypted tag data of the third encrypted query data, the N matching results are obtained by matching the first mapped encrypted data with the second mapped encrypted data in each of the N data storage spaces, the second mapped encrypted data in the i-th data storage space of the N data storage spaces is the second encrypted query data of the data query party processed by the j-th hash mapping algorithm among the N hash mapping algorithms, the second encrypted query data is the preset non-plaintext query data of the data provider processed by homomorphic encryption and a pseudo-random function, and the N hash mapping algorithms include the first hash mapping algorithm;

[0013] The query tag data is determined according to the decrypted results of the N query feedback results.

[0014] In a third aspect, an embodiment of the present application provides a data processing device, which is applied to a data provider, and the device may include:

[0015] A receiving module, used to receive a query request sent by a data query party, the query request carries first mapped encrypted data, the first mapped encrypted data is data obtained by processing the first encrypted query data of the data query party through a first hash mapping algorithm, the first encrypted query data is data obtained by processing the non-plaintext query data of the data query party through homomorphic encryption and a pseudo-random function, and the query request is used to request a data provider to query query tag data of the non-plaintext query data;

[0016] A matching module, used for matching the first mapped encrypted data with the second mapped encrypted data in each data storage space of N data storage spaces to obtain N matching results; wherein the second mapped encrypted data in the i-th data storage space of the N data storage spaces is the data after the second encrypted query data of the data query party is processed by the j-th hash mapping algorithm among the N hash mapping algorithms, the second encrypted query data is the data after the preset non-plaintext query data of the data provider is processed by homomorphic encryption and a pseudo-random function, and the N hash mapping algorithms include the first hash mapping algorithm;

[0017] A construction module, used to construct N query feedback results according to each matching result in the N matching results, the third encrypted query data corresponding to each matching result, and the encrypted label data of the third encrypted query data;

[0018] The sending module is used to send N query feedback results to the data query party, and the N query feedback results are used to determine the query tag data.

[0019] In a fourth aspect, an embodiment of the present application provides a data processing device, which is applied to a data query party, and the device may include:

[0020] A sending module, used to send a query request to a data provider, the query request carries first mapping encrypted data, the first mapping encrypted data is data obtained by processing the first encrypted query data of the data query party through a first hash mapping algorithm, the first encrypted query data is data obtained by processing the non-plaintext query data of the data query party through homomorphic encryption and a pseudo-random function, and the query request is used to request the data provider to query query tag data of the non-plaintext query data;

[0021] A receiving module, used to receive N query feedback results sent by a data query party, the N query feedback results are determined by N matching results, third encrypted query data corresponding to each of the N matching results, and encrypted tag data of the third encrypted query data, the N matching results are obtained by matching the first mapped encrypted data with the second mapped encrypted data in each of the N data storage spaces, the second mapped encrypted data in the i-th data storage space of the N data storage spaces is the second encrypted query data of the data query party processed by the j-th hash mapping algorithm among the N hash mapping algorithms, the second encrypted query data is the preset non-plaintext query data of the data provider processed by homomorphic encryption and a pseudo-random function, and the N hash mapping algorithms include the first hash mapping algorithm;

[0022] The determination module is used to determine the query tag data according to the decryption results of the N query feedback results.

[0023] In a fifth aspect, an embodiment of the present application provides a computer device, the computer 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 shown in the first aspect or the data processing method as shown in the second aspect.

[0025] In a sixth aspect, an embodiment of the present application provides a computer storage medium having computer program instructions stored thereon. When the computer program instructions are executed by a processor, the data processing method as shown in the first aspect or the data processing method as shown in the second aspect is implemented.

[0026] In the seventh aspect, an embodiment of the present application provides a chip, the chip including a processor and a communication interface, the communication interface and the processor are coupled, and the processor is used to run programs or instructions to implement the data processing method shown in the first aspect or the data processing method shown in the second aspect.

[0027] In an eighth aspect, an embodiment of the present application provides a computer program product, which is stored in a storage medium and is executed by at least one processor to implement the data processing method as shown in the first aspect or the data processing method as shown in the second aspect.

[0028] The data processing method, apparatus, device and storage medium of the embodiment of the present application receive a query request sent by a data query party, the query request carries first mapped encrypted data, the first mapped encrypted data is data of the first encrypted query data of the data query party processed by a first hash mapping algorithm, the first encrypted query data is data of the non-plaintext query data of the data query party processed by homomorphic encryption and a pseudo-random function, the query request is used to request the data provider to query the query tag data of the non-plaintext query data; the first mapped encrypted data is matched with the second mapped encrypted data in each data storage space of N data storage spaces, and N matching results are obtained; wherein, the N data storage spaces The second mapped encrypted data in the i-th data storage space of the storage space is the data after the second encrypted query data of the data query party is processed by the j-th hash mapping algorithm among N hash mapping algorithms, the second encrypted query data is the data after the preset non-plaintext query data of the data provider is processed by homomorphic encryption and a pseudo-random function, and the N hash mapping algorithms include the first hash mapping algorithm; according to each matching result among the N matching results, the third encrypted query data corresponding to each matching result and the encrypted label data of the third encrypted query data, N query feedback results are constructed; the N query feedback results are sent to the data query party, and the N query feedback results are used to determine the query label data. In this way, by utilizing homomorphic encryption in privacy computing technology and providing computing functions on ciphertext, the query data of the data query party and the query label data provided by the data provider are encrypted at multiple levels, and ciphertext processing is used throughout the interaction between the two parties. On the one hand, the first mapping encrypted data received by the data provider is the data after encryption by the data query party, and will not leak the query data of the data query party. On the other hand, when the data provider obtains the query label data corresponding to its first mapping encrypted data, it also uses ciphertext query and sharing to avoid the leakage of the original data. In addition, the data provider sends N query feedback data corresponding to the query request to the data query party, so that the data query party can decrypt and obtain the data that the data query party actually wants to query based on the intersection of the first mapping encrypted data sent by itself and the N query feedback data. In this way, the data security and privacy of the data provider can be guaranteed, and the data query party's data will not be leaked additionally. The data stored in the data provider is available but invisible, which effectively realizes data circulation while ensuring the data security of the interaction between the two parties and avoids threats to data property security. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] In order to more clearly illustrate the technical solution 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.

[0030] Figure 1A flowchart of a data processing method provided in an embodiment of the present application;

[0031] Figure 2 A flowchart of a data processing method based on a data query party provided in an embodiment of the present application;

[0032] Figure 3 A schematic diagram of data processing time comparison of a data processing method provided in an embodiment of the present application;

[0033] Figure 4 A schematic diagram of the structure of a data processing device provided in an embodiment of the present application;

[0034] Figure 5 A schematic diagram of the structure of a data processing device based on a data query party provided in an embodiment of the present application;

[0035] Figure 6 It is a schematic diagram of the structure of a computer device provided by an embodiment of the present application. DETAILED DESCRIPTION

[0036] 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 only to provide a better understanding of the present application by illustrating the examples of the present application.

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

[0038] The acquisition, storage, use, and processing of data (including but not limited to the features and information in the text) in the technical solution of this application comply with the relevant provisions of national laws and regulations.

[0039] With the continuous development of the digital society, data has become a very critical production factor, with an important resource status and a core role in scientific decision-making. The data usage level requires data to circulate with each other to avoid data silos, but at the same time, a series of laws and regulations have been promulgated at the data usage level to clarify the use standards of various types of data, especially sensitive data, to protect data security and privacy. Privacy computing technology can not only ensure data security, but also achieve effective data circulation. It has become a hot technology under the requirements of the current environment. However, data usually contains sensitive information. If it is not handled properly, there will be a risk of data leakage, which will threaten information security and property. For data query, directly using plaintext data query will also leak the query information of the query party to the data provider. Dishonest data providers may maliciously use the query party's information based on the query information, causing damage to the query party's information security.

[0040] In the related art, data query and sharing solutions may include the following two. First, the data provider will construct an information query or sharing system based on its own data source. The party that needs to query or obtain shared data logs in to the system and uses certain conditions of the data to query the data and export the results by itself. Second, the data query party knows the specific location of the value to be queried in the data provider's database, and uses homomorphic encryption to encrypt the location vector to be queried, and then uses the encrypted information to query the information.

[0041] However, in the former, the querying party uses the plaintext information of the data to query through system interaction and downloads the queried data. In this process, the plaintext data may be leaked due to improper operation; in addition, the data provider with ulterior motives will know the query results of the querying party, and thus understand the querying party's intended elements and additional information, leaking the data privacy of the data querying party. In the latter, location-based queries require the querying party to know the index of the element he wants to query in advance, which usually means that the data provider's data is ordered and requires a large amount of communication, which is difficult to achieve in most cases. In order to solve the above technical problems, privacy computing technology can be used to protect the query or shared data, prevent data leakage, and protect the data security and privacy of both parties involved. Based on this, the embodiments of the present application provide a data processing method, apparatus, computer equipment and storage medium, which can introduce privacy computing technology into the traditional field of information query and sharing, protect the queried and shared data, realize data protection while ensuring the query and sharing effects, and conduct data circulation and exchange more securely. In this way, the query data of the inquirer and the data provider are encrypted by using the homomorphic encryption method in the privacy computing technology, and the computing function on the ciphertext is provided to protect the data privacy and security of the interacting parties. At the same time, the data provider obtains the encrypted data, which will not leak the information of the inquirer, and the data obtained by the inquirer is only the shared data corresponding to the query result, and will not leak the data information of the data provider in addition, so as to achieve the data availability but invisibleness and effectively realize data circulation.

[0042] The following will be combined with the attached Figures 1 to 6 , describes in detail the data processing system, method, apparatus, computer equipment and storage medium of the embodiments of the present application. It should be noted that these embodiments are not intended to limit the scope of the disclosure of the present application.

[0043] In order to better illustrate the contents of the embodiments of the present application, Figure 1 A data processing method based on a data provider provided in an embodiment of the present application is described in detail.

[0044] Figure 1 A flowchart of a data processing method provided in an embodiment of the present application.

[0045] like Figure 1 As shown, the data processing method can be applied to a data provider, and the data processing method can specifically include the following steps:

[0046] Step 110, receiving a query request sent by a data query party, the query request carrying first mapped encrypted data, the first mapped encrypted data being data of the data query party after being processed by a first hash mapping algorithm, the first encrypted query data being data of the data query party after being processed by homomorphic encryption and a pseudo-random function, the query request being used to request the data provider to query query tag data of the non-plaintext query data; Step 120, matching the first mapped encrypted data with the second mapped encrypted data in each of the N data storage spaces to obtain N matching results; wherein the i-th data storage space of the N data storage spaces The second mapped encrypted data in the step is the second encrypted query data of the data query party processed by the jth hash mapping algorithm among N hash mapping algorithms, the second encrypted query data is the preset non-plaintext query data of the data provider processed by homomorphic encryption and a pseudo-random function, and the N hash mapping algorithms include the first hash mapping algorithm; step 130, constructing N query feedback results according to each matching result among the N matching results, the third encrypted query data corresponding to each matching result, and the encrypted label data of the third encrypted query data; step 140, sending the N query feedback results to the data query party, and the N query feedback results are used to determine the query label data.

[0047] In this way, by utilizing homomorphic encryption in privacy computing technology and providing computing functions on ciphertext, the query data of the data query party and the query label data provided by the data provider are encrypted at multiple levels, and ciphertext processing is used throughout the interaction between the two parties. On the one hand, the first mapping encrypted data received by the data provider is the data after encryption by the data query party, and will not leak the query data of the data query party. On the other hand, when the data provider obtains the query label data corresponding to its first mapping encrypted data, it also uses ciphertext query and sharing to avoid the leakage of the original data. In addition, the data provider sends N query feedback data corresponding to the query request to the data query party, so that the data query party can decrypt and obtain the data that the data query party actually wants to query based on the intersection of the first mapping encrypted data sent by itself and the N query feedback data. In this way, the data security and privacy of the data provider can be guaranteed, and the data query party's data will not be leaked additionally. The data stored in the data provider is available but invisible, which effectively realizes data circulation while ensuring the data security of the interaction between the two parties and avoids threats to data property security.

[0048] The above steps are described in detail below, as shown below.

[0049] First, step 110 is involved. In the embodiment of the present application, the non-plaintext query data of the data query party is the plaintext query data of the data query party encrypted by an asymmetric encryption algorithm (SM3).

[0050] Next, step 120 is involved. In some embodiments of the present application, the data storage space is a hash table storage space, the hash table storage space includes M hash buckets, the hash buckets are used to store the second mapped encrypted data, and the N matching results include the matching results of the first mapped encrypted data and the second mapped encrypted data in each hash table storage space, wherein N is an integer greater than 1, and M is an integer greater than 1. Based on this, step 120 may specifically include:

[0051] The first mapped encrypted data is matched with the second mapped encrypted data stored in each hash bucket of the M hash buckets in each hash table storage space, respectively, to obtain a matching result between the first mapped encrypted data and the second mapped encrypted data in each hash table storage space.

[0052] It should be noted that the data processing method provided in the embodiment of the present application may also include the step of mapping the second encrypted query data to the data storage space. Based on this, before step 120, the data processing method may also include steps 1501 to 1503.

[0053] Step 1501, obtaining preset non-plaintext query data, where the preset non-plaintext query data is data encrypted by a symmetric encryption algorithm using the preset plaintext query data.

[0054] Step 1502, through a pseudo-random function, map the preset non-plaintext query data to the homomorphically encrypted plaintext domain to obtain second encrypted query data; wherein, the pseudo-random function and the homomorphically encrypted plaintext domain are pre-set by the data query party and the data provider.

[0055] Step 1503: According to each hash mapping algorithm among the N hash mapping algorithms, the second encrypted query data is mapped to a data storage space corresponding to each hash mapping algorithm.

[0056] Exemplarily, the data provider and the data query party pre-set a limited homomorphic encryption plaintext domain If N is 3, three hash mapping algorithms such as h1, h2, h3∈H can be selected so that each second encrypted query data can be sampled into a data storage space of size M corresponding to its hash mapping algorithm, such as a hash table storage space T. In addition, the data provider and the data query party also need to negotiate to obtain an inadvertent pseudo-random function (ObliviousPseudo Random Function, OPRF), so that the union of both data can be mapped to the previously agreed plaintext domain So that both parties can map their data to the plaintext domain through the OPRF function The second mapping encrypted data X′ stored in the data storage space of the data provider is obtained respectivelyS and the first mapping encrypted data X′ provided by the data query party R .

[0057] Based on this, the data provider will S Each data in is inserted into the hash table storage space T in turn using three hash mapping algorithms S , where the depth of the hash table entries in the hash table storage space is greater than 1.

[0058] Here, the embodiment of the present application provides the following steps for obtaining a pseudo-random function. First, generate a private key s k and public key p k , the data query party generates a random number r that only it knows, and then uses the random number r to process its own input x, and uses the public key p of the data provider k The processed x is encrypted and sent to the data provider. Then, the data provider uses the private key s k The random function is used to calculate the x sent by the data query party to obtain F k (x) and returns it to the data query party. Then, the data query party k (x) is decrypted using the previously randomly generated r to obtain the final output of the pseudo-random function, which is the x provided by the data query party and the private key s provided by the data provider. k , through the OPRF function, we get the output F of the OPRF data query side k (x).

[0059] Furthermore, in step 130, the N query feedback results include query feedback results corresponding to each data storage space. Based on this, the data provider calculates the query feedback results of each data storage space T in the N data storage spaces. S Each hash bucket T S,B The second mapped encrypted data in and the encrypted label data corresponding to each second mapped encrypted data, B is the maximum capacity of each hash bucket, and the query feedback result is constructed, which can be expressed as G(X)=H(x)+rF(x), where H(x) is the encrypted label data polynomial, r is a random number, and F(x) is the first mapped encrypted data. In this way, when x is a hash bucket T S,B When the element is in, the corresponding F(x) value is 0, and the value of G(x) is the SM4 value of the encrypted tag data.

[0060] In some embodiments of the present application, the N matching results include a first type of matching result, and the first type of matching result is used to indicate that the target mapping encrypted data corresponding to the first mapping encrypted data is matched from the second mapping encrypted data of the i-th data storage space, and the third encrypted query data includes the first target encrypted query data, and the encrypted tag data of the third encrypted query data includes the first encrypted tag data. Based on this, before step 130, the data processing method may also include steps 1601 and 1602.

[0061] Step 1601 , according to the first type of matching result, the target mapping encrypted data in the i th data storage space is mapped by the j th hash mapping algorithm to obtain the first target encrypted query data.

[0062] Step 1602: According to the association information between the preset encrypted query data and the preset encrypted label data, determine the first preset encrypted label data associated with the first target encrypted query data as the first encrypted label data.

[0063] For example, after cuckoo hashing, the OPRF operation is performed on the elements in each bucket, the real data is processed, and then the corresponding<key,valve> Then, the Lagrange interpolation method is used to construct the polynomials F(x) and G(X) belonging to each bucket.

[0064] In some other embodiments of the present application, the N matching results include a second type of matching result, and the second type of matching result is used to indicate that the target mapping encrypted data corresponding to the first mapping encrypted data is not matched from the second mapping encrypted data of the i-th data storage space, and the third encrypted query data includes the second target encrypted query data, and the encrypted tag data of the third encrypted query data includes the second encrypted tag data. Based on this, before step 130, the data processing method may also include steps 1701 to 1703.

[0065] Step 1701: randomly select third mapped encrypted data from the i-th data storage space according to the second type matching result.

[0066] Step 1702: Map the third mapped encrypted data in the i-th data storage space using the j-th hash mapping algorithm to obtain second target encrypted query data.

[0067] Exemplarily, the j-th hash mapping algorithm may be a cuckoo hash operation.

[0068] Step 1703: determine the second preset query tag data randomly selected from the association information between the preset encrypted query data and the preset encrypted tag data as the second encrypted tag data.

[0069] It should be noted that the embodiment of the present application also provides a step of determining associated information, that is, before step 130 (specifically, before step 1601 or step 1701), the data processing method may also include steps 1801 to 1804.

[0070] Step 1801: Obtain preset plaintext query data and preset encrypted tag data corresponding to the preset plaintext query data.

[0071] Step 1802: Encrypt the preset plaintext query data using an asymmetric encryption algorithm to obtain preset non-plaintext query data.

[0072] Step 1803: Encrypt the preset encrypted label data by using a symmetric encryption algorithm to obtain the preset encrypted label data.

[0073] Step 1804: Generate association information between the preset encrypted query data and the preset encrypted label data based on the preset non-plaintext query data and the preset encrypted label data.

[0074] For example, the preset plain text query data may be a communication number, and the preset encrypted tag data may be a province or city tag corresponding to the communication number. The data provider may store the preset plain text query data such as X S SM3 encryption is performed, and a secret key encrypted by a symmetric encryption algorithm (SM4) is randomly generated, and the preset encrypted tag data corresponding to the preset plaintext query data is encrypted by SM4, so that the association information (X i ,L i ),i∈[X], where X i For the preset non-plaintext query data, L i is the preset encrypted tag data corresponding to the preset non-plaintext query data. It should be noted that the principle of homomorphic encryption in the embodiment of the present application can be that after the data is homomorphically encrypted, addition, subtraction, multiplication and division operations are performed, and the results obtained are then decrypted, and the results obtained by directly performing addition, subtraction, multiplication and division operations on the original data are consistent. Taking the BFV algorithm as an example, first select a plaintext domain and ciphertext domain Where n is a power of 2, q is a prime number, and t is much smaller than q. Secret key generation: Randomly select polynomial e, polynomial a1 and polynomial s, and calculate the public key p k :{p k0 =-a1s+e,p k1 =a1}; randomly select polynomials u, e1, e2, encrypt the polynomial m to be encrypted, and calculate the ciphertext c: {c0 = p k0 u+e1+δ*m,c1=p k1u+e2} Then perform homomorphic decryption on the ciphertext, calculate c0+c1s=δ*m+(e2s+e1+eu), and then divide by δ and round off to get the decrypted result, where Here, the communication numbers are grouped into groups of 8 bits each, and then a plaintext polynomial is constructed so that the data query party can use BFV homomorphic encryption to encrypt the queried plaintext polynomial and send it to the data provider. The data provider will calculate the encrypted data in each polynomial and then return the result of each polynomial to the data query party.

[0075] Therefore, the data processing method provided in the embodiment of the present application can perform homomorphic encryption on the query data to protect the privacy of the querying party; at the same time, the data returned is only the intersection data, and will not leak additional data information of the data provider, thereby protecting the privacy of the data provider. The entire data processing process is encrypted to avoid data leakage, improve the security of data query and sharing operations, thereby avoiding threats to data property security, achieving data availability but invisible, and improving the data security of data interaction between the two parties.

[0076] Based on this, the following Figure 2 A data processing method based on a data query party provided in an embodiment of the present application is described as follows.

[0077] Figure 2 A flowchart of a data processing method based on a data query party provided in an embodiment of the present application.

[0078] like Figure 2 As shown, the data processing method can be applied to a data query party, and the data processing method can specifically include the following steps:

[0079] Step 210, sending a query request to the data provider, the query request carrying first mapped encrypted data, the first mapped encrypted data being data of the data query party after being processed by a first hash mapping algorithm, the first encrypted query data being data of the data query party after being processed by homomorphic encryption and a pseudo-random function, the query request being used to request the data provider to query query tag data of the non-plaintext query data; Step 220, receiving N query feedback results sent by the data query party, the N query feedback results being composed of N matching results, third encrypted query data corresponding to each matching result in the N matching results, and the third encrypted query data The encrypted label data is determined, the N matching results are obtained by matching the first mapped encrypted data with the second mapped encrypted data in each data storage space of the N data storage spaces, the second mapped encrypted data in the i-th data storage space of the N data storage spaces is the second encrypted query data of the data query party processed by the j-th hash mapping algorithm in the N hash mapping algorithms, the second encrypted query data is the preset non-plaintext query data of the data provider processed by homomorphic encryption and a pseudo-random function, and the N hash mapping algorithms include the first hash mapping algorithm; step 230, determine the query label data according to the decryption results of the N query feedback results.

[0080] In this way, by utilizing homomorphic encryption in privacy computing technology and providing computing functions on ciphertext, the query data of the data query party and the query label data provided by the data provider are encrypted at multiple levels, and ciphertext processing is used throughout the interaction between the two parties. On the one hand, the first mapping encrypted data received by the data provider is the data after encryption by the data query party, and will not leak the query data of the data query party. On the other hand, when the data provider obtains the query label data corresponding to its first mapping encrypted data, it also uses ciphertext query and sharing to avoid the leakage of the original data. In addition, the data provider sends N query feedback data corresponding to the query request to the data query party, so that the data query party can decrypt and obtain the data that the data query party actually wants to query based on the intersection of the first mapping encrypted data sent by itself and the N query feedback data. In this way, the data security and privacy of the data provider can be guaranteed, and the data query party's data will not be leaked additionally. The data stored in the data provider is available but invisible, which effectively realizes data circulation while ensuring the data security of the interaction between the two parties and avoids threats to data property security.

[0081] The above steps are described in detail below, as shown below.

[0082] First, step 210 is involved. In some embodiments of the present application, step 210 may specifically include: the data query party encodes the non-plaintext query data using a single instruction multiple data (SIMD) packaging method, and generates a homomorphic encryption public key and a private key, encrypts the non-plaintext query data using the public key and a pseudo-random function to obtain first encrypted query data, and unifies the data length of the first encrypted query data through a first hash mapping algorithm to facilitate the data provider to match it with the second encrypted query data in nth of the N data storage spaces, so that the data provider can calculate the output (F(x), G(x)) according to F(x) and G(X).

[0083] In some embodiments of the present application, before step 210, the data processing method provided in the embodiments of the present application may further include the step of generating first mapping encrypted data. Based on this, the data processing method may further include steps 2401 to 2405.

[0084] Step 2401, obtain plaintext query data.

[0085] Step 2402: encrypt the plaintext query data using an asymmetric encryption algorithm to obtain non-plaintext query data.

[0086] Step 2403, map the non-plaintext query data to the homomorphically encrypted plaintext domain through a pseudo-random function to obtain the first encrypted query data.

[0087] Step 2404, extracting a first hash mapping algorithm from N hash mapping algorithms, wherein the N hash mapping algorithms, pseudo-random functions, and homomorphic encrypted plaintext domains are pre-set for the data query party and the data provider.

[0088] Step 2405: According to the first hash mapping algorithm, the first encrypted query data is mapped to the data storage space corresponding to the first hash mapping algorithm to obtain the first mapped encrypted data.

[0089] For example, if N is 3, the data query party can select one of the three hash mapping algorithms pre-set with the data provider to convert the processed data X′ R Mapped to the hash table data storage space T of the data query side R , where the depth of each hash table entry is at most 1.

[0090] Then, step 230 is involved. In some embodiments of the present application, step 230 may specifically include step 2301 and step 2302.

[0091] Step 2301 : Decrypt the third encrypted query data in each of the N query feedback results using the homomorphically encrypted key to obtain a decrypted result corresponding to each query feedback result.

[0092] Specifically, when the decryption result includes a first type of decryption result, and the first type of decryption result is used to indicate that the i-th query feedback result of the N query feedback results includes the first encrypted tag data corresponding to the first mapped encrypted data, step 2301 may specifically include:

[0093] When the decryption result is a first type of decryption result, the first encrypted label data in the i-th query feedback result is decrypted using the asymmetric encryption key for encrypting the preset query label data provided by the data query party to obtain the query label data of the non-plaintext query data.

[0094] It should be noted that the decryption results in the embodiment of the present application include second-category decryption results, and the first-category decryption results are used to indicate that the i-th query feedback result of N query feedback results does not include the first encrypted label data corresponding to the first mapped encrypted data, and the query label data is random encrypted label data that does not match the non-plaintext query data.

[0095] Step 2302: Decrypt the encrypted label data in each query feedback result using the asymmetric encryption key for encrypting the preset query label data provided by the data query party to obtain the query label data.

[0096] Exemplarily, the data query party obtains N query feedback results sent by the data provider, and can use the previous homomorphic encryption private key to decrypt F(x) in each of the N query feedback results. If the decrypted result is 0, G(x) is the SM4 value of the corresponding label. The data query party then uses the previous SM4 secret key to decrypt G(x) to obtain the query label data that the data query party actually wants. If F(x) is not 0, the group of return values ​​is discarded. Alternatively, if F(x) is not 0, G(X) can also be decrypted using the SM4 secret key, and what is obtained is random encrypted label data that does not match the non-plaintext query data, such as garbled code, random values, etc., to ensure the security of the data in the data provider.

[0097] Therefore, the data processing method provided by the embodiment of the present application protects the privacy of the querying party well by homomorphically encrypting the non-plaintext query data, and at the same time only returns the intersection of the query or shared data, and the returned data is only decrypted to be the real information when the matching intersection is obtained, and the data information of the data provider is not disclosed, thereby protecting the data security and privacy of the data provider. In addition, homomorphic encryption calculation is used in the interaction process between the two parties, and ciphertext processing is used throughout the process to avoid data leakage, improve the security of operations, and ensure the accuracy of data operations, so as to achieve data availability but invisible.

[0098] In order to better illustrate the effect of the data processing method provided in the embodiment of the present application, Figure 3 The effects of the data processing methods are compared and explained as follows.

[0099] The data processing method provided in the embodiment of the present application can be executed based on the computer equipment of the data provider and the computer equipment of the data query party, wherein the aforementioned computer equipment can be a physical machine, the operating system is Windows 10, and the model is built based on SEAL. The entire process includes data set reading and processing, interpolation polynomial construction, homomorphic encryption, calculation and decryption, query result viewing and label result decryption.

[0100] Based on this, Figure 3 As shown in Figure 2, the running results of the proposed method are shown under different dataset sizes. Figure 3 As shown, the time consumed becomes longer and longer as the data set increases. Compared with traditional database query and sharing, the method proposed in the embodiment of the present application will increase the time consumed, but in terms of data security processing and corresponding encryption and decryption operations, these operations well protect the security and privacy of the data, making the data circulation more secure.

[0101] In this way, the embodiment of the present application proposes a data processing method for information query and sharing based on privacy computing technology, which can perform SM3 processing on the preset plaintext query data and SM4 processing on the preset encrypted tag data corresponding to the preset plaintext query data to meet the data security requirements. Then, OPRF and cuckoo hash operations are performed on these data to further protect data privacy while reducing the computational complexity. Then, homomorphic calculations are performed on the encrypted query data, and partitioning, stamp algorithms, and numerical approximation algorithms of matrix hyperbolic cosine functions (Paterson-Stockmeye) are used to further reduce the multiplication depth, better utilize limited homomorphic encryption technology, reduce complexity, and improve the running speed of the method; finally, the calculation results are decrypted. Since random numbers are introduced during calculation, when the query result does not exist, the value obtained by the data query party will be a random number, which also well protects the privacy of the data provider. In addition, combining privacy computing technology with information query and sharing can give full play to the characteristics of privacy computing technology, strongly protect data, prevent data from being easily leaked, protect the data security of all parties in the data query and sharing process, realize data availability and invisibility, effectively promote the circulation of data, break data silos, and better empower data.

[0102] The present application provides a data processing device, specifically combined with Figure 4 Provide detailed explanation.

[0103] Figure 4 A schematic diagram of the structure of a data processing device provided in an embodiment of the present application.

[0104] In some embodiments of the present application, Figure 4 The data processing device shown may be arranged in a computer device of a data provider.

[0105] like Figure 4 As shown, the data processing device 40 may specifically include:

[0106] The receiving module 401 is used to receive a query request sent by a data query party, where the query request carries first mapped encrypted data, where the first mapped encrypted data is data obtained by processing the first encrypted query data of the data query party through a first hash mapping algorithm, where the first encrypted query data is data obtained by processing the non-plaintext query data of the data query party through homomorphic encryption and a pseudo-random function, and the query request is used to request the data provider to query query tag data of the non-plaintext query data;

[0107] A matching module 402 is used to match the first mapped encrypted data with the second mapped encrypted data in each data storage space of N data storage spaces to obtain N matching results; wherein the second mapped encrypted data in the i-th data storage space of the N data storage spaces is the data after the second encrypted query data of the data query party is processed by the j-th hash mapping algorithm among the N hash mapping algorithms, the second encrypted query data is the data after the preset non-plaintext query data of the data provider is processed by homomorphic encryption and a pseudo-random function, and the N hash mapping algorithms include the first hash mapping algorithm;

[0108] A construction module 403, configured to construct N query feedback results according to each matching result in the N matching results, the third encrypted query data corresponding to each matching result, and the encrypted tag data of the third encrypted query data;

[0109] The sending module 404 is used to send N query feedback results to the data query party, and the N query feedback results are used to determine the query tag data.

[0110] Therefore, we can use homomorphic encryption in privacy computing technology to provide computing functions on ciphertext, and perform multi-level encryption on the query data of the data query party and the query label data provided by the data provider. Ciphertext processing is used throughout the interaction between the two parties. On the one hand, the first mapping encrypted data received by the data provider is the data after encryption by the data query party, and will not leak the query data of the data query party. On the other hand, when the data provider obtains the query label data corresponding to its first mapping encrypted data, it also uses ciphertext query and sharing to avoid the leakage of the original data. The data provider sends N query feedback data corresponding to the query request to the data query party, so that the data query party can decrypt and obtain the data that the data query party actually wants to query based on the intersection of the first mapping encrypted data sent by itself and the N query feedback data. In this way, the data security and privacy of the data provider can be guaranteed, and the data query party’s data will not be leaked additionally. The data stored in the data provider is available but invisible, which effectively realizes data circulation while ensuring the data security of the interaction between the two parties and avoiding threats to data property security.

[0111] The data processing device 40 in the embodiments of the present application is described in detail below.

[0112] In some embodiments of the present application, the matching module 402 can be specifically used to, when the data storage space is a hash table storage space, the hash table storage space includes M hash buckets, the hash buckets are used to store the second mapping encrypted data, and N matching results include the matching results of the first mapping encrypted data and the second mapping encrypted data in each hash table storage space, match the first mapping encrypted data with the second mapping encrypted data stored in each hash bucket of the M hash buckets in each hash table storage space, and obtain the matching results of the first mapping encrypted data and the second mapping encrypted data in each hash table storage space.

[0113] In some embodiments of the present application, the data processing device 40 in the embodiment of the present application may further include a mapping module and a determination module; wherein,

[0114] A mapping module, configured to, when the N matching results include a first type of matching result, the first type of matching result is used to indicate that the target mapping encrypted data corresponding to the first mapping encrypted data is matched from the second mapping encrypted data of the i-th data storage space, the third encrypted query data includes the first target encrypted query data, and the encrypted tag data of the third encrypted query data includes the first encrypted tag data, perform mapping processing on the target mapping encrypted data in the i-th data storage space according to the first type of matching result by using a j-th hash mapping algorithm to obtain the first target encrypted query data;

[0115] The determination module is used to determine the first preset encrypted label data associated with the first target encrypted query data as the first encrypted label data according to the association information between the preset encrypted query data and the preset encrypted label data.

[0116] In some embodiments of the present application, the data processing device 40 in the embodiment of the present application may also include a screening module, a mapping module and a determination module; wherein,

[0117] a screening module, configured to randomly screen out the third mapping encrypted data from the i-th data storage space according to the second type of matching result when the N matching results include the second type of matching result, the second type of matching result is used to indicate that the target mapping encrypted data corresponding to the first mapping encrypted data is not matched from the second mapping encrypted data of the i-th data storage space, the third encrypted query data includes the second target encrypted query data, and the encrypted tag data of the third encrypted query data includes the second encrypted tag data;

[0118] A mapping module, used to perform mapping processing on the third mapping encrypted data in the i-th data storage space through the j-th hash mapping algorithm to obtain second target encrypted query data;

[0119] The determination module is used to determine the second preset query label data randomly selected from the association information between the preset encrypted query data and the preset encrypted label data as the second encrypted label data.

[0120] In some embodiments of the present application, the data processing device 40 in the embodiment of the present application may further include an acquisition module, an encryption module and a generation module; wherein,

[0121] An acquisition module, used to acquire preset plaintext query data and preset encrypted label data corresponding to the preset plaintext query data;

[0122] The encryption module is used to encrypt the preset plaintext query data through an asymmetric encryption algorithm to obtain the preset non-plaintext query data;

[0123] The encryption module can also be used to encrypt the preset encrypted label data through a symmetric encryption algorithm to obtain the preset encrypted label data;

[0124] The generating module is used to generate association information between the preset encrypted query data and the preset encrypted label data based on the preset non-plaintext query data and the preset encrypted label data.

[0125] In some embodiments of the present application, the data processing device 40 in the embodiment of the present application may further include an acquisition module and a mapping module; wherein,

[0126] An acquisition module is used to acquire preset non-plaintext query data, where the preset non-plaintext query data is data encrypted by a symmetric encryption algorithm using the preset plaintext query data;

[0127] A mapping module, used to map the preset non-plaintext query data to the homomorphically encrypted plaintext domain through a pseudo-random function to obtain second encrypted query data; wherein the pseudo-random function and the homomorphically encrypted plaintext domain are preset by the data query party and the data provider;

[0128] The mapping module may also be configured to map the second encrypted query data to a data storage space corresponding to each hash mapping algorithm among the N hash mapping algorithms.

[0129] The present application provides a data processing device, specifically combined with Figure 5 Provide detailed explanation.

[0130] Figure 5 A schematic diagram of the structure of a data processing device based on a data query party provided in an embodiment of the present application.

[0131] In some embodiments of the present application, Figure 5 The data processing device shown may be arranged in a computer device of a data querying party.

[0132] like Figure 5 As shown, the data processing device 50 may specifically include:

[0133] A sending module 501 is used to send a query request to a data provider, where the query request carries first mapped encrypted data, where the first mapped encrypted data is data obtained by processing the first encrypted query data of the data query party through a first hash mapping algorithm, where the first encrypted query data is data obtained by processing the non-plaintext query data of the data query party through homomorphic encryption and a pseudo-random function, and the query request is used to request the data provider to query query tag data of the non-plaintext query data;

[0134] A receiving module 502 is used to receive N query feedback results sent by a data query party, where the N query feedback results are determined by N matching results, third encrypted query data corresponding to each of the N matching results, and encrypted tag data of the third encrypted query data, where the N matching results are obtained by matching the first mapped encrypted data with the second mapped encrypted data in each of the N data storage spaces, where the second mapped encrypted data in the i-th data storage space of the N data storage spaces is data of the second encrypted query data of the data query party processed by the j-th hash mapping algorithm among the N hash mapping algorithms, where the second encrypted query data is data of the preset non-plaintext query data of the data provider processed by homomorphic encryption and a pseudo-random function, and where the N hash mapping algorithms include the first hash mapping algorithm;

[0135] The determination module 503 is used to determine the query tag data according to the decryption results of the N query feedback results.

[0136] Therefore, we can use homomorphic encryption in privacy computing technology to provide computing functions on ciphertext, and perform multi-level encryption on the query data of the data query party and the query label data provided by the data provider. Ciphertext processing is used throughout the interaction between the two parties. On the one hand, the first mapping encrypted data received by the data provider is the data after encryption by the data query party, and will not leak the query data of the data query party. On the other hand, when the data provider obtains the query label data corresponding to its first mapping encrypted data, it also uses ciphertext query and sharing to avoid the leakage of the original data. The data provider sends N query feedback data corresponding to the query request to the data query party, so that the data query party can decrypt and obtain the data that the data query party actually wants to query based on the intersection of the first mapping encrypted data sent by itself and the N query feedback data. In this way, the data security and privacy of the data provider can be guaranteed, and the data query party’s data will not be leaked additionally. The data stored in the data provider is available but invisible, which effectively realizes data circulation while ensuring the data security of the interaction between the two parties and avoiding threats to data property security.

[0137] The data processing device 50 in the embodiment of the present application is described in detail below.

[0138] In some embodiments of the present application, the data processing device 50 in the embodiment of the present application may also include an acquisition module, an encryption module, a mapping module and an extraction module; wherein,

[0139] An acquisition module, used to obtain plain text query data;

[0140] The encryption module is used to encrypt the plaintext query data through an asymmetric encryption algorithm to obtain non-plaintext query data;

[0141] A mapping module, used to map the non-plaintext query data into a homomorphically encrypted plaintext domain through a pseudo-random function to obtain first encrypted query data;

[0142] An extraction module, used to extract a first hash mapping algorithm from N hash mapping algorithms, wherein the N hash mapping algorithms, the pseudo-random function, and the homomorphically encrypted plaintext domain are preset by the data query party and the data provider;

[0143] The mapping module may also be used to map the first encrypted query data to a data storage space corresponding to the first hash mapping algorithm according to the first hash mapping algorithm to obtain first mapped encrypted data.

[0144] In some embodiments of the present application, the determination module in the embodiments of the present application is used to decrypt the third encrypted query data in each query feedback result of the N query feedback results by using a homomorphically encrypted key to obtain a decrypted result corresponding to each query feedback result;

[0145] The encrypted label data in each query feedback result is decrypted using the asymmetric encryption key provided by the data query party for encrypting the preset query label data to obtain the query label data.

[0146] In some embodiments of the present application, the determination module can also be used to, when the decryption result includes a first type of decryption result, the first type of decryption result is used to indicate that the i-th query feedback result of N query feedback results includes first encrypted label data corresponding to the first mapped encrypted data, and when the decryption result is the first type of decryption result, the first encrypted label data in the i-th query feedback result is decrypted using the asymmetric encryption key for encrypting the preset query label data provided by the data query party to obtain the query label data of the non-plaintext query data.

[0147] In some embodiments of the present application, the decryption results include a second type of decryption results, and the first type of decryption results is used to indicate that the i-th query feedback result of N query feedback results does not include the first encrypted tag data corresponding to the first mapped encrypted data, and the query tag data is random encrypted tag data that does not match the non-plaintext query data.

[0148] The present application also provides a computer device. Figure 6 Provide detailed explanation.

[0149] Figure 6 It is a schematic diagram of the structure of a computer device provided by an embodiment of the present application.

[0150] like Figure 6 As shown, the computer device may include at least one of the following involved in the embodiments of the present application: an electronic device, a server. The computer device may include a processor 601 and a memory 602 storing computer program instructions.

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

[0152] The memory 602 may include a large capacity memory for data or instructions. By way of example and not limitation, the memory 602 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. In appropriate cases, the memory 602 may include a removable or non-removable (or fixed) medium. In appropriate cases, the memory 602 may be inside or outside the integrated gateway disaster recovery device. In a specific embodiment, the memory 602 is a non-volatile solid-state memory. In a specific embodiment, the memory 602 includes a solid-state storage (ROM). In appropriate cases, the ROM may be a mask-programmed ROM, a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), an electrically rewritable ROM (EAROM) or a flash memory or a combination of two or more of these.

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

[0154] In one example, the computer device may further include a communication interface 603 and a bus 610. Figure 6 As shown, the processor 601, the memory 602, and the communication interface 603 are connected via a bus 610 and communicate with each other.

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

[0156] Bus 610 includes hardware, software or both, and the parts of flow control device are coupled to each other.For example, but not limitation, bus may include accelerated graphics port (AGP) or other graphics bus, enhanced industry standard system (ETSA) bus, front side bus (FSB), hypertransport (HT) interconnection, industry standard system (TSA) bus, infinite bandwidth interconnection, low pin count (LPC) bus, memory bus, micro channel system (MCA) bus, peripheral component interconnection (PCT) bus, PCT-Express (PCT-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 appropriate cases, bus 610 may include one or more buses. Although the present application embodiment describes and shows a specific bus, the application considers any suitable bus or interconnection.

[0157] The payment device can execute the data processing method in the embodiment of the present application, thereby realizing the combination Figures 1 to 6 The data processing method and device described.

[0158] In addition, in combination with the data processing method in the above embodiments, the present application embodiment can provide a computer-readable storage medium for implementation. The computer-readable 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.

[0159] It should be clear that the present application is not limited to the specific configuration and processing described above and shown in the figures. For the sake of simplicity, a detailed description of the known method is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present application is not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between the steps after understanding the spirit of the present application.

[0160] The functional blocks shown in the above block diagram can be implemented as hardware, software, firmware or a combination thereof. When implemented in hardware, it can be, for example, an electronic circuit, an application specific integrated circuit (ASIC), appropriate firmware, a plug-in, a function card, 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 capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), 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.

[0161] 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, that is, the steps can be performed in the order mentioned in the embodiment, or in a different order from the embodiment, or several steps can be performed simultaneously.

[0162] The above are only specific implementation methods of the present application. Those skilled in the art can clearly understand that for the convenience and simplicity 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 protection scope of the present application is not limited to this. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in this application, and these modifications or replacements should be included in the protection scope of this application.

Claims

1. A data processing method, applied to a data provider, comprising: Receive a query request sent by a data query party, the query request carrying first mapped encrypted data, the first mapped encrypted data being data of the data query party after being processed by a first hash mapping algorithm, the first encrypted query data being data of the data query party after being processed by homomorphic encryption and a pseudo-random function, the query request being used to request the data provider to query query tag data of the non-plaintext query data; Match the first mapped encrypted data with the second mapped encrypted data in each data storage space of N data storage spaces to obtain N matching results; wherein the second mapped encrypted data in the i-th data storage space of the N data storage spaces is the second encrypted query data of the data query party processed by the j-th hash mapping algorithm among the N hash mapping algorithms, the second encrypted query data is the preset non-plaintext query data of the data provider processed by homomorphic encryption and a pseudo-random function, and the N hash mapping algorithms include the first hash mapping algorithm; Constructing N query feedback results according to each matching result of the N matching results, the third encrypted query data corresponding to each matching result, and the encrypted tag data of the third encrypted query data; The N query feedback results are sent to the data query party, and the N query feedback results are used to determine the query tag data.

2. The method according to claim 1, wherein: The data storage space is a hash table storage space, the hash table storage space includes M hash buckets, the hash buckets are used to store the second mapping encrypted data, and the N matching results include matching results between the first mapping encrypted data and the second mapping encrypted data in each hash table storage space; The matching of the first mapped encrypted data with the second mapped encrypted data in each data storage space of the N data storage spaces to obtain N matching results includes: The first mapped encrypted data is matched respectively with the second mapped encrypted data stored in each hash bucket of the M hash buckets in each hash table storage space to obtain a matching result between the first mapped encrypted data and the second mapped encrypted data in each hash table storage space.

3. The method according to claim 1, wherein: The N matching results include a first type of matching result, the first type of matching result is used to indicate that the target mapping encrypted data corresponding to the first mapping encrypted data is matched from the second mapping encrypted data of the i-th data storage space, the third encrypted query data includes the first target encrypted query data, and the encrypted tag data of the third encrypted query data includes the first encrypted tag data; The method further comprises: According to the first type of matching result, mapping processing is performed on the target mapping encrypted data in the i-th data storage space by using the j-th hash mapping algorithm to obtain the first target encrypted query data; According to association information between preset encrypted query data and preset encrypted label data, first preset encrypted label data associated with the first target encrypted query data is determined as the first encrypted label data.

4. The method according to claim 1 or 3, wherein: The N matching results include a second type of matching result, the second type of matching result is used to indicate that the target mapping encrypted data corresponding to the first mapping encrypted data is not matched from the second mapping encrypted data of the i-th data storage space, the third encrypted query data includes the second target encrypted query data, and the encrypted tag data of the third encrypted query data includes the second encrypted tag data; The method further comprises: According to the second type of matching results, randomly selecting third mapped encrypted data from the i-th data storage space; By using the j-th hash mapping algorithm, mapping processing is performed on the third mapping encrypted data in the i-th data storage space to obtain the second target encrypted query data; The second preset query label data randomly selected from the association information between the preset encrypted query data and the preset encrypted label data is determined as the second encrypted label data.

5. The method according to claim 4, wherein: The method further comprises: Obtaining preset plaintext query data and preset encrypted tag data corresponding to the preset plaintext query data; Encrypting the preset plaintext query data by an asymmetric encryption algorithm to obtain the preset non-plaintext query data; Encrypting the preset encrypted label data by a symmetric encryption algorithm to obtain the preset encrypted label data; Based on the preset non-plaintext query data and the preset encrypted label data, association information between the preset encrypted query data and the preset encrypted label data is generated.

6. The method according to claim 1, wherein: The method further comprises: Acquire the preset non-plaintext query data, where the preset non-plaintext query data is data encrypted by a symmetric encryption algorithm using the preset plaintext query data; Mapping the preset non-plaintext query data to a homomorphically encrypted plaintext domain through a pseudo-random function to obtain the second encrypted query data; wherein the pseudo-random function and the homomorphically encrypted plaintext domain are preset by the data query party and the data provider; According to each hash mapping algorithm among the N hash mapping algorithms, the second encrypted query data is mapped to a data storage space corresponding to each hash mapping algorithm.

7. A data processing method, applied to a data query party, comprising: Sending a query request to a data provider, the query request carrying first mapped encrypted data, the first mapped encrypted data being data of the data query party that is processed by a first hash mapping algorithm, the first encrypted query data being data of the data query party that is processed by homomorphic encryption and a pseudo-random function, the query request being used to request the data provider to query query tag data of the non-plaintext query data; Receive N query feedback results sent by the data query party, the N query feedback results are determined by N matching results, third encrypted query data corresponding to each of the N matching results, and encrypted tag data of the third encrypted query data, the N matching results are obtained by matching the first mapped encrypted data with the second mapped encrypted data in each data storage space of the N data storage spaces, the second mapped encrypted data in the i-th data storage space of the N data storage spaces is the second encrypted query data of the data query party processed by the j-th hash mapping algorithm among the N hash mapping algorithms, the second encrypted query data is the preset non-plaintext query data of the data provider processed by homomorphic encryption and a pseudo-random function, and the N hash mapping algorithms include the first hash mapping algorithm; The query tag data is determined according to the decryption results of the N query feedback results.

8. The method according to claim 7, wherein: The method further comprises: Get plaintext query data; The plaintext query data is encrypted by an asymmetric encryption algorithm to obtain the non-plaintext query data; Mapping the non-plaintext query data to a homomorphically encrypted plaintext domain through a pseudo-random function to obtain the first encrypted query data; Extracting a first hash mapping algorithm from the N hash mapping algorithms, wherein the N hash mapping algorithms, the pseudo-random function, and the homomorphically encrypted plaintext domain are preset by the data query party and the data provider; According to the first hash mapping algorithm, the first encrypted query data is mapped to the data storage space corresponding to the first hash mapping algorithm to obtain the first mapped encrypted data.

9. The method according to claim 7, wherein: The step of determining the query tag data according to the decrypted results of the N query feedback results includes: Decrypting the third encrypted query data in each of the N query feedback results using the homomorphically encrypted key to obtain a decrypted result corresponding to each query feedback result; The encrypted label data in each query feedback result is decrypted using the asymmetric encryption key for encrypting the preset query label data provided by the data querying party to obtain the query label data.

10. The method according to claim 9, wherein: The decryption result includes a first type of decryption result, and the first type of decryption result is used to indicate that the i-th query feedback result of the N query feedback results includes the first encrypted label data corresponding to the first mapped encrypted data; The encrypted label data in each query feedback result is decrypted by using the asymmetric encryption key for encrypting the preset query label data provided by the data query party to obtain the query label data, including: When the decryption result is the first type of decryption result, the first encrypted label data in the i-th query feedback result is decrypted using the asymmetric encryption key for encrypting the preset query label data provided by the data query party to obtain the query label data of the non-plaintext query data.

11. The method according to claim 10, wherein: The decryption result includes a second type of decryption result, and the first type of decryption result is used to indicate that the i-th query feedback result of the N query feedback results does not include the first encrypted label data corresponding to the first mapped encrypted data, and the query label data is random encrypted label data that does not match the non-plaintext query data.

12. A data processing device, applied to a data provider, comprising: A receiving module, used to receive a query request sent by a data query party, the query request carrying first mapped encrypted data, the first mapped encrypted data being data of the data query party after being processed by a first hash mapping algorithm, the first encrypted query data being data of the data query party after being processed by homomorphic encryption and a pseudo-random function, the query request being used to request the data provider to query query tag data of the non-plaintext query data; A matching module, used for matching the first mapped encrypted data with the second mapped encrypted data in each data storage space of N data storage spaces to obtain N matching results; wherein the second mapped encrypted data in the i-th data storage space of the N data storage spaces is the second encrypted query data of the data query party processed by the j-th hash mapping algorithm among the N hash mapping algorithms, the second encrypted query data is the preset non-plaintext query data of the data provider processed by homomorphic encryption and a pseudo-random function, and the N hash mapping algorithms include the first hash mapping algorithm; A construction module, configured to construct N query feedback results according to each of the N matching results, the third encrypted query data corresponding to each matching result, and the encrypted tag data of the third encrypted query data; A sending module is used to send the N query feedback results to the data query party, and the N query feedback results are used to determine the query tag data.

13. A data processing device, using a data query method, comprising: A sending module, used to send a query request to a data provider, the query request carries first mapped encrypted data, the first mapped encrypted data is data of the data query party's first encrypted query data processed by a first hash mapping algorithm, the first encrypted query data is data of the data query party's non-plaintext query data processed by homomorphic encryption and a pseudo-random function, the query request is used to request the data provider to query query tag data of the non-plaintext query data; A receiving module, used to receive N query feedback results sent by the data query party, the N query feedback results are determined by N matching results, third encrypted query data corresponding to each of the N matching results, and encrypted tag data of the third encrypted query data, the N matching results are obtained by matching the first mapped encrypted data with the second mapped encrypted data in each data storage space of the N data storage spaces, the second mapped encrypted data in the i-th data storage space of the N data storage spaces is the second encrypted query data of the data query party processed by the j-th hash mapping algorithm among the N hash mapping algorithms, the second encrypted query data is the preset non-plaintext query data of the data provider processed by homomorphic encryption and a pseudo-random function, and the N hash mapping algorithms include the first hash mapping algorithm; The determination module is used to determine the query tag data according to the decryption results of the N query feedback results.

14. A computer device, the device comprising: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, the steps of the data processing method according to any one of claims 1 to 11 are implemented.

15. A storage medium having computer program instructions stored thereon, wherein the computer program instructions, when executed by a processor, implement the steps of the data processing method according to any one of claims 1 to 11.

16. A computer program product, wherein the program product is stored in a storage medium and is executed by at least one processor to implement the steps of the data processing method according to any one of claims 1 to 11.

Citation Information

Patent Citations

  • Data query method and device and storage medium

    CN114329599A

  • Privacy keyword query method, device and system

    CN115186145A

  • Hidden trace query method and device

    CN116502276A

  • Data anonymous trace query method and device, storage medium and electronic equipment

    CN116680324A

  • Private query method, apparatus and system, and storage medium

    WO2024077948A1

Cited By

  • Data anonymous trace query method and device based on homomorphic encryption, equipment and medium

    CN119884149A