Data hiding query method, device and system, computer equipment, readable storage medium and program product

By using public key encryption and homomorphic encryption technology in the hidden query process, combined with the use of fit coefficient sequences, the problem of large overhead of computing resources and communication bandwidth in the existing technology is solved, and efficient data query and self-checking functions are realized.

CN119885271APending Publication Date: 2025-04-25CHINA TELECOM CORP LTD TECHNOLOGY INNOVATION CENTER +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411970831.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-30
Publication Date
2025-04-25

AI Technical Summary

Technical Problem

In the prior art, complex encryption operations and large amounts of ciphertext data transmission are required during the hidden query process, resulting in high overhead of computing resources and communication bandwidth, making it difficult to achieve efficient data query.

Method used

By encrypting the data to be queried using the public key, the first ciphertext is obtained, and the public key and the first ciphertext are sent to the data provider. The data provider performs homomorphic encryption calculation based on the received public key, the first ciphertext and the fit coefficient sequence, obtains the second ciphertext, and sends it back to the data query party. The data queryer uses the private key to decrypt the second cipher text, obtains the data to be verified corresponding to the data to be queried, and extracts the data query results based on the verification results.

Benefits of technology

This method realizes the calculation of the checksum query result of the data hit situation in one calculation, so that the second secret station has the self-check function and the data transmission function of the query result, reducing the calculation amount and communication data volume of the data query party and the data provider, thereby saving computing resources and communication bandwidth overhead.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119885271A_ABST
    Figure CN119885271A_ABST
Patent Text Reader

Abstract

The invention relates to a data hiding query method, device and system, computer equipment, a computer readable storage medium and a computer program product. The method comprises the following steps: encrypting to-be-queried data by using a public key to obtain a first ciphertext; sending the public key and the first ciphertext to a data provider; receiving a second ciphertext sent by the data provider; the second ciphertext is obtained by the data provider through homomorphic encryption calculation according to the public key, the first ciphertext and the fitting coefficient sequence; the fitting coefficient sequence is obtained by the data provider through fitting according to each piece of query data and verification data corresponding to each piece of query data; decrypting the second ciphertext by using the private key to obtain to-be-verified data corresponding to the to-be-queried data; and if the verification of the corresponding relationship between the to-be-queried data and the to-be-verified data is passed, extracting a data query result corresponding to the to-be-queried data from the to-be-verified data. By adopting the method, the overhead of computing resources and communication resources in the data hiding query process can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data security technology, and in particular to a data anonymity query method, device, system, computer equipment, computer-readable storage medium, and computer program product. Background Art

[0002] The hidden query technology aims to protect the privacy of users during the query process, so that the data query party can complete the query without the data provider knowing the specific query conditions and results. In the related technology, the hidden query of data can be performed by using the intersection of privacy sets. However, the hidden query process in the related technology usually involves complex encryption operations and a large amount of ciphertext data transmission, resulting in large computing resources and communication bandwidth overhead, making it difficult to achieve efficient data query. Summary of the invention

[0003] Based on this, it is necessary to provide a data anonymity query method, device, system, computer equipment, computer-readable storage medium and computer program product to address the above technical issues.

[0004] In a first aspect, the present application provides a data anonymity query method, comprising:

[0005] Encrypt the data to be queried using the public key to obtain a first ciphertext;

[0006] Sending the public key and the first ciphertext to a data provider;

[0007] receiving a second ciphertext sent by the data provider; the second ciphertext is obtained by the data provider through homomorphic encryption calculation according to the public key, the first ciphertext and a fitting coefficient sequence; the fitting coefficient sequence is obtained by the data provider through fitting according to each query data and verification data corresponding to each query data;

[0008] Decrypting the second ciphertext using the private key to obtain the data to be verified corresponding to the data to be queried;

[0009] If the correspondence between the data to be queried and the data to be verified is verified, a data query result corresponding to the data to be queried is extracted from the data to be verified.

[0010] In one embodiment, the data for query includes a data identifier and additional data; the verification data is generated by the data provider using a first generation function based on the additional data of the data for query and the verification tag corresponding to the data for query; the verification tag is generated by the data provider using a second generation function based on the data identifier and the additional data contained in the data for query; if the correspondence between the data to be queried and the data to be verified is verified, before extracting the data query result corresponding to the data to be queried from the data to be verified, it also includes: using a first extraction function corresponding to the first generation function to extract first sub-data and second sub-data from the data to be verified; using a second verification function corresponding to the second generation function to verify whether the first sub-data is a verification tag corresponding to the data to be queried and the second sub-data; and determining whether the correspondence between the data to be queried and the data to be verified is verified based on the tag verification result.

[0011] In one of the embodiments, determining whether the correspondence between the data to be queried and the data to be verified is verified based on the label verification result includes: if the label verification result indicates that the first sub-data is a verification label corresponding to the data to be queried and the second sub-data, then determining that the data to be verified corresponds to the data to be queried.

[0012] In one of the embodiments, if the correspondence between the data to be queried and the data to be verified is verified, a data query result corresponding to the data to be queried is extracted from the data to be verified, including: obtaining the data query result corresponding to the data to be queried based on the second sub-data extracted from the data to be verified.

[0013] In a second aspect, the present application also provides a data anonymity query method, comprising:

[0014] Fitting each query data and the verification data corresponding to each query data to obtain a fitting coefficient sequence;

[0015] Receiving a public key and a first ciphertext from a data query party; the first ciphertext is obtained by the data query party encrypting the query data using the public key;

[0016] Perform homomorphic encryption calculation according to the public key, the first ciphertext and the fitting coefficient sequence to obtain a second ciphertext corresponding to the first ciphertext;

[0017] The second ciphertext is sent to the data querying party.

