CN116579021B - Multiparty joint data retrieval method based on secret sharing - Google Patents

Multiparty joint data retrieval method based on secret sharing Download PDF

Info

Publication number
CN116579021B
CN116579021B CN202310851675.6A CN202310851675A CN116579021B CN 116579021 B CN116579021 B CN 116579021B CN 202310851675 A CN202310851675 A CN 202310851675A CN 116579021 B CN116579021 B CN 116579021B
Authority
CN
China
Prior art keywords
data
party
value
searching
subinterval
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310851675.6A
Other languages
Chinese (zh)
Other versions
CN116579021A (en
Inventor
冯黎明
刘文博
邢冰
陈昕
刘洋
马煜翔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lanxiang Zhilian Hangzhou Technology Co ltd
Original Assignee
Lanxiang Zhilian Hangzhou Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lanxiang Zhilian Hangzhou Technology Co ltd filed Critical Lanxiang Zhilian Hangzhou Technology Co ltd
Priority to CN202310851675.6A priority Critical patent/CN116579021B/en
Publication of CN116579021A publication Critical patent/CN116579021A/en
Application granted granted Critical
Publication of CN116579021B publication Critical patent/CN116579021B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention discloses a multiparty joint data retrieval method based on secret sharing. The method comprises the following steps: s1: calculating the total number m of all data by adopting a secret sharing algorithm, and determining a position index value p by a searching party; s2: negotiating to determine a retrieval interval; s3: uniformly dividing the search interval into n subintervals, and counting the number of data in each subinterval; s4: judging whether the data corresponding to the position index value p is the largest data or the smallest data in a certain subinterval by adopting a secret sharing algorithm, if so, executing the step S5, if not, finding out the subinterval in which the data corresponding to the position index value p is located, taking the subinterval as a new retrieval interval, and jumping to the step S3; s5: and finding out the maximum data or the minimum data in the subinterval by adopting a secret sharing algorithm as the data corresponding to the position index value p. The invention can carry out joint search on the premise of protecting the data privacy of each party, and avoid data leakage.

Description

Multiparty joint data retrieval method based on secret sharing
Technical Field
The invention relates to the technical field of data retrieval, in particular to a multiparty joint data retrieval method based on secret sharing.
Background
At present, with the rapid development of internet information technology, especially the development of new technologies such as 5G, cloud, big data and the like, the security and confidentiality of various information systems are more and more important. In the prior art, a searching party needs to search data at a specific position in all data held by multiple parties in a business scene, and the existing method is to assist in searching by a third party, so that each party cannot leak own data to the searching party, but the actual business is difficult to find a trusted third party, and the risk of data leakage exists. Therefore, a method for performing joint data retrieval on the premise of protecting the data privacy of each party is urgently needed.
Disclosure of Invention
The invention aims to solve the technical problems, and provides a multiparty joint data retrieval method based on secret sharing, which can perform joint retrieval on the premise of protecting the data privacy of each party without the participation of a third party and avoid data leakage.
In order to solve the problems, the invention is realized by adopting the following technical scheme:
the invention discloses a multiparty joint data retrieval method based on secret sharing, which comprises a retrieval party and more than two data parties, and comprises the following steps:
s1: the searching party and the data party respectively count the number of the data held by the searching party and the data party, the total number m of all the data is calculated by adopting a secret sharing algorithm, and the searching party determines the position index value p of the data to be searched in all the data, wherein p is more than or equal to 1 and less than or equal to m;
s2: the searching party and the data party negotiate to determine a searching interval;
s3: the searching party and the data party uniformly divide the searching interval into n subintervals, and the searching party and the data party count the number of the data held by themselves in each subinterval;
s4: the searching party and the data party adopt a secret sharing algorithm to judge whether the data corresponding to the position index value p is the largest data or the smallest data in a certain subinterval, if so, the step S5 is executed, if not, the subinterval in which the data corresponding to the position index value p is located is found, the subinterval is used as a new searching interval, and the step S3 is skipped;
s5: and the searching party adopts a secret sharing algorithm to find out the maximum data or the minimum data in the subinterval as the data corresponding to the position index value p under the cooperation of the data party.
In the scheme, a searching party and a data party divide a searching interval into n subintervals equally, a secret sharing algorithm is adopted to judge whether data corresponding to a position index value p is the largest data or the smallest data in a certain subinterval, if the data is the largest data in the certain subinterval, each party compares the largest data respectively falling into the subinterval to find out the largest data in the subinterval, and the data corresponding to the position index value p is the largest data; if the data is the minimum data in a certain subinterval, each party compares the minimum data respectively falling into the subinterval to find out the minimum data in the subinterval, and the data corresponding to the position index value p is the minimum data; if not, finding out the subinterval where the data corresponding to the position index value p is located, and then dividing the subinterval into n subintervals again as a new search interval for searching; and circulating until the data corresponding to the position index value p is found.
In the whole retrieval process, the retrieval party can not acquire other data held by the data party except the data corresponding to the position index value p, and the data party can not acquire the data held by the retrieval party, so that the data privacy of each party is protected, and no participation of a third party is needed.
Preferably, the step S2 includes the steps of: and the searching party and the data party respectively count the maximum value and the minimum value of the data held by the searching party and the data party, compare all the maximum values by adopting a comparison protocol of a secret sharing algorithm, and compare all the minimum values to obtain the maximum value Vmax and the minimum value Vmin of all the data, wherein the searching interval is [ Vmin, vmax ].
Preferably, the step S1 further includes the steps of:
the searching party sets a variable y, wherein the initial value of the variable y=a position index value p;
the step S4 includes the steps of:
s41: the n subintervals are numbered as 1 and 2 … … n in sequence, a variable i is set, i is not less than 1 and not more than n, and the initial value of the variable i is 1;
s42: the searching party and the data party adopt a secret sharing algorithm to calculate a comparison value D corresponding to the subinterval with the number of i, and the searching party obtains a plaintext value of the comparison value D;
s43: if d=0, the data corresponding to the position index value p is the maximum value in the subinterval with the number i, and step S5 is executed;
if D < 0, the data corresponding to the position index value p is in the subinterval with the number i, the subinterval with the number i is used as a new search interval, if i=1, the step is skipped to step S3, and if i > 1, the step S44 is executed;
if D > 0, indicating that the data corresponding to the position index value p is not in the subinterval with the number i, assigning i=i+1 to i, and jumping to step S42;
s44: the searching party and the data party adopt an addition protocol of secret sharing to calculate the total number x of the data falling in the subintervals with the numbers of 1 to i-1, and the searching party and the data party respectively hold secret fragments corresponding to the total number x of the data;
the searching party and the data party adopt a secret sharing subtraction protocol to calculate y-x, a difference value v is obtained, v=y-x, the searching party and the data party respectively hold secret fragments corresponding to the difference value v, the difference value v is used as a variable y value, and then the step S3 is skipped.
Preferably, the step S42 includes the steps of:
s421: the searching party and the data party adopt an addition protocol of secret sharing to calculate the total number a of data falling in subintervals with the numbers of 1 to i, and the searching party and the data party respectively hold secret fragments corresponding to the total number a of data;
s422: the searching party and the data party adopt a secret sharing subtraction protocol to calculate y-a, a difference value b is obtained, b=y-a, and the searching party and the data party respectively hold secret fragments corresponding to the difference value b;
s423: the searching party and the data party randomly generate a random number larger than 1, the searching party and the data party adopt a secret sharing multiplication protocol to calculate the product c of all the random numbers, and the searching party and the data party respectively hold secret fragments corresponding to the product c;
s424: the searching party and the data party adopt a secret sharing multiplication protocol to calculate the product D of the difference b and the product c, the searching party obtains the plaintext value of the product D, and the plaintext value of the product D is used as the comparison value D.
The searching party and the data party randomly generate a random number respectively, and a multiplication protocol of secret sharing is adopted to calculate the product c of all the random numbers, so that all parties cannot know the plaintext value of the product c, and the difference value b and the product d of the product c are calculated by adopting the multiplication protocol of secret sharing to hide the plaintext value of the difference value b, so that the searching party can not calculate the number of data in the subinterval and the data privacy of the data party is protected.
Preferably, in the step S43, if D > 0, the data corresponding to the position index value p is not within the subinterval of the number i, and the following steps are performed:
the searching party and the data party adopt a secret sharing algorithm to calculate a comparison value E corresponding to a subinterval with the number i, the searching party obtains a plaintext value of the comparison value E, judges whether the comparison value E is 0, if so, the data corresponding to the position index value p is the minimum value in the subinterval with the number i+1, step S5 is executed, if not, i=i+1 is assigned to the i, and the step S42 is skipped.
Preferably, the method for calculating the comparison value E corresponding to the subinterval with the number i by the searching party and the data party by adopting a secret sharing algorithm is as follows:
n1: the searching party and the data party adopt an addition protocol of secret sharing to calculate the total number a of data falling in subintervals with the numbers of 1 to i, and the searching party and the data party respectively hold secret fragments corresponding to the total number a of data;
n2: the searching party and the data party adopt a secret sharing subtraction protocol to calculate y-1-a, so as to obtain a difference e, wherein e=y-1-a, and the searching party and the data party respectively hold secret fragments corresponding to the difference e;
and N3: the searching party and the data party randomly generate a random number larger than 1, the searching party and the data party adopt a secret sharing multiplication protocol to calculate the product f of all the random numbers, and the searching party and the data party respectively hold secret fragments corresponding to the product f;
n4: the searching party and the data party adopt a secret sharing multiplication protocol to calculate the product g of the difference E and the product f, the searching party obtains the plaintext value of the product g, and the plaintext value of the product g is used as the comparison value E.
Preferably, the step S5 includes the steps of:
if the data corresponding to the position index value p is the maximum data in a certain subinterval, the searching party and the data party respectively count the maximum value of the data in the subinterval, and compare all the maximum values by adopting a comparison protocol of a secret sharing algorithm to find out the maximum data in the subinterval, wherein the searching party obtains the plaintext value of the maximum data, and the plaintext value of the maximum data is the data corresponding to the position index value p;
if the data corresponding to the position index value p is the minimum data in a certain subinterval, the searching party and the data party respectively count the minimum value of the data in the subinterval, all the minimum values are compared by adopting a comparison protocol of a secret sharing algorithm, the minimum data in the subinterval is found out, the searching party obtains the plaintext value of the minimum data, and the plaintext value of the minimum data is the data corresponding to the position index value p.
Preferably, when the searching party and the data party respectively count the maximum value of the self-held data falling in the subinterval in the step S5, if the data held by the searching party does not fall in the subinterval, the searching party selects a value smaller than or equal to the left boundary value of the subinterval as the maximum value of the self-held data falling in the subinterval, and if the data held by the data party does not fall in the subinterval, the data party selects a value smaller than or equal to the left boundary value of the subinterval as the maximum value of the self-held data falling in the subinterval.
The searching party and the data party may have the situation that the data held by themselves does not fall in a certain subinterval, and when the situation occurs, a numerical value smaller than or equal to the left boundary value of the subinterval can be selected as the maximum value of the data held by themselves falling in the subinterval, so that data leakage is avoided.
Preferably, when the searching party and the data party respectively count the minimum value of the self-held data falling in the subinterval in the step S5, if the data held by the searching party does not fall in the subinterval, the searching party selects a value greater than or equal to the right boundary value of the subinterval as the minimum value of the self-held data falling in the subinterval, and if the data held by the data party does not fall in the subinterval, the data party selects a value greater than or equal to the right boundary value of the subinterval as the minimum value of the self-held data falling in the subinterval.
The searching party and the data party may have the situation that the data held by the searching party and the data party do not fall in a certain subinterval, and when the situation occurs, a numerical value which is greater than or equal to the right boundary value of the subinterval can be selected as the minimum value of the data held by the searching party and the data party, so that the data leakage is avoided.
Preferably, the step S2 includes the steps of: the searching party and the data party initialize the searching interval by using the numerical boundary which can be borne by the computer. This may not expose the maximum Vmax and minimum Vmin of all data.
The beneficial effects of the invention are as follows: the method can perform joint search on the premise of protecting the data privacy of all parties, does not need to participate in a third party, and avoids data leakage.
Drawings
FIG. 1 is a flow chart of example 1;
FIG. 2 is a schematic diagram illustrating the distribution of data of a search party and a data party in each sub-section of an initial search section in the description of embodiment 2;
fig. 3 is a schematic diagram illustrating distribution of data of a search party and a data party in each sub-section of a new search section in the description of embodiment 2.
Detailed Description
The technical scheme of the invention is further specifically described below through examples and with reference to the accompanying drawings.
Example 1: the multiparty joint data retrieval method based on secret sharing in this embodiment includes a retrieval party and more than two data parties, as shown in fig. 1, and includes the following steps:
s1: the method comprises the steps that a searching party and a data party respectively count the number of data held by the searching party and the data party, an addition protocol of a secret sharing algorithm is adopted to calculate the total number m of all the data, the searching party obtains the clear text value of the total number m, the searching party determines the position index value p of the data to be searched in all the data, p is not less than 1 and not more than m, the searching party sets a variable y, and the initial value=position index value p of the variable y;
s2: the searching party and the data party negotiate to determine a searching interval;
s3: the searching party and the data party uniformly divide the searching interval into n subintervals, and the searching party and the data party count the number of the data held by themselves in each subinterval;
s4: the searching party and the data party adopt a secret sharing algorithm to judge whether the data corresponding to the position index value p is the largest data or the smallest data in a certain subinterval, if so, the step S5 is executed, if not, the subinterval in which the data corresponding to the position index value p is located is found, the subinterval is used as a new searching interval, and the step S3 is skipped;
s5: if the data corresponding to the position index value p is the maximum data in a certain subinterval, the searching party and the data party respectively count the maximum value of the data in the subinterval, and compare all the maximum values by adopting a comparison protocol of a secret sharing algorithm to find out the maximum data in the subinterval, wherein the searching party obtains the plaintext value of the maximum data, and the plaintext value of the maximum data is the data corresponding to the position index value p;
if the data corresponding to the position index value p is the minimum data in a certain subinterval, the searching party and the data party respectively count the minimum value of the data in the subinterval, all the minimum values are compared by adopting a comparison protocol of a secret sharing algorithm, the minimum data in the subinterval is found out, the searching party obtains the plaintext value of the minimum data, and the plaintext value of the minimum data is the data corresponding to the position index value p.
Step S4 comprises the steps of:
s41: the n subintervals are numbered as 1 and 2 … … n in sequence, a variable i is set, i is not less than 1 and not more than n, and the initial value of the variable i is 1;
s42: the searching party and the data party adopt a secret sharing algorithm to calculate a comparison value D corresponding to the subinterval with the number of i, and the searching party obtains a plaintext value of the comparison value D;
s43: if d=0, the data corresponding to the position index value p is the maximum value in the subinterval with the number i, and step S5 is executed;
if D < 0, the data corresponding to the position index value p is in the subinterval with the number i, the subinterval with the number i is used as a new search interval, if i=1, the step is skipped to step S3, and if i > 1, the step S44 is executed;
if D > 0, indicating that the data corresponding to the position index value p is not in the subinterval with the number i, assigning i=i+1 to i, and jumping to step S42;
s44: the searching party and the data party adopt an addition protocol of secret sharing to calculate the total number x of the data falling in the subintervals with the numbers of 1 to i-1, and the searching party and the data party respectively hold secret fragments corresponding to the total number x of the data;
the searching party and the data party adopt a secret sharing subtraction protocol to calculate y-x, a difference value v is obtained, v=y-x, the searching party and the data party respectively hold secret fragments corresponding to the difference value v, the difference value v is used as a variable y value, and then the step S3 is skipped.
Step S42 includes the steps of:
s421: the searching party and the data party adopt an addition protocol of secret sharing to calculate the total number a of data falling in subintervals with the numbers of 1 to i, and the searching party and the data party respectively hold secret fragments corresponding to the total number a of data;
s422: the searching party and the data party adopt a secret sharing subtraction protocol to calculate y-a, a difference value b is obtained, b=y-a, and the searching party and the data party respectively hold secret fragments corresponding to the difference value b;
s423: the searching party and the data party randomly generate a random number larger than 1, the searching party and the data party adopt a secret sharing multiplication protocol to calculate the product c of all the random numbers, and the searching party and the data party respectively hold secret fragments corresponding to the product c;
s424: the searching party and the data party adopt a secret sharing multiplication protocol to calculate the product D of the difference b and the product c, the searching party obtains the plaintext value of the product D, and the plaintext value of the product D is used as the comparison value D.
In the scheme, a searching party and a data party divide a searching interval into n subintervals equally, a secret sharing algorithm is adopted to judge whether data corresponding to a position index value p is the largest data or the smallest data in a certain subinterval, if the data is the largest data in the certain subinterval, each party compares the largest data respectively falling into the subinterval to find out the largest data in the subinterval, and the data corresponding to the position index value p is the largest data; if the data is the minimum data in a certain subinterval, each party compares the minimum data respectively falling into the subinterval to find out the minimum data in the subinterval, and the data corresponding to the position index value p is the minimum data; if not, finding out the subinterval where the data corresponding to the position index value p is located, and then dividing the subinterval into n subintervals again as a new search interval for searching; and circulating until the data corresponding to the position index value p is found.
The method for finding which subinterval the data corresponding to the index value p is located in is as follows: the n subintervals are numbered 1 and 2 … … n in sequence from small to large, the subinterval numbered 1 is judged, if D=0, the position index value p is consistent with the number of data in the subinterval numbered 1, and the data corresponding to the position index value p is the maximum value in the subinterval numbered 1; if D > 0, the number of data in the subinterval with the position index value p being greater than the number 1 is indicated, the data corresponding to the position index value p is not in the subinterval with the number 1, i=i+1 is assigned to i, i.e. i=2, and the subinterval with the number 2 is judged; if D is smaller than 0, the number of data in the subinterval with the position index value p smaller than the number 1 is indicated, the data corresponding to the position index value p is in the subinterval with the number 1, and the subinterval with the number 1 is taken as a new search interval to be re-equally divided into n subintervals for search; and circulating until the data corresponding to the position index value p is found.
When the comparison value D is calculated, the searching party and the data party respectively randomly generate a random number, and a secret shared multiplication protocol is adopted to calculate the product c of all the random numbers, so that all parties cannot know the plaintext value of the product c, the difference value b and the product D of the product c are calculated by adopting the secret shared multiplication protocol, the plaintext value of the difference value b is hidden, the searching party obtains the plaintext value of the product D, the searching party cannot calculate the number of data falling in the subinterval, and the data privacy of the data party is protected. By adopting the retrieval mode, the retrieval efficiency is greatly improved on the basis of protecting the data privacy.
In the whole retrieval process, the retrieval party can not acquire other data held by the data party except the data corresponding to the position index value p, and the data party can not acquire the data held by the retrieval party, so that the data privacy of each party is protected, and no participation of a third party is needed.
The method for negotiating and determining the search interval by the search party and the data party in the step S2 can adopt any one of the following three methods:
(1) The searching party and the data party respectively count the maximum value and the minimum value of the data held by the searching party and the data party, compare all the maximum values by adopting a comparison protocol of a secret sharing algorithm, and compare all the minimum values to obtain the maximum value Vmax and the minimum value Vmin of all the data, wherein the searching interval is [ Vmin, vmax ].
(2) The searching party and the data party respectively count the maximum value and the minimum value of the data held by the searching party and the data party respectively select a value which is larger than the maximum value of the data held by the searching party and the data party as a virtual maximum value, respectively select a value which is smaller than the minimum value of the data held by the searching party and the data party as a virtual minimum value, compare all the virtual maximum values by adopting a comparison protocol of a secret sharing algorithm, compare all the virtual minimum values to obtain the maximum value Fmax of all the virtual maximum values and the minimum value Fmin of all the virtual minimum values, and the searching interval is [ Fmin, fmax ]. This may not expose the maximum Vmax and minimum Vmin of all data.
(3) The searching side and the data side initialize the searching interval [ Dmin, dmax ] by using the numerical value boundary carried by the computer. This may not expose the maximum Vmax and minimum Vmin of all data.
In step S5, when the searching party and the data party count the maximum value of the data held by themselves in the subinterval, if the data held by the searching party does not fall in the subinterval, the searching party selects a value smaller than or equal to the left boundary value of the subinterval as the maximum value of the data held by themselves in the subinterval, and if the data held by the data party does not fall in the subinterval, the data party selects a value smaller than or equal to the left boundary value of the subinterval as the maximum value of the data held by themselves in the subinterval.
In step S5, when the searching party and the data party count the minimum value of the data held by themselves in the subinterval, if the data held by the searching party does not fall in the subinterval, the searching party selects a value greater than or equal to the right boundary value of the subinterval as the minimum value of the data held by themselves in the subinterval, and if the data held by the data party does not fall in the subinterval, the data party selects a value greater than or equal to the right boundary value of the subinterval as the minimum value of the data held by themselves in the subinterval.
The searching party and the data party may have the situation that the data held by the searching party and the data party do not fall in a certain subinterval, when the situation occurs, a numerical value smaller than or equal to the left boundary value of the subinterval can be selected as the maximum value of the data held by the searching party and the data party, and a numerical value larger than or equal to the right boundary value of the subinterval can be selected as the minimum value of the data held by the searching party and the data party, so that data leakage is avoided.
The method can be applied to the following business scenes: a mobile phone manufacturer needs to locally popularize and sell own mobile phones, in order to reasonably price own commodities when the mobile phones are pushed down, the consumption capacities of the company and the nearby companies are rated, but due to the requirement of privacy protection, the specific income and consumption limit of each employee cannot be exposed, so that the value corresponding to the higher-order value of the income and the consumption limit can be searched and used as the pricing reference index of the high-end machine, the value corresponding to the middle-order value of the statistics income and the consumption limit is used as the pricing reference index of the medium-end machine, and the value corresponding to the lower-order value of the statistics income and the consumption limit is used as the pricing reference index of the low-end machine.
Example 2: the method of this example is substantially the same as example 1, except that:
step S4 comprises the steps of:
s41: the n subintervals are numbered as 1 and 2 … … n in sequence, a variable i is set, i is not less than 1 and not more than n, and the initial value of the variable i is 1;
s42: the searching party and the data party adopt a secret sharing algorithm to calculate a comparison value D corresponding to the subinterval with the number of i, and the searching party obtains a plaintext value of the comparison value D;
s43: if d=0, the data corresponding to the position index value p is the maximum value in the subinterval with the number i, and step S5 is executed;
if D < 0, the data corresponding to the position index value p is in the subinterval with the number i, the subinterval with the number i is used as a new search interval, if i=1, the step is skipped to step S3, and if i > 1, the step S44 is executed;
if D > 0, the data corresponding to the position index value p is not in the subinterval with the number i, the searching party and the data party calculate a comparison value E corresponding to the subinterval with the number i by adopting a secret sharing algorithm, the searching party obtains a plaintext value of the comparison value E, judges whether the comparison value E is 0, if so, the data corresponding to the position index value p is the minimum value in the subinterval with the number i+1, step S5 is executed, if not, i=i+1 is assigned to i, and step S42 is skipped;
s44: the searching party and the data party adopt an addition protocol of secret sharing to calculate the total number x of the data falling in the subintervals with the numbers of 1 to i-1, and the searching party and the data party respectively hold secret fragments corresponding to the total number x of the data;
the searching party and the data party adopt a secret sharing subtraction protocol to calculate y-x, a difference value v is obtained, v=y-x, the searching party and the data party respectively hold secret fragments corresponding to the difference value v, the difference value v is used as a variable y value, and then the step S3 is skipped.
Step S42 includes the steps of:
s421: the searching party and the data party adopt an addition protocol of secret sharing to calculate the total number a of data falling in subintervals with the numbers of 1 to i, and the searching party and the data party respectively hold secret fragments corresponding to the total number a of data;
s422: the searching party and the data party adopt a secret sharing subtraction protocol to calculate y-a, a difference value b is obtained, b=y-a, and the searching party and the data party respectively hold secret fragments corresponding to the difference value b;
s423: the searching party and the data party randomly generate a random number larger than 1, the searching party and the data party adopt a secret sharing multiplication protocol to calculate the product c of all the random numbers, and the searching party and the data party respectively hold secret fragments corresponding to the product c;
s424: the searching party and the data party adopt a secret sharing multiplication protocol to calculate the product D of the difference b and the product c, the searching party obtains the plaintext value of the product D, and the plaintext value of the product D is used as the comparison value D.
In step S43, the method for the searching party and the data party to calculate the comparison value E corresponding to the subinterval with the number i by adopting the secret sharing algorithm is as follows:
n1: the searching party and the data party adopt an addition protocol of secret sharing to calculate the total number a of data falling in subintervals with the numbers of 1 to i, and the searching party and the data party respectively hold secret fragments corresponding to the total number a of data;
n2: the searching party and the data party adopt a secret sharing subtraction protocol to calculate y-1-a, so as to obtain a difference e, wherein e=y-1-a, and the searching party and the data party respectively hold secret fragments corresponding to the difference e;
and N3: the searching party and the data party randomly generate a random number larger than 1, the searching party and the data party adopt a secret sharing multiplication protocol to calculate the product f of all the random numbers, and the searching party and the data party respectively hold secret fragments corresponding to the product f;
n4: the searching party and the data party adopt a secret sharing multiplication protocol to calculate the product g of the difference E and the product f, the searching party obtains the plaintext value of the product g, and the plaintext value of the product g is used as the comparison value E.
The method of example 2 differs from example 1 only in step S4, and the rest is the same as example 1. In the scheme, the method for finding the subinterval in which the data corresponding to the index value p is located is as follows: the n subintervals are numbered 1 and 2 … … n in sequence from small to large, and judgment is started from the subinterval numbered 1;
if d=0, the number of the data in the subinterval with the number of 1 and the position index value p is identical, and the data corresponding to the position index value p is necessarily the maximum value in the subinterval with the number of 1;
if D is smaller than 0, the number of data in the subinterval with the position index value p smaller than the number 1 is indicated, the data corresponding to the position index value p is in the subinterval with the number 1, and the subinterval with the number 1 is taken as a new search interval to be re-equally divided into n subintervals for search;
if D > 0, the number of data in the subinterval of the number 1 is indicated that the position index value p is greater than, the data corresponding to the position index value p is not in the subinterval of the number 1, then the comparison value E is calculated, if e=0, the number of data in the subinterval of the number 1 is indicated that the position index value p is equal to the number of data in the subinterval of the number 1 plus 1, the data corresponding to the position index value p is indicated as the minimum value in the subinterval of the number 2, if e+.0, the data corresponding to the position index value p is indicated as the minimum value in the subinterval of the number 2, i=i+1, i.e., i=2 is assigned, and judgment is started for the subinterval of the number 2. And circulating until the data corresponding to the position index value p is found.
When the comparison value D is calculated, the searching party and the data party randomly generate a random number respectively, a secret sharing multiplication protocol is adopted to calculate the product c of all the random numbers, so that all parties cannot know the plaintext value of the product c, the plaintext value of the difference b is hidden by calculating the product D of the difference b and the product c through the secret sharing multiplication protocol, the searching party obtains the plaintext value of the product D, when the comparison value E is calculated, the searching party and the data party randomly generate a random number respectively, the secret sharing multiplication protocol is adopted to calculate the product f of all the random numbers, so that all parties cannot know the plaintext value of the product f, the secret sharing multiplication protocol is adopted to calculate the product g of the difference E and the product f, the plaintext value of the difference E is hidden, the searching party obtains the plaintext value of the product g, the searching party cannot calculate the number of data falling in a subinterval through the process of multiplying the random number, and the data privacy of the data party is protected.
Compared with the case that D > 0 in the step S4 in the embodiment 1, the method increases the steps of calculating the comparison value E and judging whether the data corresponding to the position index value p is the minimum value of the next subinterval according to whether the comparison value E is 0, so that the step of dividing the subinterval search again under the condition that the data corresponding to the position index value p is the minimum value of the subinterval is reduced, and the search efficiency is greatly improved.
Illustrating:
the searching party P1 performs joint data searching with the data party P2 and the data party P3, the data held by the searching party P1 is [3, 5 and 14], the data held by the data party P2 is [2, 5, 8, 10 and 18], and the data held by the data party P3 is [4, 11 and 17].
The searching party P1 counts the number of data held by the searching party P1 to be 3, the data party P2 counts the number of data held by the searching party P2 to be 5, the data party P3 counts the number of data held by the searching party P1, the data party P2 and the data party P3 to be 3, the total number m of all data is calculated to be 11 by adopting a secret sharing algorithm, the total number m is obtained by the searching party to be 11, the position index value P of the data required to be searched by the searching party P1 is assumed to be 8, and a variable y is set, and the initial value of the variable y is 8.
All data are ordered from small to large as [2, 3, 4, 5, 5, 8, 10,11, 14, 17, 18], and the 8 th data from small to large, namely the data corresponding to the 8 th data of the position index value, namely 11, are to be found when the position index value p is 8.
The search party P1, the data party P2, and the data party P3 negotiate to determine a search interval of [0,20].
The searching party P1, the data party P2 and the data party P3 uniformly divide the searching interval into 4 sub-intervals, the 4 sub-intervals are numbered in sequence, namely, a sub-interval 1, a sub-interval 2, a sub-interval 3 and a sub-interval 4, wherein the sub-interval 1 is [0, 5], the sub-interval 2 is [5,10 ], the sub-interval 3 is [10,15 ], the sub-interval 4 is [15,20], and the searching party P1, the data party P2 and the data party P3 count the number of data held by themselves in each sub-interval, as shown in fig. 2.
First, the sub-interval 1 is judged:
the searching party P1, the data party P2 and the data party P3 calculate a comparison value D corresponding to the subinterval 1 by adopting a secret sharing algorithm, and the searching party P1 obtains a plaintext value of the comparison value D, which comprises the following specific steps:
the searching party P1, the data party P2 and the data party P3 adopt an addition protocol of secret sharing to calculate that the total data number falling in the subinterval 1 is 3, and the searching party P1, the data party P2 and the data party P3 respectively hold secret fragments corresponding to the total data number 3;
the searching party P1, the data party P2 and the data party P3 calculate 8-3 by adopting a secret sharing subtraction protocol to obtain a difference value 5, and the searching party P1, the data party P2 and the data party P3 respectively hold secret fragments corresponding to the difference value 5;
the searching party P1 randomly generates a random number 5, the data party P2 randomly generates a random number 3, the data party P3 randomly generates a random number 7, the searching party P1, the data party P2 and the data party P3 adopt a secret sharing multiplication protocol to calculate the product of all the random numbers as 105, and the searching party P1, the data party P2 and the data party P3 respectively hold secret fragments corresponding to the product 105;
the searching party P1, the data party P2 and the data party P3 calculate the product of the difference value 5 and the product 105 as 525 by adopting a secret sharing multiplication protocol, the searching party obtains the value of the product 525, and the comparison value D=525.
Since the comparison value d=525 > 0, the data corresponding to the position index value 8 is not within the subinterval 1.
Next, the sub-interval 2 is judged:
the searching party P1, the data party P2 and the data party P3 calculate a comparison value D corresponding to the subinterval 2 by adopting a secret sharing algorithm, and the searching party P1 obtains a plaintext value of the comparison value D, which comprises the following specific steps:
the searching party P1, the data party P2 and the data party P3 adopt an addition protocol of secret sharing to calculate that the total number of data falling in the subinterval 1 and the subinterval 2 is 6, and the searching party P1, the data party P2 and the data party P3 respectively hold secret fragments corresponding to the total number of data 6;
the searching party P1, the data party P2 and the data party P3 adopt a secret sharing subtraction protocol to calculate 8-6 to obtain a difference value 2, and the searching party P1, the data party P2 and the data party P3 respectively hold secret fragments corresponding to the difference value 2;
the searching party P1 randomly generates a random number 3, the data party P2 randomly generates a random number 3, the data party P3 randomly generates a random number 13, the searching party P1, the data party P2 and the data party P3 adopt a secret sharing multiplication protocol to calculate the product of all the random numbers as 117, and the searching party P1, the data party P2 and the data party P3 respectively hold secret fragments corresponding to the product 117;
the searching party P1, the data party P2 and the data party P3 calculate the product of the difference value 2 and the product 117 to be 234 by adopting a secret sharing multiplication protocol, and the searching party obtains the value of the product 234 and compares the value D=234.
Since the comparison value d=234 > 0, the data corresponding to the position index value 8 is not within the subinterval 2.
Then, the sub-interval 3 is judged:
the searching party P1, the data party P2 and the data party P3 calculate a comparison value D corresponding to the subinterval 3 by adopting a secret sharing algorithm, and the searching party P1 obtains a plaintext value of the comparison value D, which comprises the following specific steps:
the searching party P1, the data party P2 and the data party P3 adopt an addition protocol of secret sharing to calculate that the total number of data falling in the subinterval 1, the subinterval 2 and the subinterval 3 is 9, and the searching party P1, the data party P2 and the data party P3 respectively hold secret fragments corresponding to the total number of data 9;
the searching party P1, the data party P2 and the data party P3 calculate 8-9 by adopting a secret sharing subtraction protocol to obtain a difference value-1, and the searching party P1, the data party P2 and the data party P3 respectively hold secret fragments corresponding to the difference value-1;
the searching party P1 randomly generates a random number 11, the data party P2 randomly generates a random number 5, the data party P3 randomly generates a random number 3, the searching party P1, the data party P2 and the data party P3 adopt a secret sharing multiplication protocol to calculate the product of all the random numbers as 165, and the searching party P1, the data party P2 and the data party P3 respectively hold secret fragments corresponding to the product 165;
the searching party P1, the data party P2 and the data party P3 calculate the product of the difference value-1 and the product 165 to be-165 by adopting a secret sharing multiplication protocol, the searching party obtains the value of the product 234, and the comparison value D= -165 is obtained.
Since the comparison value d= -165 < 0, the data corresponding to the position index value 8 is within subinterval 3;
the searching party P1, the data party P2 and the data party P3 adopt an addition protocol of secret sharing to calculate the total number 6 of the data falling in the subinterval 1 and the subinterval 2, and the searching party P1, the data party P2 and the data party P3 respectively hold secret fragments corresponding to the total number 6 of the data;
the searching party and the data party adopt a secret sharing subtraction protocol to calculate 8-6 to obtain a difference value 2, the searching party and the data party respectively hold secret fragments corresponding to the difference value 2, and the difference value 2 is used as a variable y value, namely y=2.
Taking the subinterval 3 as a new search interval, equally dividing the new search interval into 4 subintervals, numbering the 4 subintervals in sequence, namely, subinterval 1, subinterval 2, subinterval 3 and subinterval 4, wherein subinterval 1 is [10,11.25 ], subinterval 2 is [11.25,12.5 ], subinterval 3 is [12.5,13.75 ], subinterval 4 is [13.75,15], and counting the number of data held by the search party P1, the data party P2 and the data party P3 in each subinterval, as shown in fig. 3.
First, the sub-interval 1 is judged:
the searching party P1, the data party P2 and the data party P3 calculate a comparison value D corresponding to the subinterval 1 by adopting a secret sharing algorithm, and the searching party P1 obtains a plaintext value of the comparison value D, which comprises the following specific steps:
the searching party P1, the data party P2 and the data party P3 adopt an addition protocol of secret sharing to calculate that the total number of data falling in the subinterval 1 is 2, and the searching party P1, the data party P2 and the data party P3 respectively hold secret fragments corresponding to the total number of data 2;
the searching party P1, the data party P2 and the data party P3 calculate 2-2 by adopting a secret sharing subtraction protocol to obtain a difference value 0, and the searching party P1, the data party P2 and the data party P3 respectively hold secret fragments corresponding to the difference value 0;
the searching party P1 randomly generates a random number 7, the data party P2 randomly generates a random number 3, the data party P3 randomly generates a random number 7, the searching party P1, the data party P2 and the data party P3 adopt a secret sharing multiplication protocol to calculate the product of all the random numbers to be 147, and the searching party P1, the data party P2 and the data party P3 respectively hold secret fragments corresponding to the product 147;
the search party P1, the data party P2 and the data party P3 calculate the product of the difference 0 and the product 147 to be 0 by adopting a secret sharing multiplication protocol, and the search party obtains the value of the product 0 and compares the value D=0, so that the data corresponding to the position index value P is the maximum value in the subinterval 1.
Since the searching party P1 does not have data falling in the subinterval 1, the searching party P1 takes the left boundary value 10 of the subinterval 1 as the maximum value of the data which falls in the subinterval 1 and is held by the searching party, the data party P2 counts the maximum value of the data which falls in the subinterval 1 and is held by the searching party P2 as the maximum value of the data which falls in the subinterval 1 and is held by the searching party P3 as the maximum value of the data which is 11, the searching party P1, the data party P2 and the data party P3 compare the three values of 10, 10 and 11 by adopting a comparison protocol of a secret sharing algorithm, the maximum value is found to be 11, the searching party obtains the plaintext value of the maximum value 11, and the data corresponding to the position index value P is 11, and the calculation result is correct.

Claims (3)

1. A multi-party joint data retrieval method based on secret sharing, wherein the multi-party comprises a retrieval party and more than two data parties, and the method is characterized by comprising the following steps:
s1: the searching party and the data party respectively count the number of the data held by the searching party and the data party, the total number m of all the data is calculated by adopting a secret sharing algorithm, and the searching party determines the position index value p of the data to be searched in all the data, wherein p is more than or equal to 1 and less than or equal to m;
s2: the searching party and the data party negotiate to determine a searching interval;
s3: the searching party and the data party uniformly divide the searching interval into n subintervals, and the searching party and the data party count the number of the data held by themselves in each subinterval;
s4: the searching party and the data party adopt a secret sharing algorithm to judge whether the data corresponding to the position index value p is the largest data or the smallest data in a certain subinterval, if so, the step S5 is executed, if not, the subinterval in which the data corresponding to the position index value p is located is found, the subinterval is used as a new searching interval, and the step S3 is skipped;
s5: the searching party adopts a secret sharing algorithm to find out the maximum data or the minimum data in the subinterval as the data corresponding to the position index value p under the cooperation of the data party;
the step S1 further includes the steps of: the searching party sets a variable y, wherein the initial value of the variable y=a position index value p;
the step S2 includes the steps of: the searching party and the data party respectively count the maximum value and the minimum value of the data held by the searching party and the data party, compare all the maximum values by adopting a comparison protocol of a secret sharing algorithm, and compare all the minimum values to obtain the maximum value Vmax and the minimum value Vmin of all the data, wherein the searching interval is [ Vmin, vmax ];
the step S4 includes the steps of:
s41: the n subintervals are numbered as 1 and 2 … … n in sequence, a variable i is set, i is not less than 1 and not more than n, and the initial value of the variable i is 1;
s42: the searching party and the data party adopt a secret sharing algorithm to calculate a comparison value D corresponding to the subinterval with the number of i, and the searching party obtains a plaintext value of the comparison value D;
s43: if d=0, the data corresponding to the position index value p is the maximum value in the subinterval with the number i, and step S5 is executed;
if D < 0, the data corresponding to the position index value p is in the subinterval with the number i, the subinterval with the number i is used as a new search interval, if i=1, the step is skipped to step S3, and if i > 1, the step S44 is executed;
if D > 0, the data corresponding to the position index value p is not in the subinterval with the number i, and the following steps are executed:
the searching party and the data party adopt a secret sharing algorithm to calculate a comparison value E corresponding to a subinterval with the number i, the searching party obtains a plaintext value of the comparison value E, judges whether the comparison value E is 0, if so, the data corresponding to the position index value p is the minimum value in the subinterval with the number i+1, step S5 is executed, if not, i=i+1 is assigned to i, and step S42 is skipped;
s44: the searching party and the data party adopt an addition protocol of secret sharing to calculate the total number x of the data falling in the subintervals with the numbers of 1 to i-1, and the searching party and the data party respectively hold secret fragments corresponding to the total number x of the data;
the searching party and the data party adopt a secret sharing subtraction protocol to calculate y-x, a difference value v is obtained, the searching party and the data party respectively hold secret fragments corresponding to the difference value v, the difference value v is used as a variable y value, and then the step S3 is skipped;
the step S42 includes the steps of:
s421: the searching party and the data party adopt an addition protocol of secret sharing to calculate the total number a of data falling in subintervals with the numbers of 1 to i, and the searching party and the data party respectively hold secret fragments corresponding to the total number a of data;
s422: the searching party and the data party calculate y-a by adopting a secret sharing subtraction protocol to obtain a difference value b, and the searching party and the data party respectively hold secret fragments corresponding to the difference value b;
s423: the searching party and the data party randomly generate a random number larger than 1, the searching party and the data party adopt a secret sharing multiplication protocol to calculate the product c of all the random numbers, and the searching party and the data party respectively hold secret fragments corresponding to the product c;
s424: the searching party and the data party adopt a secret sharing multiplication protocol to calculate a product D of a difference value b and a product c, the searching party obtains a plaintext value of the product D, and the plaintext value of the product D is used as a comparison value D;
in step S43, the method for calculating the comparison value E corresponding to the subinterval with the number i by the searching party and the data party by adopting the secret sharing algorithm is as follows:
n1: the searching party and the data party adopt an addition protocol of secret sharing to calculate the total number a of data falling in subintervals with the numbers of 1 to i, and the searching party and the data party respectively hold secret fragments corresponding to the total number a of data;
n2: the searching party and the data party calculate y-1-a by adopting a secret sharing subtraction protocol to obtain a difference value e, and the searching party and the data party respectively hold secret fragments corresponding to the difference value e;
and N3: the searching party and the data party randomly generate a random number larger than 1, the searching party and the data party adopt a secret sharing multiplication protocol to calculate the product f of all the random numbers, and the searching party and the data party respectively hold secret fragments corresponding to the product f;
n4: the searching party and the data party adopt a secret sharing multiplication protocol to calculate a product g of a difference E and a product f, the searching party obtains a plaintext value of the product g, and the plaintext value of the product g is used as a comparison value E;
the step S5 includes the steps of:
if the data corresponding to the position index value p is the maximum data in a certain subinterval, the searching party and the data party respectively count the maximum value of the data in the subinterval, and compare all the maximum values by adopting a comparison protocol of a secret sharing algorithm to find out the maximum data in the subinterval, wherein the searching party obtains the plaintext value of the maximum data, and the plaintext value of the maximum data is the data corresponding to the position index value p;
if the data corresponding to the position index value p is the minimum data in a certain subinterval, the searching party and the data party respectively count the minimum value of the data in the subinterval, all the minimum values are compared by adopting a comparison protocol of a secret sharing algorithm, the minimum data in the subinterval is found out, the searching party obtains the plaintext value of the minimum data, and the plaintext value of the minimum data is the data corresponding to the position index value p.
2. The method according to claim 1, wherein when the searching party and the data party each count the maximum value of the self-held data falling in the subinterval in the step S5, if the data held by the searching party does not fall in the subinterval, the searching party selects a value smaller than or equal to the left boundary value of the subinterval as the maximum value of the self-held data falling in the subinterval, and if the data held by the data party does not fall in the subinterval, the data party selects a value smaller than or equal to the left boundary value of the subinterval as the maximum value of the self-held data falling in the subinterval.
3. The method according to claim 1, wherein when the searching party and the data party each count the minimum value of the self-holding data falling in the subinterval in the step S5, if the data held by the searching party does not fall in the subinterval, the searching party selects a value greater than or equal to the right boundary value of the subinterval as the minimum value of the self-holding data falling in the subinterval, and if the data held by the data party does not fall in the subinterval, the data party selects a value greater than or equal to the right boundary value of the subinterval as the minimum value of the self-holding data falling in the subinterval.
CN202310851675.6A 2023-07-12 2023-07-12 Multiparty joint data retrieval method based on secret sharing Active CN116579021B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310851675.6A CN116579021B (en) 2023-07-12 2023-07-12 Multiparty joint data retrieval method based on secret sharing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310851675.6A CN116579021B (en) 2023-07-12 2023-07-12 Multiparty joint data retrieval method based on secret sharing

Publications (2)

Publication Number Publication Date
CN116579021A CN116579021A (en) 2023-08-11
CN116579021B true CN116579021B (en) 2024-04-05

Family

ID=87534464

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310851675.6A Active CN116579021B (en) 2023-07-12 2023-07-12 Multiparty joint data retrieval method based on secret sharing

Country Status (1)

Country Link
CN (1) CN116579021B (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019202586A1 (en) * 2018-04-17 2019-10-24 B. G. Negev Technologies & Applications Ltd., At Ben-Gurion One-round secure multiparty computation of arithmetic streams and evaluation of functions
CN115080615A (en) * 2022-06-07 2022-09-20 蚂蚁区块链科技(上海)有限公司 Data query method and device based on multi-party security calculation
CN115134078A (en) * 2022-07-08 2022-09-30 蓝象智联(杭州)科技有限公司 Secret sharing-based statistical method and device and storage medium
CN115189878A (en) * 2022-09-08 2022-10-14 蓝象智联(杭州)科技有限公司 Shared data sorting method based on secret sharing and electronic equipment
CN115941181A (en) * 2023-02-02 2023-04-07 华控清交信息科技(北京)有限公司 Out-of-order secret sharing method and system and readable storage medium
CN116401423A (en) * 2023-03-31 2023-07-07 杭州博盾习言科技有限公司 Method, device, equipment and medium for determining median based on secure multiparty calculation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019202586A1 (en) * 2018-04-17 2019-10-24 B. G. Negev Technologies & Applications Ltd., At Ben-Gurion One-round secure multiparty computation of arithmetic streams and evaluation of functions
CN115080615A (en) * 2022-06-07 2022-09-20 蚂蚁区块链科技(上海)有限公司 Data query method and device based on multi-party security calculation
CN115134078A (en) * 2022-07-08 2022-09-30 蓝象智联(杭州)科技有限公司 Secret sharing-based statistical method and device and storage medium
CN115189878A (en) * 2022-09-08 2022-10-14 蓝象智联(杭州)科技有限公司 Shared data sorting method based on secret sharing and electronic equipment
CN115941181A (en) * 2023-02-02 2023-04-07 华控清交信息科技(北京)有限公司 Out-of-order secret sharing method and system and readable storage medium
CN116401423A (en) * 2023-03-31 2023-07-07 杭州博盾习言科技有限公司 Method, device, equipment and medium for determining median based on secure multiparty calculation

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Morohashi,G等.Secure multiparty computation for comparator networks.SEP 2008.2008,全文. *
保护私有信息的选择问题研究;张永华;中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑;20140915;全文 *
秘密区间与阈值的保密判定;成雯;李顺东;王文丽;;计算机科学与探索(第05期);全文 *

Also Published As

Publication number Publication date
CN116579021A (en) 2023-08-11

Similar Documents

Publication Publication Date Title
CN112532383B (en) Privacy protection calculation method based on secret sharing
CN114255037A (en) Multi-party combined sorting method and data processing method under privacy protection
CN115051791A (en) Efficient three-party privacy set transaction method and system based on key agreement
CN111460510B (en) Method and device for determining same service data based on privacy protection
CN116361649A (en) Efficient unbalanced PSI (program specific information) based on bloom filter and hash
CN112685788B (en) Data processing method and device
CN114036581A (en) Privacy calculation method based on neural network model
CN116579021B (en) Multiparty joint data retrieval method based on secret sharing
CN112272082B (en) Image encryption/decryption method and device, electronic equipment and storage medium
CN111082990B (en) Block chain consensus method, device, equipment and storage medium
Järvinen et al. Faster privacy‐preserving location proximity schemes for circles and polygons
CN110807211A (en) Method, system, readable medium and electronic device for safely acquiring user intersection
CN115801253A (en) Multi-party secret sharing method and electronic equipment for safe multi-party calculation
CN110490598A (en) Method for detecting abnormality, device, equipment and storage medium
CN112668036B (en) Data processing method and device and data processing device
CN110851487B (en) Data statistics method and device
CN112906171B (en) Credible collaborative optimization method and simulation platform for comprehensive energy system
Sun et al. A privacy‐preserving density peak clustering algorithm in cloud computing
Pathak et al. Tri-TTP based architecture for secure multi-party computations using virtual parties
CN113239202B (en) Data processing method, device, server and storage medium
CN117640248B (en) Power data sharing method and device based on block chain
Kitbumrung et al. ECC dynamic point encoding on mobile device
CN109614072A (en) To the implementation method and device of modular multiplication in prime number modulus, prime field
CN115412364B (en) Method, system and medium for safely solving intersection of multiple parties without third party
Sun et al. Secure grid‐based density peaks clustering on hybrid cloud for industrial IoT

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant