CN111539041A - Safety selection method and system - Google Patents

Safety selection method and system Download PDF

Info

Publication number
CN111539041A
CN111539041A CN202010651278.0A CN202010651278A CN111539041A CN 111539041 A CN111539041 A CN 111539041A CN 202010651278 A CN202010651278 A CN 202010651278A CN 111539041 A CN111539041 A CN 111539041A
Authority
CN
China
Prior art keywords
result
group
party
slice
belonging
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.)
Granted
Application number
CN202010651278.0A
Other languages
Chinese (zh)
Other versions
CN111539041B (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.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information 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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202010651278.0A priority Critical patent/CN111539041B/en
Publication of CN111539041A publication Critical patent/CN111539041A/en
Application granted granted Critical
Publication of CN111539041B publication Critical patent/CN111539041B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data

Abstract

The method can be used for reducing the interaction times and lightening the transmission pressure of the system compared with the prior scheme, and on the other hand, the two parties can not reveal privacy data of each party in the processing process to protect the data security of each party.

Description

Safety selection method and system
Technical Field
The present disclosure relates to the field of information security, and in particular, to a security selection method and system based on privacy protection of two parties.
Background
The secure multi-party computation is also called multi-party secure computation, namely, a plurality of parties jointly compute the result of a function without revealing the input data of the parties of the function, and the computed result is stored in a plurality of parties or is disclosed to one or more parties in a shared form. Therefore, through secure multiparty computation, the participating parties can be allowed to compute the results of the functions without exposing the respective raw data.
The safety selection can be regarded as a multi-party safety calculation implementation of a specific function (namely, a selection problem), and under the condition of a large amount of calculation, if the number of interaction times in the safety selection step is too large, the transmission pressure of the system is too large.
Disclosure of Invention
One of the embodiments of the present specification provides a security selection question processing method, where a security selection question participant includes a first party and a second party, and the security selection question is described as selecting a first result element m when a condition element a =1, and selecting a second result element n when the condition element a = 0; the conditional element a, the first result element m and the second result element n of the security selection problem are respectively stored in a first party and a second party in a sharing shard, the sharing shard of the first result element and the sharing shard of the second result element both belong to a first group, the sharing shard of the conditional element belongs to a second group, and the method is executed by any one of the parties of the security selection problem and comprises the following steps: determining a first segment of a first result element
Figure 712150DEST_PATH_IMAGE002
First slice with second result element
Figure 828879DEST_PATH_IMAGE004
Is the first slice of the equivalent result element
Figure DEST_PATH_IMAGE006
(ii) a A first slice based on the condition element
Figure DEST_PATH_IMAGE008
Generating a first intermediate element; wherein possible values of the first intermediate element belong to a third group; the number of bits of the storage unit for storing the elements in the third group is smaller than the number of bits of the storage unit for storing the elements in the first group; a first slice based on the condition element
Figure 843803DEST_PATH_IMAGE008
First slice of the equivalent result element
Figure DEST_PATH_IMAGE010
Obtaining a first intermediate value
Figure DEST_PATH_IMAGE012
(ii) a First intermediate value
Figure 702825DEST_PATH_IMAGE012
Belong to a first group; based on the first intermediate element and the first intermediate value
Figure 262113DEST_PATH_IMAGE012
Cooperatively calculating with another party according to the multi-party safety calculation protocol to obtain the first fragment of the cross result
Figure DEST_PATH_IMAGE014
(ii) a First slice based on equivalent result elements
Figure 708881DEST_PATH_IMAGE010
With the first segment of the cross result
Figure 284088DEST_PATH_IMAGE014
Computing a first slice of the initial selection result
Figure DEST_PATH_IMAGE016
(ii) a First segmentation based on the initial selection result
Figure 182903DEST_PATH_IMAGE016
And a first fragment of the second result element
Figure 739524DEST_PATH_IMAGE004
A first slice of the result of the security selection problem is computed.
One of the embodiments of the present specification provides a secure selection question processing system, where a secure selection question participant includes a first party and a second party, and the secure selection question is described as selecting a first result element m when a condition element a =1, and selecting a second result element n when the condition element a = 0; the conditional element a, the first result element m and the second result element n of the security selection problem are respectively stored in a first party and a second party in a sharing fragment, the sharing fragment of the first result element and the sharing fragment of the second result element both belong to a first group, and the conditional elementAnd the shared tile belongs to a second group, the number of bits of the storage unit for storing elements in the first group being greater than the number of bits of the storage unit for storing elements in the second group, comprising: an equivalent result element obtaining module to determine a first slice of a first result element
Figure 722524DEST_PATH_IMAGE002
First slice with second result element
Figure 898159DEST_PATH_IMAGE004
Is the first slice of the equivalent result element
Figure 119056DEST_PATH_IMAGE010
(ii) a A first intermediate element acquisition module to obtain a first slice based on the conditional element
Figure 580999DEST_PATH_IMAGE008
Generating a first intermediate element; wherein the value of the first intermediate element belongs to a third group; the number of bits of the storage unit for storing the elements in the third group is smaller than the number of bits of the storage unit for storing the elements in the first group; a first intermediate value obtaining module for obtaining a first slice based on the condition element
Figure 395503DEST_PATH_IMAGE008
First slice of the equivalent result element
Figure 380688DEST_PATH_IMAGE010
Obtaining a first intermediate value
Figure 954627DEST_PATH_IMAGE012
(ii) a First intermediate value
Figure 229881DEST_PATH_IMAGE012
Belong to a first group; a cross result obtaining module for obtaining a first intermediate value based on the first intermediate element
Figure 826954DEST_PATH_IMAGE012
Cooperatively calculating with another party according to the multi-party safety calculation protocol to obtain the first fragment of the cross result
Figure 485337DEST_PATH_IMAGE014
(ii) a An initial selection result obtaining module for a first slice based on equivalent result elements
Figure 48868DEST_PATH_IMAGE010
With the first segment of the cross result
Figure 321455DEST_PATH_IMAGE014
Computing a first slice of the initial selection result
Figure 907289DEST_PATH_IMAGE016
(ii) a A problem result acquisition module for a first slice based on the initial selection result
Figure 713571DEST_PATH_IMAGE016
And a first fragment of the second result element
Figure 58839DEST_PATH_IMAGE004
A first slice of the result of the security selection problem is computed.
One of the embodiments of the present specification provides a security selection issue processing apparatus, which includes a processor and a storage medium, where the storage medium is used to store computer instructions, and the processor is used to execute at least a part of the computer instructions to implement the method.
In some embodiments of the present specification, there is also provided a multi-party secure computing method, wherein the multi-party secure computing protocol is a cross G-module computing protocol, and the cross G-module computing participants include two parties, one of the parties having a first element belonging to a finite group G
Figure DEST_PATH_IMAGE018
With a second element belonging to finite group A
Figure DEST_PATH_IMAGE020
The other party having a third element belonging to the finite group G
Figure DEST_PATH_IMAGE022
And a fourth element belonging to finite group A
Figure DEST_PATH_IMAGE024
The finite group A has a G-mode structure, and the mapping of the finite group G on the finite group A to the finite group A meets the allocation rate, and the cross G-module calculation is described as the two-party cooperative calculation
Figure DEST_PATH_IMAGE026
The calculation result and the sharing fragment are stored in the two parties; in the cross G-module computing protocol, the finite group G is the third group, the finite group A is the first group,
Figure DEST_PATH_IMAGE028
which comprises the following steps: obtaining a first random number belonging to a finite group G
Figure DEST_PATH_IMAGE030
A second random number belonging to the finite group A
Figure DEST_PATH_IMAGE032
And a first intermediate slice
Figure DEST_PATH_IMAGE034
(ii) a The first intermediate segment
Figure 413247DEST_PATH_IMAGE034
And a second intermediate shard with a second party
Figure DEST_PATH_IMAGE036
The shared shards are the sums of the random number operation results and belong to a limited group A; the result of the random number operation is based on
Figure DEST_PATH_IMAGE038
Obtaining; wherein h1 indicates the other party's membership to the LimitThe third random number of the group G,
Figure 376391DEST_PATH_IMAGE032
a fourth random number representing the other party belonging to finite group a; sending first transmission data belonging to a finite group G
Figure DEST_PATH_IMAGE040
To the other party; the first transmission data
Figure 48681DEST_PATH_IMAGE040
Based on
Figure DEST_PATH_IMAGE042
Obtaining; acquiring second transmission data of the other party belonging to the finite group G
Figure DEST_PATH_IMAGE044
(ii) a The second transmission data
Figure 327084DEST_PATH_IMAGE044
Based on
Figure DEST_PATH_IMAGE046
Obtaining; sending third transmission data belonging to finite group A
Figure DEST_PATH_IMAGE048
To the other party, the third transmission data
Figure 196601DEST_PATH_IMAGE048
Based on
Figure DEST_PATH_IMAGE050
Obtaining; acquiring fourth transmission data of the other party belonging to finite group A
Figure DEST_PATH_IMAGE052
(ii) a The fourth transmission data
Figure 334190DEST_PATH_IMAGE052
Based on
Figure DEST_PATH_IMAGE054
Obtaining; based on
Figure DEST_PATH_IMAGE056
Obtaining a first slice of the cross result
Figure DEST_PATH_IMAGE058
Drawings
The present description will be further explained by way of exemplary embodiments, which will be described in detail by way of the accompanying drawings. These embodiments are not intended to be limiting, and in these embodiments like numerals are used to indicate like structures, wherein:
FIG. 1 is a schematic diagram of an application scenario of a security selection issue processing system, according to some embodiments of the present description;
FIG. 2 is a schematic diagram illustrating an interaction flow of a first party with a second party to compute a security selection problem according to some embodiments of the present description;
FIG. 3 is a schematic diagram of an interaction flow for two parties to perform a cross G-module calculation in accordance with some embodiments of the present description;
FIG. 4 is a block diagram of a security selection issue processing system in accordance with some embodiments of the present description.
Detailed Description
In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the drawings used in the description of the embodiments will be briefly described below. It is obvious that the drawings in the following description are only examples or embodiments of the present description, and that for a person skilled in the art, the present description can also be applied to other similar scenarios on the basis of these drawings without inventive effort. Unless otherwise apparent from the context, or otherwise indicated, like reference numbers in the figures refer to the same structure or operation.
It should be understood that "system", "apparatus", "unit" and/or "module" as used herein is a method for distinguishing different components, elements, parts, portions or assemblies at different levels. However, other words may be substituted by other expressions if they accomplish the same purpose.
As used in this specification and the appended claims, the terms "a," "an," "the," and/or "the" are not intended to be inclusive in the singular, but rather are intended to be inclusive in the plural, unless the context clearly dictates otherwise. In general, the terms "comprises" and "comprising" merely indicate that steps and elements are included which are explicitly identified, that the steps and elements do not form an exclusive list, and that a method or apparatus may include other steps or elements.
Flow charts are used in this description to illustrate operations performed by a system according to embodiments of the present description. It should be understood that the preceding or following operations are not necessarily performed in the exact order in which they are performed. Rather, the various steps may be processed in reverse order or simultaneously. Meanwhile, other operations may be added to the processes, or a certain step or several steps of operations may be removed from the processes.
For the purpose of illustrating embodiments of the present specification, reference will first be made to the mathematical knowledge involved therein.
In mathematics, a "group" in mathematics means an algebraic structure having a binary operation satisfying a closed property, satisfying a binding law, having a unit element and an inverse element, and includes an abelian group, homomorphism and conjugate class. Where the sign of the binary operation may be generally used as a sign of a multiplication sign "+" (which may be omitted when unambiguous) or an addition sign "+", it is noted that the binary operation is not necessarily equivalent to a multiplication or an addition in a four-way operation. The result of several elements through one or more binary operations may be referred to as a sum.
The binary operation of the group satisfies: 1. closed law, for any element a, b in G, a × b is still in G; 2. binding law, for any elements a, b and c in G, (a × b) × c = a (b × c); 3. there are unit cells, element e is present in G, such that a _ e = e _ a; 4. there is an inverse element, where for any element a in G, b is present in G, such that a × b = b × a = e, a, b are inverse elements of each other, where e is a unit element. It should be noted that e may be called zero and the inverse may be called negative for the binary operation denoted by "+", and a + (inverse of b) may be denoted by a-b for any of the elements a, b in G. The order of the group operations is important, element a is combined with element b, and the result is not necessarily the same as combining element b with element a; that is, the commutative law a × b = b × a is not always true, and the group satisfying the commutative law is called an abelian group (commutative group), and the group not satisfying the commutative law is called a non-abelian group (non-commutative group), and the abelian group is composed of its own set G and a binary operation.
In mathematics, a mapping is often equivalent to a function. For example, assuming that a and B are two non-empty sets, if for any element x in a, there is always a uniquely determined element y in B corresponding to it according to some rule (or law) f, the corresponding rule f is called a mapping from a to B. Notation f: a → B, the image with y as x, denoted as y = f (x), and the original image with x as y, the set a as the domain of the mapping f, and the set B as the cosomain of f.
In mathematics, a group G is given, wherein the G mode refers to an Abelian group M generated after the group G is compatible with an Abelian group structure in M. Wherein for each
Figure DEST_PATH_IMAGE060
All have unique definite product g
Figure DEST_PATH_IMAGE062
And for any
Figure DEST_PATH_IMAGE064
All the requirements are that: (1) g · (a + n) = ga + gn, (2), G · (ma) = (gm) · a, (3), ka = a, k is a unit element in the group G, and M is called left G modulo; if ga = a, M is called the trivial left G modulus.
Further, the present description relates to a quotient group based on integer abelian group, the mathematical representation of which may be G: = Z/nZ, where Z is a set of integers, n is any positive integer, nZ is a subgroup of Z made up of all multiples of n, quotient Z/nZ is a cyclic group of order n modulo the remainder of n, equivalent to mod n.
It should be noted that since a computing device usually uses a fixed number (e.g. bit) to store the value generated during the computation process, the multi-party collaborative computation frequently uses modulo group addition, group multiplication, group subtraction, and so on. In this specification, unless otherwise specified, the mathematical expression relating to the symbols can be understood with priority as group addition, group multiplication, and group subtraction, rather than as a four-way operation. The number of bits of a memory cell of a computing device storing a group element may be determined by the size of the group, and for a given group, the more the group element, the more bits of the memory cell used to store the group element, and it is not difficult to understand that the greater the amount of traffic in transmitting the group element. Elements between different groups cannot be directly operated on, and one group element needs to be converted to obtain an equivalent value of the group element in another group, and the operation with the element is completed in the other group. In this specification, for the sake of brevity, the foregoing conversion is already completed by default when describing the operation of two group elements.
In some distributed scenarios, a multi-party secure computation is required to obtain a target operation result, the target operation may be secure multiplication, secure analog conversion or secure selection, and security may refer to correctness of an output result and confidentiality of input information and output information. For example, in some machine learning scenarios, one party holds private feature data and the other holds private tag data. If the target operation result on the private data (feature data/tag data) is directly calculated, the private data may be deduced backwards once the target operation result is leaked. Therefore, one party can divide the private data x held by the party into two parts, and one part is reserved
Figure DEST_PATH_IMAGE066
And mixing the other part
Figure DEST_PATH_IMAGE068
The information is sent to the other party,
Figure 896322DEST_PATH_IMAGE066
and
Figure 357128DEST_PATH_IMAGE068
has a total value of x, i.e
Figure 909463DEST_PATH_IMAGE066
And
Figure 658982DEST_PATH_IMAGE068
in the form of x and shares. Then, the two parties operate a safety calculation protocol to respectively obtain one fragment of the target operation result. The sum of the fragments obtained by the two parties is the target operation result, and if an attacker wants to know the private data, the fragments of the two parties need to be obtained. In the prior art, some secure multiparty computation processes involve a selection problem, which is generally described as selecting a first result element m when the condition element a =1 and a second result element n when the condition element a = 0. For example only, in a scenario where multi-party prediction is performed using a tree model, two parties respectively hold a split threshold of a node of the tree model, corresponding left and right leaf node scores, and a sum sharing slice of feature values of corresponding features. An exemplary equivalent focused prediction process includes selecting a left leaf node score when the eigenvalue is greater than the split threshold and selecting a right leaf node score when the eigenvalue is not greater than the split threshold. It will be appreciated that the result of comparing the feature value to the split threshold may be reduced to a binary case with conditional element =1 or 0. When the data relate to privacy security, the two parties need to complete the selection on the premise of not revealing privacy fragments of the parties based on a multi-party security calculation principle. The general selection problem can be equivalent to calculating a (m-n) + n, and further, the general safety selection problem can be converted into a special safety problem, so the above formula can be further equivalent to az and z = m-n, after az is obtained by calculation, the result of the general selection problem can be obtained by adding a second result element n. Generally, the value of the condition element is only two, which means that the group (e.g., the second group) to which the condition element belongs may have only two elements, and may occupy less storage space inside the computing device. The value of the result element is wider, which means that the group (e.g., the first group) to which the result element belongs has more elements and occupies more storage space in the content of the computing device. In some embodiments of the present invention, the,both parties can convert the conditional element fragments in the second group into the first group through a security mode conversion protocol, then calculate az with the other party according to a multi-party security multiplication protocol, and then obtain az's sum sharing fragments, and finally, each party adds the az's sum sharing fragments with the sum sharing fragments of the second result element n, and then the result fragments with common selection problems can be obtained. However, this approach requires both parties to complete 3 rounds of interaction. Specifically, one round of interaction is involved in the safe mode conversion calculation link, and two rounds of interaction are involved in the safe multiplication calculation link, so that the total interaction is 3 rounds, and huge interaction times can be generated in the case of facing a large number of calculation scenes.
Embodiments in this specification provide another security selection problem processing method and system based on a multi-party security computing protocol with fewer interactions.
FIG. 1 is a schematic diagram of an application scenario of a computing system in accordance with some embodiments of the present description.
As shown in fig. 1, computing system 100 may include computing device 110, computing device 120, and network 140, computing device 110 and computing device 120 may be two-party devices participating in two-party secure computing.
The computing device may include various types of computing-capable devices, such as a server. In some embodiments, the servers may be independent servers or groups of servers, which may be centralized or distributed. In some embodiments, the server may be regional or remote. In some embodiments, the server may execute on a cloud platform. For example, the cloud platform may include one or any combination of a private cloud, a public cloud, a hybrid cloud, a community cloud, a decentralized cloud, an internal cloud, and the like.
Network 140 connects the various components of the system so that communication can occur between the various components. The network between the various parts in the system may include wired networks and/or wireless networks. For example, network 140 may include a cable network, a wired network, a fiber optic network, a telecommunications network, an intranet, the internet, a Local Area Network (LAN), a Wide Area Network (WAN), a Wireless Local Area Network (WLAN), a Metropolitan Area Network (MAN), a Public Switched Telephone Network (PSTN), a bluetooth network, a ZigBee network (ZigBee), Near Field Communication (NFC), an intra-device bus, an intra-device line, a cable connection, and the like, or any combination thereof. The network connection between each two parts may be in one of the above-mentioned ways, or in a plurality of ways.
In some embodiments, the computing system 100 may also include a semi-trusted third party device 130, and the semi-trusted third party device 130 may assist the two-party computing device in running a secure computing protocol, e.g., the semi-trusted third party device 130 may generate a random number, compute a shard value, distribute the random number and/or shard value to the computing device 110, the computing device 120, and/or the like.
FIG. 2 is a schematic diagram illustrating an interaction flow of a first party (e.g., computing device 110) computing a security selection problem with a second party (e.g., computing device 120) in accordance with some embodiments of the present description.
In some embodiments, the security selection issue may be described as selecting a first result element m when the condition element a =1 and a second result element n when the condition element a = 0. The security selection problem participant comprises a first party and a second party. The condition element a, the first result element m, and the second result element n are stored in both sides in a sum sharing manner, respectively.
In the security selection problem, the sum-shared shard of the first result element m and the sum-shared shard of the second result element n may both belong to a first group, wherein the first group may be any limited group. For example, the first result element m comprises a first fragment
Figure DEST_PATH_IMAGE070
And a second section
Figure DEST_PATH_IMAGE072
The second result element n comprises the first fragment
Figure DEST_PATH_IMAGE074
And a second section
Figure DEST_PATH_IMAGE076
Wherein
Figure 302103DEST_PATH_IMAGE070
Figure 86257DEST_PATH_IMAGE074
Is stored on the first party and is stored on the second party,
Figure 402969DEST_PATH_IMAGE072
Figure 436522DEST_PATH_IMAGE076
and storing the data in the second party.
The sum-sharing tile of conditional element a belongs to a second group, wherein the second group may also be any finite group. For example only, conditional element a may comprise a first tile
Figure DEST_PATH_IMAGE077
And a second section
Figure DEST_PATH_IMAGE079
Wherein, in the step (A),
Figure 271883DEST_PATH_IMAGE077
is stored on the first party and is stored on the second party,
Figure 644964DEST_PATH_IMAGE079
and storing the data in the second party.
In some embodiments, the first group is a first quotient Z/NZ and the second group is a second quotient Z/2Z, N being an integer greater than 2. The first quotient group and the second quotient group are Abelian groups. From the above mathematical knowledge, the first quotient Z/NZ is an N-th order cyclic group modulo the remainder of N, and the first quotient Z/NZ has N elements, which can be expressed as {0,1,2, …, N-1 }; the second quotient Z/2Z is a 2 nd order cyclic group modulo the remainder of 2, so that 2 elements of the second quotient Z/2Z can be represented as {0,1 }. It will be appreciated that in a computing device, the number of memory cell bits storing a conditional element tile may be less or much less than the memory cell locations storing the result element tile.
As can be seen from fig. 2, when the security selection problem processing is performed, the flows executed by both the users are symmetrical. That is, the process 200 (including steps 210-250) may be performed by any of the security selection problem participants. When one of the parties is the first party, the other party is the second party. For convenience of description, the following description is made in terms of a first aspect, and the process 200 may include:
step 210, determining a first segment of a first result element
Figure 772058DEST_PATH_IMAGE070
First slice with second result element
Figure 794372DEST_PATH_IMAGE074
Is the first slice of the equivalent result element
Figure DEST_PATH_IMAGE081
. In some embodiments, step 210 may be performed by equivalent result element acquisition module 410.
In some embodiments, the security selection issues may be divided into two categories, general security selection issues and special security selection issues. In some embodiments, the general security selection problem may be described as: safe calculation if a =1 then m elsen. The condition element a, the first result element m and the second result element n are stored in a sum sharing mode on two sides, and the selected result is still stored in the sum sharing mode on the two sides. In some embodiments, the general security selection problem may be expressed as a (m-n) + n, for which the result may be known to be equivalent to the result of the security calculation if a =1 then m else n.
In some embodiments, the special security selection issue may be described as: secure computation if a =1 then z else0, where condition element a, result element z are stored on both sides in a shared form. In some embodiments, the special security selection problem may be denoted as az, for which the result is known to be equivalent to the result of the security calculation if a =1 then z else 0.
In some embodiments, the computation may be simplified by reducing the general security selection problem to a special selection problem. Let z = m-n, then there is az + n = a (m-n) + n, i.e. the sum of the result of the special safety selection problem and n is equivalent to the result of the general safety selection problem. In some embodiments, the difference z between the first result element m and the second result element n is defined as an equivalent result element.
In some embodiments, the first party holds the first piece of the first result element
Figure 133955DEST_PATH_IMAGE070
First slice with second result elementSo that the first fragment of the equivalent result element z
Figure 166862DEST_PATH_IMAGE081
Can be expressed as:
Figure DEST_PATH_IMAGE082
(1)
in some embodiments, the second party holds a second slice of the first result element
Figure DEST_PATH_IMAGE084
Second segmentation with second result element
Figure DEST_PATH_IMAGE086
So that the second slice of the result element z is equivalent
Figure DEST_PATH_IMAGE088
Can be expressed as:
Figure DEST_PATH_IMAGE090
it should be noted that the steps performed in the flow 200 by the first party and the second party are symmetrical, that is, the second party shares the second piece of the form data according to the second piece of the form data held and shared by the second party. Therefore, the second party needs to perform the calculation according to the same rule as the calculation performed by the first party, unless otherwise described below.
Step 220, first slicing based on the condition element
Figure 80067DEST_PATH_IMAGE077
A first intermediate element is generated. In some embodiments, step 220 may be performed by the first intermediate element acquisition module 420.
From the foregoing, the first fragment of the conditional element
Figure 951903DEST_PATH_IMAGE077
Belonging to the second group, in some embodiments the first intermediate element is designed to have a smaller number of bits than the memory cells of the elements in the first group. In some embodiments, the value of the first intermediate element may be assigned to the third group.
In some embodiments, continuing with the example where the first group is the first quotient group Z/NZ, the first intermediate element may be represented as
Figure DEST_PATH_IMAGE092
It is clear that this time the third group is { -1,1}, and it can be seen that the number of bits of the memory location for storing the elements in the third group is less than the number of bits of the memory location for storing the elements in the first group.
It should be appreciated that the second party may, in a similar way, be based on the second fragmentation of the conditional element
Figure DEST_PATH_IMAGE094
A second intermediate element is obtained, which accordingly also belongs to the third group.
Step 230, a first slicing based on the condition elements
Figure DEST_PATH_IMAGE096
First slice of equivalent result elements
Figure DEST_PATH_IMAGE098
Obtaining a first intermediate value
Figure DEST_PATH_IMAGE100
. In some casesIn an embodiment, step 230 may be performed by the first intermediate value obtaining module 430.
Two slices of the equivalent result element z are respectively reserved by two parties and kept secret from the other party. To avoid direct simultaneous possession of one party
Figure 99244DEST_PATH_IMAGE098
And
Figure DEST_PATH_IMAGE102
resulting in a leakage of results, which may be based on a first fragmentation of a condition element in some embodiments
Figure 584452DEST_PATH_IMAGE096
First slice of equivalent result elements
Figure 283155DEST_PATH_IMAGE098
Generating a first intermediate value
Figure 325061DEST_PATH_IMAGE100
In some embodiments, when the first intermediate element is pressed
Figure DEST_PATH_IMAGE104
When calculating, the first intermediate value
Figure 387562DEST_PATH_IMAGE100
The result of (d) can be equivalent to a result calculated by:
Figure DEST_PATH_IMAGE106
wherein the content of the first and second substances,
Figure DEST_PATH_IMAGE108
the equivalent value of the first intermediate element is expressed, and the formula (3) can be equivalent to
Figure DEST_PATH_IMAGE110
When the temperature of the water is higher than the set temperature,
Figure DEST_PATH_IMAGE112
when is coming into contact with
Figure DEST_PATH_IMAGE114
. First slice of equivalent result elements
Figure 344803DEST_PATH_IMAGE098
Belong to a first group, so that a first intermediate value
Figure 265224DEST_PATH_IMAGE100
Also belong to the first group.
It should be appreciated that the second party may, in a similar way, be based on the second fragmentation of the conditional element
Figure DEST_PATH_IMAGE116
Second slice of equivalent result element
Figure 94508DEST_PATH_IMAGE102
Obtaining a second intermediate value
Figure DEST_PATH_IMAGE118
Corresponding, second intermediate value
Figure 823299DEST_PATH_IMAGE118
Also belong to the first group.
Step 240, based on the first intermediate element and the first intermediate value
Figure 96980DEST_PATH_IMAGE100
Cooperatively calculating with another party according to the multi-party safety calculation protocol to obtain the first fragment of the cross result
Figure DEST_PATH_IMAGE120
. In some embodiments, step 240 may be performed by crossover result acquisition module 440.
The other party, the second party, performs a symmetric computation with respect to the first party, and in some embodiments, the second party holds a second intermediate element and a second intermediate value in step 230
Figure 816281DEST_PATH_IMAGE118
The first party is based on the first intermediate element and the first intermediate value
Figure 137672DEST_PATH_IMAGE100
A second party holds a second intermediate element and a second intermediate value
Figure 658652DEST_PATH_IMAGE118
And performing collaborative calculation according to a multi-party safety calculation protocol to obtain a cross result. In some embodiments, the interleaved result is stored in a shared-sum form with the first slice of the interleaved result of both parties
Figure 770745DEST_PATH_IMAGE120
Second slice stored in first side, interleaved result
Figure DEST_PATH_IMAGE122
And storing the data in the second party. The two parties can cooperatively calculate the cross result obtained according to the multi-party security calculation protocol without revealing privacy information of each party, and can realize interaction of equivalent result elements.
In some embodiments, specifically, the crossover result can be equivalently expressed as:
Figure DEST_PATH_IMAGE124
wherein, in the formula (4)
Figure DEST_PATH_IMAGE126
An equivalent value representing a second intermediate element held by the second party,
Figure 416490DEST_PATH_IMAGE118
representing a second intermediate value held by the second party.
In some embodiments, a first slice of the interleaved result is obtained
Figure 508949DEST_PATH_IMAGE120
The collaborative calculation is performed according to the cross-G-module calculation protocol. With respect to the cross-G-module computing protocol, further reference may be made to the associated description of FIG. 3.
Step 250, first slicing based on equivalent result elements
Figure 166326DEST_PATH_IMAGE098
With the first segment of the cross result
Figure 787669DEST_PATH_IMAGE120
Computing a first slice of the initial selection result
Figure DEST_PATH_IMAGE128
. In some embodiments, step 250 may be performed by initial selection result acquisition module 450.
In some embodiments, the initial selection result is equivalent to
Figure DEST_PATH_IMAGE130
And an
Figure DEST_PATH_IMAGE132
Figure DEST_PATH_IMAGE134
. Wherein the content of the first and second substances,
Figure DEST_PATH_IMAGE136
equivalent to the crossover result.
In some embodiments, a first slice of the result is initially selected
Figure DEST_PATH_IMAGE138
May be a pair
Figure DEST_PATH_IMAGE140
Get rounded or right upward
Figure DEST_PATH_IMAGE142
And rounding down. It should be noted that the results are equivalent due to the initial selectionAt az, based on the group properties of the conditional element and the result element (the elements are all integers), az must be an integer, so in some embodiments, when
Figure 502070DEST_PATH_IMAGE142
In the case of a fractional number, it is either forensically or rounded down.
In some embodiments, the second party is based on a second slice of equivalent result elements
Figure DEST_PATH_IMAGE144
With the first segment of the cross result
Figure 8007DEST_PATH_IMAGE120
Second segmentation of the initial selection result obtained
Figure DEST_PATH_IMAGE146
May be a pair
Figure DEST_PATH_IMAGE148
Get rounded or right upward
Figure DEST_PATH_IMAGE150
Rounding down, it should be noted that when the first slice of the result is initially selected
Figure DEST_PATH_IMAGE152
When rounding up is adopted in calculation, the second segment of the result is initially selected
Figure 706841DEST_PATH_IMAGE146
Adopting downward rounding; when the first slice of the result is initially selected
Figure 617860DEST_PATH_IMAGE152
When rounding-down is adopted in calculation, the second segment of the result is initially selected
Figure 520088DEST_PATH_IMAGE146
By rounding up, the first segment of the initial selection result is guaranteed
Figure 580448DEST_PATH_IMAGE152
And a second slice of the initial selection result
Figure 851898DEST_PATH_IMAGE146
And the sum, i.e., the correctness of the initial selection result. Both parties can agree in advance on the initial selection results of the parties and the rounding mode of the shared fragment.
At step 260, a first segment of the result of the security selection problem is determined. In some embodiments, step 240 may be performed by the issue results acquisition module 460.
In some embodiments, a first tile based on the initial selection result
Figure 441143DEST_PATH_IMAGE152
And a first fragment of the second result element
Figure DEST_PATH_IMAGE154
A first slice of the result of the security selection problem is determined.
In some embodiments, referring to step 210, the result of the security selection problem is az + n = a (m-n) + n, i.e. the first slice of the result of the security selection problem is the first slice of the initial selection result
Figure 657098DEST_PATH_IMAGE152
And a first fragment of the second result element
Figure 193253DEST_PATH_IMAGE154
The sum of (a) and (b).
In some embodiments, the second party determines a second slice of the result of the security selection issue, the second slice of the result of the security selection issue being the second slice of the initial selection result
Figure 679729DEST_PATH_IMAGE146
And a first fragment of the second result element
Figure 705454DEST_PATH_IMAGE154
The sum of (a) and (b).
At this time, the first party and the second party have already completed the security selection problem, and the first fragment and the second fragment of the result of the security selection problem are the result of the security selection problem, and meanwhile, the first party and the second party do not obtain any other data, so that the privacy data of the parties are protected.
In some embodiments of the present description, there is also provided a multi-party secure computing method or cross-G-module computing protocol, the multi-party secure computing participants comprising two parties, one of which has a first element belonging to a finite group G
Figure DEST_PATH_IMAGE156
With a second element belonging to finite group A
Figure DEST_PATH_IMAGE158
The other party having a third element belonging to the finite group G
Figure DEST_PATH_IMAGE160
And a fourth element belonging to finite group A
Figure DEST_PATH_IMAGE162
The limited group A has a G mode structure, and the mapping of the limited group G on the limited group A to the limited group A meets the distribution rate, and the multi-party security computing task is used for the two-party collaborative computing
Figure DEST_PATH_IMAGE164
And the calculation result and the sharing fragment are stored in the two parties.
FIG. 3 is a schematic diagram of an interaction flow for two parties to perform a cross G-module computation in accordance with some embodiments of the present description.
In some embodiments, one of the parties in the protocol 300 may be a first party in the process 200 and the other party is a second party in the process 200. The third group corresponds to a finite group G, the first group corresponds to a finite group A,
Figure DEST_PATH_IMAGE166
it should be noted that the role of the finite group G on the finite group a can be interpreted as that there is a mapping G × a → a, and if the finite group G includes the element G and the finite group a includes the element a, then the image of (G, a) under the mapping is referred to as the role of G on a, and is denoted as ga.
Specifically, the steps of the cross G-module computing protocol 300 include:
step 231, obtaining a first random number belonging to the finite group G
Figure DEST_PATH_IMAGE168
A second random number belonging to the finite group A
Figure DEST_PATH_IMAGE170
And a first intermediate slice
Figure DEST_PATH_IMAGE172
(ii) a First middle segment
Figure 522887DEST_PATH_IMAGE172
And a second intermediate shard with a second party
Figure DEST_PATH_IMAGE174
The shared shards, which are the sums of the random number operation results, all belong to the finite group a. In some embodiments, the random number operation result is based on
Figure DEST_PATH_IMAGE176
Obtaining; wherein the content of the first and second substances,
Figure DEST_PATH_IMAGE178
a third random number representing the other party belonging to the finite group G,
Figure 689164DEST_PATH_IMAGE170
a fourth random number representing the other party belonging to finite group a.
In some embodiments, the first random number
Figure 358042DEST_PATH_IMAGE168
A second random number
Figure 883282DEST_PATH_IMAGE170
A third random number
Figure 840874DEST_PATH_IMAGE178
And the fourth random number
Figure DEST_PATH_IMAGE180
First intermediate segment
Figure 295995DEST_PATH_IMAGE172
And a second intermediate slice
Figure 22642DEST_PATH_IMAGE174
Generated by a third party. In some embodiments, the third party may be the semi-trusted third party device 130, and in some embodiments, the shared segment and the random number operation result in step 231 may also be calculated by the third party.
Step 232, sending the first transmission data belonging to the finite group G
Figure DEST_PATH_IMAGE182
To the other party; the first transmission data
Figure 29650DEST_PATH_IMAGE182
Based on
Figure DEST_PATH_IMAGE184
Obtaining; acquiring second transmission data of the other party belonging to the finite group G
Figure DEST_PATH_IMAGE186
(ii) a The second transmission data
Figure 723805DEST_PATH_IMAGE186
Based on
Figure DEST_PATH_IMAGE188
Thus obtaining the product.
Step 233, sending the third transmission data belonging to the finite group A
Figure DEST_PATH_IMAGE190
To the other party, the third transmission data
Figure 847531DEST_PATH_IMAGE190
Based on
Figure DEST_PATH_IMAGE192
Obtaining; acquiring fourth transmission data of the other party belonging to finite group A
Figure DEST_PATH_IMAGE194
(ii) a The fourth transmission data
Figure 474691DEST_PATH_IMAGE194
Based on
Figure DEST_PATH_IMAGE196
Thus obtaining the product.
Step 234, based on
Figure DEST_PATH_IMAGE198
Obtaining a first slice of the cross result
Figure DEST_PATH_IMAGE200
In some embodiments, the other party is based on
Figure DEST_PATH_IMAGE202
Second section for obtaining cross result
Figure DEST_PATH_IMAGE204
Figure DEST_PATH_IMAGE206
Namely the crossover result. The principle of the protocol can be expressed as:
Figure DEST_PATH_IMAGE208
in some embodiments, the cross-G-module computing protocol may be expressed in step 220 as finite group G being the third group and finite group A being the first group, wherein
Figure DEST_PATH_IMAGE210
In some embodiments, the crossover result is obtained by calculation in the form of equation (4).
From the above steps, only one interaction is needed for the cross G-module computing protocol. Therefore, combining the aforementioned mathematical knowledge, the communication traffic is reduced accordingly.
It should be noted that the above description related to the flow 200 is only for illustration and description, and does not limit the applicable scope of the present specification. Various modifications and alterations to flow 200 will be apparent to those skilled in the art in light of this description. However, such modifications and variations are intended to be within the scope of the present description. For example, when the security selection problem is a special security selection problem, the second result element n is 0, so in some embodiments, step 210 and step 260 may not be executed, and the equivalent calculation result az of the special security selection problem is obtained directly through steps 220 to 250; further, for example, in step 233, third transmission data belonging to the finite group a is transmitted
Figure 364850DEST_PATH_IMAGE190
To the other party, fourth transmission data belonging to the finite group A of the other party is acquired
Figure 998831DEST_PATH_IMAGE194
And does not represent sending the third transmission data first
Figure 421853DEST_PATH_IMAGE190
To the other party, and acquires the fourth transmission data of the other party
Figure 887207DEST_PATH_IMAGE194
In actual execution, the data may be sent first and then acquired, or may be sent first and then acquiredThe acquisition is performed first and then the transmission is performed, or the acquisition can be performed simultaneously with the transmission.
FIG. 4 is a block diagram of a security selection issue processing system in accordance with some embodiments of the present description.
As shown in fig. 4, the security selection issue processing system 400 may include an equivalent result element obtaining module 410, a first intermediate element obtaining module 420, a first intermediate value obtaining module 430, a crossing result obtaining module 440, an initial selection result obtaining module 450, and an issue result obtaining module 460. These modules may also be implemented as an application or a set of instructions that are read and executed by a processing engine. Further, a module may be any combination of hardware circuitry and applications/instructions. For example, a module may be part of a processor when a processing engine or processor executes an application/set of instructions.
Equivalent result element obtaining module 410 may be used to determine a first tile of a first result element
Figure DEST_PATH_IMAGE212
First slice with second result element
Figure DEST_PATH_IMAGE214
Is the first slice of the equivalent result element
Figure DEST_PATH_IMAGE216
Further description of (a) may be found elsewhere in this specification (e.g., in step 210 and its associated description), and will not be described herein.
The first intermediate element acquisition module 420 may be configured to obtain a first slice based on the conditional element
Figure DEST_PATH_IMAGE218
Generating a first intermediate element; wherein the value of the first intermediate element belongs to a third group; the number of bits of the memory cells for storing the elements in the third group is less than the number of bits of the memory cells for storing the elements in the first group.
More details about the first intermediate element can be found elsewhere in this specification (e.g., in step 220 and its related description), and are not repeated here.
The first intermediate value obtaining module 430 may be configured to obtain a first slice based on the condition element
Figure 835353DEST_PATH_IMAGE218
First slice of the equivalent result element
Figure 661357DEST_PATH_IMAGE216
Obtaining a first intermediate value
Figure DEST_PATH_IMAGE220
(ii) a First intermediate value
Figure 698190DEST_PATH_IMAGE220
Belong to a first group.
Further description of the first intermediate value can be found elsewhere in this specification (e.g., in step 230 and its related description), and will not be repeated herein.
The interleaving result obtaining module 440 may be configured to obtain the first intermediate element and the first intermediate numerical value based on the first intermediate element
Figure 660461DEST_PATH_IMAGE220
Cooperatively calculating with another party according to the multi-party safety calculation protocol to obtain the first fragment of the cross result
Figure DEST_PATH_IMAGE222
More details about the crossover result can be found elsewhere in this specification (e.g., in step 240 and its related description), and are not repeated here.
The initial selection result acquisition module 450 may be configured to obtain a first tile based on equivalent result elements
Figure 774915DEST_PATH_IMAGE216
With the first segment of the cross result
Figure 822636DEST_PATH_IMAGE222
Computing a first slice of the initial selection result
Figure DEST_PATH_IMAGE224
Further description of the initial selection result can be found elsewhere in this specification (e.g., in step 250 and its related description), and will not be repeated herein.
Question result acquisition module 460 may be used to obtain a first slice based on the initial selection result
Figure 226942DEST_PATH_IMAGE224
And a first fragment of the second result element
Figure DEST_PATH_IMAGE226
A first slice of the result of the security selection problem is computed.
Further description of the problem results can be found elsewhere in this specification (e.g., in step 260 and its related description), and will not be repeated herein.
In some embodiments, the first intermediate element acquisition module comprises: computing
Figure DEST_PATH_IMAGE228
Obtaining the first intermediate element; the first slice based on the condition element
Figure DEST_PATH_IMAGE230
First slice of the equivalent result element
Figure DEST_PATH_IMAGE232
Obtaining a first intermediate value
Figure DEST_PATH_IMAGE234
The method comprises the following steps: push button
Figure DEST_PATH_IMAGE236
The first intermediate value is calculated.
In some embodiments, the crossover results, etcIs shown as
Figure DEST_PATH_IMAGE238
(ii) a Wherein the content of the first and second substances,
Figure DEST_PATH_IMAGE240
a second intermediate element representing the other party,
Figure DEST_PATH_IMAGE242
a second intermediate value representing the other party.
In some embodiments, the first slice based on equivalent result elements
Figure 935397DEST_PATH_IMAGE216
With the first segment of the cross result
Figure 88992DEST_PATH_IMAGE222
Computing a first slice of the initial selection result
Figure 325808DEST_PATH_IMAGE224
The method comprises the following steps: to pair
Figure DEST_PATH_IMAGE244
Get rounded or right upward
Figure DEST_PATH_IMAGE246
Rounding down to obtain a first slice of the initial selection result
Figure 314230DEST_PATH_IMAGE224
(ii) a The first segment of the result of the security selection problem is the first segment of the initial selection result
Figure 958750DEST_PATH_IMAGE224
And a first fragment of the second result element
Figure 56150DEST_PATH_IMAGE226
The sum of (a) and (b).
In some embodiments, the first group is a first quotient group Z/NZ, the second group is a second quotient group Z/2Z, the third group is { -1,1}, and N is an integer greater than 2.
In some embodiments, the multi-party secure computing protocol is a cross-G-module computing protocol, the cross-G-module computing participants comprising two parties, one of the parties having a first element belonging to a finite group G
Figure 780261DEST_PATH_IMAGE156
With a second element belonging to finite group A
Figure DEST_PATH_IMAGE248
The other party having a third element belonging to the finite group G
Figure DEST_PATH_IMAGE250
And a fourth element belonging to finite group A
Figure DEST_PATH_IMAGE252
The finite group A has a G-mode structure, and the mapping of the finite group G on the finite group A to the finite group A meets the allocation rate, and the cross G-module calculation is described as the two-party cooperative calculation
Figure DEST_PATH_IMAGE254
The calculation result and the sharing fragment are stored in the two parties; in the cross G-module computing protocol, the finite group G is the third group, the finite group A is the first group,
Figure DEST_PATH_IMAGE256
which comprises the following steps: obtaining a first random number belonging to a finite group G
Figure DEST_PATH_IMAGE258
A second random number belonging to the finite group A
Figure DEST_PATH_IMAGE260
And a first intermediate slice
Figure DEST_PATH_IMAGE262
(ii) a The first intermediate segment
Figure 790285DEST_PATH_IMAGE262
And a second intermediate shard with a second party
Figure DEST_PATH_IMAGE264
The shared shards are the sums of the random number operation results and belong to a limited group A; the result of the random number operation is based on
Figure DEST_PATH_IMAGE266
Obtaining; wherein the content of the first and second substances,
Figure DEST_PATH_IMAGE268
a third random number representing the other party belonging to the finite group G,
Figure 397634DEST_PATH_IMAGE260
a fourth random number representing the other party belonging to finite group a; sending first transmission data belonging to a finite group G
Figure DEST_PATH_IMAGE270
To the other party; the first transmission data
Figure 633312DEST_PATH_IMAGE270
Based on
Figure DEST_PATH_IMAGE272
Obtaining; acquiring second transmission data of the other party belonging to the finite group G
Figure 681603DEST_PATH_IMAGE186
(ii) a The second transmission data
Figure 60763DEST_PATH_IMAGE186
Based on
Figure DEST_PATH_IMAGE274
Obtaining; sending third transmission data belonging to finite group A
Figure DEST_PATH_IMAGE276
To the other party, instituteThe third transmission data
Figure 126546DEST_PATH_IMAGE276
Based on
Figure DEST_PATH_IMAGE278
Obtaining; acquiring fourth transmission data of the other party belonging to finite group A
Figure DEST_PATH_IMAGE280
(ii) a The fourth transmission data
Figure 693312DEST_PATH_IMAGE280
Based on
Figure DEST_PATH_IMAGE282
Obtaining; based on
Figure DEST_PATH_IMAGE284
Obtaining a first slice of the cross result
Figure DEST_PATH_IMAGE286
In some embodiments, the first random number
Figure 612856DEST_PATH_IMAGE258
A second random number
Figure 950034DEST_PATH_IMAGE260
A third random number
Figure 653679DEST_PATH_IMAGE268
And the fourth random number
Figure DEST_PATH_IMAGE288
First intermediate segment
Figure 277165DEST_PATH_IMAGE262
And a second intermediate slice
Figure 203445DEST_PATH_IMAGE264
From the firstAnd (4) three-party generation.
It should be understood that the apparatus shown in fig. 4 and its modules may be implemented in various ways. For example, in some embodiments, an apparatus and its modules may be implemented by hardware, software, or a combination of software and hardware. Wherein the hardware portion may be implemented using dedicated logic; the software portions may then be stored in a memory for execution by a suitable instruction execution device, such as a microprocessor or specially designed hardware. Those skilled in the art will appreciate that the methods and apparatus described above may be implemented using computer executable instructions and/or embodied in processor control code, such code being provided for example on a carrier medium such as a diskette, CD-or DVD-ROM, a programmable memory such as read-only memory (firmware) or a data carrier such as an optical or electronic signal carrier. The apparatus and modules thereof in this specification may be implemented not only by hardware circuits such as very large scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, or programmable hardware devices such as field programmable gate arrays, programmable logic devices, etc., but also by software executed by various types of processors, for example, or by a combination of the above hardware circuits and software (e.g., firmware).
It should be noted that the above descriptions of the apparatus and the modules thereof are only for convenience of description, and should not be construed as limiting the present disclosure to the scope of the illustrated embodiments. It will be appreciated by those skilled in the art that, having the benefit of the teachings of this apparatus, any combination of the various modules or sub-apparatus may be configured to connect to other modules without departing from such teachings. For example, the first intermediate element obtaining module 420 and the first intermediate value obtaining module 430 in fig. 4 may be the same module; in addition, the equivalent result element obtaining module 410, the first intermediate element obtaining module 420, the first intermediate value obtaining module 430, the initial selection result obtaining module 450, and the problem result obtaining module 460 may all be the same module, and any module may perform the required calculation. For another example, each module in the system may be located on the same server, or may belong to different servers. Such variations are within the scope of the present disclosure.
The foregoing description has been directed to specific embodiments of this disclosure. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
The beneficial effects that may be brought by the embodiments of the present description include, but are not limited to: (1) in the process of carrying out safety selection calculation, the participator can obtain the problem result only by once interaction based on the safety selection problem processing method, and compared with the prior scheme, the method has the advantages that the interaction times are reduced, and the transmission pressure of the system is reduced; (2) the two parties do not reveal the privacy data of each party in the processing process, and the data security of each party is protected.
It is to be noted that different embodiments may produce different advantages, and in different embodiments, any one or combination of the above advantages may be produced, or any other advantages may be obtained.
Having thus described the basic concept, it will be apparent to those skilled in the art that the foregoing detailed disclosure is to be regarded as illustrative only and not as limiting the present specification. Various modifications, improvements and adaptations to the present description may occur to those skilled in the art, although not explicitly described herein. Such modifications, improvements and adaptations are proposed in the present specification and thus fall within the spirit and scope of the exemplary embodiments of the present specification.
Also, the description uses specific words to describe embodiments of the description. Reference throughout this specification to "one embodiment," "an embodiment," and/or "some embodiments" means that a particular feature, structure, or characteristic described in connection with at least one embodiment of the specification is included. Therefore, it is emphasized and should be appreciated that two or more references to "an embodiment" or "one embodiment" or "an alternative embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, some features, structures, or characteristics of one or more embodiments of the specification may be combined as appropriate.
Additionally, the order in which the elements and sequences of the process are recited in the specification, the use of alphanumeric characters, or other designations, is not intended to limit the order in which the processes and methods of the specification occur, unless otherwise specified in the claims. While various presently contemplated embodiments of the invention have been discussed in the foregoing disclosure by way of example, it is to be understood that such detail is solely for that purpose and that the appended claims are not limited to the disclosed embodiments, but, on the contrary, are intended to cover all modifications and equivalent arrangements that are within the spirit and scope of the embodiments herein. For example, although the system components described above may be implemented by hardware devices, they may also be implemented by software-only solutions, such as installing the described system on an existing server or mobile device.
Similarly, it should be noted that in the preceding description of embodiments of the present specification, various features are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure aiding in the understanding of one or more of the embodiments. This method of disclosure, however, is not intended to imply that more features than are expressly recited in a claim. Indeed, the embodiments may be characterized as having less than all of the features of a single embodiment disclosed above.
Numerals describing the number of components, attributes, etc. are used in some embodiments, it being understood that such numerals used in the description of the embodiments are modified in some instances by the use of the modifier "about", "approximately" or "substantially". Unless otherwise indicated, "about", "approximately" or "substantially" indicates that the number allows a variation of ± 20%. Accordingly, in some embodiments, the numerical parameters used in the specification and claims are approximations that may vary depending upon the desired properties of the individual embodiments. In some embodiments, the numerical parameter should take into account the specified significant digits and employ a general digit preserving approach. Notwithstanding that the numerical ranges and parameters setting forth the broad scope of the range are approximations, in the specific examples, such numerical values are set forth as precisely as possible within the scope of the application.
For each patent, patent application publication, and other material, such as articles, books, specifications, publications, documents, etc., cited in this specification, the entire contents of each are hereby incorporated by reference into this specification. Except where the application history document does not conform to or conflict with the contents of the present specification, it is to be understood that the application history document, as used herein in the present specification or appended claims, is intended to define the broadest scope of the present specification (whether presently or later in the specification) rather than the broadest scope of the present specification. It is to be understood that the descriptions, definitions and/or uses of terms in the accompanying materials of this specification shall control if they are inconsistent or contrary to the descriptions and/or uses of terms in this specification.
Finally, it should be understood that the embodiments described herein are merely illustrative of the principles of the embodiments of the present disclosure. Other variations are also possible within the scope of the present description. Thus, by way of example, and not limitation, alternative configurations of the embodiments of the specification can be considered consistent with the teachings of the specification. Accordingly, the embodiments of the present description are not limited to only those embodiments explicitly described and depicted herein.

Claims (17)

1. A security selection question processing method, a security selection question participant comprising a first party and a second party, the security selection question being described as selecting a first result element m when a condition element a =1 and a second result element n when a condition element a = 0; the conditional element a, the first result element m and the second result element n of the security selection problem are respectively stored in a first party and a second party in a sharing shard, the sharing shard of the first result element and the sharing shard of the second result element both belong to a first group, the sharing shard of the conditional element belongs to a second group, and the method is executed by any one of the parties of the security selection problem and comprises the following steps:
determining a first segment of a first result element
Figure 863430DEST_PATH_IMAGE001
First slice with second result element
Figure 639625DEST_PATH_IMAGE002
Is the first slice of the equivalent result element
Figure 167165DEST_PATH_IMAGE003
A first slice based on the condition element
Figure 47528DEST_PATH_IMAGE004
Generating a first intermediate element; wherein the value of the first intermediate element belongs to a third group;
a first slice based on the condition element
Figure 440330DEST_PATH_IMAGE004
First slice of the equivalent result element
Figure 747946DEST_PATH_IMAGE005
Obtaining a first intermediate value
Figure 825099DEST_PATH_IMAGE006
(ii) a First intermediate value
Figure 86316DEST_PATH_IMAGE006
Belong to a first group;
based on the first intermediate element and the first intermediate value
Figure 994010DEST_PATH_IMAGE006
Cooperatively calculating with another party according to the multi-party safety calculation protocol to obtain the first fragment of the cross result
Figure 472527DEST_PATH_IMAGE007
First slice based on equivalent result elements
Figure 164539DEST_PATH_IMAGE005
With the first segment of the cross result
Figure 711671DEST_PATH_IMAGE008
Computing a first slice of the initial selection result
Figure 720209DEST_PATH_IMAGE009
First segmentation based on the initial selection result
Figure 626418DEST_PATH_IMAGE009
And a first fragment of the second result element
Figure 930360DEST_PATH_IMAGE002
A first slice of the result of the security selection problem is computed.
2. The method of claim 1, wherein the first slice based on the condition element
Figure 815270DEST_PATH_IMAGE004
Generating a first intermediate element comprising:
computing
Figure 19593DEST_PATH_IMAGE010
Obtaining the first intermediate element;
the first slice based on the condition element
Figure 105492DEST_PATH_IMAGE004
First slice of the equivalent result element
Figure 322497DEST_PATH_IMAGE005
Obtaining a first intermediate value
Figure 948781DEST_PATH_IMAGE006
The method comprises the following steps:
push button
Figure 509076DEST_PATH_IMAGE011
The first intermediate value is calculated.
3. The method of claim 2, wherein the cross result equivalence is expressed as
Figure 90842DEST_PATH_IMAGE012
(ii) a Wherein the content of the first and second substances,
Figure 526634DEST_PATH_IMAGE013
a second intermediate element representing the other party,
Figure 784307DEST_PATH_IMAGE014
a second intermediate value representing the other party.
4. The method of claim 3, wherein the first tile based on equivalent result elements
Figure 949840DEST_PATH_IMAGE005
With the first segment of the cross result
Figure 499246DEST_PATH_IMAGE008
Computing a first slice of the initial selection result
Figure 500962DEST_PATH_IMAGE009
The method comprises the following steps:
to pair
Figure 409662DEST_PATH_IMAGE015
Get rounded or right upward
Figure 6865DEST_PATH_IMAGE016
Rounding down to obtain a first slice of the initial selection result
Figure 290954DEST_PATH_IMAGE009
The first segment of the result of the security selection problem is the first segment of the initial selection result
Figure 278502DEST_PATH_IMAGE009
And a first fragment of the second result element
Figure 112597DEST_PATH_IMAGE002
The sum of (a) and (b).
5. The method of claim 1, wherein the first group is a first quotient Z/NZ, the second group is a second quotient Z/2Z, the third group is { -1,1}, and N is an integer greater than 2.
6. The method of claim 1, wherein the multi-party secure computing protocol is a cross-G-module computing protocol, the cross-G-module computing participants comprising two parties, one of which has a first element belonging to a finite group G
Figure 916037DEST_PATH_IMAGE017
With a second element belonging to finite group A
Figure 685541DEST_PATH_IMAGE018
The other party having a third element belonging to the finite group G
Figure 658920DEST_PATH_IMAGE019
And a fourth element belonging to finite group A
Figure 172072DEST_PATH_IMAGE020
The finite group A has a G-mode structure, and the mapping of the finite group G on the finite group A to the finite group A meets the allocation rate, and the cross G-module calculation is described as the two-party cooperative calculation
Figure 169633DEST_PATH_IMAGE021
The calculation result and the sharing fragment are stored in the two parties;
in the cross G-module computing protocol, the finite group G is the third group, the finite group A is the first group,
Figure 844459DEST_PATH_IMAGE022
which comprises the following steps:
obtaining a first random number belonging to a finite group G
Figure 806599DEST_PATH_IMAGE023
A second random number belonging to the finite group A
Figure 792616DEST_PATH_IMAGE024
And a first intermediate slice
Figure 907334DEST_PATH_IMAGE025
(ii) a The first intermediate segment
Figure 33289DEST_PATH_IMAGE025
And a second intermediate shard with a second party
Figure 217146DEST_PATH_IMAGE026
The shared shards are the sums of the random number operation results and belong to a limited group A; the result of the random number operation is based on
Figure 695269DEST_PATH_IMAGE027
Obtaining; wherein the content of the first and second substances,
Figure 398914DEST_PATH_IMAGE028
a third random number representing the other party belonging to the finite group G,
Figure 621735DEST_PATH_IMAGE024
a fourth random number representing the other party belonging to finite group a;
sending first transmission data belonging to a finite group G
Figure 840358DEST_PATH_IMAGE029
To the other party; the first transmission data
Figure 761653DEST_PATH_IMAGE029
Based on
Figure 834651DEST_PATH_IMAGE030
Obtaining;
acquiring second transmission data of the other party belonging to the finite group G
Figure 350077DEST_PATH_IMAGE031
(ii) a The second transmission data
Figure 188153DEST_PATH_IMAGE031
Based on
Figure 8079DEST_PATH_IMAGE032
Obtaining;
sending third transmission data belonging to finite group A
Figure 732321DEST_PATH_IMAGE033
To the other party, the third transmission data
Figure 700539DEST_PATH_IMAGE033
Based on
Figure 772050DEST_PATH_IMAGE034
Obtaining;
acquiring fourth transmission data of the other party belonging to finite group A
Figure 677558DEST_PATH_IMAGE035
(ii) a The fourth transmission data
Figure 882406DEST_PATH_IMAGE035
Based on
Figure 80913DEST_PATH_IMAGE036
Obtaining;
based on
Figure 541850DEST_PATH_IMAGE037
Obtaining a first slice of the cross result
Figure 690197DEST_PATH_IMAGE038
7. The method of claim 6, wherein:
the first random number
Figure 185769DEST_PATH_IMAGE039
A second random number
Figure 588518DEST_PATH_IMAGE040
A third random number
Figure 959587DEST_PATH_IMAGE041
And the fourth random number
Figure 285526DEST_PATH_IMAGE042
First intermediate segment
Figure 258774DEST_PATH_IMAGE043
And a second intermediate slice
Figure 769390DEST_PATH_IMAGE044
Generated by a third party.
8. A security selection problem handling system, a security selection problem participant comprising a first party and a second party, the security selection problem being described as selecting a first result element m when a condition element a =1 and selecting a second result element n when a condition element a = 0; the conditional element a, the first result element m and the second result element n of the security selection problem are respectively stored in a first party and a second party in a sharing fragment, the sharing fragment of the first result element and the sharing fragment of the second result element both belong to a first group, the sharing fragment of the conditional element belongs to a second group, the number of bits of a storage unit for storing the elements in the first group is greater than the number of bits of a storage unit for storing the elements in the second group, and the method comprises the following steps:
an equivalent result element obtaining module to determine a first slice of a first result element
Figure 378488DEST_PATH_IMAGE045
First slice with second result element
Figure 429489DEST_PATH_IMAGE046
Is the first slice of the equivalent result element
Figure 935207DEST_PATH_IMAGE047
A first intermediate element acquisition module to obtain a first slice based on the conditional element
Figure 147882DEST_PATH_IMAGE048
Generating a first intermediate element; wherein the value of the first intermediate element belongs to a third group; the number of bits of the storage unit for storing the elements in the third group is smaller than the number of bits of the storage unit for storing the elements in the first group;
a first intermediate value obtaining module for obtaining a first slice based on the condition element
Figure 244277DEST_PATH_IMAGE048
First slice of the equivalent result element
Figure 177598DEST_PATH_IMAGE047
Obtaining a first intermediate value
Figure 125437DEST_PATH_IMAGE049
(ii) a First intermediate value
Figure 509014DEST_PATH_IMAGE049
Belong to a first group;
a cross result obtaining module for obtaining a first intermediate value based on the first intermediate element
Figure 623863DEST_PATH_IMAGE049
Cooperatively calculating with another party according to the multi-party safety calculation protocol to obtain the first fragment of the cross result
Figure 485509DEST_PATH_IMAGE050
An initial selection result obtaining module for a first slice based on equivalent result elements
Figure 626203DEST_PATH_IMAGE047
With the first segment of the cross result
Figure 180682DEST_PATH_IMAGE050
Computing a first slice of the initial selection result
Figure 313985DEST_PATH_IMAGE051
A problem result acquisition module for a first slice based on the initial selection result
Figure 979321DEST_PATH_IMAGE051
And a first fragment of the second result element
Figure 980382DEST_PATH_IMAGE052
A first slice of the result of the security selection problem is computed.
9. The system of claim 8, wherein the first intermediate element acquisition module is further to:
computing
Figure 909024DEST_PATH_IMAGE053
Obtaining the first intermediate element;
the first intermediate value obtaining module is further configured to:
push button
Figure 372366DEST_PATH_IMAGE054
The first intermediate value is calculated.
10. The system of claim 9, wherein the cross result equivalence is expressed as
Figure 893258DEST_PATH_IMAGE055
(ii) a Wherein the content of the first and second substances,
Figure 876389DEST_PATH_IMAGE056
a second intermediate element representing the other party,
Figure 444774DEST_PATH_IMAGE057
a second intermediate value representing the other party.
11. The system of claim 10, wherein the initial selection result acquisition module is further configured to:
to pair
Figure 205532DEST_PATH_IMAGE058
Get rounded or right upward
Figure 838769DEST_PATH_IMAGE059
Rounding down to obtain a first slice of the initial selection result
Figure 504104DEST_PATH_IMAGE051
The first segment of the result of the security selection problem is the first segment of the initial selection result
Figure 197385DEST_PATH_IMAGE051
And a first fragment of the second result element
Figure 556691DEST_PATH_IMAGE052
The sum of (a) and (b).
12. The system of claim 8, wherein the first group is a first quotient group Z/NZ, the second group is a second quotient group Z/2Z, the third group is { -1,1}, and N is an integer greater than 2.
13. The system of claim 8, wherein the multi-party secure computing protocol is a cross-G-module computing protocol, the cross-G-module computing participants comprising two parties, one of which has a first element belonging to a finite group G
Figure 787428DEST_PATH_IMAGE060
With a second element belonging to finite group A
Figure 620517DEST_PATH_IMAGE061
The other party having a third element belonging to the finite group G
Figure 530704DEST_PATH_IMAGE062
And a fourth element belonging to finite group A
Figure 209597DEST_PATH_IMAGE063
The finite group A has a G mode structure and there is a finite group GThe mapping of the effect on the finite group A satisfies the distribution ratio, and the cross G-module calculation is described as the two-party cooperative calculation
Figure 919058DEST_PATH_IMAGE064
The calculation result and the sharing fragment are stored in the two parties;
in the cross G-module computing protocol, the finite group G is the third group, the finite group A is the first group,
Figure 56254DEST_PATH_IMAGE065
the cross result obtaining module is further configured to:
obtaining a first random number belonging to a finite group G
Figure 825758DEST_PATH_IMAGE066
A second random number belonging to the finite group A
Figure 793277DEST_PATH_IMAGE067
And a first intermediate slice
Figure 103167DEST_PATH_IMAGE068
(ii) a The first intermediate segment
Figure 766973DEST_PATH_IMAGE068
And a second intermediate shard with a second party
Figure 647991DEST_PATH_IMAGE069
The shared shards are the sums of the random number operation results and belong to a limited group A; the result of the random number operation is based on
Figure 298546DEST_PATH_IMAGE070
Obtaining; wherein h1 represents the third random number belonging to the finite group G,
Figure 346880DEST_PATH_IMAGE067
represents the other partyA fourth random number belonging to finite group a;
sending first transmission data belonging to a finite group G
Figure 946751DEST_PATH_IMAGE071
To the other party; the first transmission data
Figure 807127DEST_PATH_IMAGE071
Based on
Figure 302568DEST_PATH_IMAGE072
Obtaining;
acquiring second transmission data of the other party belonging to the finite group G
Figure 160453DEST_PATH_IMAGE073
(ii) a The second transmission data
Figure 801781DEST_PATH_IMAGE073
Based on
Figure 661152DEST_PATH_IMAGE074
Obtaining;
sending third transmission data belonging to finite group A
Figure 689895DEST_PATH_IMAGE075
To the other party, the third transmission data
Figure 614120DEST_PATH_IMAGE075
Based on
Figure 101165DEST_PATH_IMAGE076
Obtaining;
acquiring fourth transmission data of the other party belonging to finite group A
Figure 882170DEST_PATH_IMAGE077
(ii) a The fourth transmission data
Figure 775040DEST_PATH_IMAGE077
Based on
Figure 31184DEST_PATH_IMAGE078
Obtaining;
based on
Figure 725733DEST_PATH_IMAGE079
Obtaining a first slice of the cross result
Figure 211728DEST_PATH_IMAGE080
14. The system of claim 13, wherein:
the first random number
Figure 14730DEST_PATH_IMAGE081
A second random number
Figure 920238DEST_PATH_IMAGE082
A third random number
Figure 122156DEST_PATH_IMAGE083
And the fourth random number
Figure 385909DEST_PATH_IMAGE084
First intermediate segment
Figure 753173DEST_PATH_IMAGE085
And a second intermediate slice
Figure 229416DEST_PATH_IMAGE086
Generated by a third party.
15. A security selection issue processing apparatus comprising a processor and a storage medium, the storage medium storing computer instructions, the processor being configured to execute at least a portion of the computer instructions to implement the method recited in claims 1-7.
16. A multi-party secure computing method, wherein the multi-party secure computing participants comprise two parties, one of which has a first element belonging to a limited group G
Figure 600354DEST_PATH_IMAGE087
With a second element belonging to finite group A
Figure 625554DEST_PATH_IMAGE088
The other party having a third element belonging to the finite group G
Figure 75253DEST_PATH_IMAGE089
And a fourth element belonging to finite group A
Figure 154854DEST_PATH_IMAGE090
Wherein the finite group A has a G-mode structure, and there is a mapping of the finite group G on the finite group A, which is applied to the finite group A, to satisfy the allocation rate, and the cross G-module calculation is described as the two parties cooperatively calculating the cross result
Figure 504933DEST_PATH_IMAGE091
The calculation result and the sharing fragment are stored in the two parties;
the method comprises the following steps:
obtaining a first random number belonging to a finite group G
Figure 376068DEST_PATH_IMAGE092
A second random number belonging to the finite group A
Figure 155805DEST_PATH_IMAGE093
And a first intermediate slice
Figure 95555DEST_PATH_IMAGE094
(ii) a The first intermediate segment
Figure 863922DEST_PATH_IMAGE094
And a second intermediate shard with a second party
Figure 100431DEST_PATH_IMAGE095
The shared shards are the sums of the random number operation results and belong to a limited group A; the result of the random number operation is based on
Figure 164202DEST_PATH_IMAGE096
Obtaining; wherein the content of the first and second substances,
Figure 254780DEST_PATH_IMAGE097
a third random number representing the other party belonging to the finite group G,
Figure 140303DEST_PATH_IMAGE093
a fourth random number representing the other party belonging to finite group a;
sending first transmission data belonging to a finite group G
Figure 743454DEST_PATH_IMAGE098
To the other party; the first transmission data
Figure 763363DEST_PATH_IMAGE098
Based on
Figure 113091DEST_PATH_IMAGE099
Obtaining;
acquiring second transmission data of the other party belonging to the finite group G
Figure 856050DEST_PATH_IMAGE100
(ii) a The second transmission data
Figure 174643DEST_PATH_IMAGE100
Based on
Figure 635842DEST_PATH_IMAGE101
Obtaining;
sending third transmission data belonging to finite group A
Figure 973283DEST_PATH_IMAGE102
To the other party, the third transmission data
Figure 523080DEST_PATH_IMAGE102
Based on
Figure 671296DEST_PATH_IMAGE103
Obtaining;
acquiring fourth transmission data of the other party belonging to finite group A
Figure 462534DEST_PATH_IMAGE104
(ii) a The fourth transmission data
Figure 23572DEST_PATH_IMAGE104
Based on
Figure 865757DEST_PATH_IMAGE105
Obtaining;
based on
Figure 853DEST_PATH_IMAGE106
And obtaining a first fragment of the crossing result.
17. The method of claim 16, wherein:
the first random number
Figure 702224DEST_PATH_IMAGE092
A second random number
Figure 443784DEST_PATH_IMAGE093
A third random number
Figure 685016DEST_PATH_IMAGE097
And the fourth random number
Figure 689881DEST_PATH_IMAGE107
First intermediate segment
Figure 753915DEST_PATH_IMAGE094
And a second intermediate slice
Figure 713213DEST_PATH_IMAGE095
Generated by a third party.
CN202010651278.0A 2020-07-08 2020-07-08 Safety selection method and system Active CN111539041B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010651278.0A CN111539041B (en) 2020-07-08 2020-07-08 Safety selection method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010651278.0A CN111539041B (en) 2020-07-08 2020-07-08 Safety selection method and system

Publications (2)

Publication Number Publication Date
CN111539041A true CN111539041A (en) 2020-08-14
CN111539041B CN111539041B (en) 2020-11-13

Family

ID=71976478

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010651278.0A Active CN111539041B (en) 2020-07-08 2020-07-08 Safety selection method and system

Country Status (1)

Country Link
CN (1) CN111539041B (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112416213A (en) * 2020-12-02 2021-02-26 浙江诺诺网络科技有限公司 List checking method, list checking device and storage medium
CN112989421A (en) * 2021-03-31 2021-06-18 支付宝(杭州)信息技术有限公司 Method and system for processing safety selection problem
CN113094763A (en) * 2021-04-12 2021-07-09 支付宝(杭州)信息技术有限公司 Selection problem processing method and system for protecting data privacy
CN113158239A (en) * 2021-03-31 2021-07-23 支付宝(杭州)信息技术有限公司 Selection problem processing method for protecting data privacy
CN113158254A (en) * 2021-05-18 2021-07-23 支付宝(杭州)信息技术有限公司 Selection problem processing method and system for protecting data privacy
CN113836596A (en) * 2021-09-26 2021-12-24 支付宝(杭州)信息技术有限公司 Method, device and system for determining selection result fragmentation by two-party security selection

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109388960A (en) * 2018-10-24 2019-02-26 全链通有限公司 Information sharing and multi-party computations model based on block chain
WO2019128567A1 (en) * 2017-12-29 2019-07-04 阿里巴巴集团控股有限公司 Data auditing method and device
CN110058843A (en) * 2019-03-27 2019-07-26 阿里巴巴集团控股有限公司 Generation method, device and the server of pseudo random number
CN110661764A (en) * 2018-06-29 2020-01-07 阿里巴巴集团控股有限公司 Input acquisition method and device of secure multi-party computing protocol
US20200090552A1 (en) * 2018-09-18 2020-03-19 Baidu Online Network Technology (Beijing) Co., Ltd. Secure multi-party computation method, device, apparatus and computer-readable storage medium
CN111008256A (en) * 2019-10-29 2020-04-14 矩阵元技术(深圳)有限公司 Spatial data distribution pattern analysis method based on safe multi-party calculation
CN111523143A (en) * 2020-07-03 2020-08-11 支付宝(杭州)信息技术有限公司 Method and device for clustering private data of multiple parties

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019128567A1 (en) * 2017-12-29 2019-07-04 阿里巴巴集团控股有限公司 Data auditing method and device
CN110661764A (en) * 2018-06-29 2020-01-07 阿里巴巴集团控股有限公司 Input acquisition method and device of secure multi-party computing protocol
US20200090552A1 (en) * 2018-09-18 2020-03-19 Baidu Online Network Technology (Beijing) Co., Ltd. Secure multi-party computation method, device, apparatus and computer-readable storage medium
CN109388960A (en) * 2018-10-24 2019-02-26 全链通有限公司 Information sharing and multi-party computations model based on block chain
CN110058843A (en) * 2019-03-27 2019-07-26 阿里巴巴集团控股有限公司 Generation method, device and the server of pseudo random number
CN111008256A (en) * 2019-10-29 2020-04-14 矩阵元技术(深圳)有限公司 Spatial data distribution pattern analysis method based on safe multi-party calculation
CN111523143A (en) * 2020-07-03 2020-08-11 支付宝(杭州)信息技术有限公司 Method and device for clustering private data of multiple parties

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112416213A (en) * 2020-12-02 2021-02-26 浙江诺诺网络科技有限公司 List checking method, list checking device and storage medium
CN112989421A (en) * 2021-03-31 2021-06-18 支付宝(杭州)信息技术有限公司 Method and system for processing safety selection problem
CN113158239A (en) * 2021-03-31 2021-07-23 支付宝(杭州)信息技术有限公司 Selection problem processing method for protecting data privacy
CN113158239B (en) * 2021-03-31 2022-04-26 支付宝(杭州)信息技术有限公司 Selection problem processing method for protecting data privacy
CN113094763A (en) * 2021-04-12 2021-07-09 支付宝(杭州)信息技术有限公司 Selection problem processing method and system for protecting data privacy
CN113094763B (en) * 2021-04-12 2022-03-29 支付宝(杭州)信息技术有限公司 Selection problem processing method and system for protecting data privacy
CN113158254A (en) * 2021-05-18 2021-07-23 支付宝(杭州)信息技术有限公司 Selection problem processing method and system for protecting data privacy
CN113836596A (en) * 2021-09-26 2021-12-24 支付宝(杭州)信息技术有限公司 Method, device and system for determining selection result fragmentation by two-party security selection

Also Published As

Publication number Publication date
CN111539041B (en) 2020-11-13

Similar Documents

Publication Publication Date Title
CN111539041B (en) Safety selection method and system
CN111475854B (en) Collaborative computing method and system for protecting data privacy of two parties
Dong et al. Eastfly: Efficient and secure ternary federated learning
De Cock et al. High performance logistic regression for privacy-preserving genome analysis
Ishikawa et al. Efficient card-based protocols for generating a hidden random permutation without fixed points
CN107196926B (en) Cloud outsourcing privacy set comparison method and device
CN113158239B (en) Selection problem processing method for protecting data privacy
CN107040385A (en) A kind of realization method and system of the signature verification algorithm based on SM2 elliptic curves
CN111404943B (en) Data processing method and device, electronic equipment and computer readable storage medium
CN111783129A (en) Data processing method and system for protecting privacy
CN112532383B (en) Privacy protection calculation method based on secret sharing
CN107888385B (en) RSA modulus generation method, RSA key generation method, computer device, and medium
Luo et al. SVFL: Efficient secure aggregation and verification for cross-silo federated learning
CN115333726A (en) Fixed point number secure multiplication method based on vector space secret sharing
CN113094763B (en) Selection problem processing method and system for protecting data privacy
Suresh Mpcleague: robust MPC platform for privacy-preserving machine learning
WO2010123151A2 (en) Pairing arithmetic device, pairing arithmetic method and recording medium having pairing arithmetic program recorded thereon
Yan et al. Cybercryptography: Applicable Cryptography for Cyberspace Security
CN112989421A (en) Method and system for processing safety selection problem
CN105099693B (en) A kind of transmission method and transmitting device
Ismail et al. Bezier coefficients matrix for elgamal elliptic curve cryptosystem
Cheng et al. Private inference for deep neural networks: a secure, adaptive, and efficient realization
CN115473633A (en) Method and device for cooperatively generating SM2 digital signature by multiple parties
CN113158254B (en) Selection problem processing method and system for protecting data privacy
Ge et al. Practical two-party privacy-preserving neural network based on secret sharing

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40035830

Country of ref document: HK