[0018] In one embodiment, the query data includes a data identifier and additional data; before fitting each query data and the verification data corresponding to each query data to obtain a fitting coefficient sequence, the method includes: generating a verification label corresponding to each query data using a second generating function according to the data identifier and the additional data included in each query data; and generating the verification data corresponding to each query data using a first generating function according to the additional data and the corresponding verification label included in each query data.

[0019] In one embodiment, the fitting of each query data and the verification data corresponding to each query data to obtain a fitting coefficient sequence includes: constructing a fitting polynomial according to each query data and the verification data corresponding to each query data using a polynomial interpolation method, and obtaining the fitting coefficient sequence according to the polynomial coefficients of the fitting polynomial; performing homomorphic encryption calculation according to the public key, the first ciphertext and the fitting coefficient sequence to obtain a second ciphertext corresponding to the first ciphertext includes: encrypting each polynomial coefficient of the fitting coefficient sequence according to the public key to obtain an encrypted fitting coefficient sequence; and calculating the first ciphertext using the encrypted fitting coefficient sequence to obtain the second ciphertext corresponding to the first ciphertext.

[0020] In a third aspect, the present application also provides a data anonymity query system, including:

[0021] Data query party and data provider;

[0022] The data querying party is used to encrypt the data to be queried using the public key to obtain a first ciphertext;

[0023] The data provider is used to fit each query data and the verification data corresponding to each query data to obtain a fitting coefficient sequence;

[0024] The data querying party is further used to send the public key and the first ciphertext to the data providing party;

[0025] The data provider is further configured to receive the public key and the first ciphertext from the data query party; perform homomorphic encryption calculation according to the public key, the first ciphertext and the fitting coefficient sequence to obtain a second ciphertext corresponding to the first ciphertext; and send the second ciphertext to the data query party;

[0026] The data query party is also used to receive the second ciphertext sent by the data provider; use the private key to decrypt the second ciphertext to obtain the data to be verified corresponding to the data to be queried; if the correspondence between the data to be queried and the data to be verified is verified, extract the data query result corresponding to the data to be queried from the data to be verified.

[0027] In a fourth aspect, the present application also provides a data anonymity query device, comprising:

[0028] An encryption module, used for encrypting the data to be queried using a public key to obtain a first ciphertext;

[0029] A sending module, used for sending the public key and the first ciphertext to a data provider;

[0030] A receiving module, configured to receive a second ciphertext sent by the data provider; the second ciphertext is obtained by the data provider through homomorphic encryption calculation according to the public key, the first ciphertext and a fitting coefficient sequence; the fitting coefficient sequence is obtained by the data provider through fitting according to each query data and verification data corresponding to each query data;

[0031] A decryption module, used to decrypt the second ciphertext using a private key to obtain the data to be verified corresponding to the data to be queried;

[0032] The acquisition module is used to extract the data query result corresponding to the data to be queried from the data to be verified if the corresponding relationship between the data to be queried and the data to be verified is verified.

[0033] In a fifth aspect, the present application also provides a data anonymity query device, including:

[0034] A fitting module, used for fitting each query data and the verification data corresponding to each query data to obtain a fitting coefficient sequence;

[0035] A receiving module, used for receiving a public key and a first ciphertext from a data query party; the first ciphertext is obtained by the data query party encrypting the query data using the public key;

[0036] An encryption calculation module, used to perform homomorphic encryption calculation according to the public key, the first ciphertext and the fitting coefficient sequence to obtain a second ciphertext corresponding to the first ciphertext;

[0037] A sending module is used to send the second ciphertext to the data query party.

[0038] In a sixth aspect, the present application further provides a computer device, comprising a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the following steps are implemented:

[0039] Encrypt the data to be queried using the public key to obtain a first ciphertext;

[0040] Sending the public key and the first ciphertext to a data provider;

[0041] receiving a second ciphertext sent by the data provider; the second ciphertext is obtained by the data provider through homomorphic encryption calculation according to the public key, the first ciphertext and a fitting coefficient sequence; the fitting coefficient sequence is obtained by the data provider through fitting according to each query data and verification data corresponding to each query data;

[0042] Decrypting the second ciphertext using the private key to obtain the data to be verified corresponding to the data to be queried;

[0043] If the correspondence between the data to be queried and the data to be verified is verified, a data query result corresponding to the data to be queried is extracted from the data to be verified.

[0044] In a seventh aspect, the present application further provides a computer device, comprising a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the following steps are implemented:

[0045] Fitting each query data and the verification data corresponding to each query data to obtain a fitting coefficient sequence;

[0046] Receiving a public key and a first ciphertext from a data query party; the first ciphertext is obtained by the data query party encrypting the query data using the public key;

[0047] Perform homomorphic encryption calculation according to the public key, the first ciphertext and the fitting coefficient sequence to obtain a second ciphertext corresponding to the first ciphertext;

[0048] The second ciphertext is sent to the data querying party.

[0049] In an eighth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, wherein when the computer program is executed by a processor, the following steps are implemented:

[0050] Encrypt the data to be queried using the public key to obtain a first ciphertext;

[0051] Sending the public key and the first ciphertext to a data provider;

[0052] receiving a second ciphertext sent by the data provider; the second ciphertext is obtained by the data provider through homomorphic encryption calculation according to the public key, the first ciphertext and a fitting coefficient sequence; the fitting coefficient sequence is obtained by the data provider through fitting according to each query data and verification data corresponding to each query data;

[0053] Decrypting the second ciphertext using the private key to obtain the data to be verified corresponding to the data to be queried;

[0054] If the correspondence between the data to be queried and the data to be verified is verified, a data query result corresponding to the data to be queried is extracted from the data to be verified.

[0055] In a ninth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, wherein when the computer program is executed by a processor, the following steps are implemented:

[0056] Fitting each query data and the verification data corresponding to each query data to obtain a fitting coefficient sequence;

[0057] Receiving a public key and a first ciphertext from a data query party; the first ciphertext is obtained by the data query party encrypting the query data using the public key;

[0058] Perform homomorphic encryption calculation according to the public key, the first ciphertext and the fitting coefficient sequence to obtain a second ciphertext corresponding to the first ciphertext;

[0059] The second ciphertext is sent to the data querying party.

[0060] In a tenth aspect, the present application further provides a computer program product, including a computer program, which implements the following steps when executed by a processor:

[0061] Encrypt the data to be queried using the public key to obtain a first ciphertext;

[0062] Sending the public key and the first ciphertext to a data provider;

[0063] receiving a second ciphertext sent by the data provider; the second ciphertext is obtained by the data provider through homomorphic encryption calculation according to the public key, the first ciphertext and a fitting coefficient sequence; the fitting coefficient sequence is obtained by the data provider through fitting according to each query data and verification data corresponding to each query data;

[0064] Decrypting the second ciphertext using the private key to obtain the data to be verified corresponding to the data to be queried;

[0065] If the correspondence between the data to be queried and the data to be verified is verified, a data query result corresponding to the data to be queried is extracted from the data to be verified.

[0066] In an eleventh aspect, the present application further provides a computer program product, including a computer program, which implements the following steps when executed by a processor:

[0067] Fitting each query data and the verification data corresponding to each query data to obtain a fitting coefficient sequence;

[0068] Receiving a public key and a first ciphertext from a data query party; the first ciphertext is obtained by the data query party encrypting the query data using the public key;

[0069] Perform homomorphic encryption calculation according to the public key, the first ciphertext and the fitting coefficient sequence to obtain a second ciphertext corresponding to the first ciphertext;

[0070] The second ciphertext is sent to the data querying party.

[0071] The above-mentioned data anonymity query method, device, system, computer equipment, computer-readable storage medium and computer program product first use the public key to encrypt the data to be queried to obtain a first ciphertext and send the public key and the first ciphertext to the data provider, and then receive the second ciphertext sent by the data provider, wherein the second ciphertext is obtained by the data provider through homomorphic encryption calculation based on the public key, the first ciphertext and the fitting coefficient sequence, and the fitting coefficient sequence is obtained by the data provider according to each query data and the verification data corresponding to each query data. Then, the second ciphertext is decrypted using the private key to obtain the data to be verified corresponding to the data to be queried. If the correspondence between the data to be queried and the data to be verified is verified, the data query result corresponding to the data to be queried is extracted from the data to be verified. The scheme can realize the verification of data hits and the calculation of query results in one calculation by having the data query party fit each query data and the verification data corresponding to each query data, and using the fitting coefficient sequence and the public key and the first ciphertext received from the data query party to perform homomorphic encryption calculation, so that the second ciphertext obtained has a self-verification function and a data transmission function for the query result, so that the data query party only needs to receive the second ciphertext and decrypt and verify it to obtain the query result corresponding to the data to be queried. This process can reduce the amount of calculation required by the data query party and the data provider and reduce the amount of data transmitted between the two, which is conducive to saving computing resource overhead and communication bandwidth overhead in the data anonymity query process. BRIEF DESCRIPTION OF THE DRAWINGS

[0072] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the drawings required for use in the embodiments of the present application or related technical descriptions will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.

[0073] Figure 1 A schematic diagram of the architecture of a data anonymity query system in one embodiment;

[0074] Figure 2 1 is a flow chart of a data anonymity query process in one embodiment;

[0075] Figure 3 A schematic diagram of a flow chart of a data anonymity query method in one embodiment;

[0076] Figure 4 A schematic diagram of a process for determining whether the corresponding relationship between the data to be queried and the data to be verified is verified in one embodiment;

[0077] Figure 5 A schematic diagram of a flow chart of a data anonymity query method in another embodiment;

[0078] Figure 6 It is a structural block diagram of a data anonymity query device in one embodiment;

[0079] Figure 7 It is a structural block diagram of a data anonymity query device in another embodiment;

[0080] Figure 8 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION

[0081] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0082] Specifically, the privacy set intersection technology based on homomorphic encryption is usually used in the related art to perform hidden query of data. Among them, in the related art, the data provider usually needs to construct a judgment polynomial for judging whether the data to be queried is hit according to the query data set in advance, and construct a value polynomial for calculating the data to be transmitted when the data to be queried is hit. Then, after receiving the public key and the encrypted data to be queried provided by the data query party, it is necessary to use the public key and the encrypted data to be queried to perform secret calculations on the judgment polynomial and the value polynomial respectively to obtain the calculation results of the two polynomials, and then send them to the data query party. The data query party needs to first decrypt the calculation result of the judgment polynomial to determine whether the data to be queried is hit. After determining the hit, the calculation result of the value polynomial is decrypted to obtain the query result corresponding to the data to be queried. Based on this, the data provider in the related art needs to generate two polynomials for the query data, and needs to perform secret calculations corresponding to the two polynomials for each data to be queried, which requires a lot of computing resources. The data receiver needs to decrypt the two polynomial calculation results corresponding to each data to be queried, which also consumes a lot of computing resources. In addition, since the data provider needs to transmit the two polynomial calculation results corresponding to each data to be queried to the data query party in this process, it leads to a lot of communication bandwidth overhead.

[0083] Based on this, Figure 1 As shown, an embodiment of the present application provides a data anonymity query system, which may include a data query party and a data provider.

[0084] Among them, one or more data query parties can communicate with the data provider through the network. Among them, the data provider can be a server of a communication service provider such as an operator, which can store the private communication data of communication service users. Exemplarily, the user's private communication data may include user identity identification, communication identification, communication service records, etc. Among them, the data query party can be a server of an institution such as a financial institution, and the data query party can query the user's private communication data from the data provider with the authorization of the user or with full authorization of all parties. Exemplarily, the aforementioned server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides cloud computing services.

[0085] Among them, please refer to Figure 2 , which is a schematic diagram of the data anonymity query process based on the data anonymity query system.

[0086] The data querying party is used to encrypt the data to be queried using the public key to obtain a first ciphertext.

[0087] When a data anonymity query is required, the data querying party can first generate a public-private key pair (pk, sk) of a homomorphic encryption algorithm for anonymity query, and determine one or more pieces of data to be queried, and obtain the data set to be queried Y = {y j} 1≤j≤n , where y j For example, when the data querying party is a financial institution, the data to be queried may be the identity identifier of a financial service user.

[0088] Then, the data query party can use the public key pk to query each data y j Encrypt and obtain the data y to be queried j The corresponding first ciphertext (in stands for homomorphic encryption).

[0089] The data provider is used to fit each query data and the verification data corresponding to each query data to obtain a fitting coefficient sequence.

[0090] The data provider may store one or more query data. Exemplarily, the query data may include a user ID, a communication ID, a communication service record, etc. of a communication service user. The data provider may generate corresponding verification data for each query data.

[0091] Exemplarily, the data provider may store a query data set X containing one or more query data. i , v i )) 1≤i≤m , where (x i , v i ) is the query data, x i is the data identifier included in the query data (for example, it may be the user identity identifier of a communication service user), v i The additional data included in the query data (for example, it may include one or more of the communication identification of the communication service user and the communication service record). The data provider may, for each query data (x i , v i ), respectively generate their corresponding verification data w i Optionally, verify the data w i It can be to use a preset algorithm to query the data (x i , v i ) is calculated, which may include at least part of the data in the query data for providing as a data query result.

[0092] The data provider can construct a fitting function R suitable for homomorphic encryption calculation by data fitting for each query data and its corresponding verification data, and obtain a fitting coefficient sequence based on the coefficients of the fitting function. The fitting function R can satisfy R(x i )=w i , that is, the data identifier of the query data is input into the fitting function, and the function value can be calculated to be the verification data corresponding to the query data.

[0093] In an exemplary embodiment, when the data provider fits each query data and the verification data corresponding to each query data to obtain a fitting coefficient sequence, it can construct a fitting polynomial based on each query data and the verification data corresponding to each query data using the polynomial interpolation method, and obtain the fitting coefficient sequence based on the polynomial coefficients of the fitting polynomial.

[0094] Specifically, the data provider can i , v i ) and its corresponding verification data w i Convert to the coordinates of point p in the rectangular plane coordinate system i =(x i , w i ), and then use the polynomial interpolation method (for example, Lagrange interpolation method) to calculate the coordinates of each point p i Perform data fitting and obtain the fitting polynomial Then we get the fitting coefficient sequence [c i ] 0≤i≤m .

[0095] The data querying party is also used to send the public key and the first ciphertext to the data providing party.

[0096] The data query party can generate the public key pk of the homomorphic encryption algorithm and send it to the data provider, and use the public key pk to encrypt the data to be queried y j Get the first ciphertext y′ j Then send it to the data provider. Optionally, when there are multiple pieces of data to be queried, the data query party can use the first ciphertext set Y′={y′ j}Sent to the data provider.

[0097] The data provider is also used to receive the public key and the first ciphertext from the data query party; perform homomorphic encryption calculation according to the public key, the first ciphertext and the fitting coefficient sequence to obtain the second ciphertext corresponding to the first ciphertext; and send the second ciphertext to the data query party.

[0098] The data provider can receive the public key pk and the first ciphertext y′ sent by the data query party.j . When there are multiple first ciphertexts y′ j When the data provider receives the first ciphertext set Y′={y′ j}, and obtain the first ciphertext y′ from it j . For each first ciphertext y′ j , the data provider can use the public key pk and the fitting coefficient sequence to perform homomorphic encryption calculation to obtain the second ciphertext corresponding to the first ciphertext. For example, the second ciphertext can be expressed as (in represents homomorphic encryption). Then, the data provider can obtain the second ciphertext r′ j Optionally, when there are multiple second ciphertexts, the data provider can send the data query r′ j The second ciphertext set R′=[r′ j ] 1≤j≤n Sent to the data provider.

[0099] In an exemplary embodiment, when the data provider performs homomorphic encryption calculation based on the public key, the first ciphertext and the fitting coefficient sequence to obtain the second ciphertext corresponding to the first ciphertext, the data provider can encrypt each polynomial coefficient of the fitting coefficient sequence according to the public key to obtain an encrypted fitting coefficient sequence; and use the encrypted fitting coefficient sequence to calculate the first ciphertext to obtain the second ciphertext corresponding to the first ciphertext.

[0100] Specifically, when the fitting function between each query data and its corresponding verification data constructed by the data provider is a fitting polynomial When the data provider can first use the public key pk to fit the coefficient sequence [c i ] 0≤i≤m The polynomial coefficients in are encrypted to obtain the encrypted fitting coefficient sequence (in represents homomorphic encryption). Then, the data provider can j , using the encrypted fitting coefficient sequence Perform secret calculation to obtain the corresponding second ciphertext Among them, the addition operation and multiplication operation in the secret state calculation are ciphertext homomorphic addition and ciphertext homomorphic multiplication respectively.

[0101] The data query party is also used to receive the second ciphertext sent by the data provider; use the private key to decrypt the second ciphertext to obtain the data to be verified corresponding to the data to be queried; if the correspondence between the data to be queried and the data to be verified is verified, then extract the data query result corresponding to the data to be queried from the data to be verified.

[0102] The data query party can receive the second ciphertext r′ sent by the data provider. j When there are multiple second ciphertexts, the data query party may receive the second ciphertext set R′=[r′ j ] 1≤j≤n , and obtain the second ciphertext r′ from it j .

