CN112765616B - 多方安全计算方法、装置、电子设备和存储介质 - Google Patents
多方安全计算方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN112765616B CN112765616B CN202011513782.0A CN202011513782A CN112765616B CN 112765616 B CN112765616 B CN 112765616B CN 202011513782 A CN202011513782 A CN 202011513782A CN 112765616 B CN112765616 B CN 112765616B
- Authority
- CN
- China
- Prior art keywords
- random number
- input
- fragments
- slice
- fragment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 76
- 239000012634 fragment Substances 0.000 claims abstract description 171
- 238000000034 method Methods 0.000 claims description 31
- 238000010586 diagram Methods 0.000 description 15
- 238000004422 calculation algorithm Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 238000013467 fragmentation Methods 0.000 description 2
- 238000006062 fragmentation reaction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Storage Device Security (AREA)
- Complex Calculations (AREA)
Abstract
本公开公开了一种多方安全计算方法,涉及计算机领域,尤其涉及多方联合计算、安全计算和联邦学习领域。具体实现方案为:获取第一输入分片;产生初始随机数,并确定目标随机数的多个随机数分片,目标随机数是初始随机数右移N位得到的;将多个随机数分片中的一个随机数分片作为第一输出分片;使用初始随机数加扰第一输入分片,发送加扰后的第一输入分片和多个随机数分片中除一个随机数分片外的其余随机数分片。本公开还公开了一种多方安全计算装置、电子设备和存储介质。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及多方联合计算、安全计算和联邦学习技术。更具体地,本公开提供了一种多方安全计算方法、装置、电子设备和存储介质。
背景技术
安全多方计算是由多方联合进行计算的方法,各方在计算过程中不共享隐私数据,因此经常被用在隐私保护的计算场景当中。
在多方安全计算中,明文数据被分为多个分片分发在参与计算的各方中,各方分别使用分片进行计算,利用各方的分片计算结果可以恢复出明文数据。但是,在利用各个分片计算结果恢复明文时会有概率出现计算溢出,导致恢复的明文不正确。
发明内容
本公开提供了一种多方安全计算方法、装置、电子设备以及存储介质。
根据本公开的一方面,提供了一种多方安全计算方法,包括:获取第一输入分片;产生初始随机数,并确定目标随机数的多个随机数分片,目标随机数是初始随机数右移N位得到的;将多个随机数分片中的一个随机数分片作为第一输出分片;使用初始随机数加扰第一输入分片,发送加扰后的第一输入分片和多个随机数分片中除一个随机数分片外的其余随机数分片。
根据本公开的另一方面,提供了一种多方安全计算方法,包括:获取多个第二输入分片;接收随机数分片和加扰的第一输入分片;根据多个第二输入分片以及接收到的加扰的第一输入分片和随机数分片,计算第二输出分片。
根据本公开的另一方面,提供了一种多方安全计算装置,包括:第一获取模块,用于获取第一输入分片;产生模块,用于产生初始随机数,并确定目标随机数的多个随机数分片,目标随机数是初始随机数右移N位得到的;确定模块,用于将多个随机数分片中的一个随机数分片作为第一输出分片;发送模块,用于使用初始随机数加扰第一输入分片,发送加扰后的第一输入分片和多个随机数分片中除一个随机数分片外的其余随机数分片。
根据本公开的另一方面,提供了一种多方安全计算装置,包括:第二获取模块,用于获取多个第二输入分片;接收模块,用于接收随机数分片和加扰的第一输入分片;计算模块,用于根据多个第二输入分片以及接收到的加扰的第一输入分片和随机数分片,计算第二输出分片。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行根据本公开提供的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行根据本公开提供的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据本公开提供的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开的一个实施例的可以应用多方安全计算方法和装置的示例性系统架构示意图;
图2是根据本公开的一个实施例的多方安全计算方法的流程图;
图3是根据本公开的一个实施例的多方安全计算方法的流程图;
图4是根据本公开的一个实施例的多方安全计算方法的流程示意图;
图5是根据本公开的一个实施例的分享输出分片的方法的流程示意图;
图6是根据本公开的一个实施例的多方安全计算方法的流程示意图;
图7是根据本公开的一个实施例的多方安全计算装置的框图;
图8是根据本公开的一个实施例的多方安全计算装置的框图;
图9是根据本公开的一个实施例的多方安全计算方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
安全多方计算(Secure Multi-Party Computing)是由多方联合进行计算的方法,各方在计算过程中不共享隐私数据,因此经常被用在隐私保护的计算场景当中。
实际应用场景中,数据往往是浮点数类型,安全多方计算以及很多密码学无法直接支持浮点数的计算。为此,现有多方计算方法大部分是将浮点数类型的数据表示为定点数,将定点数转换为整数来进行计算。转换方法是将定点数放大一定的倍数,使其变为整数,然后基于整数进行安全多方计算,最后对计算的结果再缩小相应的倍数恢复为定点数。
定点数的这种转换计算方法对于乘法计算会使结果的放大倍数扩大。例如,定点数x和定点数y均是使用l位表示的二进制数(l为大于1的整数,如l=64),定点数x和定点数y的小数点后的位数均是N(N为大于等于1且小于l的整数,如N=32),定点数x扩大2N倍可以转换为整数X,定点数y扩大2N倍可以转换为整数Y,则整数X和整数Y的乘积结果相比于定点数x和定点数y的乘积结果扩大了22N倍,无法直接使用整数X和整数Y的乘积结果进行后续运算,需要将整数X和整数Y的乘积结果缩小2N倍,才能正确执行后续计算。这是因为定点数x和定点数y的乘积结果也是定点数,需要放大2N倍以变为整数来进行后续计算,将整数X和整数Y的乘积结果缩小2N倍,使得缩小后的结果相比于定点数x和定点数y的乘积结果扩大了2N倍,因此正好可以作为定点数x和定点数y的乘积结果的整数表示形式参与后续计算。
二进制数的放大和缩小可以通过左移和右移来实现。例如,定点数x放大2N倍即定点数x左移N位。整数X和整数Y的乘积结果可以用整数A表示,整数A缩小2N倍可以通过将整数A右移N位来实现,整数A右移N位则整数A低N位的数据被截断丢弃。因此,可以直接将整数A低N位的数据截断来实现将整数X和整数Y的乘积结果缩小到2N倍。
在多方安全计算中,数据被分为多个分片分发在参与计算的各方中,各方分别对分片进行截断会有概率导致最后使用分片恢复的明文结果符号位错误,这里,可以把这种错误称之为计算溢出。虽然这种错误发生的概率不高,但是在某些场景下,这种错误是不可容忍的。比如在大数量的联邦学习场景中,这种错误在训练过程中会传播到整个网络中,导致模型不可用。
图1是根据本公开一个实施例的可以应用多方安全计算方法和装置的示例性系统架构示意图。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括多个计算设备101和网络102。网络102用以在各个计算设备101之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线和/或无线通信链路等等。
多个计算设备101可以是参与多方计算的计算方,以三个计算方参与安全多方计算为例进行描述。参与计算的三个计算方为半诚实的实体,可以是计算机、服务器等各种计算设备,三个计算方分别可以记为P0、P1和P2。对于明文整数X,整数X可以是定点x放大2N倍得到的。可以基于2-out-of-3(三选2机制)明文分片方法,将整数X分片为x0、x1和x2,满足X=x0+x1+x2,可以将x0分发给计算方P0,将x1分发给计算方P1,将x2分发给计算方P2。需要说明的是,参与方的个数可以是任意的,明文分片的数量也可以是任意的,例如,可以基于3-out-of-4明文分片方法将明文分为4个分片X=x0+x1+x2+x3等。
示例性地,计算方P0持有x0,计算方P1持有x1,计算方P2持有x2,计算方P2可以将x2发送给计算方P1,计算方P1可以将x1发送给计算方P0,计算方P0可以将x0发送给计算方P2,则三个计算方P0,P1,P2可以基于分别可以持有分片(x0,x1),(x1,x2),(x2,x0),这样三方中任意两方可以使用持有的分片恢复出整数X。
同理,对于整数Y,整数Y可以是定点y放大2N倍得到的。三个计算方P0,P1,P2分别可以持有整数Y的分片(y0,y1),(y1,y2),(y2,y0),满足Y=y0+y1+y2,这样三方中任意两方可以使用持有的分片恢复出整数Y。
根据本公开的实施例,针对定点数x和定点数y的乘积计算,定点数x和定点数y的小数点后的位数均为N,定点数x扩大2N倍转换为整数X,定点数y扩大2N倍转换为整数Y,可以将定点数x和定点数y的乘积计算转化为整数X和整数Y的乘积计算。
针对整数X和整数Y的乘积计算,各个计算方可以根据自身持有的整数X的分片和整数Y的分片,计算出整数X和整数Y的乘积结果的分片,这里可以用整数A表示整数X和整数Y的乘积结果,需要说明的是,整数A仅是为了方便描述引入,各单独计算方并没有获得整数A,各单独计算方仅持有整数A的分片。下面介绍计算整数X和整数Y的乘积结果即整数A的分片。
三个计算方P0,P1,P2分别持有整数X的分片(x0,x1),(x1,x2),(x2,x0)和整数Y的分片(y0,y1),(y1,y2),(y2,y0)。其中,P0持有(x0,x1)和(y0,y1),P1持有(x1,x2)和(y1,y2),P2持有(x2,x0)和(y2,y0)。整数X=x0+x1+x2,x0、x1和x2也分别是整数。整数Y=y0+y1+y2,y0、y1和y2也分别是整数。
整数X和整数Y的乘积结果整数A也是以分片的形式保存在各个计算方。例如,整数A可以分片为x′0、x′1和x′2,满足A=x0′+x1′+x2′。计算整数A的分片的过程描述如下:
由于整数X=x0+x1+x2,整数Y=y0+y1+y2,则整数X和整数Y的乘积可以表示为如下公式一。
X·Y=(x0+x1+x2)·(y0+y1+y2)=x0y0+x0y1+x0y2+x1y0+x1y1+x1y2+x2y0+x2y1+x2y2(公式一)
则每个计算方P0、P1和P2可以从上述计算项中选取自己可以计算的部分,因此有:
计算方P0计算分片x′0,可以使用如下公式二表示。
x′0=x0y0+x0y1+x1y0+zero_share(P0) (公式二)
计算方P1计算计算分片x′1,可以使用如下公式三表示。
x′1=x1y1+x1y2+x2y1+zero_share(P1) (公式三)
计算方P1计算计算分片x′2,可以使用如下公式四表示。
x′2=x2y2+x2y0+x0y2+zero_share(P2) (公式四)
其中,zero_share(P0)、zero_share(P1)和zero_share(P2)是基于zero_share算法输出的,并且满足zero_share(P0)+zero_share(P1)+zero_share(P2)=0。zero_share算法的具体实现可以如下:
首先,计算方P0、P1和P2预共享伪随机数发生器种子产生的秘钥k0,k1和k2,则计算方P0持有秘钥对(k0,k1),计算方P1持有秘钥对(k1,k2),计算方P2持有秘钥对(k2,k0)。
然后,各计算根据各自持有的秘钥对,使用产生随机数的函数F计算每一轮整数X和整数Y的乘积运算过程中需要的zero_share(Pi),第j轮的i=0、1或2。
由此,计算方P0计算出了分片x0′,计算方P1计算出了分片x1′,计算方P1计算出了分片x2′。计算方P2将x2′分享给计算方P1,计算方P1将x1′分享给计算方P0,计算方P0将x0′分享给计算方P2,则P0持有整数A的分片(x0′,x1′),P1持有整数A的分片(x1′,x2′),P2持有整数A的分片(x2′,x0′)。
整数A相比于定点数x和定点数y的乘积结果扩大了22N倍,为了将整数A缩小2N倍,可以将整数A的各个分片x′0、x′1和x′2分别右移N位,即截断低N位,但是,x′0、x′1和x′2截断的低N位之和可能会产生进位,直接截断会在使用分片恢复数据时造成计算溢出。
本公开提供了一种多方安全计算方法,包括获取第一输入分片;产生初始随机数,并确定目标随机数的多个随机数分片,目标随机数是初始随机数右移N位得到的;将多个随机数分片中的一个随机数分片作为第一输出分片;使用初始随机数加扰第一输入分片,发送加扰后的第一输入分片和多个随机数分片中除一个随机数分片外的其余随机数分片,能够避免输入分片直接右移造成的计算溢出。
图2是根据本公开的一个实施例的多方安全计算方法的流程图。
如图2所示,该多方安全计算方法200可以包括操作S210~操作S240。
在操作S210,获取第一输入分片。
根据本公开的实施例,操作S210~操作S240可以是参与多方安全计算的第一计算方。第一输入分片可以是第一计算方持有的整数X和整数Y的乘积结果即整数A的一个分片。可以理解,整数A可以称为初始乘积结果,目标是要将整数A缩小2N倍,缩小后的结果可以称为目标乘积结果。需要说明的是,初始乘积结果和目标乘积结果仅是为了方便描述引入,各单独计算方并没有获得初始乘积结果和目标乘积结果,而是各自持有初始乘积结果和目标乘积结果的分片。初始乘积结果的分片可以称为输入分片,目标乘积结果的分片可以称为输出分片,各个计算方根据各自持有的初始乘积结果的分片可以出计算目标乘积结果的分片,则实现了整数A缩小2N倍。
整数A可以分片为x′0、x′1和x′2,满足A=x0′+x1′+x2′。参与安全多方计算可以分别是P0、P1和P2,上述第一计算方可以是任一计算方,如第一计算方为P2,P2持有输入分片组(x2′,x0′),第一输入分片可以是x0′或x2′。
在操作S220,产生初始随机数,并确定目标随机数的多个随机数分片。
根据本公开的实施例,目标随机数是初始随机数右移N位得到的。定点数x和定点数y均使用l位二进制数表示,则整数X和整数Y的乘法运算是在整数环上进行的,即乘法运算的结果始终在整数环/>内,整数环/>可以用范围[-2l,2l]表示。计算方P2可以产生一个初始随机数r′,r′∈[-2l-2,2l-2],限制r′的范围为r′∈[-2l-2,2l-2],则r′的次高为必定为0(最高位可能是符号位)。需要说明的是,r′的范围可以是[-2l-2,2l-2]或者[-2l-2,2l-2]的子集,即r′的范围小于或者等于[-2l-2,2l-2]均可。
根据本公开的实施例,初始随机数r′右移N位得到目标随机数然后可以计算目标随机数/>的随机数分片r0,r1和r2,满足/>具体地,随机数分片r0和r1可以是随机产生的,r0,r1∈[-2l,2l],/>
在操作S230,将多个随机数分片中的一个随机数分片作为第一输出分片。
根据本公开的实施例,计算方p2产生的随机数分片用于分别分配给参与多方安全计算的各个计算方,供各个计算方用来计算目标乘积结果的分片。多个随机数分片中的一个可以分配给自身,例如,多个随机数分片中的第一随机数分片为r2,可以将r2分配给自身,并且r2可以作为一个输出分片。
示例性地,P2的输入分片组包括(x2′,x0′),记P2的第一输出分片组为(x2″,x0″),令x″2=r2,则计算方P2可以获得输出分片x2″。
在操作S240,使用初始随机数加扰第一输入分片,发送加扰后的第一输入分片和多个随机数分片中除一个随机数分片外的其余随机数分片。
根据本公开的实施例,第一输入分片可以是x0′,使用初始随机数r′加扰第一输入分片x0′,得到加扰的第一输入分片。例如,计算x0′-r′,得到加扰后的第一输入分片。加扰后的第一输入分片可以发送给计算方P0或P1。
根据本公开的实施例,计算方P2将第一随机数分片为r2作为自身的一个输出分片,对于其余的随机数分片r0和r1,可以分别分配给计算方P0和P1。
示例性地,计算方P2将加扰后的第一输入分片x0′-r′以及随机数分片r1发送给计算方P1,将随机数分片r0发送给计算方P0。计算方P1可以根据第一输入分片x0′-r′以及随机数分片r1计算P1的输出分片,计算方P0可以根据随机数分片r0确定P0的输出分片。
根据本公开的实施例,获取第一输入分片,产生初始随机数,并确定初始随机数右移N位得到的目标随机数的多个随机数分片,将多个随机数分片中的一个随机数分片作为第一输出分片,使用初始随机数加扰第一输入分片,发送加扰后的第一输入分片和多个随机数分片中除一个随机数分片外的其余随机数分片,能够避免输入分片直接右移造成的计算溢出,保证使用输出分片进行数据恢复的正确性。
根据本公开的实施例,计算方P2在计算出第一输出分片x″2之后,可以将第一输出分片x″2发送出去,例如,发送给计算方P1,使得计算方P1获得一个输出分片。同样地,计算方P2也可以接收来自其他计算方的输出分片,例如接收来自计算方P0的输出分片x″0,使得计算方P2可以持有输出分片组(x″0,x″2)。
图3是根据本公开的另一个实施例的多方安全计算方法的流程图。
如图3所示,该多方安全计算方法300可以包括操作S310~操作S330。
在操作S310,获取多个第二输入分片。
根据本公开的实施例,操作S310~操作S330可以是参与多方安全计算的第二计算方。第二输入分片可以是第二计算方持有的整数X和整数Y的乘积结果即整数A的分片。示例性地,第二计算方为P1,P1持有输入分片组(x1′,x2′),则多个第二输入分片包括x′1和x2′。
在操作S320,接收随机数分片和加扰的第一输入分片。
根据本公开的实施例,第二计算方P1接收来自第一计算方P2发送的随机数分片和加扰的第一输入分片。加扰的第一输入分片可以是初始随机数和第一输入分片的差值,如x0′-r′。
在操作S330,根据多个第二输入分片以及接收到的加扰的第一输入分片和随机数分片,计算第二输出分片。
根据本公开的实施例,P1持有x′1和x2′,将x′1、x2′以及加扰的第一输入分片x0′-r′相加,得到x′1+x′2+x′0-r′=A-r′。使用A-r′右移N位得到将/>与接收到的随机数分片r1相加,得到的和值可以作为P1的一个第二输出分片/>经此步骤计算方P1获得第二输出分片x1″。
根据本公开的实施例,由于限制r′的范围为r′∈[-2l-2,2l-2],则r′的次高为必定为0,则A′-r′的符号位不会变化,因此A′-r′截断低N位(即)也不会出现进位丢失,也就避免了计算溢出。
根据本公开的实施例,获取多个第二输入分片,接收随机数分片和加扰的第一输入分片,根据多个第二输入分片以及接收到的加扰的第一输入分片和随机数分片,计算第二输出分片,可以避免输入分片直接右移造成的计算溢出,保证使用输出分片进行数据恢复的正确性。
根据本公开的实施例,计算方P1在计算出第二输出分片x″1之后,可以将第一输出分片x″1发送出去,例如,发送给计算方P0,使得计算方P0获得一个输出分片。同样地,计算方P1也可以接收来自其他计算方的输出分片,例如接收来自计算方P2的输出分片x″2,使得计算方P2可以持有输出分片组(x″1,x″2)。
可以理解,由于整数X和整数Y的初始乘积结果相比于定点数x和定点数y的乘积结果扩大了22N倍,需要将初始乘积结果缩小2N倍,使得缩小2N倍的目标乘积结果相比于定点数x和定点数y的乘积结果扩大了2N倍,才能正确地继续执行后续的运算。整数A=x0′+x1′+x2′,将整数A缩小2N倍,可以将x0′缩小2N倍,x1′缩小2N倍以及x2′缩小2N倍,即将x0′的低N位数据截断舍去,将x1′低N位数据截断舍去,将x2′的低N位数据截断舍去。但是,这三个被截断舍去的数据之和可能会产生进位,进而导致进位被丢弃。这个丢失的进位有概率会导致x′0+x′1+x′2的符号位出错,即造成计算溢出,会造成难以预料的计算结果。
因此,本公开实施例没有对x′0、x′1和x′2分别进行截断,而是计算出整数A进行截断低N位后的目标乘积结果的分片,则不会出现截断误差,防止计算溢出。具体是基于输入分片x′0、x′1和x′2计算输出分片x″0、x″1和x″2,使得x″0、x″1和x″2相加等于整数A截断低N位得到的整数,则使用输出分片x″0、x″1和x″2可以直接进行后续计算。
根据本公开的实施例,整数A截断低N位之后的目标乘积结果可以用整数C表示,满足C=x0″+x1″+x2″。整数C也是以分片的形式保存在各个计算方,经计算方P0、计算方P1和计算方P2计算输出分片x0″+x1″+x2″之后,按照协议规定分享各自的输出分片,使得P0持有输出分片组(x0″,x1″),P1持有输出分片组(x1″,x2″),P2持有输出分片组(x2″,x0″)。
下面用具体例子对本公开的实施例的多方安全计算方法进行说明。
图4是根据本公开的另一个实施例的多方安全计算方法的流程示意图。
如图4所示,多方安全计算方法400包括操作S401~S407。执行主体包括计算方P0、计算方P1和计算方P2。计算方P0当前持有输入分片组(x0′,x1′),计算方P1当前持有输入分片组(x1′,x2′),计算方P2当前持有输入分片组(x2′,x0′)。各计算方分别根据各自持有的分片执行如下操作S401~S407,以得到输出分片。
操作S401、计算方P2随机选择随机数r′、r0、r1和r2。
根据本公开的实施例,定点数x和定点数y均使用l位二进制数表示,r′、r0和r1也都使用l位二进制数表示。限制r′的范围为r′∈[-2l-2,2l-2],则r′的次高为必定为0(最高位可能是符号位)。r0和r1的范围是r0,r1∈[-2l,2l]。
操作S402,计算方P2计算并令x″2=r2。
计算方P2计算并令x″2=r2。
根据本公开的实施例,此步骤能够得到则r0、r1、r2可以作为的随机数分片,令x″2=r2,计算方P2可以得到输出分片x2″。
操作S403,计算方P2发送x0′-r′和r1给计算方P1,发送r0给计算方P0。
根据本公开的实施例,为了数据安全,P2在向计算方P1发送分片x0′时,携带了随机数r′,以混淆输入分片x0′,避免计算方P1获得真实的数据。
操作S404,计算方P1接收计算方P2发送的x0′-r′和r1,并计算x0′-r′+x′1+x′2=A-r′。
根据本公开的实施例,由于P1持有(x1′,x2′),计算方P1可以计算x0′-r′+x′1+x′2,由于A=x′0+x′1+x′2,因此计算方P1计算了A-r′。
操作S405,计算方P1计算并令/>
根据本公开的实施例,由于限制r′的范围为r′∈[-2l-2,2l-2],则r′的次高为必定为0,则A′-r′的符号位不会变化,因此A′-r′截断低N位(即)也不会出现进位丢失,也就避免了计算溢出。此步骤实现了在x′0、x′1和x′2相加之后截断低N位,即/>其中,引入随机数r′是为了数据安全以混淆真实数据A,避免计算方P1获得真实数据A。并且经此步骤计算方P1获得输出分片/>
操作S406,计算方P0接收计算方P2发送的r0,并计算x″0,直接令x0″=r0
根据本公开的实施例,经此步骤计算方P0获得输出分片x0″。由步骤S401~S405,P0获得输出分片x0″=r0,P1获得输出分片P2获得输出分片则/>因此实现了对整数A右移N位。
操作S407,计算方P0、P1和P2共同执行reshare算法。P0执行reshare算法发送x″0,P1执行reshare算法发送x″1,P2执行reshare算法发送x″2。
根据本公开的实施例,由步骤S401~S406,计算方P0计算出了输出分片x0″,计算方P1计算出了输出分片x1″,计算方P2计算出了输出分片x2″。基于reshare算法,各计算方将各自持有的输出分片进行分享,使得各计算方持有输出分片组,经过将分片分享之后,可以使得P0持有输出分片组(x0″,x1″),P1持有输出分片组(x1″,x2″),P2持有输出分片组(x2″,x0″)。
图5是根据本公开的一个实施例的分享输出分片的方法的流程示意图。
如图5所示,分享输出分片的方法包括操作S571~S573。执行主体包括计算方P0、计算方P1和计算方P2。计算方P0当前持有输出分片x0″,计算方P1当前持有输出分片x1″,计算方P2当前持有输出分片x2″。各计算方分别根据各自持有的输出分片执行如下步骤,以得到输出分片组。
操作S571,计算方P2将x2″发送给计算方P1。
操作S572,计算方P1将x1″发送给计算方P0。
操作S573,计算方P0将x0″发送给计算方P2。
根据本公开的实施例,经上述步骤S21~S23,P0可以持有输出分片组(x0″,x1″),P1可以持有输出分片组(x1″,x2″),P2可以持有输出分片组(x2″,x0″)。从而,三个计算方中任意两个计算方可以利用分片恢复出明文整数C,整数C即整数X和整数Y的乘积结果缩小至2N的结果,因此,使用整数C的分片能够正确地继续执行后续的运算。需要说明的是,上述S571~S573的执行顺序不分先后,也可以同步进行。
根据本公开的实施例,三个参与多方安全计算的计算方可以很容易扩充到三方以上。下面介绍四个参与多方安全计算的情况。
图6是根据本公开的另一个实施例的多方安全计算方法的流程示意图。
如图6所示,多方安全计算方法600包括操作S601~S608。执行主体包括计算方P0、计算方P1、计算方P2和计算方P3。计算方P0当前持有输入分片组(x′0,x′1,x′2),计算方P1当前持有输入分片组(x1′,x2′,x3′),计算方P2当前持有输入分片组(x2′,x3′,x0′),计算方P2当前持有输入分片组(x′3,x′0,x1′,)。各计算方分别根据各自持有的分片执行如下操作S401~S407,以得到输出分片。
操作S601、计算方P3随机选择随机数r′、r0、r1和r2。
根据本公开的实施例,r′的范围为r′∈[-2l-2,2l-2],r0、r1和r2的范围是r0,r1,r2∈[-2l,2l]。
操作S602,计算方P3计算并令x″3=r3。
根据本公开的实施例,r0、r1、r2和r3可以作为的随机数分片。令x″3=r3,计算方P3可以得到输出分片x3″。
操作S603,计算方P3发送x1′-r′和r2给计算方P2,发送r1给计算方P1,发送r0给计算方P0。
根据本公开的实施例,为了数据安全,在向计算方P2发送分片x1′时,携带了随机数r′,以混淆分片x1′,避免计算方P1获得真实的数据。
操作S604,计算方P2接收计算方P3发送的x1′-r′和r2,并计算x′1-r′+x′2+x′3+x′0=A-r′。
根据本公开的实施例,由于计算方P2持有(x2′,x3′,x0′),计算方P2可以计算x′1-r′+x′2+x′3+x′0,由于A=x′0+x′1+x′2+x′3,因此计算方P2计算了A-r′。
操作S605,计算方P2计算并令/>
根据本公开的实施例,由于限制r′的范围为r′∈[-2l-2,2l-2],则r′的次高为必定为0,则A′-r′的符号位不会变化,因此A′-r′截断低N位(即)也不会出现进位丢失,也就避免了计算溢出。此步骤实现了在x′0、x′1、x′2和x′3相加之后截断低N位,即/>其中,引入随机数r′是为了数据安全以混淆真实数据A,避免计算方P1获得真实数据A。并且经此步骤计算方P1获得输出分片/>
操作S606,计算方P1接收计算方P3发送的r1,并计算x″1,直接令x1″=r1。
根据本公开的实施例,经此步骤计算方P0获得输出分片x1″。
操作S607,计算方P0接收计算方P2发送的r0,并计算x″0,直接令x0″=r0。
根据本公开的实施例,经此步骤计算方P0获得输出分片x0″。由步骤S601~S607,P0获得输出分片x0″=r0,P1获得输出分片x1″=r1,P2获得输出分片P3获得输出分片/>则/>因此实现了对整数A右移N位。
操作S608,计算方P0、P1、P2和P3共同执行reshare算法。P0执行reshare(x″0),P1执行reshare(x″1),P2执行reshare(x″2),P3执行reshare(x″3)。
根据本公开的实施例,由步骤S601~S607,计算方P0计算出了输出分片x0″,计算方P1计算出了输出分片x1″,计算方P2计算出了输出分片x2″,计算方P3计算出了输出分片x3″。基于reshare算法,各计算方将各自持有的输出分片进行分享,使得各计算方持有输出分片组,经过将分片分享之后,可以使得P0持有输出分片组(x″0,x″1,x2″),P1持有输出分片组(x″1,x″2,x″3),P2持有输出分片组(x2″,x″3,x0″),P2持有输出分片组(x″3,x″0,x″1)。
根据本公开的实施例,四个参与多方安全计算持有的输入分片也可以是以下情况,P0持有输入分片组(x0′,x1′),P1持有输入分片组(x1′,x2′),P2持有输入分片组(x2′,x3′),P3持有输入分片组(x3′,x0′)。则在P3产生随机数r′并确定随机数分片r0、r1、r2和r3之后,P3将x0′-r′发送给P2,在P2侧计算A-r′时,还缺少输入分片x1′,可以通过计算方P1将x1′发送给P2,使得P2能够计算输入分片之和。也就是说,参与计算的多个计算方持有的分片数量可以是任意的,可以根据实际情况规定各个计算方的计算规则。
图7是根据本公开的一个实施例的多方安全计算装置的框图。
如图7所示,该多方安全计算装置700可以包括第一获取模块701、产生模块702、确定模块703和第一发送模块704。
第一获取模块701用于获取第一输入分片。
产生模块702用于将多个随机数分片中的一个随机数分片作为第一输出分片。
确定模块703用于将多个随机数分片中的一个随机数分片作为第一输出分片。
第一发送模块704用于使用初始随机数加扰第一输入分片,发送加扰后的第一输入分片和多个随机数分片中除一个随机数分片外的其余随机数分片。
根据本公开的实施例,第一输入分片的范围是[-2l,2l],初始随机数的范围是[-2l-2,2l-2],1为大于1的整数。
根据本公开的实施例,第一发送模块包括加扰单元和发送单元。
加扰单元用于计算第一输入分片与初始随机数之间的差值,得到加扰后的第一输入分片。
根据本公开的实施例,随机数分片的个数等于参与多方计算的计算方的个数。
根据本公开的实施例,发送单元用于将其余随机数分片中的各个随机数分片分别发送给其他各个计算方;将加扰后的第一输入分片发送给其他各个计算方中的一个。
根据本公开的实施例,该多方安全计算装置700还包括第二发送模块和第二接收模块。
第二发送模块用于发送第一输出分片。
第二接收模块用于接收其他第一输出分片。
图8是根据本公开的另一个实施例的多方安全计算装置的框图。
如图8所示,该多方安全计算装置800可以包括第二获取模块801、第一接收模块802和计算模块803。
第二获取模块801用于获取多个第二输入分片。
第一接收模块802用于接收随机数分片和加扰的第一输入分片。
计算模块803用于根据多个第二输入分片以及接收到的加扰的第一输入分片和随机数分片,计算第二输出分片。
根据本公开的实施例,计算模块803包括第一计算单元和第二计算单元。
第一计算单元用于计算多个第二输入分片和加扰的第一输入分片之和。
第二计算单元用于将得到的和值右移N位并与接收到的随机数分片相加,得到第二输出分片。
根据本公开的实施例,第二输入分片的范围是[-2l,2l],l为大于1的整数。
根据本公开的实施例,该多方安全计算装置800还包括第三发送模块、第三接收模块和第四发送模块。
第三发送模块用于发送第二输出分片。
第三接收模块用于接收其他第二输出分片。
第四发送模块用于发送多个第二输入分片中的至少一个。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图9示出了可以用来实施本公开的实施例的示例电子设备900的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如多方安全计算方法。例如,在一些实施例中,多方安全计算方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到RAM 903并由计算单元901执行时,可以执行上文描述的多方安全计算方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行多方安全计算方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (13)
1.一种多方安全计算方法,包括:
获取第一输入分片;
产生初始随机数,并确定目标随机数的多个随机数分片,所述目标随机数是所述初始随机数右移N位得到的;
将所述多个随机数分片中的一个随机数分片作为第一输出分片;
使用所述初始随机数加扰所述第一输入分片,发送加扰后的第一输入分片和所述多个随机数分片中除所述一个随机数分片外的其余随机数分片;
其中,所述随机数分片的个数等于参与多方安全计算的计算方的个数;所述发送加扰后的第一输入分片和所述多个随机数分片中除所述一个随机数分片外的其余随机数分片包括:
将所述其余随机数分片中的各个随机数分片分别发送给其他各个计算方;
将所述加扰后的第一输入分片发送给所述其他各个计算方中的一个。
2.根据权利要求1所述的方法,其中,所述第一输入分片的范围是[-2l,2l],所述初始随机数的范围是[-2l-2,2l-2],l为大于1的整数。
3.根据权利要求1所述的方法,其中,所述使用所述初始随机数加扰所述第一输入分片包括:
计算所述第一输入分片与所述初始随机数之间的差值,得到所述加扰后的第一输入分片。
4.根据权利要求1所述的方法,在发送加扰后的第一输入分片和所述多个随机数分片中除所述一个随机数分片外的其余随机数分片之后,还包括:
发送所述第一输出分片;以及
接收其他第一输出分片。
5.一种多方安全计算方法,包括:
获取多个第二输入分片;
接收随机数分片和加扰的第一输入分片;
根据所述多个第二输入分片以及接收到的所述加扰的第一输入分片和随机数分片,计算第二输出分片;
其中,所述随机数分片和加扰的第一输入分片是根据权利要求1至4中任一项所述的方法生成的。
6.根据权利要求5所述的方法,其中,所述根据所述多个第二输入分片以及接收到的所述加扰的第一输入分片和随机数分片,计算第二输出分片包括:
计算所述多个第二输入分片和所述加扰的第一输入分片之和;
将得到的和值右移N位并与接收到的随机数分片相加,得到所述第二输出分片。
7.根据权利要求5所述的方法,其中,所述第二输入分片的范围是[-2l,2l],l为大于1的整数。
8.根据权利要求5所述的方法,还包括:
发送所述第二输出分片;以及
接收其他第二输出分片。
9.根据权利要求5所述的方法,还包括:
发送所述多个第二输入分片中的至少一个。
10.一种多方安全计算装置,包括:
第一获取模块,用于获取第一输入分片;
产生模块,用于产生初始随机数,并确定目标随机数的多个随机数分片,所述目标随机数是所述初始随机数右移N位得到的;
确定模块,用于将所述多个随机数分片中的一个随机数分片作为第一输出分片;
第一发送模块,用于使用所述初始随机数加扰所述第一输入分片,发送加扰后的第一输入分片和所述多个随机数分片中除所述一个随机数分片外的其余随机数分片;
其中,所述随机数分片的个数等于参与多方安全计算的计算方的个数;所述第一发送模块,还用于将所述其余随机数分片中的各个随机数分片分别发送给其他各个计算方;将所述加扰后的第一输入分片发送给所述其他各个计算方中的一个。
11.一种多方安全计算装置,包括:
第二获取模块,用于获取多个第二输入分片;
第一接收模块,用于接收随机数分片和加扰的第一输入分片;
计算模块,用于根据所述多个第二输入分片以及接收到的所述加扰的第一输入分片和随机数分片,计算第二输出分片;
其中,所述随机数分片和加扰的第一输入分片是根据权利要求10所述的装置生成的。
12.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至9中任一项所述的方法。
13.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1至9中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011513782.0A CN112765616B (zh) | 2020-12-18 | 2020-12-18 | 多方安全计算方法、装置、电子设备和存储介质 |
PCT/CN2021/092330 WO2022126993A1 (zh) | 2020-12-18 | 2021-05-08 | 多方安全计算方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011513782.0A CN112765616B (zh) | 2020-12-18 | 2020-12-18 | 多方安全计算方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112765616A CN112765616A (zh) | 2021-05-07 |
CN112765616B true CN112765616B (zh) | 2024-02-02 |
Family
ID=75694482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011513782.0A Active CN112765616B (zh) | 2020-12-18 | 2020-12-18 | 多方安全计算方法、装置、电子设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112765616B (zh) |
WO (1) | WO2022126993A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112765616B (zh) * | 2020-12-18 | 2024-02-02 | 百度在线网络技术(北京)有限公司 | 多方安全计算方法、装置、电子设备和存储介质 |
CN113158254B (zh) * | 2021-05-18 | 2022-06-24 | 支付宝(杭州)信息技术有限公司 | 一种保护数据隐私的选择问题处理方法和系统 |
CN114418830A (zh) * | 2022-01-19 | 2022-04-29 | 百度在线网络技术(北京)有限公司 | 安全计算方法、装置、设备以及存储介质 |
CN114282255B (zh) * | 2022-03-04 | 2022-05-31 | 支付宝(杭州)信息技术有限公司 | 一种基于秘密分享的排序序列合并方法和系统 |
CN114726512B (zh) * | 2022-03-08 | 2024-03-26 | 支付宝(杭州)信息技术有限公司 | 数据处理方法和装置 |
CN115081020A (zh) * | 2022-06-27 | 2022-09-20 | 华控清交信息科技(北京)有限公司 | 隐私算法构建方法、装置、电子设备和可读存储介质 |
CN115361131B (zh) * | 2022-10-21 | 2022-12-13 | 华控清交信息科技(北京)有限公司 | 一种密文数据计算方法、装置和电子设备 |
CN116055049B (zh) * | 2023-04-03 | 2023-07-04 | 富算科技(上海)有限公司 | 多方安全计算方法、装置、系统、电子设备和存储介质 |
CN116108473B (zh) * | 2023-04-10 | 2023-06-27 | 极术(杭州)科技有限公司 | 多方安全计算中的数据处理方法及装置 |
CN116127523B (zh) * | 2023-04-17 | 2023-06-16 | 华控清交信息科技(北京)有限公司 | 一种隐私计算中的数据处理方法、装置及电子设备 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9449177B1 (en) * | 2013-03-13 | 2016-09-20 | Hrl Laboratories, Llc | General protocol for proactively secure computation |
US9536114B1 (en) * | 2013-03-13 | 2017-01-03 | Hrl Laboratories, Llc | Secure mobile proactive multiparty computation protocol |
CN106788974A (zh) * | 2016-12-22 | 2017-05-31 | 深圳国微技术有限公司 | 掩码s盒、分组密钥计算单元、装置及对应的构造方法 |
EP3244567A1 (en) * | 2016-05-13 | 2017-11-15 | ABB Schweiz AG | Encryption for low-end devices through random number generation offloading |
CN109255247A (zh) * | 2018-08-14 | 2019-01-22 | 阿里巴巴集团控股有限公司 | 多方安全计算方法及装置、电子设备 |
CN110061829A (zh) * | 2019-04-26 | 2019-07-26 | 上海点融信息科技有限责任公司 | 基于区块链网络的安全多方计算方法、装置及存储介质 |
CN110537191A (zh) * | 2017-03-22 | 2019-12-03 | 维萨国际服务协会 | 隐私保护机器学习 |
CN110912690A (zh) * | 2019-11-01 | 2020-03-24 | 中国第一汽车股份有限公司 | 一种数据加密和解密方法、车辆和存储介质 |
CN111143894A (zh) * | 2019-12-24 | 2020-05-12 | 支付宝(杭州)信息技术有限公司 | 一种提升安全多方计算效率的方法及系统 |
CN111342962A (zh) * | 2020-04-01 | 2020-06-26 | 支付宝(杭州)信息技术有限公司 | 一种验证密文消息范围的方法和系统 |
CN111539027A (zh) * | 2020-07-08 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 一种基于双方隐私保护的信息验证方法和系统 |
CN111563261A (zh) * | 2020-05-15 | 2020-08-21 | 支付宝(杭州)信息技术有限公司 | 一种基于可信执行环境的隐私保护多方计算方法和系统 |
CN111783130A (zh) * | 2020-09-04 | 2020-10-16 | 支付宝(杭州)信息技术有限公司 | 隐私保护的数据处理方法、装置及服务器 |
CN111788584A (zh) * | 2018-08-21 | 2020-10-16 | 华为技术有限公司 | 一种神经网络计算方法和装置 |
CN112084384A (zh) * | 2020-09-11 | 2020-12-15 | 支付宝(杭州)信息技术有限公司 | 多方联合进行安全统计的方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10432400B2 (en) * | 2016-10-25 | 2019-10-01 | Southern Methodist University | Method and system for privacy preserving disclosure of a shared, identity linked secret |
WO2018202742A1 (en) * | 2017-05-04 | 2018-11-08 | Koninklijke Philips N.V. | Batch-wise distributed preprocessing information verification |
CN111064579A (zh) * | 2019-12-11 | 2020-04-24 | 北京金汤科技有限公司 | 基于区块链的安全多方计算方法、系统、及存储介质 |
CN112000990B (zh) * | 2020-10-27 | 2021-02-05 | 支付宝(杭州)信息技术有限公司 | 隐私保护的数据处理方法、装置、设备及机器学习系统 |
CN112765616B (zh) * | 2020-12-18 | 2024-02-02 | 百度在线网络技术(北京)有限公司 | 多方安全计算方法、装置、电子设备和存储介质 |
-
2020
- 2020-12-18 CN CN202011513782.0A patent/CN112765616B/zh active Active
-
2021
- 2021-05-08 WO PCT/CN2021/092330 patent/WO2022126993A1/zh active Application Filing
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9449177B1 (en) * | 2013-03-13 | 2016-09-20 | Hrl Laboratories, Llc | General protocol for proactively secure computation |
US9536114B1 (en) * | 2013-03-13 | 2017-01-03 | Hrl Laboratories, Llc | Secure mobile proactive multiparty computation protocol |
EP3244567A1 (en) * | 2016-05-13 | 2017-11-15 | ABB Schweiz AG | Encryption for low-end devices through random number generation offloading |
CN106788974A (zh) * | 2016-12-22 | 2017-05-31 | 深圳国微技术有限公司 | 掩码s盒、分组密钥计算单元、装置及对应的构造方法 |
CN110537191A (zh) * | 2017-03-22 | 2019-12-03 | 维萨国际服务协会 | 隐私保护机器学习 |
CN109255247A (zh) * | 2018-08-14 | 2019-01-22 | 阿里巴巴集团控股有限公司 | 多方安全计算方法及装置、电子设备 |
CN111788584A (zh) * | 2018-08-21 | 2020-10-16 | 华为技术有限公司 | 一种神经网络计算方法和装置 |
CN110061829A (zh) * | 2019-04-26 | 2019-07-26 | 上海点融信息科技有限责任公司 | 基于区块链网络的安全多方计算方法、装置及存储介质 |
CN110912690A (zh) * | 2019-11-01 | 2020-03-24 | 中国第一汽车股份有限公司 | 一种数据加密和解密方法、车辆和存储介质 |
CN111143894A (zh) * | 2019-12-24 | 2020-05-12 | 支付宝(杭州)信息技术有限公司 | 一种提升安全多方计算效率的方法及系统 |
CN111342962A (zh) * | 2020-04-01 | 2020-06-26 | 支付宝(杭州)信息技术有限公司 | 一种验证密文消息范围的方法和系统 |
CN111563261A (zh) * | 2020-05-15 | 2020-08-21 | 支付宝(杭州)信息技术有限公司 | 一种基于可信执行环境的隐私保护多方计算方法和系统 |
CN111539027A (zh) * | 2020-07-08 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 一种基于双方隐私保护的信息验证方法和系统 |
CN111783130A (zh) * | 2020-09-04 | 2020-10-16 | 支付宝(杭州)信息技术有限公司 | 隐私保护的数据处理方法、装置及服务器 |
CN112084384A (zh) * | 2020-09-11 | 2020-12-15 | 支付宝(杭州)信息技术有限公司 | 多方联合进行安全统计的方法和装置 |
Non-Patent Citations (1)
Title |
---|
基于同态加密技术的安全多方乘积协议;夏超;仲红;石润华;;计算机工程与应用(第01期);第201-206页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112765616A (zh) | 2021-05-07 |
WO2022126993A1 (zh) | 2022-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112765616B (zh) | 多方安全计算方法、装置、电子设备和存储介质 | |
CN109359476B (zh) | 一种隐藏输入的两方模式匹配方法及装置 | |
CN112506469B (zh) | 针对隐私数据进行处理的方法和装置 | |
CN111523144B (zh) | 针对多方的隐私数据进行安全运算的方法和装置 | |
WO2023240934A1 (zh) | 针对隐私向量的安全处理方法和装置 | |
KR20230044318A (ko) | 모델 파라미터 조정 방법, 기기, 저장매체 및 프로그램 제품 | |
Park et al. | AESPA: Accuracy preserving low-degree polynomial activation for fast private inference | |
CN115664747A (zh) | 加密方法和装置 | |
CN112560107B (zh) | 针对隐私数据进行处理的方法和装置 | |
WO2023231340A1 (zh) | 分享ot协议的执行方法、安全多方计算方法及装置 | |
CN112615852A (zh) | 数据的处理方法、相关装置及计算机程序产品 | |
CN113688426A (zh) | 针对隐私数据分片进行形式转换的方法、装置和系统 | |
CN114428907B (zh) | 信息搜索方法、装置、电子设备及存储介质 | |
CN113449872A (zh) | 基于联邦学习的参数处理方法、装置和系统 | |
US10715360B2 (en) | Data scrambling method and scrambling apparatus | |
CN115587382B (zh) | 全密态数据处理方法、装置、设备、介质 | |
CN114359015B (zh) | 数据传输方法、装置和图形处理服务器 | |
CN115965072A (zh) | 多方联合训练神经网络模型的方法和装置 | |
CN116089991B (zh) | 数据对齐方法、装置、设备及存储介质 | |
CN117009723B (zh) | 一种多方计算方法、装置、设备及存储介质 | |
CN113824546B (zh) | 用于生成信息的方法和装置 | |
CN114422116B (zh) | 数据处理方法及装置 | |
CN115906982B (zh) | 分布式训练方法、梯度通信方法、装置及电子设备 | |
CN118194332B (zh) | 一种隐私求交方法、装置、设备及介质 | |
CN114418830A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |