CN114968900A - Secret sharing method and device, computer node and secret sharing system - Google Patents

Secret sharing method and device, computer node and secret sharing system Download PDF

Info

Publication number
CN114968900A
CN114968900A CN202210529136.6A CN202210529136A CN114968900A CN 114968900 A CN114968900 A CN 114968900A CN 202210529136 A CN202210529136 A CN 202210529136A CN 114968900 A CN114968900 A CN 114968900A
Authority
CN
China
Prior art keywords
computer
node
intermediate variable
computer node
nodes
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.)
Pending
Application number
CN202210529136.6A
Other languages
Chinese (zh)
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.)
Huakong Tsingjiao Information Technology Beijing Co Ltd
Original Assignee
Huakong Tsingjiao Information Technology Beijing 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 Huakong Tsingjiao Information Technology Beijing Co Ltd filed Critical Huakong Tsingjiao Information Technology Beijing Co Ltd
Priority to CN202210529136.6A priority Critical patent/CN114968900A/en
Publication of CN114968900A publication Critical patent/CN114968900A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17331Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Abstract

The application provides a secret sharing method, a secret sharing device, a computer node and a secret sharing system, wherein the method comprises the following steps: calculating first initial data through a graphic processor of the first computer node to obtain a first intermediate variable, wherein the first initial data is locally stored data of the first computer node; transmitting the first intermediate variable to other computer nodes so that the other computer nodes can calculate the target data according to the first intermediate variable; receiving second intermediate variables transmitted by other computer nodes; and calculating target data according to the first intermediate variable and the second intermediate variable through the graphics processor.

Description

Secret sharing method and device, computer node and secret sharing system
Technical Field
The application relates to the technical field of private data processing, in particular to a secret sharing method, a secret sharing device, a computer node and a secret sharing system.
Background
The currently disclosed secret sharing framework is based on CPU calculation, and for secret sharing of N computer nodes, data needs to be split into N parts in the CPU, and then sent to each node, and then calculated on each node by using the CPU. Such sharing techniques are relatively inefficient in data processing.
Disclosure of Invention
The application aims to provide a secret sharing method, a secret sharing device, a computer node and a secret sharing system so as to solve the problem of low data processing efficiency in the secret sharing technology.
In a first aspect, the present invention provides a secret sharing method applied to a first computer node, including:
calculating first initial data through a graphic processor of the first computer node to obtain a first intermediate variable, wherein the first initial data is locally stored data of the first computer node;
transmitting the first intermediate variable to other computer nodes so that the other computer nodes can calculate the target data according to the first intermediate variable;
receiving second intermediate variables transmitted by other computer nodes;
and calculating to obtain target data according to the first intermediate variable and the second intermediate variable through the graphic processor.
In an alternative embodiment, said transmitting said first intermediate variable to other computer nodes comprises:
communicating with the other computer nodes via a communication technique of the graphics processor to transmit the first intermediate variable to the other computer nodes;
the receiving of the second intermediate variable transmitted by the other computer node comprises:
communicating with the other computer node via a communication technique of the graphics processor to receive a second intermediate variable transmitted by the other computer node.
In an alternative embodiment, the first computer node belongs to one computer node in a secret sharing system, the secret sharing system comprising a first node group and a second node group, the first computer node belonging to one computer node in the first node group;
the calculating, by the graphics processor, target data according to the first intermediate variable and the second intermediate variable includes:
and calculating to obtain target data according to the first intermediate variable and the second intermediate variable of each computer node in the second node group through the graphic processor.
In an alternative embodiment, the second intermediate variables include: a plurality of intermediate values; the obtaining, by the graphics processor, target data by calculation according to the first intermediate variable and the second intermediate variable of each computer node in the second node group includes:
selecting at least one target intermediate value from the second intermediate variables of each computer node in the second node group;
and calculating to obtain target data according to the first intermediate variable and the target intermediate value through the graphic processor.
In an alternative embodiment, said transmitting said first intermediate variable to other computer nodes comprises:
transmitting the first intermediate variable to each computer node in the second node group;
the receiving of the second intermediate variable transmitted by the other computer node comprises:
and receiving the second intermediate variable transmitted by each computer node in the second node group.
In an alternative embodiment, the method further comprises: and transmitting the target data to the memory storage of the first computer node through the graphic processor.
In an alternative embodiment, the method further comprises: obtaining target data for other computer nodes of the first set of node groups; and calculating to obtain original data according to the target data of all the computer nodes in the first group of node groups.
In a second aspect, the present invention provides a secret sharing apparatus applied to a first computer node, including:
a first calculation module, configured to calculate, by using a graphics processor of the first computer node, first initial data to obtain a first intermediate variable, where the first initial data is data locally stored in the first computer node;
the first transmission module is used for transmitting the first intermediate variable to other computer nodes so that the other computer nodes can calculate the target data according to the first intermediate variable;
the receiving module is used for receiving second intermediate variables transmitted by other computer nodes;
and the second calculation module is used for calculating target data according to the first intermediate variable and the second intermediate variable through the graphics processor.
In a third aspect, the present invention provides a computer node comprising: a processor, a memory storing machine-readable instructions executable by the processor, the machine-readable instructions when executed by the processor performing the steps of the method of any of the preceding embodiments when the computer node is run.
In a fourth aspect, the present invention provides a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, performs the steps of the method according to any of the preceding embodiments.
In a fifth aspect, the present invention provides a secret sharing system, including: a plurality of computer nodes as described in the previous embodiments;
each computer node is configured to perform the steps of the secret sharing method described above.
The beneficial effects of the embodiment of the application are that: by processing the secret sharing correlation calculation in the graphics processor, the processing requirement of a Central Processing Unit (CPU) can be reduced, and the graphics processor can also improve the efficiency of data processing. In addition, when the intermediate variable is transmitted, the intermediate variable does not need to be stored in the memory firstly and then transmitted through the communication technology of the CPU, and the secret sharing efficiency can also be improved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are required to be used in the embodiments will be briefly described below, it should be understood that the following drawings only illustrate some embodiments of the present application and therefore should not be considered as limiting the scope, and for those skilled in the art, other related drawings can be obtained from the drawings without inventive effort.
Fig. 1 is a schematic diagram of interaction of a secret sharing system according to an embodiment of the present disclosure;
FIG. 2 is a block diagram of a computer node according to an embodiment of the present application;
fig. 3 is a flowchart of a secret sharing method according to an embodiment of the present application;
FIG. 4 is an exemplary flowchart of step 240 of a secret sharing method provided by an embodiment of the present application;
fig. 5 is a schematic diagram of functional modules of a secret sharing device according to an embodiment of the present disclosure.
Detailed Description
The technical solution in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application.
It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, it need not be further defined and explained in subsequent figures. Meanwhile, in the description of the present application, the terms "first", "second", and the like are used only for distinguishing the description, and are not to be construed as indicating or implying relative importance.
Secret sharing refers to the joint participation of multi-party computer nodes in operation, and the original text can be recovered through data in partial computer nodes. And (2-4) threshold secret sharing means that 4 computer nodes participate in operation, and the secret sharing of the data original text can be recovered through the data of any two computer nodes.
The inventor knows that the secret sharing framework disclosed in the prior art is based on CPU calculation, and for secret sharing of N computer nodes, data needs to be split into N parts in the CPU, then the data is respectively sent to each node, and then the CPU is used for calculation on each node. To achieve computational acceleration, the computational process may be transferred to a GPU for implementation, and the computational results transferred from the GPU to a CPU and communicated using a CPU methodology for transmission to other computer nodes.
In the above current situation, the computation intensive operations such as matrix multiplication and convolution on the CPU are inefficient, and if the computation is performed on the GPU, data needs to be transmitted from the GPU to the memory in the communication process of the secret sharing system, and then the data is communicated by using the CPU method, and when the computation is intensive, the data needs to be frequently transmitted between the GPU and the memory, so that the processing performance of the whole secret sharing is reduced.
Based on the research of the current situation, the application provides a secret sharing method, after the GPU is used for calculation, the GPU communication technology is used for transmitting the generated result after calculation to the GPU of other computer nodes, the other computer nodes can directly perform efficient calculation on the GPU, and the communication cost is reduced while the GPU is used for accelerating the calculation.
To facilitate understanding of the embodiment, a detailed description is first given of an operating environment for executing the secret sharing method disclosed in the embodiment of the present application.
Fig. 1 is a schematic diagram illustrating interaction of the secret sharing system according to the embodiment of the present disclosure. The secret sharing system may include a plurality of computer nodes communicatively coupled for data communication or interaction over a network. The computer node may be a network server, a database server, etc. The computer node may also be a Personal Computer (PC), a tablet PC, a smart phone, a Personal Digital Assistant (PDA), or the like.
Each computer node may be configured to compute local data to obtain an intermediate variable, and then may transmit the intermediate variable to other computer nodes in the secret sharing system.
In one embodiment, the secret sharing system may include a first computer node and a second computer node. The first computer node is used for obtaining a first intermediate variable through calculation according to the locally stored data and transmitting the first intermediate variable to the second computer node. The first computing node is configured to compute to obtain first target data according to the first intermediate variable and the second intermediate variable.
The second computer node may be configured to calculate a second intermediate variable according to locally stored data, and transmit the second intermediate variable to the first computer node; and the second computing node is used for computing to obtain second target data according to the first intermediate variable and the second intermediate variable.
In another embodiment, as shown in FIG. 1, the secret sharing system may include a plurality of node groups (two node groups 110 and 120 are shown), each of which may include at least two computer nodes. Each computer node can receive the intermediate variable transmitted by each computer node in other node groups, and the target data is obtained through calculation according to the intermediate variable obtained through calculation and the received intermediate variable transmitted by each computer node in other node groups.
In this embodiment, each computer node is in a Graphics Processing Unit (GPU for short).
As shown in fig. 2, is a block schematic diagram of an electronic device. The computer node may comprise a memory 111, a processor 113. It will be understood by those of ordinary skill in the art that the structure shown in fig. 2 is merely illustrative and is not intended to limit the structure of a computer node. For example, a computer node may also include more or fewer components than shown in FIG. 2, or have a different configuration than shown in FIG. 2.
The memory 111 and the processor 113 are electrically connected to each other directly or indirectly to realize data transmission or interaction. For example, the components may be electrically connected to each other via one or more communication buses or signal lines. The processor 113 is used to execute the executable modules stored in the memory.
The Memory 111 may be, but is not limited to, a Random Access Memory (RAM), a Read Only Memory (ROM), a Programmable Read-Only Memory (PROM), an Erasable Read-Only Memory (EPROM), an electrically Erasable Read-Only Memory (EEPROM), and the like. The memory 111 is configured to store a program, and the processor 113 executes the program after receiving an execution instruction, and the method executed by the computer node defined by the process disclosed in any embodiment of the present application may be applied to the processor 113, or implemented by the processor 113.
The processor 113 may be an integrated circuit chip having signal processing capability. The Processor 113 may be a general-purpose Processor, and includes a Central Processing Unit (CPU), a Network Processor (NP), and the like; the Integrated Circuit may also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component. The various methods, steps, and logic blocks disclosed in the embodiments of the present application may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The computer node in this embodiment may be configured to perform each step in each method provided in this embodiment. The implementation of the secret sharing method is described in detail below by several embodiments.
Please refer to fig. 3, which is a flowchart illustrating a secret sharing method according to an embodiment of the present disclosure. The secret sharing method in this embodiment may be applied to a first computer node in a secret sharing system, where the first computer node may be any one computer node in the secret sharing system. The specific flow shown in fig. 3 will be described in detail below.
Step 210, calculating the first initial data through the graphics processor of the first computer node to obtain a first intermediate variable.
The first initial data is locally stored data of the first computer node. Illustratively, the data stored locally by the first computer node may be ciphertext data. The calculation performed at step 210 may also be based on a calculation of ciphertext.
For example, the first initial data may be that, before secret sharing is implemented, data currently needed for calculation may be divided into multiple shares by a designated computer node, and the multiple shares of data are distributed and sent to multiple computer nodes to be calculated by the multiple computer nodes together, and secret sharing is implemented.
The designated computer node may be any one of the computer nodes in the secret sharing system, or may be a central node that has access to all of the computer nodes in the secret sharing system and monitors the respective computer nodes.
In one example, the first computer node may have stored therein data: x is the number of 1 ,x′ 1 ,y 1 ,y′ 1 ,r 12 ,r′ 12 . The first intermediate variable may be calculated by the following equation:
t 1 =x 1 y′ 1 -r 12 ,t′ 1 =x′ 1 y 1 -r′ 12
wherein, t is 1 And t' 1 Representing a first intermediate variable.
In another example, the first computer node may have stored therein data: x is the number of 2 ,x′ 2 ,y 2 ,y′ 2 ,r 12 ,r′ 12 . The first intermediate variable may be calculated by the following equation:
t 2 =x 2 y′ 2 +r 12 ,t′ 2 =x′ 2 y 2 +r′ 12
wherein, t is 2 And t' 2 Representing a first intermediate variable.
Step 220, transmitting the first intermediate variable to other computer nodes, so that the other computer nodes can calculate the target data according to the first intermediate variable.
Alternatively, the first computer node may transmit the first intermediate variable to other computer nodes through the graphics processor.
Illustratively, the communication technology through the graphics processor communicates with the other computer node to transmit the first intermediate variable to the other computer node. For example, the communication technology of the graphics processor may be GPUDirect RDMA technology.
Step 230, receiving the second intermediate variable transmitted by other computer nodes.
Optionally, the first computer node may receive second intermediate variables of other computer nodes through the graphics processor.
Illustratively, the communication technique through the graphics processor communicates with the other computer node to receive the second intermediate variable transmitted by the other computer node.
And 240, calculating target data according to the first intermediate variable and the second intermediate variable through the graphics processor.
Optionally, a plurality of intermediate values may be included in each of the first intermediate variable and the second intermediate variable. All intermediate values of the first intermediate variable, as well as some intermediate values of other computer nodes, may be used by the target data. In one example, the target data may be calculated by the following formula:
z 1 =(t 1 +t b )/2 d ,z′ 1 =(t′ 1 +t′ a )/2 d
wherein z is 1 And z' 1 Target data, t, representing the first computer node 1 And t' 1 Representing a first intermediate variable, t, calculated by a first computer node b Representing part of the intermediate value, t ', of one of the computer nodes' a Representing a partial median value of another computer node, d representing a predetermined constant.
After the target data is obtained, the target data can be transmitted to the memory storage of the first computer node through the graphics processor.
Through the steps, the processing requirement of the CPU can be reduced through the related calculation processed in the graphics processor, and the processing efficiency of the graphics processor can be improved. In addition, when the intermediate variable is transmitted, the intermediate variable does not need to be stored in the memory firstly and then transmitted through the communication technology of the CPU, and the secret sharing efficiency can also be improved. Further, 8.6 times of delay improvement and 9 times of bandwidth improvement can be achieved by using GPU communication technology GPUDirect RDMA, and the secret sharing system with higher communication cost can have higher performance improvement.
In some embodiments, the first computer node belongs to a computer node in a secret sharing system. The secret sharing system includes a first group of nodes and a second group of nodes, the first computer node belonging to one of the computer nodes in the first group of nodes.
The first node group may include the first computer node and may also include other computer nodes. The second node group may also include a plurality of computer nodes.
Wherein each group of nodes may include a set of data. For example, the data stored in each computer node includes x data, y data, and r data. The data of each computer node x in each group of node groups can form complete x data; the data of each computer node x in each group of node groups can form complete x data; the y data of each computer node in each group of node groups can form complete y data; the sum of the data for each computer node r in each node group may be equal to 0.
In the following, it is exemplified that the secret sharing system includes two node groups, each of which includes two computer nodes. Wherein, the first node group can comprise two computer nodes respectively S 1 And S 2 (ii) a The second node group may include two computer nodes: s. the a And S b
Wherein, the computer node S 1 The data stored in (a) may include: x is the number of 1 ,x′ 1 ,y 1 ,y′ 1 ,r 12 ,r′ 12 (ii) a Computer node S 2 The data stored in (a) may include: x is the number of 2 ,x′ 2 ,y 2 ,y′ 2 ,r 12 ,r′ 12 (ii) a Computer node S a The data stored in (a) may include: x is the number of a ,x′ a ,y a ,y′a,r ab ,r′ ab (ii) a Computer node S b The data stored in (a) may include: x is the number of b ,x′ b ,y b ,y′ b ,r ab ,r′ ab
Wherein, the data in each computing node satisfies the following conditions: x ═ x 1 +x 2 =x a +x b ;y=y 1 +y 2 =y a +y b ;x′ 1 =x a ;x′ 2 =x b ;x′ a =x 2 ;x′ b =x 1 ;y′ 1 =y a ;y′ 2 =y b ;y′ a =y 2 ;y′ b =y 1 ;r 12 +r′ 12 =0;r ab +r′ ab =0。
And the xy satisfies: z is xy/2 d And z represents the original data.
Wherein x and y represent two fixed point numbers of related calculation in parameter secret sharing.
In this embodiment, step 240 may include: and calculating to obtain target data according to the first intermediate variable and the second intermediate variable of each computer node in the second node group through the graphic processor.
When the target data is calculated, the intermediate variables of other computer nodes in the node group where the computer node is located can be used instead of the intermediate variables of the other computer nodes, and only the intermediate variables of the computer node and the intermediate variables of the computer nodes in the other node groups can be used.
In one embodiment, the second intermediate variables corresponding to the respective computer nodes in the second set of nodes include: a plurality of intermediate values. Optionally, as shown in fig. 4, step 240 may include step 241 and step 242.
Step 241, selecting at least one target intermediate value from the second intermediate variables of each computer node in the second node group.
In the above-listed example, each intermediate variable may include two intermediate values, and one intermediate value from each second intermediate variable may be used as the target intermediate value.
The first computer node is computer node S 1 For example, an intermediate value may be selected from each of the second intermediate variables corresponding to the computer nodes in the second group of nodes. For example, computer node S a The second intermediate variable of (a) may comprise an intermediate value: t is t a And t' a (ii) a Computer node S b The second intermediate variable of (a) may comprise an intermediate value: t is t b And t' b . Then it can be from computer node S a Is selected as the intermediate value t' a (ii) a Can be from computer node S b May comprise an intermediate value t b
The first computer node is computer node S 2 For example, an intermediate value may be selected from each of the second intermediate variables corresponding to the computer nodes in the second group of nodes. Then it can be from computer node S a Second intermediate variable of (1) selects an intermediate value t a (ii) a Can be from computer node S b May comprise an intermediate value of t' b
Step 242, calculating, by the graphics processor, target data according to the first intermediate variable and the target intermediate value.
The first computer node is computer node S 1 For example, the target data can be calculated by the following formula: z is a radical of 1 =(t 1 +t b )/2 d ,z′ 1 =(t′ 1 +t′ a )/2 d
The first computer node is computer node S 2 For example, the target data can be calculated by the following formula: z is a radical of 2 =(t 2 +t a )/2 d ,z′ 2 =(t′ 2 +t′ b )/2 d
After each computer node in the second group of nodes receives the first intermediate variable sent by each computer node in the first group of nodes, part of the intermediate values may also be selected in the manner of step 241 and step 242 for calculating the target data to which the computer node belongs.
With computer node S a For example, an intermediate value may be selected from each of the first intermediate variables corresponding to the computer nodes in the first group of nodes. For example, computer node S 1 The first intermediate variable of (a) may comprise an intermediate value: t is t 1 And t' 1 (ii) a Computer node S 2 The first intermediate variable of (a) may comprise an intermediate value: t is t 2 And t' 2 . May be from computer node S 1 Is selected to be an intermediate value t' 1 (ii) a Can be from computer node S 2 May comprise an intermediate value t 2 . The computer node S can be calculated by the following formula a The target data of (2): z is a radical of a =(t a +t 2 )/2 d ,z′ a =(t′ a +t′ 1 )/2 d
With computer node S b For example, an intermediate value may be selected from each of the first intermediate variables corresponding to the computer nodes in the first group of nodes. Can be from computer node S 1 Is selected to be the intermediate value t 1 (ii) a Can be from computer node S 2 May comprise an intermediate value of t' 2 . The target data can be calculated by the following formula: z is a radical of 2 =(y b +t 1 )/2 d ,z′ 2 =(t′ b +t′ 2 )/2 d
When the secret sharing system comprises two node groups, when the target data is calculated, the intermediate variable of the computer node of the group where the secret sharing system is located can be not used, and the intermediate variable can be only transmitted to the computer nodes in other node groups. Step 220 may include: the first intermediate variable is transmitted to each computer node in the second node group.
Step 230 may include: second intermediate variables transmitted by the respective computer nodes in the second node group are received.
In the embodiment of the present application, the original data z may also be recovered based on the target data of the group in which the computer is located. Step 240 may be followed by: obtaining target data for other computer nodes of the first set of node groups; and calculating to obtain original data according to the target data of all the computer nodes in the first group of node groups.
Computer node S can be obtained 1 And computer node S 2 The target data of (2): z is a radical of 1 、z′ 1 、z 2 、z′ 2
According to computer node S 1 And computer node S 2 The target data of (2) can be calculated to obtain the raw data:
Figure BDA0003645482000000131
it can be determined that the number of node groups included in the secret sharing system, the number of computer nodes in each node group can be set as needed, and the content of the local ciphertext data included in each computer node may also be different from the data in the above example, and the local ciphertext data of each computer node may also be completely different from the data in the above example, depending on the usage scenario of the actual secret sharing method.
Through the steps, the original data can be recovered based on the target data, the calculation can be distributed on a plurality of computer nodes, the original data can be recovered based on the target data of each computer node, and secret sharing can be realized. Further, since the correlation calculation is implemented in the graphic processor, the efficiency of the calculation can be improved. In addition, the communication technology of the graphic processor can be used, and the communication efficiency among the computer nodes can be improved.
Based on the same application concept, a secret sharing device corresponding to the secret sharing method is further provided in the embodiment of the present application, and as the principle of solving the problem of the device in the embodiment of the present application is similar to that in the embodiment of the secret sharing method, reference may be made to the description in the embodiment of the method for implementing the device in the embodiment of the present application, and repeated details are not described again.
Please refer to fig. 5, which is a schematic diagram of functional modules of a secret sharing device according to an embodiment of the present disclosure. Each module in the secret sharing apparatus in this embodiment is configured to perform each step in the foregoing method embodiment. The secret sharing apparatus includes: a first calculation module 310, a first transmission module 320, a reception module 330, and a second calculation module 340; the contents of each module are as follows:
a first calculating module 310, configured to calculate, by using a graphics processor of the first computer node, first initial data to obtain a first intermediate variable, where the first initial data is data locally stored in the first computer node;
the first transmission module 320 is used for transmitting the first intermediate variable to other computer nodes so that the other computer nodes can calculate the target data according to the first intermediate variable;
a receiving module 330, configured to receive a second intermediate variable transmitted by another computer node;
the second calculating module 340 is configured to calculate, by the graphics processor, target data according to the first intermediate variable and the second intermediate variable.
In one possible embodiment, the first transmission module 320 is configured to communicate with the other computer node through a communication technology of the graphics processor to transmit the first intermediate variable to the other computer node;
a receiving module 330, configured to communicate with the other computer node through the communication technology of the graphics processor to receive the second intermediate variable transmitted by the other computer node.
In one possible embodiment, the first computer node belongs to a computer node in a secret sharing system, the secret sharing system comprising a first group of nodes and a second group of nodes, the first computer node belonging to a computer node in the first group of nodes;
the second calculating module 340 is configured to calculate, by the graphics processor, target data according to the first intermediate variable and the second intermediate variable of each computer node in the second node group.
In one possible embodiment, the second intermediate variable comprises: a plurality of intermediate values; a second calculation module 340 for selecting at least one target intermediate value from the second intermediate variables of each computer node in the second node group; and calculating to obtain target data according to the first intermediate variable and the target intermediate value through the graphic processor.
In one possible embodiment, the first transmission module 320 is configured to transmit the first intermediate variable to each computer node in the second node group;
a receiving module 330, configured to receive the second intermediate variable transmitted by each computer node in the second node group.
In one possible embodiment, the secret sharing apparatus may further include: and the second transmission module is used for transmitting the target data to the memory storage of the first computer node through the graphic processor.
In a possible embodiment, the secret sharing apparatus may further include: a recovery module for obtaining target data of other computer nodes of the first set of node groups; and calculating to obtain original data according to the target data of all the computer nodes in the first group of node groups.
In addition, an embodiment of the present application further provides a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the steps of the secret sharing method in the foregoing method embodiment are executed.
The computer program product of the secret sharing method provided in the embodiment of the present application includes a computer-readable storage medium storing a program code, where instructions included in the program code may be used to execute the steps of the secret sharing method in the above method embodiment, which may be referred to specifically in the above method embodiment, and details are not described herein again.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus and method can be implemented in other ways. The apparatus embodiments described above are merely illustrative, and for example, the flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
In addition, functional modules in the embodiments of the present application may be integrated together to form an independent part, or each module may exist separately, or two or more modules may be integrated to form an independent part.
The functions, if implemented in the form of software functional modules and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application or portions thereof that substantially contribute to the prior art may be embodied in the form of a software product stored in a storage medium and including instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes. It should be noted that, in this document, relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising … …" does not exclude the presence of additional identical elements in the process, method, article, or apparatus that comprises the element.
The above description is only a preferred embodiment of the present application and is not intended to limit the present application, and various modifications and changes may be made by those skilled in the art. Any modification, equivalent replacement, improvement and the like made within the spirit and principle of the present application shall be included in the protection scope of the present application. It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, it need not be further defined and explained in subsequent figures.
The above description is only for the specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present application, and shall be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (10)

1. A secret sharing method applied to a first computer node, comprising:
calculating first initial data through a graphic processor of the first computer node to obtain a first intermediate variable, wherein the first initial data is locally stored data of the first computer node;
transmitting the first intermediate variable to other computer nodes so that the other computer nodes can calculate the target data according to the first intermediate variable;
receiving second intermediate variables transmitted by other computer nodes;
and calculating to obtain target data according to the first intermediate variable and the second intermediate variable through the graphic processor.
2. The method of claim 1, wherein said transmitting the first intermediate variable to other computer nodes comprises:
communicating with the other computer nodes via a communication technique of the graphics processor to transmit the first intermediate variable to the other computer nodes;
the receiving of the second intermediate variable transmitted by the other computer node comprises:
communicating with the other computer node via a communication technique of the graphics processor to receive a second intermediate variable transmitted by the other computer node.
3. The method of claim 1, wherein the first computer node belongs to one computer node in a secret sharing system, the secret sharing system comprising a first group of nodes and a second group of nodes, the first computer node belonging to one computer node in the first group of nodes;
the calculating, by the graphics processor, target data according to the first intermediate variable and the second intermediate variable includes:
and calculating to obtain target data according to the first intermediate variable and the second intermediate variable of each computer node in the second node group through the graphic processor.
4. The method of claim 3, wherein the second intermediate variable comprises: a plurality of intermediate values; the obtaining, by the graphics processor, target data by calculation according to the first intermediate variable and the second intermediate variable of each computer node in the second node group includes:
selecting at least one target intermediate value from the second intermediate variables of each computer node in the second node group;
and calculating to obtain target data according to the first intermediate variable and the target intermediate value through the graphic processor.
5. The method of claim 3, wherein transmitting the first intermediate variable to other computer nodes comprises:
transmitting the first intermediate variable to each computer node in the second node group;
the receiving of the second intermediate variable transmitted by the other computer node comprises:
and receiving the second intermediate variable transmitted by each computer node in the second node group.
6. The method of claim 3, further comprising:
obtaining target data for other computer nodes of the first set of node groups;
and calculating to obtain original data according to the target data of all the computer nodes in the first group of node groups.
7. A secret sharing apparatus applied to a first computer node, comprising:
a first calculation module, configured to calculate, by using a graphics processor of the first computer node, first initial data to obtain a first intermediate variable, where the first initial data is data locally stored in the first computer node;
the first transmission module is used for transmitting the first intermediate variable to other computer nodes so that the other computer nodes can calculate the target data according to the first intermediate variable;
the receiving module is used for receiving second intermediate variables transmitted by other computer nodes;
and the second calculation module is used for calculating target data according to the first intermediate variable and the second intermediate variable through the graphics processor.
8. A computer node, comprising: a processor, a memory storing machine-readable instructions executable by the processor, the machine-readable instructions when executed by the processor performing the steps of the method of any of claims 1 to 6 when the computer node is run.
9. A computer-readable storage medium, having stored thereon a computer program which, when being executed by a processor, is adapted to carry out the steps of the method according to any one of claims 1 to 6.
10. A secret sharing system, comprising: a plurality of the computer nodes of claim 8;
each computer node is adapted to perform the steps of the method of any of claims 1-6.
CN202210529136.6A 2022-05-16 2022-05-16 Secret sharing method and device, computer node and secret sharing system Pending CN114968900A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210529136.6A CN114968900A (en) 2022-05-16 2022-05-16 Secret sharing method and device, computer node and secret sharing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210529136.6A CN114968900A (en) 2022-05-16 2022-05-16 Secret sharing method and device, computer node and secret sharing system

Publications (1)

Publication Number Publication Date
CN114968900A true CN114968900A (en) 2022-08-30

Family

ID=82984039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210529136.6A Pending CN114968900A (en) 2022-05-16 2022-05-16 Secret sharing method and device, computer node and secret sharing system

Country Status (1)

Country Link
CN (1) CN114968900A (en)

Similar Documents

Publication Publication Date Title
CN110210610B (en) Convolution calculation accelerator, convolution calculation method and convolution calculation device
CN110163609B (en) Method and device for processing data in block chain
CN112506469B (en) Method and device for processing private data
CN108845828B (en) Coprocessor, matrix operation acceleration method and system
CN111695696A (en) Method and device for model training based on federal learning
CN112765616A (en) Multi-party security calculation method and device, electronic equipment and storage medium
CN113489583B (en) Data processing method and device in multi-party privacy intersection and electronic equipment
CN113221183A (en) Method, device and system for realizing privacy protection of multi-party collaborative update model
CN112560107B (en) Method and device for processing private data
CN112862091B (en) Resource multiplexing type neural network hardware accelerating circuit based on quick convolution
CN111914987A (en) Data processing method and device based on neural network, equipment and readable medium
CN106682258A (en) Method and system for multi-operand addition optimization in high-level synthesis tool
WO2023124371A1 (en) Data processing apparatus and method, and chip, computer device and storage medium
CN114968900A (en) Secret sharing method and device, computer node and secret sharing system
CN111367848B (en) Data processing device, related equipment and method for block chain
CN116633526A (en) Data processing method, device, equipment and medium
CN107220702B (en) Computer vision processing method and device of low-computing-capacity processing equipment
CN112784315A (en) Multiplication calculation method, device and storage medium in SPDZ series protocol
CN110515591A (en) Random digit generation method and device based on block chain
CN115346099A (en) Image convolution method, chip, equipment and medium based on accelerator chip
WO2019117758A1 (en) Method and device for calculating a hash function
CN111193648B (en) Data transmission method for reducing CAN bus load, terminal equipment and storage medium
CN109559225B (en) Transaction method and device
CN108322316B (en) Method and device for determining information propagation heat and computing equipment
CN116055049B (en) Multiparty secure computing method, device, system, electronic equipment and storage medium

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