Multi-data hiding query method and system
By grouping and obfuscating data, the problem of low efficiency of hidden query in privacy calculations is solved, and the efficiency and security balance of data queries are achieved, and business collaboration efficiency is improved.
Patent Information
- Application Number
- CN202411231643.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-04
- Publication Date
- 2024-12-27
- Estimated Expiration
- 2044-09-04
AI Technical Summary
Due to the large amount of calculations in the online query stage in the existing privacy computing, the data query coordination efficiency is low and it is impossible to effectively balance security and efficiency.
By grouping the original data and using obfuscation encryption technology to process and transmit the data index sequence, safe and efficient query between data users and data service providers can be achieved. The specific steps include the data service provider grouping the data, obfuscating the data index using obfuscation factors and initial common parameters, generating a ciphertext sequence, and the data user decrypts the query data based on the query data to obtain the query results.
It improves data processing efficiency and transmission security, optimizes system performance, improves data query collaboration efficiency between business parties, and protects data privacy.
Smart Images

Figure CN119203213A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of privacy computing, and in particular to a multi-data hidden query method and system. Background Art
[0002] In the field of privacy computing, hidden query technology belongs to privacy protection query technology, which is a technical solution to ensure that the query conditions and non-query content of users are not disclosed when they query information. It plays a huge role in application environments such as anonymous information retrieval, stock trading, and fraud detection.
[0003] In the prior art, algorithms such as homomorphic encryption are usually used to complete hidden queries. However, when hidden queries are completed using such algorithms, the amount of computation in the online query stage is too large and the amount of query data is limited, resulting in low data query collaboration efficiency for the entire system. Summary of the invention
[0004] To solve the above problems, the present invention provides a multi-data hidden query method and system, which groups the data through the data service party, and the grouped data index is obfuscated and encrypted by both parties before transmission and calculation, and finally the data user obtains the decrypted data to achieve a balance between the hidden query security and the query collaboration efficiency.
[0005] To achieve the above-mentioned purpose, the present invention provides a method for hidden query of multiple data, including: determining the corresponding initial public parameters according to the current security parameters; the data service party groups the original data set using a preset grouping rule to obtain multiple grouping sequences and a data index sequence corresponding to each grouping sequence; using the first confusion factor and the initial public parameter to simultaneously perform obfuscation processing on the data indexes in the grouping sequence to obtain a first ciphertext sequence corresponding to the data index sequence of each grouping sequence; the data service party receives the query grouping label corresponding to the data to be queried sent by the data user, and locates the target grouping sequence, the target first ciphertext sequence and the target data index sequence according to the query grouping label; sends the target data index sequence to the data user; the data user root According to the first index subsequence of the data to be queried and the index sequence of the target data, the second index subsequence of the data to be queried in the corresponding group sequence is located; the second index subsequence is confused by a second confusion factor and an initial public parameter to obtain a joint blind confusion value; the joint blind confusion value is sent to a data service provider; the data service provider first de-blinds the joint blind confusion value according to the initial public parameter, and then encrypts the target group sequence to obtain a second index subsequence and a second ciphertext sequence corresponding to the target group sequence; the target first ciphertext sequence and the second ciphertext sequence are sent to a data user; the data user decrypts the target first ciphertext sequence and the second ciphertext sequence according to the second confusion factor and the initial public parameter to obtain a query result.
[0006] Further optionally, the using the first obfuscation factor and the initial public parameter to simultaneously perform obfuscation processing on the data indexes in the grouping sequence to obtain the first ciphertext sequence corresponding to the data index sequence of each grouping sequence includes: for each data index in any grouping sequence The corresponding ciphertext value in the first ciphertext sequence is calculated by the following formula
[0007]
[0008] Among them, i = {1,2,…,t}, represents the group sequence number of the group sequence; j = {{1,2,…,n1}; {1,2,…,n2}; …; {1,2,…,nt}}, represents the data index sequence number in the group sequence; a and b are both safe large integers in the initial public parameters; g is the generator of the finite field GF in the initial public parameters; r1 is the first confusion factor.
[0009] Further optionally, the second index subsequence is obfuscated using a second obfuscation factor and an initial common parameter to obtain a joint blinded obfuscation value, which is calculated by the following formula:
[0010]
[0011] Where cV is the combined blind confusion value; y i is the i-th element value in the second index subsequence, i∈[n], n is the number of data to be queried;
[0012] The method of first performing a deblinding process on the joint blinded confusion value according to the initial public parameter, and then encrypting the target packet sequence to obtain a second index subsequence and a second ciphertext sequence corresponding to the target packet sequence, includes:
[0013]
[0014] Wherein, w represents the group sequence number of the group sequence to which the data to be queried belongs; j={1,2,…,nw} represents the data index sequence number in the group sequence to which the data to be queried belongs.
[0015] Further optionally, decrypting the target first ciphertext sequence and the second ciphertext sequence according to the second confusion factor and the initial public parameter to obtain a query result includes:
[0016] When the number of data to be queried is n=2, the query result is calculated by the following formula:
[0017]
[0018] When the number of data to be queried is n ≥ 3, the query result is calculated by the following formula:
[0019]
[0020] …
[0021]
[0022] Further optionally, determining the corresponding initial public parameters according to the current security parameters includes:
[0023] Determine the target security level according to the security level mapping relationship and the current security parameters; select the public parameters corresponding to the target security level as the initial public parameters; wherein the security level mapping relationship and the initial public parameters under each security level are respectively pre-set.
[0024] On the other hand, the present invention also provides a multi-data hidden query system, including: an initial public parameter determination module, used to determine the corresponding initial public parameters according to the current security parameters; a data preprocessing module, used for the data service party to group the original data set using a preset grouping rule to obtain multiple grouping sequences and a data index sequence corresponding to each grouping sequence; use the first confusion factor and the initial public parameter to simultaneously perform obfuscation processing on the data indexes in the grouping sequence to obtain a first ciphertext sequence corresponding to the data index sequence of each grouping sequence; a target data index sequence determination module, used for the data service party to receive the query grouping label corresponding to the data to be queried sent by the data user, locate the target grouping sequence, the target first ciphertext sequence and the target data index sequence according to the query grouping label; send the target data index sequence to the data user; The obfuscation encryption module is used for the data user to locate the second index subsequence of the to-be-queried data in the group sequence to which it belongs according to the first index subsequence of the to-be-queried data and the target data index sequence; the second index subsequence is obfuscated using a second obfuscation factor and an initial public parameter to obtain a joint blind obfuscation value; the joint blind obfuscation value is sent to the data service provider; the deblinding encryption module is used for the data service provider to first deblind the joint blind obfuscation value according to the initial public parameter, and then encrypt the target group sequence to obtain the second index subsequence and the second ciphertext sequence corresponding to the target group sequence; the target first ciphertext sequence and the second ciphertext sequence are sent to the data user; the decryption module is used for the data user to decrypt the target first ciphertext sequence and the second ciphertext sequence according to the second obfuscation factor and the initial public parameter to obtain the query result.
[0025] Further optionally, the using the first obfuscation factor and the initial public parameter to simultaneously perform obfuscation processing on the data indexes in the grouping sequence to obtain the first ciphertext sequence corresponding to the data index sequence of each grouping sequence includes: for each data index in any grouping sequence The corresponding ciphertext value in the first ciphertext sequence is calculated by the following formula
[0026]
[0027] Among them, i = {1,2,…,t}, represents the group sequence number of the group sequence; j = {{1,2,…,n1}; {1,2,…,n2}; …; {1,2,…,nt}}, represents the data index sequence number in the group sequence; a and b are both safe large integers in the initial public parameters; g is the generator of the finite field GF in the initial public parameters; r1 is the first confusion factor.
[0028] Further optionally, the second index subsequence is obfuscated using a second obfuscation factor and an initial common parameter to obtain a joint blinded obfuscation value, which is calculated by the following formula:
[0029]
[0030] Where cV is the combined blind confusion value; y i is the i-th element value in the second index subsequence, i∈[n], n is the number of data to be queried;
[0031] The method of first performing a deblinding process on the joint blinded confusion value according to the initial public parameter, and then encrypting the target packet sequence to obtain a second index subsequence and a second ciphertext sequence corresponding to the target packet sequence, includes:
[0032]
[0033] Wherein, w represents the group sequence number of the group sequence to which the data to be queried belongs; j={1,2,…,nw} represents the data index sequence number in the group sequence to which the data to be queried belongs.
[0034] Further optionally, decrypting the target first ciphertext sequence and the second ciphertext sequence according to the second confusion factor and the initial public parameter to obtain a query result includes:
[0035] When the number of data to be queried is n=2, the query result is calculated by the following formula:
[0036]
[0037] When the number of data to be queried is n ≥ 3, the query result is calculated by the following formula:
[0038]
[0039] …
[0040]
[0041] Further optionally, the initial public parameter determination module includes: a security level determination submodule, used to determine the target security level based on the security level mapping relationship and the current security parameters; an initial public parameter determination submodule, used to select the public parameters corresponding to the target security level as the initial public parameters; wherein the security level mapping relationship and the initial public parameters under each security level are pre-set respectively.
[0042] The above technical solution has the following beneficial effects: by grouping the original data set, different grouping sequences can be calculated in parallel to improve data processing efficiency; by establishing a data index sequence and obfuscating and hiding the data index sequence before transmission, the security of the data transmission process is improved and the performance of the system is optimized. The overall transmission process not only protects the privacy of the data, but also gives full play to the value of the data, thereby improving the data query collaboration efficiency between relevant business parties. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0044] Figure 1 is a flow chart of a multi-data hidden query method provided by an embodiment of the present invention;
[0045] Figure 2 is a flow chart of a method for determining initial common parameters provided by an embodiment of the present invention;
[0046] Figure 3 It is a structural diagram of a multi-data anonymity query system provided by an embodiment of the present invention;
[0047] Figure 4 It is a schematic diagram of an initial common parameter determination module provided in an embodiment of the present invention.
[0048] Figure numerals: 100 - initial public parameter determination module; 1001 - security level determination submodule; 1002 - initial public parameter determination submodule; 200 - data preprocessing module; 300 - target data index sequence determination module; 400 - obfuscation encryption module; 500 - deblinding encryption module; 600 - decryption module. DETAILED DESCRIPTION
[0049] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0050] In order to solve the problems of low security and low query coordination efficiency of hidden query in the prior art, an embodiment of the present invention provides a multi-data hidden query method, including:
[0051] S1. Determine the corresponding initial public parameters according to the current security parameters;
[0052] The public parameters need to be initialized before data interaction. The current security parameters are determined according to the algorithm to be used later. The initial public parameters corresponding to the current security parameters can be determined through the initial relationship between the pre-set security parameters and the public parameters.
[0053] As an optional implementation, according to the current security parameter λ, the initial public parameter pp is selected: a, b, g, p = wherein the prime number p is the modulus of the finite field GF, a and b are large secure integers, and g is the generator of the finite field GF.
[0054] S2. The data service provider groups the original data set using a preset grouping rule to obtain multiple grouping sequences and a data index sequence corresponding to each grouping sequence; and simultaneously performs obfuscation processing on the data indexes in the grouping sequence using a first obfuscation factor and an initial public parameter to obtain a first ciphertext sequence corresponding to the data index sequence of each grouping sequence;
[0055] The data service provider P1 is the party that stores the original data set, and the data user P & The data user P is the party that queries the data. & When querying data from the data service provider P1, the obfuscated hidden value of the sequence number of the data to be queried in the original data set is sent to further obtain the data to be queried.
[0056] Taking the medical information retrieval transaction scenario as an example, the data service provider P1 is a medical institution and the data user P & For a medical insurance agency, the medical insurance agency needs to obtain information about certain patients, so it needs to conduct data anonymity queries to the medical institution. In this scenario, the original data set of the data service provider is data: {m1,m & ,……,m B}, here m i:Age||Gender||Department of treatment||Annual frequency of treatment||Disease severity||Duration of treatment||Treatment effect||Surgical history, etc.
[0057] To improve data processing efficiency, the original data set is grouped using preset grouping rules before data query. As an optional implementation, the preset grouping rules include: grouping data with the same time period, grouping data with the same department, grouping data with the same age group, etc.
[0058] Taking the preset grouping rule of grouping data with the same time period as an example, the data of the same year and quarter are grouped together, and "year-quarter" is used as the grouping label. & ,……,m B} to regroup and obtain multiple grouping sequences:
[0059] ID1-data1:
[0060] ID & -data & :
[0061] …;
[0062] ID G -data G :
[0063] Among them, ID G is the grouping label of the tth group, and its corresponding grouping sequence includes the data of the xth quarter of the xxxx year; is the data index, according to which the corresponding data in the grouped sequence in the original data set can be determined.
[0064] At the same time, establish the data index sequence corresponding to each grouping sequence:
[0065] ID1-IndexMap1:
[0066] ID & -IndexMap & :
[0067] …;
[0068] ID G -IndexMap G :
[0069] Among them, n1+n2+…+nt=N.
[0070] The data index sequence can be used to determine the position of any data in any grouping sequence in the original data set, for example This means that the data is located first in the grouping sequence with grouping label ID1 and is located first in the original data set. Bit.
[0071] Randomly select the first confusion factor r1, and perform confusion processing on the data index simultaneously according to the first confusion factor r1 and the initial public parameter (parallel calculation) to obtain the first ciphertext sequence
[0072] S3. The data service provider receives the query grouping tag corresponding to the data to be queried sent by the data user, locates the target grouping sequence, the target first ciphertext sequence and the target data index sequence according to the query grouping tag, and sends the target data index sequence to the data user;
[0073] During the query process, the data user P & According to the data to be queried (n is the number of data to be queried) corresponding to the query group label ID ' , and group the query by tag ID ' To data service provider P1.
[0074] Data service provider P1 receives data from data user P & The query group tag ID sent ' , and group the tag IDs based on that query ' Locate the target group sequence ID V -data ' 、Target first ciphertext sequence and target data index sequence ID ' -IndexMap ' :
[0075] Data service provider P1 sets the target data index sequence ID ' -IndexMap ' : Sent to data user P & .
[0076] S4. The data user locates the second index subsequence of the data to be queried in the grouping sequence to which it belongs according to the first index subsequence of the data to be queried and the index sequence of the target data; confuses the second index subsequence using the second confusion factor and the initial common parameter to obtain a joint blinded confusion value; and sends the joint blinded confusion value to the data service provider;
[0077] Data UserP& Based on the data to be queried The first index subsequence in the original dataset: x i = iT[O] , and the target data index sequence ID ' -IndexMap ' : Accurately locate the group sequence ID of the data to be queried V -data ' The second index subsequence in: y i = iT[O] .
[0078] Data UserP & Randomly select the second confusion factor r & , and according to the second confusion factor r & and the initial public parameter to the second index subsequence Perform random obfuscation hiding (parallel calculation) to obtain the joint blinded obfuscation value cV.
[0079] Data UserP & The joint blinded confusion value cV is sent to the data service provider P1.
[0080] S5. The data service provider first performs a deblinding process on the joint blinded confusion value according to the initial public parameters, and then encrypts the target packet sequence to obtain a second index subsequence and a second ciphertext sequence corresponding to the target packet sequence; and sends the target first ciphertext sequence and the second ciphertext sequence to the data user;
[0081] Based on the initial public parameters, the data service provider P1 first deblinds the joint blinded confusion value cV, and then performs a V -data ' Encrypt to obtain the second ciphertext sequence corresponding to the second index subsequence and the target group sequence
[0082]
[0083] Data service provider P1 sends the target first ciphertext sequence And the second ciphertext sequence Sent to data user P & .
[0084] It should be noted that the target first ciphertext sequence It can also be sent together with the target data index sequence.
[0085] S6. The data user decrypts the target first ciphertext sequence and the second ciphertext sequence according to the second confusion factor and the initial public parameter to obtain a query result.
[0086] Data UserP & According to the second confusion factor r & The received target first ciphertext sequence and second ciphertext sequence are decrypted using the initial public parameters to obtain the query result.
[0087] As an optional implementation, the first obfuscation factor and the initial public parameter are used to simultaneously perform obfuscation processing on the data indexes in the grouped sequence to obtain the first ciphertext sequence corresponding to the data index sequence of each grouped sequence, including: for each data index in any grouped sequence The corresponding ciphertext value in the first ciphertext sequence is calculated by the following formula
[0088]
[0089] Among them, i = {1,2,…,t}, represents the group sequence number of the group sequence; j = {{1,2,…,n1}; {1,2,…,n2}; …; {1,2,…,nt}}, represents the data index sequence number in the group sequence; a and b are both safe large integers in the initial public parameters; g is the generator of the finite field GF in the initial public parameters; r1 is the first confusion factor.
[0090] The first confusion factor r1 is used to initialize the public parameters a, b, and g to index the data. After obfuscation, the first ciphertext sequence is obtained:
[0091]
[0092] …;
[0093]
[0094] Among them, each element in the first ciphertext sequence
[0095] As an optional implementation, the second index subsequence is obfuscated using the second obfuscation factor and the initial common parameter to obtain a joint blind obfuscation value, which is calculated by the following formula:
[0096]
[0097] Where cV is the combined blind confusion value; y i is the i-th element value in the second index subsequence, i∈[n], n is the number of data to be queried;
[0098] According to the initial public parameters, the joint blinded confusion value is first deblinded, and then the target packet sequence is encrypted to obtain a second index subsequence and a second ciphertext sequence corresponding to the target packet sequence, including:
[0099]
[0100] Wherein, w represents the group sequence number of the group sequence to which the data to be queried belongs; j={1,2,…,nw} represents the data index sequence number in the group sequence to which the data to be queried belongs.
[0101] In the process of obfuscation and hiding, the second obfuscation factor r & and initial public parameters a, b, g for the second index subsequence Perform random confusion to obtain the joint blinded confusion value cV:
[0102]
[0103] Among them, y1, y & , …, y O are all elements in the second index subsequence.
[0104] After receiving the joint blinded confusion value cV, the data service provider P1 first deblinds the joint blinded confusion value cV according to the initial public parameters a and b, and then performs a V -data ' Encryption is performed to obtain the second ciphertext sequence corresponding to the second index subsequence and the target group sequence: in
[0105] As an optional implementation, the target first ciphertext sequence and the second ciphertext sequence are decrypted according to the second confusion factor and the initial public parameter to obtain a query result, including:
[0106] When the number of data to be queried is n=2, the query result is calculated by the following formula:
[0107]
[0108] When the number of data to be queried is n ≥ 3, the query result is calculated by the following formula:
[0109]
[0110] …
[0111]
[0112] In the above, the process of decryption according to the ciphertext sequence and the initial public parameters is implemented in parallel to quickly obtain the query result.
[0113] As an optional implementation, determining corresponding initial public parameters according to current security parameters includes:
[0114] S101, determining a target security level according to a security level mapping relationship and current security parameters;
[0115] S102, selecting public parameters corresponding to the target security level as initial public parameters; wherein the security level mapping relationship and the initial public parameters under each security level are respectively pre-set.
[0116] A security level mapping relationship is preset, which includes mappings between different security parameters and corresponding security levels, and initial public parameters corresponding to different security levels are recognized by the public, and each value in the initial public parameters is a constant.
[0117] In specific use, the current security parameters corresponding to the current algorithm are mapped to the corresponding target security level, and the public parameters corresponding to the target security level are selected as the initial public parameters. The initial public parameters exist at both the data service provider P1 and the data user P & .
[0118] The embodiment of the present invention also provides a multi-data anonymity query system, including:
[0119] An initial public parameter determination module 100, configured to determine corresponding initial public parameters according to current security parameters;
[0120] The public parameters need to be initialized before data interaction. The current security parameters are determined according to the algorithm to be used later. The initial public parameters corresponding to the current security parameters can be determined through the initial relationship between the pre-set security parameters and the public parameters.
[0121] As an optional implementation, according to the current security parameter λ, the initial public parameter pp is selected: a, b, g, p = wherein the prime number p is the modulus of the finite field GF, a and b are large secure integers, and g is the generator of the finite field GF.
[0122] The data preprocessing module 200 is used for the data service provider to group the original data set using a preset grouping rule to obtain multiple grouping sequences and a data index sequence corresponding to each grouping sequence; and to simultaneously perform obfuscation processing on the data indexes in the grouping sequence using a first obfuscation factor and an initial public parameter to obtain a first ciphertext sequence corresponding to the data index sequence of each grouping sequence;
[0123] The data service provider P1 is the party that stores the original data set, and the data user P& The data user P is the party that queries the data. & When querying data from the data service provider P1, the obfuscated hidden value of the sequence number of the data to be queried in the original data set is sent to further obtain the data to be queried.
[0124] Taking the medical information retrieval transaction scenario as an example, the data service provider P1 is a medical institution and the data user P & For a medical insurance agency, the medical insurance agency needs to obtain information about certain patients, so it needs to conduct data anonymity queries to the medical institution. In this scenario, the original data set of the data service provider is data: {m1,m & ,……,m B}, here m i :Age||Gender||Department of treatment||Annual frequency of treatment||Disease severity||Duration of treatment||Treatment effect||Surgical history, etc.
[0125] To improve data processing efficiency, the original data set is grouped using preset grouping rules before data query. As an optional implementation, the preset grouping rules include: grouping data with the same time period, grouping data with the same department, grouping data with the same age group, etc.
[0126] Taking the preset grouping rule of grouping data with the same time period as an example, the data of the same year and quarter are grouped together, and "year-quarter" is used as the grouping label. & ,……,m B} to regroup and obtain multiple grouping sequences:
[0127] ID1-data1:
[0128] ID & -data & :
[0129] …;
[0130] ID G -data G :
[0131] Among them, ID G is the grouping label of the tth group, and its corresponding grouping sequence includes the data of the xth quarter of the xxxx year; is the data index, according to which the corresponding data in the grouped sequence in the original data set can be determined.
[0132] At the same time, establish the data index sequence corresponding to each grouping sequence:
[0133] ID1-IndexMap1:
[0134] ID & -IndexMap & :
[0135] …;
[0136] ID G -IndexMap G :
[0137] Among them, n1+n2+…+nt=N.
[0138] The data index sequence can be used to determine the position of any data in any grouping sequence in the original data set, for example This means that the data is located first in the grouping sequence with grouping label ID1 and is located first in the original data set. Bit.
[0139] Randomly select the first confusion factor r1, and perform confusion processing on the data index simultaneously according to the first confusion factor r1 and the initial public parameter (parallel calculation) to obtain the first ciphertext sequence
[0140] The target data index sequence determination module 300 is used for the data service party to receive the query grouping label corresponding to the data to be queried sent by the data user, locate the target grouping sequence, the target first ciphertext sequence and the target data index sequence according to the query grouping label; and send the target data index sequence to the data user;
[0141] During the query process, the data user P & According to the data to be queried (n is the number of data to be queried) corresponding to the query group label ID ' , and query group label ID ' To data service provider P1.
[0142] Data service provider P1 receives data from data user P & The query group tag ID sent ' , and group the tag IDs based on that query ' Locate the target group sequence ID V -data ' 、Target first ciphertext sequence and target data index sequence ID ' -IndexMap ' :
[0143] Data service provider P1 sets the target data index sequence ID ' -IndexMap ' : Sent to data user P & .
[0144] The obfuscation encryption module 400 is used for the data user to locate the second index subsequence of the data to be queried in the group sequence to which it belongs according to the first index subsequence of the data to be queried and the index sequence of the target data; obfuscate the second index subsequence using the second obfuscation factor and the initial public parameter to obtain a joint blind obfuscation value; and send the joint blind obfuscation value to the data service provider;
[0145] Data UserP & Based on the data to be queried The first index subsequence in the original dataset: x i = iT[O] , and the target data index sequence ID ' -IndexMap ' : Accurately locate the group sequence ID of the data to be queried V -data ' The second index subsequence in: y i = iT[O] .
[0146] Data UserP & Randomly select the second confusion factor r & , and according to the second confusion factor r & and the initial public parameter to the second index subsequence Perform random obfuscation hiding (parallel calculation) to obtain the joint blinded obfuscation value cV.
[0147] Data UserP & The joint blinded confusion value cV is sent to the data service provider P1.
[0148] The deblinding encryption module 500 is used for the data service party to first deblind the joint blinded confusion value according to the initial public parameters, and then encrypt the target packet sequence to obtain the second index subsequence and the second ciphertext sequence corresponding to the target packet sequence; and send the target first ciphertext sequence and the second ciphertext sequence to the data user;
[0149] Based on the joint blinded confusion value and the initial public parameters, the data service provider P1 first deblinds the joint blinded confusion value cV of the second index subsequence, and then deblinds the target group sequence ID V -data 'Encrypt to obtain the second ciphertext sequence corresponding to the second index subsequence and the target group sequence
[0150] Data service provider P1 sends the target first ciphertext sequence And the second ciphertext sequence Sent to data user P & .
[0151] It should be noted that the target first ciphertext sequence It can also be sent together with the target data index sequence.
[0152] The decryption module 600 is used by the data user to decrypt the target first ciphertext sequence and the second ciphertext sequence according to the second confusion factor and the initial public parameter to obtain the query result.
[0153] Data UserP & According to the second confusion factor r & The received target first ciphertext sequence and second ciphertext sequence are decrypted using the initial public parameters to obtain the query result.
[0154] As an optional implementation, the first obfuscation factor and the initial public parameter are used to simultaneously perform obfuscation processing on the data indexes in the grouped sequence to obtain the first ciphertext sequence corresponding to the data index sequence of each grouped sequence, including: for each data index in any grouped sequence The corresponding ciphertext value in the first ciphertext sequence is calculated by the following formula
[0155]
[0156] Among them, i = {1,2,…,t}, represents the group sequence number of the group sequence; j = {{1,2,…,n1}; {1,2,…,n2}; …; {1,2,…,nt}}, represents the data index sequence number in the group sequence; a and b are both safe large integers in the initial public parameters; g is the generator of the finite field GF in the initial public parameters; r1 is the first confusion factor.
[0157] The first confusion factor r1 is used to initialize the public parameters a, b, and g to index the data. After obfuscation, the first ciphertext sequence is obtained:
[0158]
[0159] …;
[0160]
[0161] Among them, each element in the first ciphertext sequence
[0162] As an optional implementation, the second index subsequence is obfuscated using the second obfuscation factor and the initial common parameter to obtain a joint blind obfuscation value, which is calculated by the following formula:
[0163]
[0164] Where cV is the combined blind confusion value; y i is the i-th element value in the second index subsequence, i∈[n], n is the number of data to be queried;
[0165] According to the initial public parameters, the joint blinded confusion value is first deblinded, and then the target packet sequence is encrypted to obtain a second index subsequence and a second ciphertext sequence corresponding to the target packet sequence, including:
[0166]
[0167] Wherein, w represents the group sequence number of the group sequence to which the data to be queried belongs; j={1,2,…,nw} represents the data index sequence number in the group sequence to which the data to be queried belongs.
[0168] In the process of obfuscation and hiding, the second obfuscation factor r & and initial public parameters a, b, g for the second index subsequence Perform random confusion to obtain the joint blinded confusion value cV:
[0169]
[0170] Among them, y1, y & , …, y O are all elements in the second index subsequence.
[0171] After receiving the joint blinded confusion value cV, the data service provider P1 first deblinds the joint blinded confusion value cV according to the initial public parameters a and b, and then performs a V -data ' Encryption is performed to obtain the second ciphertext sequence corresponding to the second index subsequence and the target group sequence: in
[0172] As an optional implementation, the target first ciphertext sequence and the second ciphertext sequence are decrypted according to the second confusion factor and the initial public parameter to obtain a query result, including:
[0173] When the number of data to be queried is n=2, the query result is calculated by the following formula:
[0174]
[0175] When the number of data to be queried is n ≥ 3, the query result is calculated by the following formula:
[0176]
[0177]
[0178] …
[0179]
[0180] In the above, the process of decryption according to the ciphertext sequence and the initial public parameters is implemented in parallel to quickly obtain the query result.
[0181] As an optional implementation, the initial public parameter determination module includes:
[0182] The security level determination submodule 1001 is used to determine the target security level according to the security level mapping relationship and the current security parameters;
[0183] The initial public parameter determination submodule 1002 is used to select the public parameters corresponding to the target security level as the initial public parameters; wherein the security level mapping relationship and the initial public parameters under each security level are respectively pre-set.
[0184] A security level mapping relationship is preset, which includes mappings between different security parameters and corresponding security levels, and initial public parameters corresponding to different security levels are recognized by the public, and each value in the initial public parameters is a constant.
[0185] In specific use, the current security parameters corresponding to the current algorithm are mapped to the corresponding target security level, and the public parameters corresponding to the target security level are selected as the initial public parameters. The initial public parameters exist at both the data service provider P1 and the data user P & .
[0186] The above technical solution has the following beneficial effects: by grouping the original data set, different grouping sequences can be calculated in parallel to improve data processing efficiency; by establishing a data index sequence and obfuscating and hiding the data index sequence before transmission, the security of the data transmission process is improved and the performance of the system is optimized. The overall transmission process not only protects the privacy of the data, but also gives full play to the value of the data, thereby improving the data query collaboration efficiency between relevant business parties.
[0187] The specific implementation methods of the above invention further illustrate the objectives, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above content is only the specific implementation methods of the present invention and is not intended to limit the protection scope of the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the protection scope of the present invention.
Claims
1. A multi-data hidden query method, characterized in that: include: Determine the corresponding initial public parameters according to the current security parameters; The data service provider groups the original data set using a preset grouping rule to obtain multiple grouping sequences and a data index sequence corresponding to each grouping sequence; the data indexes in the grouping sequence are simultaneously obfuscated using the first obfuscation factor and the initial public parameter to obtain a first ciphertext sequence corresponding to the data index sequence of each grouping sequence; The data service provider receives the query grouping tag corresponding to the data to be queried sent by the data user, locates the target grouping sequence, the target first ciphertext sequence and the target data index sequence according to the query grouping tag; and sends the target data index sequence to the data user; The data user locates the second index subsequence of the data to be queried in the grouping sequence to which it belongs according to the first index subsequence of the data to be queried and the index sequence of the target data; confuses the second index subsequence using a second confusion factor and an initial common parameter to obtain a joint blinded confusion value; and sends the joint blinded confusion value to the data service provider; The data service provider first performs a deblinding process on the joint blinded confusion value according to the initial public parameters, and then encrypts the target packet sequence to obtain a second index subsequence and a second ciphertext sequence corresponding to the target packet sequence; and sends the target first ciphertext sequence and the second ciphertext sequence to the data user; The data user decrypts the target first ciphertext sequence and the second ciphertext sequence according to the second confusion factor and the initial public parameter to obtain a query result.
2. The method for querying multiple data anonymity according to claim 1, characterized in that: The method of using the first obfuscation factor and the initial public parameter to simultaneously perform obfuscation processing on the data indexes in the grouping sequence to obtain the first ciphertext sequence corresponding to the data index sequence of each grouping sequence includes: for each data index in any grouping sequence The corresponding ciphertext value in the first ciphertext sequence is calculated by the following formula Among them, i = {1,2,…,t}, represents the group sequence number of the group sequence; j = {{1,2,…,n1}; {1,2,…,n2}; …; {1,2,…,nt}}, represents the data index sequence number in the group sequence; a and b are both safe large integers in the initial public parameters; g is the generator of the finite field GF in the initial public parameters; r1 is the first confusion factor.
3. The multi-data hidden query method according to claim 2 is characterized in that: The second index subsequence is obfuscated by using the second obfuscation factor and the initial common parameter to obtain a joint blinded obfuscation value, which is calculated by the following formula: Where cV is the combined blind confusion value; y i is the i-th element value in the second index subsequence, i∈[n], n is the number of data to be queried; The method of first performing a deblinding process on the joint blinded confusion value according to the initial public parameter, and then encrypting the target packet sequence to obtain a second index subsequence and a second ciphertext sequence corresponding to the target packet sequence, includes: Wherein, w represents the group sequence number of the group sequence to which the data to be queried belongs; j={1,2,…,nw} represents the data index sequence number in the group sequence to which the data to be queried belongs.
4. The multi-data hidden query method according to claim 3 is characterized in that: The step of decrypting the target first ciphertext sequence and the second ciphertext sequence according to the second confusion factor and the initial public parameter to obtain a query result includes: When the number of data to be queried is n=2, the query result is calculated by the following formula: When the number of data to be queried is n ≥ 3, the query result is calculated by the following formula:
5. The multi-data hidden query method according to claim 1 is characterized in that: The determining of the corresponding initial public parameters according to the current security parameters includes: Determine the target security level according to the security level mapping relationship and current security parameters; The public parameters corresponding to the target security level are selected as initial public parameters; wherein the security level mapping relationship and the initial public parameters under each security level are respectively pre-set.
6. A multi-data hidden query system, characterized in that: include: An initial public parameter determination module, used to determine the corresponding initial public parameters according to the current security parameters; A data preprocessing module is used for the data service provider to group the original data set using a preset grouping rule to obtain multiple grouping sequences and a data index sequence corresponding to each grouping sequence; and to simultaneously perform obfuscation processing on the data indexes in the grouping sequence using the first obfuscation factor and the initial public parameter to obtain a first ciphertext sequence corresponding to the data index sequence of each grouping sequence; The target data index sequence determination module is used for the data service party to receive the query grouping label corresponding to the data to be queried sent by the data user, locate the target grouping sequence, the target first ciphertext sequence and the target data index sequence according to the query grouping label; and send the target data index sequence to the data user; The obfuscation encryption module is used for the data user to locate the second index subsequence of the data to be queried in the group sequence to which it belongs according to the first index subsequence of the data to be queried and the index sequence of the target data; obfuscate the second index subsequence using the second obfuscation factor and the initial public parameter to obtain a joint blind obfuscation value; and send the joint blind obfuscation value to the data service provider; The deblinding encryption module is used for the data service party to first deblind the joint blinded confusion value according to the initial public parameters, and then encrypt the target group sequence to obtain the second index subsequence and the second ciphertext sequence corresponding to the target group sequence; and send the target first ciphertext sequence and the second ciphertext sequence to the data user; The decryption module is used for the data user to decrypt the target first ciphertext sequence and the second ciphertext sequence according to the second confusion factor and the initial public parameter to obtain the query result.
7. The multi-data hidden query system according to claim 6, characterized in that: The method of using the first obfuscation factor and the initial public parameter to simultaneously perform obfuscation processing on the data indexes in the grouping sequence to obtain the first ciphertext sequence corresponding to the data index sequence of each grouping sequence includes: for each data index in any grouping sequence The corresponding ciphertext value in the first ciphertext sequence is calculated by the following formula Among them, i = {1,2,…,t}, represents the group sequence number of the group sequence; j = {{1,2,…,n1}; {1,2,…,n2}; …; {1,2,…,nt}}, represents the data index sequence number in the group sequence; a and b are both safe large integers in the initial public parameters; g is the generator of the finite field GF in the initial public parameters; r1 is the first confusion factor.
8. The multi-data hidden query system according to claim 7, characterized in that: The second index subsequence is obfuscated by using the second obfuscation factor and the initial common parameter to obtain a joint blinded obfuscation value, which is calculated by the following formula: Where cV is the combined blind confusion value; y i is the i-th element value in the second index subsequence, i∈[n], n is the number of data to be queried; The method of first performing a deblinding process on the joint blinded confusion value according to the initial public parameter, and then encrypting the target packet sequence to obtain a second index subsequence and a second ciphertext sequence corresponding to the target packet sequence, includes: Wherein, w represents the group sequence number of the group sequence to which the data to be queried belongs; j={1,2,…,nw} represents the data index sequence number in the group sequence to which the data to be queried belongs.
9. The multi-data hidden query system according to claim 8, characterized in that: The step of decrypting the target first ciphertext sequence and the second ciphertext sequence according to the second confusion factor and the initial public parameter to obtain a query result includes: When the number of data to be queried is n=2, the query result is calculated by the following formula: When the number of data to be queried is n ≥ 3, the query result is calculated by the following formula:
10. The multi-data hidden query system according to claim 6, characterized in that: The initial public parameter determination module comprises: A security level determination submodule is used to determine the target security level according to the security level mapping relationship and the current security parameters; The initial public parameter determination submodule is used to select the public parameters corresponding to the target security level as the initial public parameters; wherein the security level mapping relationship and the initial public parameters under each security level are respectively pre-set.
Citation Information
Patent Citations
Data query method and device, equipment and storage medium
CN115934707A
Efficient privacy protection joint calculation method, system and device for data confusion
CN116702192A
Data storage server and client devices for securely storing and retrieving data
WO2024130721A1
Method and system for protecting privacy in federated learning prediction stage
WO2024138854A1
Cited By
Multi-data hidden query method and system
CN120596532A