[0103] The data query party can use the previously generated homomorphic encryption algorithm private key sk to perform encryption on each second ciphertext r′ j Decrypt and get the corresponding plaintext data (that is, the data to be verified) r j =R(y j ).

[0104] It can be understood that when there is data y to be queried j The query data hit (for example, (x j , v j )) When the second ciphertext r′ j Decrypted data to be verified r j That is, the verification data w corresponding to the query data i Based on this, the data query party can treat the query data y j and the data to be verified r j The corresponding relationship between them is verified to determine the data to be verified r j Is it the data to be queried? j The corresponding verification data w j .

[0105] Among them, when the corresponding relationship verification is passed, it means that the data to be verified r j The data y to be queried j The verification data w of the hit query data j , so that the query data y can be extracted from the verification data j The corresponding data query result. If the corresponding relationship verification fails, it means that the data to be queried y j There is no hit on the data to be provided, and thus there is no corresponding data query result.

[0106] The above-mentioned data anonymity query system can realize the verification of data hits and the calculation of query results in one calculation by having the data query party fit each query data and the verification data corresponding to each query data, and use the fitting coefficient sequence and the public key and the first ciphertext received from the data query party to perform homomorphic encryption calculation, so that the second ciphertext obtained has a self-verification function and a data transmission function for the query result, so that the data query party only needs to receive the second ciphertext and decrypt and verify it to obtain the query result corresponding to the data to be queried. Compared with the related art, the process requires fewer fitting functions to be constructed and calculated and less ciphertext data to be transmitted, thereby effectively reducing the amount of calculation required by the data query party and the data provider and reducing the amount of data transmitted between the two, which is conducive to saving computing resource overhead and communication bandwidth overhead in the data anonymity query process.

[0107] In an exemplary embodiment, the query data may include a data identifier and additional data.

[0108] The data provider is also used to generate a verification tag corresponding to each query data using a second generation function based on the data identifier and additional data contained in each query data; and to generate verification data corresponding to each query data using a first generation function based on the additional data contained in each query data and the corresponding verification tag.

[0109] The data query party is also used to extract the first sub-data and the second sub-data from the data to be verified by using the first extraction function corresponding to the first generation function; to verify whether the first sub-data is a verification label corresponding to the data to be queried and the second sub-data by using the second verification function corresponding to the second generation function; and to determine whether the correspondence between the data to be queried and the data to be verified is verified based on the label verification result.

[0110] Specifically, the query data can be expressed as (x, v), where x is the data identifier included in the query data, and v is the additional data included in the query data. The data provider and the data query party can pre-set a data verification scheme including a first generation function and its corresponding first extraction function, and a second generation function and its corresponding second verification function for data verification.

[0111] Exemplarily, the data verification scheme can be expressed as T=(Tag, Validate, Extract), where Tag is a verification data generation function, Extract is a first extraction function, and Validate is a second verification function.

[0112] Wherein, Tag is a verification data generation function, which can be expressed as Tag(m)→w. The data provider can obtain the verification data w output by inputting the query data m=(x, v) into the verification data generation function. Wherein, the verification data generation function can include a second generation function for generating a verification tag and a first generation function for generating verification data. By inputting the query data m=(x, v) into the verification data generation function, the second generation function can be used to first generate the verification tag t corresponding to the query data m=(x, v), and then the first generation function can be used to generate the verification data w according to the verification tag t and the additional data v. Exemplarily, the process of obtaining the verification tag t using the second generation function can be expressed as t=H(x||v), and the process of generating the verification data w using the first generation function can be expressed as w=t||v, where H is a cryptographic digest algorithm and || represents binary concatenation.

[0113] Among them, Extract is the first extraction function corresponding to the first generation function, which can be expressed as Extract(r)→(a, b). The data query party can extract the first sub-data a and the second sub-data b from the data to be verified r by inputting the data to be verified into the first extraction function. It can be understood that when the data to be verified r is the verification data w corresponding to the query data m=(x, v), the first extraction function can be used to extract the first sub-data a corresponding to the verification tag t and the second sub-data b corresponding to the additional data v. Exemplarily, taking the first generation function that generates the verification data w=t||v by binary concatenation as an example, the corresponding first extraction function can parse the data to be verified r according to the preset verification tag length and output the first sub-data a and the second sub-data b.

[0114] Among them, Validat e is the second verification function corresponding to the second generation function, which can be expressed as Validate(n, a)→T / F. The data query party can input the input data n containing the data to be queried y and the second sub-data b and the first sub-data a into the second verification function to verify whether the first sub-data a is the verification label corresponding to the data to be queried y and the second sub-data b. Among them, the second verification function can output T when the verification determines that the first sub-data a is the verification label corresponding to the data to be queried y and the second sub-data b, and output F when the verification fails. Exemplarily, taking the second generation function that generates the verification label t by t=H(x||v) as an example, the corresponding second verification function can calculate the label t′=H(y||b) for the input data n=(y, b), and determine whether the label t′ is equal to the first sub-data a. Among them, if t′=a, then T is output, otherwise F is output.

[0115] In an exemplary embodiment, the data query party can also be used to determine that the data to be queried corresponds to the data to be queried when the label verification result output by the second verification function indicates that the first sub-data is the verification label corresponding to the data to be queried and the second sub-data. Among them, still taking the aforementioned second verification function Validate(n, a)→T / F as an example, when the label verification result output by the second verification function is T, it means that the first sub-data a is the verification label corresponding to the input data n=(y, b), that is, the first sub-data a is the verification label corresponding to the data to be queried y and the second sub-data b. Based on this, it can be determined that there is a corresponding relationship between the data to be verified r and the data to be queried y.

