CN114968900A - 秘密分享方法、装置、计算机节点和秘密分享*** - Google Patents
秘密分享方法、装置、计算机节点和秘密分享*** Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17331—Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供了一种秘密分享方法、装置、计算机节点和秘密分享***,其中,该方法包括:通过该第一计算机节点的图形处理器,对第一初始数据进行计算,得到第一中间变量,该第一初始数据为该第一计算机节点的本地存储的数据;将该第一中间变量传输给其它计算机节点,以供其它计算机节点根据该第一中间变量计算所属的目标数据;接收其它计算机节点传输的第二中间变量;通过该图形处理器,根据该第一中间变量和该第二中间变量计算得到目标数据。
Description
技术领域
本申请涉及隐私数据处理技术领域,具体而言,涉及一种秘密分享方法、装置、计算机节点和秘密分享***。
背景技术
当前公开的秘密分享框架都是基于CPU计算的,对于N个计算机节点的秘密分享,需要在CPU中将数据拆分为N份后,分别发送给各节点,然后在各节点上使用CPU进行计算。但是此种共享技术的数据处理的效率相对较低。
发明内容
本申请的目的在于提供一种秘密分享方法、装置、计算机节点和秘密分享***,以改善秘密分享技术中处理数据效率低的问题。
第一方面,本发明提供一种秘密分享方法,应用于第一计算机节点,包括:
通过所述第一计算机节点的图形处理器,对第一初始数据进行计算,得到第一中间变量,所述第一初始数据为所述第一计算机节点的本地存储的数据;
将所述第一中间变量传输给其它计算机节点,以供其它计算机节点根据所述第一中间变量计算所属的目标数据;
接收其它计算机节点传输的第二中间变量;
通过所述图形处理器,根据所述第一中间变量和所述第二中间变量计算得到目标数据。
在可选的实施方式中,所述将所述第一中间变量传输给其它计算机节点,包括:
通过所述图形处理器的通信技术与所述其它计算机节点通信,以将所述第一中间变量传输给其它计算机节点;
所述接收其它计算机节点传输的第二中间变量,包括:
通过所述图形处理器的通信技术与所述其它计算机节点通信,以接收所述其它计算机节点传输的第二中间变量。
在可选的实施方式中,所述第一计算机节点属于秘密分享***中的一个计算机节点,所述秘密分享***包括第一节点组和第二节点组,所述第一计算机节点属于所述第一节点组中的一个计算机节点;
所述通过所述图形处理器,根据所述第一中间变量和所述第二中间变量计算得到目标数据,包括:
通过所述图形处理器,根据所述第一中间变量和所述第二节点组中的各个计算机节点的第二中间变量计算得到目标数据。
在可选的实施方式中,所述第二中间变量包括:多项中间值;所述通过所述图形处理器,根据所述第一中间变量和所述第二节点组中的各个计算机节点的第二中间变量计算得到目标数据,包括:
从所述第二节点组中每一个计算机节点的第二中间变量中选取至少一个目标中间值;
通过所述图形处理器,根据所述第一中间变量与所述目标中间值,计算得到目标数据。
在可选的实施方式中,所述将所述第一中间变量传输给其它计算机节点,包括:
将所述第一中间变量传输给所述第二节点组中的各个计算机节点;
所述接收其它计算机节点传输的第二中间变量,包括:
接收所述第二节点组中的各个计算机节点传输的第二中间变量。
在可选的实施方式中,所述方法还包括:通过所述图形处理器将所述目标数据传输给所述第一计算机节点的内存存储。
在可选的实施方式中,所述方法还包括:获取所述第一组节点组的其它计算机节点的目标数据;根据所述第一组节点组中的所有计算机节点的目标数据,计算得到原始数据。
第二方面,本发明提供一种秘密分享装置,应用于第一计算机节点,包括:
第一计算模块,用于通过所述第一计算机节点的图形处理器,对第一初始数据进行计算,得到第一中间变量,所述第一初始数据为所述第一计算机节点的本地存储的数据;
第一传输模块,用于将所述第一中间变量传输给其它计算机节点,以供其它计算机节点根据所述第一中间变量计算所属的目标数据;
接收模块,用于接收其它计算机节点传输的第二中间变量;
第二计算模块,用于通过所述图形处理器,根据所述第一中间变量和所述第二中间变量计算得到目标数据。
第三方面,本发明提供一种计算机节点,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当计算机节点运行时,所述机器可读指令被所述处理器执行时执行如前述实施方式任一所述的方法的步骤。
第四方面,本发明提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如前述实施方式任一所述的方法的步骤。
第五方面,本发明提供一种秘密分享***,包括:多个前述实施方式所述的计算机节点;
各个计算机节点用于执行上述的秘密分享方法中的步骤。
本申请实施例的有益效果是:通过在图形处理器中处理秘密分享的相关计算,可以降低中央处理器(central processing unit,简称:CPU)的处理需求,该图形处理器处理也能够提高数据处理的效率。另外,在传输中间变量时不需要将中间变量先存入内存,再通过CPU的通信技术传输,也能够提高秘密分享的效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的秘密分享***的交互的示意图;
图2为本申请实施例提供的计算机节点的方框示意图;
图3为本申请实施例提供的秘密分享方法的流程图;
图4为本申请实施例提供的秘密分享方法的步骤240的示例性流程图;
图5为本申请实施例提供的秘密分享装置的功能模块示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
秘密共享是指多方计算机节点共同参与运算,通过部分计算机节点中的数据可以恢复出原文。其中,(2-4)门限秘密分享表示共4方计算机节点参与运算、通过任意两方计算机节点的数据即可恢复出数据原文的秘密分享。
经发明人了解到,当前公开的秘密分享框架都是基于CPU计算的,对于N个计算机节点的秘密分享,需要在CPU中将数据拆分为N份后,分别发送给各节点,然后在各节点上使用CPU在进行计算。为了获得计算上的加速,可以将计算过程转移到GPU上进行实施,再将计算结果从GPU传输到CPU上并使用CPU方法通信,以传输给其它计算机节点。
在以上现状中,在CPU上进行矩阵乘法、卷积等计算密集的计算效率较低,而如果在GPU进行计算,在秘密分享***的通信过程中,还需要将数据从GPU传输到内存中,然后再使用CPU方法进行通信,在计算密集时需要频繁将数据在GPU和内存间进行传输,使得整个秘密分享的处理性能降低。
基于上述现状的研究,本申请提供了一种秘密分享方法,可以在GPU上进行计算后,使用GPU通信技术将计算后产生的传输到其它计算机节点的GPU上,其它计算机节点就可以直接在GPU上进行高效计算,在使用GPU加速计算的同时,降低了通信的成本。
为便于对本实施例进行理解,首先对执行本申请实施例所公开的一种秘密分享方法的运行环境进行详细介绍。
如图1所示,是本申请实施例提供的秘密分享***进行交互的示意图。该秘密分享***可以包括多个计算机节点,各个计算机节点通过网络进行通信连接,以进行数据通信或交互。该计算机节点可以是网络服务器、数据库服务器等。该计算机节点也可以是个人电脑(personal computer,PC)、平板电脑、智能手机、个人数字助理(personal digitalassistant,PDA)等。
各个计算机节点可以用于对本地数据进行计算,得到中间变量,然后可以将中间变量传输给该秘密分享***中的其它计算机节点。
在一个实施方式中,该秘密分享***中可以包括第一计算机节点和第二计算机节点。该第一计算机节点,用于根据本地存储的数据计算得到第一中间变量,并将该第一中间变量传输给该第二计算机节点。该第一计算节点,用于根据该第一中间变量和该第二中间变量,计算得到第一目标数据。
该第二计算机节点可以用于根据本地存储的数据计算得到第二中间变量,并将该第二中间变量传输给该第一计算机节点;该第二计算节点,用于根据该第一中间变量和该第二中间变量,计算得到第二目标数据。
在另一个实施方式中,如图1所示,该秘密分享***中可以包括多个节点组(图中示出了两个节点组110和120),每一个节点组可以包括至少两个计算机节点。每一个计算机节点可以接收其它节点组中的各个计算机节点传输的中间变量,并根据自身计算得到的中间变量和接收到的其它节点组中的各个计算机节点传输的中间变量计算得到目标数据。
本实施例中,各个计算机节点在图形处理器(Graphics Processing Unit,简称:GPU)。
如图2所示,是电子设备的方框示意图。计算机节点可以包括存储器111、处理器113。本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对计算机节点的结构造成限定。例如,计算机节点还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。
上述的存储器111与处理器113相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。上述的处理器113用于执行存储器中存储的可执行模块。
其中,存储器111可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(ProgrammableRead-Only Memory,简称PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,简称EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,简称EEPROM)等。其中,存储器111用于存储程序,所述处理器113在接收到执行指令后,执行所述程序,本申请实施例任一实施例揭示的过程定义的计算机节点所执行的方法可以应用于处理器113中,或者由处理器113实现。
上述的处理器113可能是一种集成电路芯片,具有信号的处理能力。上述的处理器113可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(digital signalprocessor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本实施例中的计算机节点可以用于执行本申请实施例提供的各个方法中的各个步骤。下面通过几个实施例详细描述秘密分享方法的实现过程。
请参阅图3,是本申请实施例提供的秘密分享方法的流程图。本实施例中的秘密分享方法可以应用于秘密分享***中的第一计算机节点,该第一计算机节点可以是该秘密分享***中的任意一个计算机节点。下面将对图3所示的具体流程进行详细阐述。
步骤210,通过该第一计算机节点的图形处理器,对第一初始数据进行计算,得到第一中间变量。
该第一初始数据为该第一计算机节点的本地存储的数据。示例性地,该第一计算机节点本地存储的数据可以是密文数据。步骤210所执行的计算也可以基于密文的计算。
示例性地,该第一初始数据可以是在实现秘密分享之前,可以由指定计算机节点将当前需要用于计算的数据划分成多份,并将多份数据分布发送给多个计算机节点,以由多个计算机节点共同进行计算,以及实现秘密分享。
该指定计算机节点可以是秘密分享***中的任意一个计算机节点,也可以是能够访问该秘密分享***中所有计算机节点的一个用于监控各个计算机节点的中央节点。
在一个实例中,该第一计算机节点中可以存储有数据:x1,x′1,y1,y′1,r12,r′12。可以通过以下公式计算得到第一中间变量:
t1=x1y′1-r12,t′1=x′1y1-r′12;
其中,该t1和t′1表示第一中间变量。
在另一个实例中,该第一计算机节点中可以存储有数据:x2,x′2,y2,y′2,r12,r′12。可以通过以下公式计算得到第一中间变量:
t2=x2y′2+r12,t′2=x′2y2+r′12;
其中,该t2和t′2表示第一中间变量。
步骤220,将该第一中间变量传输给其它计算机节点,以供其它计算机节点根据该第一中间变量计算所属的目标数据。
可选地,可以该第一计算机节点可以通过该图形处理器将该第一中间变量传输给其它计算机节点。
示例性地,通过该图形处理器的通信技术与该其它计算机节点通信,以将该第一中间变量传输给其它计算机节点。例如,该图形处理器的通信技术可以是GPUDirect RDMA技术。
步骤230,接收其它计算机节点传输的第二中间变量。
可选地,该第一计算机节点可以通过该图形处理器接收其它计算机节点的第二中间变量。
示例性地,通过该图形处理器的通信技术与该其它计算机节点通信,以接收该其它计算机节点传输的第二中间变量。
步骤240,通过该图形处理器,根据该第一中间变量和该第二中间变量计算得到目标数据。
可选地,该第一中间变量和第二中间变量中均可以包括多项中间值。可以通过该目标数据使用该第一中间变量的全部中间值,以及其它计算机节点的部分中间值。在一个实例中,可以通过以下公式计算得到目标数据:
z1=(t1+tb)/2d,z′1=(t′1+t′a)/2d;
其中,z1和z′1表示该第一计算机节点的目标数据,t1和t′1表示第一计算机节点计算得到的第一中间变量,tb表示其中一个计算机节点的部分中间值,t′a表示另一个计算机节点的部分中间值,d表示预先设定的常数。
在得到目标数据后,还可以通过该图形处理器将该目标数据传输给该第一计算机节点的内存存储。
通过上述步骤,通过在图形处理器中处理的相关计算,可以降低CPU的处理需求,该图形处理器处理也能够提高处理的效率。另外,在传输中间变量时不需要将中间变量先存入内存,再通过CPU的通信技术传输,也能够提高秘密分享的效率。进一步地,使用GPU通信技术GPUDirect RDMA可以实现8.6倍的延迟提升以及9倍的带宽提升,可以使得通信成本较高的秘密分享***有更高的性能提升。
在一些实施方式中,该第一计算机节点属于秘密分享***中的一个计算机节点。秘密分享***包括第一节点组和第二节点组,该第一计算机节点属于该第一节点组中的一个计算机节点。
该第一节点组可以包括第一计算机节点,还可以包括其它计算机节点。该第二节点组也可以包括多个计算机节点。
其中,每一组节点组可以包括一套数据。例如,每一个计算机节点中存储的数据均包括x数据、y数据和r数据。每一组节点组中的各个计算机节点x数据可以形成完整x数据;每一组节点组中的各个计算机节点x数据可以形成完整x数据;每一组节点组中的各个计算机节点y数据可以形成完整y数据;每一组节点组中的各个计算机节点r数据之和可以等于0。
下面以秘密分享***包括两个节点组,每个节点组包括两个计算机节点为例。其中,第一节点组中可以包括两个计算机节点分别为S1和S2;第二节点组中可以包括两个计算机节点分别为:Sa和Sb。
其中,计算机节点S1中存储的数据可以包括:x1,x′1,y1,y′1,r12,r′12;计算机节点S2中存储的数据可以包括:x2,x′2,y2,y′2,r12,r′12;计算机节点Sa中存储的数据可以包括:xa,x′a,ya,y′a,rab,r′ab;计算机节点Sb中存储的数据可以包括:xb,x′b,yb,y′b,rab,r′ab。
其中,各个计算节点中的数据满足以下条件:x=x1+x2=xa+xb;y=y1+y2=ya+yb;x′1=xa;x′2=xb;x′a=x2;x′b=x1;y′1=ya;y′2=yb;y′a=y2;y′b=y1;r12+r′12=0;rab+r′ab=0。
且上述xy满足:z=xy/2d,z表示原始数据。
其中,x、y表示参数秘密分享中的相关计算的两个定点数。
在此实施方式中,步骤240可以包括:通过该图形处理器,根据该第一中间变量和该第二节点组中的各个计算机节点的第二中间变量计算得到目标数据。
在计算目标数据时,可以不使用计算机节点自身所在节点组中的其它计算机节点的中间变量,仅使用自身的中间变量和其它节点组中的各个计算机节点的中间变量。
在一种实施方式中,第二组节点组中的各个计算机节点对应的第二中间变量包括:多项中间值。可选地,如图4所示,步骤240可以包括步骤241和步骤242。
步骤241,从该第二节点组中每一个计算机节点的第二中间变量中选取至少一个目标中间值。
以上面列举的实例为例,每一项中间变量可以包括两项中间值,则可以从每一项第二中间变量一个中间值,作为目标中间值。
以第一计算机节点是计算机节点S1为例,则可以从第二组节点组中计算机节点对应的各个第二中间变量分别选取一个中间值。例如,计算机节点Sa的第二中间变量可以包括中间值:ta和t′a;计算机节点Sb的第二中间变量可以包括中间值:tb和t′b。则可以从计算机节点Sa的第二中间变量选择中间值t′a;可以从计算机节点Sb的第二中间变量可以包括中间值tb。
以第一计算机节点是计算机节点S2为例,则可以从第二组节点组中计算机节点对应的各个第二中间变量分别选取一个中间值。则可以从计算机节点Sa的第二中间变量选择中间值ta;可以从计算机节点Sb的第二中间变量可以包括中间值t′b。
步骤242,通过该图形处理器,根据该第一中间变量与该目标中间值,计算得到目标数据。
以第一计算机节点是计算机节点S1为例,可以通过以下公式计算得到目标数据:z1=(t1+tb)/2d,z′1=(t′1+t′a)/2d。
以第一计算机节点是计算机节点S2为例,可以通过以下公式计算得到目标数据:z2=(t2+ta)/2d,z′2=(t′2+t′b)/2d。
其中,第二组节点组中的各个计算机节点在接收到第一组节点组中的各个计算机节点发送的第一中间变量后,也可以采用步骤241和步骤242的方式选出部分中间值,用于计算其所属的目标数据。
以计算机节点Sa为例,可以从第一组节点组中计算机节点对应的各个第一中间变量分别选取一个中间值。例如,计算机节点S1的第一中间变量可以包括中间值:t1和t′1;计算机节点S2的第一中间变量可以包括中间值:t2和t′2。则可以从计算机节点S1的第一中间变量选择中间值t′1;可以从计算机节点S2的第一中间变量可以包括中间值t2。则可以通过以下公式计算得到计算机节点Sa的目标数据:za=(ta+t2)/2d,z′a=(t′a+t′1)/2d。
以计算机节点Sb为例,可以从第一组节点组中计算机节点对应的各个第一中间变量分别选取一个中间值。可以从计算机节点S1的第一中间变量选择中间值t1;可以从计算机节点S2的第一中间变量可以包括中间值t′2。可以通过以下公式计算得到目标数据:z2=(yb+t1)/2d,z′2=(t′b+t′2)/2d。
当秘密分享***中包括两个节点组为时,在计算目标数据时,可以不使用其自身所在组的计算机节点的中间变量,则可以仅将中间变量传输给其它节点组中的计算机节点。步骤220可以包括:将该第一中间变量传输给该第二节点组中的各个计算机节点。
步骤230可以包括:接收该第二节点组中的各个计算机节点传输的第二中间变量。
本申请实施例中,还可以基于计算机所在组的目标数据,恢复出原始数据z。在步骤240之后还可以包括:获取该第一组节点组的其它计算机节点的目标数据;根据该第一组节点组中的所有计算机节点的目标数据,计算得到原始数据。
可以获得计算机节点S1和计算机节点S2的目标数据:z1、z′1、z2、z′2。
根据计算机节点S1和计算机节点S2的目标数据可以计算得到原始数据:
可以确定的是,秘密分享***的所包含的节点组的组数,各节点组中的计算机节点的数量可以按需设置,以及各个计算机节点中所包含的本地密文数据的内容也可以与上述实例中的数据不同,实际秘密分享方法的使用场景的不同,各计算机节点的本地密文数据也可以完全不同。
通过上述步骤,可以实现基于目标数据恢复出原始数据,可以实分布在多个计算机节点上的计算,还能够基于各个计算机节点的目标数据恢复出原始数据,从可以实现秘密分享。进一步地,由于在图形处理器中实现相关计算,能够提高计算的效率。另外,还能够使用图形处理器的通信技术,也能够提高各个计算机节点之间的通信效率。
基于同一申请构思,本申请实施例中还提供了与秘密分享方法对应的秘密分享装置,由于本申请实施例中的装置解决问题的原理与前述的秘密分享方法实施例相似,因此本实施例中的装置的实施可以参见上述方法的实施例中的描述,重复之处不再赘述。
请参阅图5,是本申请实施例提供的秘密分享装置的功能模块示意图。本实施例中的秘密分享装置中的各个模块用于执行上述方法实施例中的各个步骤。秘密分享装置包括:第一计算模块310、第一传输模块320、接收模块330以及第二计算模块340;其中各个模块的内容如下所示:
第一计算模块310,用于通过该第一计算机节点的图形处理器,对第一初始数据进行计算,得到第一中间变量,该第一初始数据为该第一计算机节点的本地存储的数据;
第一传输模块320,用于将该第一中间变量传输给其它计算机节点,以供其它计算机节点根据该第一中间变量计算所属的目标数据;
接收模块330,用于接收其它计算机节点传输的第二中间变量;
第二计算模块340,用于通过该图形处理器,根据该第一中间变量和该第二中间变量计算得到目标数据。
一种可能的实施方式中,第一传输模块320,用于通过该图形处理器的通信技术与该其它计算机节点通信,以将该第一中间变量传输给其它计算机节点;
接收模块330,用于通过该图形处理器的通信技术与该其它计算机节点通信,以接收该其它计算机节点传输的第二中间变量。
一种可能的实施方式中,该第一计算机节点属于秘密分享***中的一个计算机节点,该秘密分享***包括第一节点组和第二节点组,该第一计算机节点属于该第一节点组中的一个计算机节点;
第二计算模块340,用于通过该图形处理器,根据该第一中间变量和该第二节点组中的各个计算机节点的第二中间变量计算得到目标数据。
一种可能的实施方式中,该第二中间变量包括:多项中间值;第二计算模块340,用于从该第二节点组中每一个计算机节点的第二中间变量中选取至少一个目标中间值;通过该图形处理器,根据该第一中间变量与该目标中间值,计算得到目标数据。
一种可能的实施方式中,第一传输模块320,用于将该第一中间变量传输给该第二节点组中的各个计算机节点;
接收模块330,用于接收该第二节点组中的各个计算机节点传输的第二中间变量。
一种可能的实施方式中,秘密分享装置还可以包括:第二传输模块,用于通过该图形处理器将该目标数据传输给该第一计算机节点的内存存储。
一种可能的实施方式中,秘密分享装置还可以包括:恢复模块,用于获取该第一组节点组的其它计算机节点的目标数据;根据该第一组节点组中的所有计算机节点的目标数据,计算得到原始数据。
此外,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的秘密分享方法的步骤。
本申请实施例所提供的秘密分享方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的秘密分享方法的步骤,具体可参见上述方法实施例,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种秘密分享方法,其特征在于,应用于第一计算机节点,包括:
通过所述第一计算机节点的图形处理器,对第一初始数据进行计算,得到第一中间变量,所述第一初始数据为所述第一计算机节点的本地存储的数据;
将所述第一中间变量传输给其它计算机节点,以供其它计算机节点根据所述第一中间变量计算所属的目标数据;
接收其它计算机节点传输的第二中间变量;
通过所述图形处理器,根据所述第一中间变量和所述第二中间变量计算得到目标数据。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一中间变量传输给其它计算机节点,包括:
通过所述图形处理器的通信技术与所述其它计算机节点通信,以将所述第一中间变量传输给其它计算机节点;
所述接收其它计算机节点传输的第二中间变量,包括:
通过所述图形处理器的通信技术与所述其它计算机节点通信,以接收所述其它计算机节点传输的第二中间变量。
3.根据权利要求1所述的方法,其特征在于,所述第一计算机节点属于秘密分享***中的一个计算机节点,所述秘密分享***包括第一节点组和第二节点组,所述第一计算机节点属于所述第一节点组中的一个计算机节点;
所述通过所述图形处理器,根据所述第一中间变量和所述第二中间变量计算得到目标数据,包括:
通过所述图形处理器,根据所述第一中间变量和所述第二节点组中的各个计算机节点的第二中间变量计算得到目标数据。
4.根据权利要求3所述的方法,其特征在于,所述第二中间变量包括:多项中间值;所述通过所述图形处理器,根据所述第一中间变量和所述第二节点组中的各个计算机节点的第二中间变量计算得到目标数据,包括:
从所述第二节点组中每一个计算机节点的第二中间变量中选取至少一个目标中间值;
通过所述图形处理器,根据所述第一中间变量与所述目标中间值,计算得到目标数据。
5.根据权利要求3所述的方法,其特征在于,所述将所述第一中间变量传输给其它计算机节点,包括:
将所述第一中间变量传输给所述第二节点组中的各个计算机节点;
所述接收其它计算机节点传输的第二中间变量,包括:
接收所述第二节点组中的各个计算机节点传输的第二中间变量。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获取所述第一组节点组的其它计算机节点的目标数据;
根据所述第一组节点组中的所有计算机节点的目标数据,计算得到原始数据。
7.一种秘密分享装置,其特征在于,应用于第一计算机节点,包括:
第一计算模块,用于通过所述第一计算机节点的图形处理器,对第一初始数据进行计算,得到第一中间变量,所述第一初始数据为所述第一计算机节点的本地存储的数据;
第一传输模块,用于将所述第一中间变量传输给其它计算机节点,以供其它计算机节点根据所述第一中间变量计算所属的目标数据;
接收模块,用于接收其它计算机节点传输的第二中间变量;
第二计算模块,用于通过所述图形处理器,根据所述第一中间变量和所述第二中间变量计算得到目标数据。
8.一种计算机节点,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当计算机节点运行时,所述机器可读指令被所述处理器执行时执行如权利要求1至6任一所述的方法的步骤。
9.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至6任一所述的方法的步骤。
10.一种秘密分享***,其特征在于,包括:多个权利要求8所述的计算机节点;
各个计算机节点用于执行权利要求1-6任意一项所述的方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210529136.6A CN114968900A (zh) | 2022-05-16 | 2022-05-16 | 秘密分享方法、装置、计算机节点和秘密分享*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210529136.6A CN114968900A (zh) | 2022-05-16 | 2022-05-16 | 秘密分享方法、装置、计算机节点和秘密分享*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114968900A true CN114968900A (zh) | 2022-08-30 |
Family
ID=82984039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210529136.6A Pending CN114968900A (zh) | 2022-05-16 | 2022-05-16 | 秘密分享方法、装置、计算机节点和秘密分享*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114968900A (zh) |
-
2022
- 2022-05-16 CN CN202210529136.6A patent/CN114968900A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110210610B (zh) | 卷积计算加速器、卷积计算方法及卷积计算设备 | |
CN110163609B (zh) | 一种区块链中数据处理方法及装置 | |
US6601077B1 (en) | DSP unit for multi-level global accumulation | |
CN112506469B (zh) | 针对隐私数据进行处理的方法和装置 | |
CN111695696A (zh) | 一种基于联邦学习的模型训练的方法及装置 | |
KR20220054861A (ko) | 신경망 모델의 트레이닝 방법 및 관련 제품 | |
CN108845828B (zh) | 一种协处理器、矩阵运算加速方法及*** | |
CN112765616A (zh) | 多方安全计算方法、装置、电子设备和存储介质 | |
CN113489583B (zh) | 一种多方隐私求交中的数据处理方法、装置及电子设备 | |
CN112862091B (zh) | 一种基于快速卷积的资源复用型神经网络硬件加速电路 | |
CN112560107A (zh) | 针对隐私数据进行处理的方法和装置 | |
CN112784315A (zh) | Spdz系列协议中的乘法计算方法、装置及存储介质 | |
CN111914987A (zh) | 基于神经网络的数据处理方法及装置、设备和可读介质 | |
WO2023124371A1 (zh) | 数据处理装置、方法、芯片、计算机设备及存储介质 | |
CN114968900A (zh) | 秘密分享方法、装置、计算机节点和秘密分享*** | |
CN111367848B (zh) | 一种区块链的数据处理装置、相关设备及方法 | |
Brennsteiner et al. | A real-time deep learning OFDM receiver | |
CN107220702B (zh) | 一种低计算能力处理设备的计算机视觉处理方法及装置 | |
CN110515591A (zh) | 基于区块链的随机数生成方法及装置 | |
CN115346099A (zh) | 基于加速器芯片的图像卷积方法、芯片、设备及介质 | |
CN115795097A (zh) | 基于xml逻辑规则的数据处理方法及装置 | |
WO2019117758A1 (ru) | Способ и устройство для вычисления хэш-функции | |
CN111460514B (zh) | 数据匹配方法、装置和电子设备 | |
CN109559225B (zh) | 一种交易方法及装置 | |
CN112560106A (zh) | 针对隐私矩阵进行处理的方法、装置和*** |
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 |