[0116] In an exemplary embodiment, the data query party can also be used to obtain the data query result corresponding to the data to be queried based on the second sub-data extracted from the data to be verified. Wherein, in the case where there is a corresponding relationship between the data to be verified r and the data to be queried y, the data to be verified is the verification data corresponding to the query data hit by the query data, so that the first sub-data a and the second sub-data b extracted from the data to be verified r using the first extraction function are the verification tag t and the additional data v corresponding to the query data. Based on this, the data query party can obtain the data query result (i.e., the additional data v) corresponding to the data to be queried y based on the second sub-data b extracted from the data to be verified r.

[0117] In this embodiment, by pre-setting the first generation function and the first extraction function, as well as the second generation function and the second verification function that correspond to each other, the verification data generated by the data provider can carry the verification label and additional data for the query data at the same time, and the data query party can process the data to be verified by successively using the first extraction function and the second verification function, thereby verifying the correspondence between the data to be verified and the data to be queried and obtaining the data query results, which is conducive to further improving the overall efficiency of data anonymity queries.

[0118] Optionally, the homomorphic encryption algorithm used in the embodiments of the present application may be a fully homomorphic encryption algorithm that supports ciphertext homomorphic addition and ciphertext homomorphic multiplication.

[0119] Optionally, the data anonymity query system provided in the embodiments of the present application may also be combined with other optimization technologies to further reduce the resource overhead of data anonymity query or to improve efficiency.

[0120] For example, the data query party and the data provider can use the cuckoo hash function to group the data set to be queried and the data set for query, and each group independently performs the hidden query process in the above embodiment to improve performance through concurrent execution; at the same time, the use of the cuckoo hash function can also reduce the highest exponent of the fitting polynomial in each running instance, thereby reducing the computing resource overhead or network communication overhead required for the data provider to secretly calculate the highest exponent term of the fitting polynomial.

[0121] For another example, the data query party and the data provider can use a fully homomorphic encryption algorithm to encrypt the data, and the data provider can use the Paterson-Stockmeyer algorithm to perform homomorphic encryption calculations on the second ciphertext, thereby improving the computational efficiency of the second ciphertext. At the same time, the data query party and the data provider can also use the ciphertext packing technology of the fully homomorphic encryption algorithm to achieve parallel acceleration of single instruction multiple data, thereby further improving the overall processing efficiency of the system.

[0122] Based on the same inventive concept, the embodiment of the present application also provides a data anonymity query method. The implementation scheme for solving the problem provided by the method is similar to the implementation scheme recorded in the above system, so the specific limitations in one or more data anonymity query method embodiments provided below can refer to the limitations on the data anonymity query system above, and will not be repeated here.

[0123] In one embodiment, Figure 3 As shown, a data anonymity query method is provided. This embodiment uses the method applied to a data query party as an example. In this embodiment, the method includes the following steps:

[0124] Step S301: Encrypt the data to be queried using a public key to obtain a first ciphertext.

[0125] Step S302: Send the public key and the first ciphertext to the data provider.

[0126] Step S303, receiving a second ciphertext sent by the data provider, wherein the second ciphertext is obtained by the data provider through homomorphic encryption calculation based on the public key, the first ciphertext and the fitting coefficient sequence, and the fitting coefficient sequence is obtained by the data provider through fitting based on each query data and the verification data corresponding to each query data.

[0127] Step S304: decrypt the second ciphertext using the private key to obtain the data to be verified corresponding to the data to be queried.

[0128] Step S305: if the correspondence between the data to be queried and the data to be verified is verified, a data query result corresponding to the data to be queried is extracted from the data to be verified.

[0129] In an exemplary embodiment, the query data includes a data identifier and additional data; the verification data is generated by the data provider using a first generation function based on the additional data of the query data and the verification tag corresponding to the query data; the verification tag is generated by the data provider using a second generation function based on the data identifier and additional data included in the query data. Figure 4 As shown, if the correspondence between the data to be queried and the data to be verified is verified, before extracting the data query result corresponding to the data to be queried from the data to be verified, the following may also be included:

[0130] Step S401 : extracting first sub-data and second sub-data from the data to be verified by using a first extraction function corresponding to a first generation function.

[0131] Step S402: using a second verification function corresponding to the second generation function, verify whether the first sub-data is a verification tag corresponding to the to-be-queried data and the second sub-data.

[0132] Step S403: Determine whether the corresponding relationship between the data to be queried and the data to be verified is verified according to the tag verification result.

[0133] In an exemplary embodiment, determining whether the correspondence between the data to be queried and the data to be verified is verified based on the label verification result may include: if the label verification result indicates that the first sub-data is a verification label corresponding to the data to be queried and the second sub-data, then determining that the data to be queried corresponds to the data to be queried.

[0134] In an exemplary embodiment, if the correspondence between the data to be queried and the data to be verified is verified, extracting the data query result corresponding to the data to be queried from the data to be verified may include: obtaining the data query result corresponding to the data to be queried based on the second sub-data extracted from the data to be verified.

[0135] In one embodiment, Figure 5 As shown, a data anonymity query method is provided. This embodiment uses the method applied to a data provider as an example. In this embodiment, the method includes the following steps:

[0136] Step S501, fitting each query data and the verification data corresponding to each query data to obtain a fitting coefficient sequence.

[0137] Step S502: receiving a public key and a first ciphertext from a data querying party. The first ciphertext is obtained by encrypting the data to be queried by the data querying party using the public key.

[0138] Step S503, performing homomorphic encryption calculation according to the public key, the first ciphertext and the fitting coefficient sequence to obtain a second ciphertext corresponding to the first ciphertext.

[0139] Step S504: Send the second ciphertext to the data querying party.

[0140] In an exemplary embodiment, the query data includes a data identifier and additional data. Before fitting each query data and the verification data corresponding to each query data to obtain a fitting coefficient sequence, the method may include: generating a verification tag corresponding to each query data using a second generating function according to the data identifier and additional data included in each query data; and generating the verification data corresponding to each query data using a first generating function according to the additional data and the corresponding verification tag included in each query data.

[0141] In an exemplary embodiment, fitting each query data and the verification data corresponding to each query data to obtain a fitting coefficient sequence may include: constructing a fitting polynomial according to each query data and the verification data corresponding to each query data using a polynomial interpolation method, and obtaining a fitting coefficient sequence according to the polynomial coefficients of the fitting polynomial; performing homomorphic encryption calculation according to a public key, a first ciphertext and a fitting coefficient sequence to obtain a second ciphertext corresponding to the first ciphertext, which may include: encrypting each polynomial coefficient of the fitting coefficient sequence according to the public key to obtain an encrypted fitting coefficient sequence; and calculating the first ciphertext using the encrypted fitting coefficient sequence to obtain a second ciphertext corresponding to the first ciphertext.

[0142] It should be understood that, although the steps in the flowcharts involved in the above embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps is not strictly limited in order, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above embodiments may include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.

[0143] Based on the same inventive concept, the embodiment of the present application also provides a data anonymity query device for implementing the above-mentioned data anonymity query method. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above-mentioned system, so the specific limitations in one or more data anonymity query device embodiments provided below can refer to the limitations on the data anonymity query system above, and will not be repeated here.

[0144] In an exemplary embodiment, Figure 6 As shown, a data anonymity query device 600 is provided, comprising:

[0145] The encryption module 601 is used to encrypt the data to be queried using the public key to obtain a first ciphertext;

[0146] A sending module 602, configured to send the public key and the first ciphertext to a data provider;

[0147] The receiving module 603 is used to receive a second ciphertext sent by the data provider; the second ciphertext is obtained by the data provider through homomorphic encryption calculation according to the public key, the first ciphertext and a fitting coefficient sequence; the fitting coefficient sequence is obtained by the data provider through fitting according to each query data and verification data corresponding to each query data;

[0148] A decryption module 604 is used to decrypt the second ciphertext using a private key to obtain the data to be verified corresponding to the data to be queried;

[0149] The acquisition module 605 is configured to extract a data query result corresponding to the data to be queried from the data to be verified if the corresponding relationship between the data to be queried and the data to be verified is verified.

[0150] In an exemplary embodiment, the data for query includes a data identifier and additional data; the verification data is generated by the data provider using a first generation function based on the additional data of the data for query and a verification tag corresponding to the data for query; the verification tag is generated by the data provider using a second generation function based on the data identifier and the additional data included in the data for query; the device also includes: an extraction module, used to extract first sub-data and second sub-data from the data to be verified using a first extraction function corresponding to the first generation function; a first verification module, used to verify whether the first sub-data is a verification tag corresponding to the data to be queried and the second sub-data using a second verification function corresponding to the second generation function; and a second verification module, used to determine whether the correspondence between the data to be queried and the data to be verified is verified based on the tag verification result.

[0151] In an exemplary embodiment, the second verification module is used to determine that the data to be queried corresponds to the data to be queried if the tag verification result indicates that the first sub-data is a verification tag corresponding to the data to be queried and the second sub-data.

[0152] In an exemplary embodiment, the acquisition module 605 is used to obtain the data query result corresponding to the data to be queried according to the second sub-data extracted from the data to be verified.

[0153] In an exemplary embodiment, Figure 7As shown, a data anonymity query device 700 is provided, comprising:

[0154] A fitting module 701 is used to fit each query data and the verification data corresponding to each query data to obtain a fitting coefficient sequence;

[0155] The receiving module 702 is used to receive a public key and a first ciphertext from a data query party; the first ciphertext is obtained by the data query party encrypting the query data using the public key;

[0156] An encryption calculation module 703 is used to perform homomorphic encryption calculation according to the public key, the first ciphertext and the fitting coefficient sequence to obtain a second ciphertext corresponding to the first ciphertext;

[0157] The sending module 704 is used to send the second ciphertext to the data query party.

[0158] In an exemplary embodiment, the query data includes a data identifier and additional data; the device also includes: a first generating module, used to generate a verification tag corresponding to each query data using a second generating function according to the data identifier and the additional data included in each query data; a second generating module, used to generate the verification data corresponding to each query data using the first generating function according to the additional data and the corresponding verification tag included in each query data.

[0159] In an exemplary embodiment, the fitting module 701 is used to: construct a fitting polynomial using a polynomial interpolation method according to each of the query data and the verification data corresponding to each of the query data, and obtain the fitting coefficient sequence according to the polynomial coefficients of the fitting polynomial; the encryption calculation module 703 is used to: encrypt each of the polynomial coefficients of the fitting coefficient sequence according to the public key to obtain an encrypted fitting coefficient sequence; and calculate the first ciphertext using the encrypted fitting coefficient sequence to obtain the second ciphertext corresponding to the first ciphertext.

[0160] Each module in the above-mentioned data anonymity query device can be implemented in whole or in part by software, hardware, or a combination thereof. Each of the above-mentioned modules can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute the operations corresponding to each of the above modules.

[0161] In an exemplary embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as shown in FIG. Figure 8As shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. Among them, the processor, the memory and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store data to be queried, public keys, private keys and other data, or to store data for query. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a data hiding query method is implemented.

[0162] Those skilled in the art will understand that Figure 8 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0163] In one embodiment, a computer device is further provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above method embodiments when executing the computer program.

[0164] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments are implemented.

[0165] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above method embodiments when executed by a processor.

[0166] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant regulations.

[0167] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, an artificial intelligence (AI) processor, etc., but are not limited to this.

[0168] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.

[0169] The above embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.

Claims

1. A data anonymity query method, characterized in that: The method comprises: Encrypt the data to be queried using the public key to obtain a first ciphertext; Sending the public key and the first ciphertext to a data provider; receiving a second ciphertext sent by the data provider; the second ciphertext is obtained by the data provider through homomorphic encryption calculation according to the public key, the first ciphertext and a fitting coefficient sequence; the fitting coefficient sequence is obtained by the data provider through fitting according to each query data and verification data corresponding to each query data; Decrypting the second ciphertext using the private key to obtain the data to be verified corresponding to the data to be queried; If the correspondence between the data to be queried and the data to be verified is verified, a data query result corresponding to the data to be queried is extracted from the data to be verified.

2. The method according to claim 1, characterized in that The query data includes a data identifier and additional data; the verification data is generated by the data provider using a first generation function according to the additional data of the query data and a verification tag corresponding to the query data; the verification tag is generated by the data provider using a second generation function according to the data identifier and additional data included in the query data; If the correspondence between the data to be queried and the data to be verified is verified, before extracting the data query result corresponding to the data to be queried from the data to be verified, the method further includes: extracting first sub-data and second sub-data from the data to be verified by using a first extraction function corresponding to the first generation function; Using a second verification function corresponding to the second generation function, verify whether the first sub-data is a verification tag corresponding to the data to be queried and the second sub-data; According to the tag verification result, it is determined whether the corresponding relationship between the data to be queried and the data to be verified is verified.

3. The method according to claim 2, characterized in that The determining, according to the tag verification result, whether the corresponding relationship between the to-be-queried data and the to-be-verified data is verified, includes: If the tag verification result indicates that the first sub-data is the verification tag corresponding to the data to be queried and the second sub-data, it is determined that the data to be verified corresponds to the data to be queried.

4. The method according to claim 3, characterized in that If the correspondence between the data to be queried and the data to be verified is verified, extracting a data query result corresponding to the data to be queried from the data to be verified includes: The data query result corresponding to the data to be queried is obtained according to the second sub-data extracted from the data to be verified.

5. A data anonymity query method, characterized in that: The method comprises: Fitting each query data and the verification data corresponding to each query data to obtain a fitting coefficient sequence; Receiving a public key and a first ciphertext from a data query party; the first ciphertext is obtained by the data query party encrypting the query data using the public key; Perform homomorphic encryption calculation according to the public key, the first ciphertext and the fitting coefficient sequence to obtain a second ciphertext corresponding to the first ciphertext; The second ciphertext is sent to the data querying party.

6. The method according to claim 5, characterized in that The query data includes data identification and additional data; Before fitting each query data and the verification data corresponding to each query data to obtain a fitting coefficient sequence, the method includes: Generate a verification tag corresponding to each of the query data using a second generation function according to the data identifier and the additional data included in each of the query data; The verification data corresponding to each of the query data is generated using a first generation function according to the additional data included in each of the query data and the corresponding verification tag.

7. The method according to claim 5, characterized in that The step of fitting each query data and the verification data corresponding to each query data to obtain a fitting coefficient sequence includes: According to each of the query data and the verification data corresponding to each of the query data, a fitting polynomial is constructed by using a polynomial interpolation method, and the fitting coefficient sequence is obtained according to the polynomial coefficients of the fitting polynomial; The performing homomorphic encryption calculation according to the public key, the first ciphertext and the fitting coefficient sequence to obtain a second ciphertext corresponding to the first ciphertext includes: Encrypting each of the polynomial coefficients of the fitting coefficient sequence according to the public key to obtain an encrypted fitting coefficient sequence; The first ciphertext is calculated using the encrypted fitting coefficient sequence to obtain the second ciphertext corresponding to the first ciphertext.

8. A data anonymity query system, characterized in that: The system comprises: a data query party and a data provider; The data querying party is used to encrypt the data to be queried using the public key to obtain a first ciphertext; The data provider is used to fit each query data and the verification data corresponding to each query data to obtain a fitting coefficient sequence; The data querying party is further used to send the public key and the first ciphertext to the data providing party; The data provider is further configured to receive the public key and the first ciphertext from the data query party; perform homomorphic encryption calculation according to the public key, the first ciphertext and the fitting coefficient sequence to obtain a second ciphertext corresponding to the first ciphertext; and send the second ciphertext to the data query party; The data query party is also used to receive the second ciphertext sent by the data provider; use the private key to decrypt the second ciphertext to obtain the data to be verified corresponding to the data to be queried; if the correspondence between the data to be queried and the data to be verified is verified, extract the data query result corresponding to the data to be queried from the data to be verified.

9. A data anonymity query device, characterized in that: The device comprises: An encryption module, used for encrypting the data to be queried using a public key to obtain a first ciphertext; A sending module, used for sending the public key and the first ciphertext to a data provider; A receiving module, configured to receive a second ciphertext sent by the data provider; the second ciphertext is obtained by the data provider through homomorphic encryption calculation according to the public key, the first ciphertext and a fitting coefficient sequence; the fitting coefficient sequence is obtained by the data provider through fitting according to each query data and verification data corresponding to each query data; A decryption module, used to decrypt the second ciphertext using a private key to obtain the data to be verified corresponding to the data to be queried; The acquisition module is used to extract the data query result corresponding to the data to be queried from the data to be verified if the corresponding relationship between the data to be queried and the data to be verified is verified.

10. A data anonymity query device, characterized in that: The device comprises: A fitting module, used for fitting each query data and the verification data corresponding to each query data to obtain a fitting coefficient sequence; A receiving module, used for receiving a public key and a first ciphertext from a data query party; the first ciphertext is obtained by the data query party encrypting the query data using the public key; An encryption calculation module, used to perform homomorphic encryption calculation according to the public key, the first ciphertext and the fitting coefficient sequence to obtain a second ciphertext corresponding to the first ciphertext; A sending module is used to send the second ciphertext to the data query party.

11. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 7 are implemented.

12. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.

13. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.