CN115766156A - 针对目标数据的共享形式转换方法及装置 - Google Patents
针对目标数据的共享形式转换方法及装置 Download PDFInfo
- Publication number
- CN115766156A CN115766156A CN202211385468.8A CN202211385468A CN115766156A CN 115766156 A CN115766156 A CN 115766156A CN 202211385468 A CN202211385468 A CN 202211385468A CN 115766156 A CN115766156 A CN 115766156A
- Authority
- CN
- China
- Prior art keywords
- party
- value
- boolean
- coefficient
- sharing
- 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
Landscapes
- Communication Control (AREA)
Abstract
本说明书实施例提供一种针对目标数据的共享形式转换方法及装置,在基于多方安全计算的业务处理过程中,在针对2的幂次的目标数据进行共享形式转换过程中,利用2的幂次在布尔共享形式下的特殊性,通过将布尔分片按比特拆分、计算,从而构建G‑模作用协议数据,以由两个参与方通过执行G‑模作用协议完成布尔共享形式向和共享形式的转换,从而降低2的幂次共享形式转换过程中数据通信量,提供更加高效的B2A转换方式。
Description
技术领域
本说明书一个或多个实施例涉及安全计算技术领域,尤其涉及多方安全计算中针对目标数据的共享形式转换方法及装置。
背景技术
安全多方计算又称为多方安全计算,可以由多方共同计算出一个函数的结果,而不泄露这个函数中各方的输入数据,计算的结果公开给其中的一方或多方。安全多方计算的典型应用例如有隐私保护的多方数据的联合统计分析、机器学习等。这里的函数是一个统计运算的函数、一个机器学习算法等等。
在多方安全计算过程中,为了不泄露各方数据以及中间计算结果,可以将数据或中间结果以共享(share)形式由各方持有。单方持有一个数据分片,各方持有的分片融合在一起还原出相应数据。通常,计算保持在共享状态进行。如此,多方安全计算中的数据通信次数、通信量等均是影响安全计算效率的重要因素。
发明内容
本说明书一个或多个实施例描述了一种针对目标数据的共享形式转换方法及装置,用以解决背景技术提到的一个或多个问题。
根据第一方面,提供一种针对目标数据的共享形式转换方法,用于两方安全计算中,将目标数据在第一方、第二方的布尔共享形式转换为和共享形式,所述目标数据为2的幂次,第一方、第二方分别持有关于所述目标数据x的n个比特的第一布尔分片xL、第二布尔分片xR,所述方法由第一方执行,包括:将所述第一布尔分片xL转换为算术形式,得到第一值yL;针对所持有的第一布尔分片xL中各个比特进行加和得到模4的第一加和结果,以获取所述第一加和结果中的第一高比特tL;基于第一值yL、以-1为底第一高比特tL为指数的第一系数(-1)tL,与第二方安全执行G-模作用协议,得到所述目标数据x的第一和共享分片x0;其中,G-模作用协议将阿贝尔群G中的元素作用在阿贝尔群A中的元素上,仍得到阿贝尔群A中的元素;在所述G-模作用协议中,阿贝尔群G的元素包括1和-1,第二方提供以-1为底第二高比特tR为指数的第二系数(-1)tR,以及第二值-yR,所述第二值-yR为第二布尔分片xR转换为算术形式的相反数对2n取模得到,第一系数(-1)tL与第二系数(-1)tR的乘积为阿贝尔群G中的元素,所述第一值yL、第二值-yR为阿贝尔群A中构成分配律中的加和的元素,所述乘积作用在所述加和上满足分配律。
在一个实施例中,所述将所述第一布尔分片xL转换为算术形式,得到第一值yL包括:将所述第一布尔分片xL看作二进制形式的第一数据,将所述第一数据从二进制形式向预定进制转换,得到所述第一数据的算术形式,作为所述第一值yL。
在一个实施例中,所述G-模作用协议中满足的分配率为乘法分配率,所述乘积作用在所述加和上满足的分配率为:所述乘积乘以所述第一值与所述第二值的加和,等于所述乘积乘以所述第一值加上所述乘积乘以所述第二值的和。
在一个实施例中,所述基于第一值yL、以-1为底第一高比特tL为指数的第一系数(-1)tL,与第二方安全执行G-模作用协议,得到所述目标数据x的第一和共享分片x0包括:获取所述第一值对应的第一扰动值b0、第一系数对应的第一平衡值h0,以及约束项u的第一分片u0;基于利用第一平衡值h0的逆与所述第一系数的乘积确定的第一平衡因子,与从第二方接收到的第二平衡因子,确定所述乘积对应的平衡系数δg;利用所述第一系数与从第二方获取的第二中间项f1的和,加上所述平衡系数δg与所述约束项u的第一分片u0的积,确定所述第一和共享分片x0,其中,所述第二中间项f1由第二方根据所述第二系数与所述第二值经所述第二扰动值b1扰动后得到的第二扰动结果的乘积确定。
在一个实施例中,所述基于第一值yL、以-1为底第一高比特tL为指数的第一系数(-1)tL,与第二方安全执行G-模作用协议还包括:根据所述第一系数与所述第一值经所述第一扰动值b0扰动后得到的第一扰动结果的乘积,确定第一中间项f0;将所述第一中间项f0提供给第二方,以供第二方利用所述第一中间项f0确定x的第二和共享分片x1。
根据第二方面,提供一种针对目标数据的共享形式转换方法,用于两方安全计算中,将目标数据在第一方、第二方的布尔共享形式转换为和共享形式,所述目标数据为2的幂次,第一方、第二方分别持有关于所述目标数据x的n个比特的第一布尔分片xL、第二布尔分片xR,所述方法由第二方执行,包括:将所述第二布尔分片xR转换为算术形式,通过其相反数对2n取模,得到第二值-yR;针对所持有的第一布尔分片xR中各个比特进行加和得到模4的第二加和结果,以获取所述第二加和结果中的第一高比特tR;基于第二值-yR、以-1为底第二高比特tR为指数的第二系数(-1)tR,与第一方安全执行G-模作用协议,得到目标数据x的第二和共享分片x1;其中,G-模作用协议将阿贝尔群G中的元素作用在阿贝尔群A中的元素上,仍得到阿贝尔群A中的元素;在所述G-模作用协议中,阿贝尔群G的元素包括1和-1,第一方提供以-1为底第一高比特tL为指数的第一系数(-1)tL,以及第一值yL,所述第一值yL为第一布尔分片xL转换为算术形式得到,第一系数(-1)tL与第二系数(-1)tR的乘积为阿贝尔群G中的元素,所述第一值yL、第二值-yR为阿贝尔群A中构成分配律中的加和的元素,所述乘积作用在所述加和上满足分配律。
在一个实施例中,所述基于第二值-yR、以-1为底第二高比特tR为指数的第二系数(-1)tR,与第一方安全执行G-模作用协议,得到目标数据x的第二和共享分片x1包括:获取所述第二值对应的第二扰动值b1、第二系数对应的第二平衡值h1,以及约束项u的第二分片u1;基于利用第二平衡值h1的逆与所述第二系数的乘积确定的第二平衡因子,与从第一方接收到的第一平衡因子,确定所述乘积对应的平衡系数δg;利用所述第二系数与从第一方获取的第一中间项f0的和,加上所述平衡系数δg与所述约束项u的第二分片u1的积,确定所述第二和共享分片x1,其中,所述第一中间项f0由第一方根据所述第一系数与所述第一值经所述第一扰动值b0扰动后得到的第一扰动结果的乘积确定。
在一个实施例中,所述基于第二值-yR、以-1为底第二高比特tR为指数的第二系数(-1)tR,与第一方安全执行G-模作用协议还包括:根据所述第二系数与所述第二值经所述第二扰动值b1扰动后得到的第二扰动结果的乘积,确定第二中间项f1;将所述第二中间项f1提供给第一方,以供第一方利用所述第二中间项f1确定x的第一和共享分片x0。
根据第三方面,提供一种针对目标数据的共享形式转换装置,用于两方安全计算中,将目标数据在第一方、第二方的布尔共享形式转换为和共享形式,所述目标数据为2的幂次,第一方、第二方分别持有关于所述目标数据x的n个比特的第一布尔分片xL、第二布尔分片xR,所述装置设于第一方,包括:
数值确定单元,配置为将所述第一布尔分片xL转换为算术形式,得到第一值yL;
系数确定单元,配置为针对所持有的第一布尔分片xL中各个比特进行加和得到模4的第一加和结果,以获取所述第一加和结果中的第一高比特tL;
G-模作用单元,配置为基于第一值yL、以-1为底第一高比特tL为指数的第一系数(-1)tL,与第二方安全执行G-模作用协议,得到所述目标数据x的第一和共享分片x0;
其中,G-模作用协议将阿贝尔群G中的元素作用在阿贝尔群A中的元素上,仍得到阿贝尔群A中的元素;在所述G-模作用协议中,阿贝尔群G的元素包括1和-1,第二方提供以-1为底第二高比特tR为指数的第二系数(-1)tR,以及第二值-yR,所述第二值-yR为第二布尔分片xR转换为算术形式的相反数对2n取模得到,第一系数(-1)tL与第二系数(-1)tR的乘积为阿贝尔群G中的元素,所述第一值yL、第二值-yR为阿贝尔群A中构成分配律中的加和的元素,所述乘积作用在所述加和上满足分配律。
根据第四方面,提供一种针对目标数据的共享形式转换装置,用于两方安全计算中,将目标数据在第一方、第二方的布尔共享形式转换为和共享形式,所述目标数据为2的幂次,第一方、第二方分别持有关于所述目标数据x的n个比特的第一布尔分片xL、第二布尔分片xR,所述装置设于第二方,包括:
数值确定单元,配置为将所述第二布尔分片xR转换为算术形式,通过其相反数对2n取模,得到第二值-yR;
系数确定单元,配置为针对所持有的第一布尔分片xR中各个比特进行加和得到模4的第二加和结果,以获取所述第二加和结果中的第一高比特tR;
G-模作用单元,配置为基于第二值-yR、以-1为底第二高比特tR为指数的第二系数(-1)tR,与第一方安全执行G-模作用协议,得到目标数据x的第二和共享分片x1;
其中,G-模作用协议将阿贝尔群G中的元素作用在阿贝尔群A中的元素上,仍得到阿贝尔群A中的元素;在所述G-模作用协议中,阿贝尔群G的元素包括1和-1,第一方提供以-1为底第一高比特tL为指数的第一系数(-1)tL,以及第一值yL,所述第一值yL为第一布尔分片xL转换为算术形式得到,第一系数(-1)tL与第二系数(-1)tR的乘积为阿贝尔群G中的元素,所述第一值yL、第二值-yR为阿贝尔群A中构成分配律中的加和的元素,所述乘积作用在所述加和上满足分配律。
根据第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面或第二方面的方法。
根据第六方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面或第二方面的方法。
通过本说明书实施例提供的方法和装置,在两方安全计算场景中所涉及的布尔共享向和共享形式转换(B2A)的场景中,考虑到常规转换协议的复杂性,以及2的幂次在布尔共享形式下的特殊性,提出一种新的转换方案,降低转换复杂度,提高多方安全计算的数据处理效率。其中,2的幂次在布尔共享形式下的特殊性为:两个布尔分片之间仅有一个比特上的数据是不同的。如此,可以考虑两个布尔共享分片转化成算术分片后的差值yL-yR,对应着2的幂次。此外,还需考虑减法得到的差的符号问题。
具体地,为了保护数据隐私,各个参与方各自可以将2的幂次的布尔共享分片中的比特拆分为各个取值为0、1的数值,通过这些数值的加和确定系数(-1)tL、(-1)tR,同时将减法看作负数的加法,得到与差值(yL-yR)对应的参考分片yL、-yR。进一步地,将(-1)tL×(-1)tR=(-1)t看作G模块中的元素,按照分配率作用在yL、-yR的和(yL-yR)上,以通过满足G模块和阿贝尔群上的分配率的G-模作用协议(-1)t(yL-yR),从而得到2的幂次的和共享形式。
这种共享形式转换的方式可以减少两个参与方在布尔共享和和共享形式转换的通信量,从而提高多方安全计算的业务处理效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出G-模作用协议的数据通信示意图;
图2示出根据一个实施例的由单个参与方执行的针对目标数据的共享形式转换方法流程图;
图3示出根据另一个实施例的由单个参与方执行的针对目标数据的共享形式转换方法流程图;
图4示出根据一个实施例的设于单个参与方的针对目标数据的共享形式转换装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的技术方案进行描述。
秘密共享(secret sharing)也称为秘密分割、秘密分享,其基本原理是将秘密(比如密钥、隐私数据等)拆分成多个份额(share),分别交给不同参与方保管。只有超过门限数量的各方将他们的share合并,才能恢复秘密;从少于门限数量的多方获取的share无法恢复秘密的任何信息。多方安全计算中,门限数量通常与参与方数量相同,秘密被拆分成的份额也可以称为分片。
秘密共享是多方安全计算过程中的重要手段。多方安全计算中常用的几种秘密共享形式例如有算术共享(Arithmetic Sharing)、布尔共享(Boolean Sharing)、姚氏共享(Yao's Sharing)。以下以共享秘密数据x为例,描述各种共享方式。
其中,算术共享也称为和共享。在双方安全计算中,把一个整数x以两个分片x=xL+xR以模2N的共享形式(平移到[0,2N-1]区间)分布式储存在两方,使得一方不知道xR,另一方不知道xL,两方中的任一方不能得到x的完整形式。进一步地,两方可以扩展为多方,如记为x=x1+x2+…+xd。假设N=64,则可以通过64字节(bit)的二进制数表示x在单个参与方的单个分片。将一个数据x拆分为和共享形式的方式例如为:随机生成d-1个264内的数值(如随机生成64字节的二进制数)作为d-1个分片,如分别记为x1、x2、…、xd-1,用并对264(平移到[0,264-1]区间)取模作为另一个分片,如记为xd=x-x1-x2-…-xd-1。
布尔共享是在比特位上进行异或操作的秘密分享方式。例如仍以两个参与方为例,假设x为一个比特的数据(取值为0或1),且以x0⊕x1在两个参与方构成布尔共享形式,x0、x1分别为x在两个参与方的两个布尔共享分片,均在0或1上取值,⊕表示异或运算。单个参与方不知道另一个参与方所持有的分片,因此不能推测数据x。对于由n个比特构成的数据x',可以随机生成n个比特的二进制数,作为一方的布尔共享分片(如x0')。另一方的布尔共享分片(如x1')可以由x'与该方的布尔共享分片的异或结果(x0'⊕x')确定。
姚氏共享是与混淆电路(Garbled Circuits,GC)相关的一种共享方式,混淆电路可以通过布尔电路进行计算。仍以两个参与方(混淆方和计算方)为例,可以由混淆方设置全局字符串R,且R在表示0的字符串(如L0)上的作用结果为表示1的字符串(如L1),如R与L0的异或结果为L1。举例而言,秘密数据x的姚氏共享的一个分片x0可以是随机生成的字符串k0,另一个分片可以是k0与R作用在x上的作用结果的异或值k1(如记为k1=k0⊕R[x])。
上述三种Sharing(共享方式)各有自己的优势和劣势。各种共享方式之间还可以相互转换。例如:
姚氏共享转换为布尔共享(Yao to Boolean Sharing,如简称Y2B),单个参与方在本地计算要是共享分片与表示0的字符串的异或结果,作为相应布尔共享分片;
算术共享转换为布尔共享(Arithmetic to Boolean Sharing,如简称A2B),A2B可以用Boolean加法电路实现(和A2Y)类似,或者使用Arithmetic比特抽取电路。由于Y2B是没有开销(free)的,而姚氏共享在做加法时比布尔电路更加高效,因此可以依次使用A2Y、Y2B叠加处理相应算术分片,得到相应的布尔分片,例如,算术分片xL经Y2B(A2Y(xL))处理得到布尔分片x0;
布尔共享转换为算术共享(Boolean to Arithmetic Sharing,如简称B2A)。B2A可以通过Boolean电路上的减法实现,但是这种方法开销太大。为了提升性能,两方可以使用基于OT的方法实现。在针对第i比特的第i次OT过程中,一方(如A方)作为发送方,向另一方(如B方)发送两个字符串si,0、si,1,并使它们满足: 另一方作为接受方输入本地布尔分片中第i比特的数值作为选择比特得到进而,发送方方计算接受方计算从而,将布尔共享形式转换为和共享形式;
等等。
各种共享方式之间的转换在此不再一一例举。
在多方安全计算的业务处理过程中,为了处理的便利,可以将业务数据的共享形式进行转换。常规技术中,对于2的幂次,通过以上常规的B2A转换协议进行转换,则在布尔共享分片有n比特的情况下,需执行n次OT,其通信量为离线的n(n+1)/2比特,以及在线的2n比特。
而考虑到2的幂次的二进制表示具有一定特殊性,即仅一个比特(如第t比特)为1,其余位为0。进一步地,其在两个参与方的布尔共享形式下,两个布尔分片仅在相应比特(如第t比特)上的数值不同,而其他比特的数值均为相同。据此,本说明书提供一种新的技术思路对2的预定次幂从布尔共享形式向和共享形式进行转换。
本说明书的技术构思是通过G-模作用协议的执行,完成2的幂次由布尔共享形式向和共享形式的转换。图1示出了一个具体例子的G-模作用协议的执行流程。下面结合图1的示例,描述G-模作用协议的执行原理。
假设G是一个阿贝尔群(Abelian Group),A是一个G模块。具体而言,A是一个阿贝尔群,并且存在着一个有限阿贝尔群G(以下简称G群),G群中的元素作用在阿贝尔群A(以下简称A群)的元素上G×A→A,满足分配律。作为一个示例,假设g是G群中的元素,a和b是A群中的元素,则在G群中的元素以乘法作用在A群中的元素,满足以下分配律:g(a+b)=ga+gb。
假设g=g0×g1,两个参与方(以下称为第一方和第二方)分别持有g0(如与第一方对应称为第一系数)、g1(如与第二方对应称为第二系数),同时第一方持有数据a0(如称为第一值),第二方持有数据a1(如称为第二值)。为了安全计算V=g0×g1(a0+a1),可以通过G-模作用协议安全地在两个参与方分别得到V的和共享分片v0(如称为第一和共享分片)、v1(如称为第二和共享分片)。为了保护数据隐私,使得协议运行过程中,第一方无法获取g0、a0的信息,第二方无法获取g1、a1的信息,可以为a0、a1分别在本地引入A群上的扰动值b0(如称为第一扰动值)、b1(如称为第二扰动值),使得a0、a1具有相应的扰动结果:δa0=a0-b0,δa1=a1-b1。如δa0称为第一扰动结果,δa1称为第二扰动结果。则有:
其中,令则δg可以看作为了消除扰动项引入的平衡系数,h0、h1为G群中的元素,例如分别称为第一平衡值、第二平衡值。令h0h1(b0+b1)=u,u可以称为约束项,用于描述平衡因子和扰动项之间满足的约束,且u的两个和共享分片(shere)u0、u1构成在第一方、第二方的和共享形式。则如图1所示,可以由可信第三方生成b0、b1、h0、h1,并计算h0h1(b0+b1)=u0+u1,从而,可以向第一方提供b0、h0、u0,向第二方提供b1、h1、u1。
值得说明的是,h0h1(b0+b1)=u0+u1作为约束条件,其6项中的至多5项可以按照预定随机数生成方法生成,其他项根据约束条件确定。因此,在可选的实施例中,其中的5项可以由第一方或第二方按照与可信第三方相同的伪随机数生成方式在本地生成,第三方根据该约束条件确定第6项,并发送给相应参与方。举例而言,第一方按照与可信第三方相同的方式在本地生成随机数b0、h0、u0,第二方按照与可信第三方相同的方式在本地生成随机数b1、h1,可信第三方在本地生成b0、h0、u0、b1、h1,并按照约束h0h1(b0+b1)=u0+u1确定u1发送给第二方。如此,离线通信量至少仅需1个A群元素(如n个比特)。这里,离线通信表示在执行G-模作用协议之前进行的独立于G-模作用协议执行过程的通信,离线通信可以预先进行、多次进行、批量进行,本说明书对此不做限定。相似地,G模块执行过程中实时进行的通信可以称为在线通信。
于是,第一方和第二方可以执行如图1所示的G-模作用协议:第一方计算第一平衡因子δg0=h0 -1g0,第一中间项f0=g0(a0-b0),并将δg0、f0提供给第二方;同理,第二方计算第二平衡因子δg1=h1 -1g1,第二中间项f1=g1(a1-b1),并将δg1、f1提供给第一方;第一方和第二方各自在本地计算平衡系数δg=δg0δg1;第一方计算v0=g0f1+δgu0,第二方计算v1=g1f0+δgu1。
此时:
v0+v1=g0f1+δgu0+g1f0+δgu1=g0g1(a1-b1)+g0g1(a0-b0)+δg(u0+u1)
=g0g1δa1+g0g1δa0+δgh0h1(b0+b1)
=g0g1(a0+a1)。
因此,v0、v1为G群中的g作用在A群中的a0、a1之和上的作用结果V=g0×g1(a0+a1)分别在第一方、第二方的和共享分片。V便是G群中的元素g通过分配律作用在A群中a0、a1的上的作用结果。至此,前述的G-模作用协议执行完毕。
可见,在G-模作用协议执行过程中,第一方和第二方无法获取对方的隐私数据。如图1所示,G-模作用协议执行所需的在线通信数据为:第一方向第二方提供的δg0、f0,以及第二方向第一方提供的δg1、f1,亦即,2个G群中的元素和2个A群中的元素,其通信量为2log2|G|+2log2|A|。|G|、|A|分别表示G群、A群的元素数量,假设G中有两个元素,A中有2n个元素,则该在线通信量为2+2n。
另一方面,根据布尔共享原理,在2的幂次作为共享形式转换的目标数据(如x=2i)的情况下,第一方持有的布尔分片和第二方持有的布尔分片仅有一个比特上的值是不同的。一个目标数据x在第一方、第二方构成布尔共享形式,记为x=xL⊕xR,在x的单个比特,还可以满足xi=xLi+xRimod2。假设两个布尔分片xL、xR均为n个比特(n>i)的字符串,每个比特取值为0或1。根据2的幂次的二进制表示可知,其仅有1个比特为1,其余比特均为0,例如2的1次幂表示为0010,2的2次幂为0100……,也就是说,xL、xR的n个比特中,只有1个比特是不同的。如x=0010(此时t=1),则xL、xR仅有从最后一位数的第2个比特是不同的,一个为0,一个为1。
对xL、xR逐比特拆分,则xL从低位到高位依次记为:xL0、xL1……xLi……xL(n-1),同理,xR从低位到高位依次记为:xR0、xR1……xRi……xR(n-1),其中,xLi和xRi中一个为0另一个为1,其余比特相同,如xL0=xR0、xL1=xR1……。xL、xR的算术形式分别为:
yL=xL0+xL1×2+……+xLi×2i+……+xL(n-1)×2(n-1);
yR=xR0+xR1×2+……+xRi×2i+……+xR(n-1)×2(n-1)。
于是,yL-yR=(-1)t×2i。其中,t描述差的符号,其值为0或1,使得(-1)t取值1或-1。而t的值0取决于xLi和xRi的大小,具体而言,xLi为0,xRi为1,则(-1)t取值-1,t可以取1,反之,xLi为1,xRi为0,则(-1)t取值1,t可以取0。进一步地,目标数据x=2i=(-1)t(yL-yR),令g=(-1)t,a0=yL、a1=-yR,则目标数据x可满足G-模作用协议的目标形式。
根据本说明书的技术构思,考虑将g=(-1)t通过第一方、第二方各自持有的本地隐私数据的乘积。由于幂次的特殊性,可以将t进行拆分,通过分别由第一方、第二方持有的两个数据的和确定,如t=tL+tR。而根据前文的描述,t的取值为0或1,考虑到0或1刚好为计算机语言的二进制取值,并且对于单个比特而言,(tL+tR)模2=tL⊕tR,则可以将问题转换为安全确定t的布尔共享形式。
考虑到xL、xR各个比特的加和相差1,并且其差的符号与yL-yR一致,则针对xL的第一加和结果sL=xL0+xL1+……+xLi+……+xL(n-1)、针对xR的第二加和结果sR=xR0+xR1+……+xRi+……+xR(n-1),有:sL-sR=(-1)t。
假设sL、-sR、(-1)t均为模4的形式存储,即sL=[xL0+xL1+……+xLi+……+xL(n-1)]模4,-sR=[-(xR0+xR1+……+xRi+……+xR(n-1))]模4,则sL-sR=(-1)t模4。由于sL-sR模4的结果只可能是1或者3,若sL>sR,则sL-sR模4为1(二进制01),反之,若sL<sR,则sL-sR模4为3(二进制11)。区别在于模4后的高比特。事实上,若第一方取sL的高比特作为tL,第二方取-sR的高比特作为tR,则tL、tR可构成t的布尔共享形式。
于是,基于单比特布尔共享与模2的和共享之间的关系,可以将g=(-1)t拆分为第一方持有的g0=(-1)tL,以及第一方的g1=(-1)tR。(-1)tL×(-1)tR=(-1)tL+tR=(-1)t,如此,针对包含1和-1两个元素的G群,以及由n个比特定义的A群(包含0至2n-1的数据),第一方持有G群中的元素(-1)tL、A群中的元素yL,第二方持有G群中的元素(-1)tR、A群中的元素-yR,第一方和第二方可以通过执行针对yL、-yR构建的G-模作用协议进行(-1)tL×(-1)tR×(yL-yR)=(-1)t×(yL-yR)=2i的和共享分片。
根据以上转换原理,本说明书的技术构思巧妙地利用布尔共享的特点,以及布尔共享和算术共享之间的关系,将2的幂次的两个布尔分片逐比特拆分并用于构建G-模作用协议,从而将两方安全计算中2的幂次转换成两方执行的G-模作用协议,两方的通信量即为G-模作用协议中的通信量,通信量大大降低。
值得说明的是,以上过程中,第一方和第二方的操作过程也可以互换,例如第一方提供-yL,第二方提供yR,本说明书对此不做限定。
以下结合图2示出的一个实施例的由单个参与方执行的针对目标数据进行共享形式转换的流程,进一步描述本说明书的技术构思。这里,将多方安全计算中的两个参与方分别称为第一方、第二方。第一方、第二方仅用于区分两个参与方,第一方可以是两个参与方中的任一方,第二方表示另一方。目标数据在两个参与方构成的布尔共享形式,目标数据是2的幂次。两个参与方分别持有目标数据的两个布尔分片,单个布尔分片对应n个比特表示。可以理解,布尔共享的两个分片按位执行异或操作可以得到目标数据的二进制形式。
由于在共享形式转换过程中,第一方和第二方可以同步执行相似的操作,因此,图2示出的流程以第一方执行为例进行说明。为了描述方便,本说明书假设目标数据为2i,第一方对应上标或下标L,第二方对应上标或下标R。如图2所示,该流程可以包括:步骤201,将第一布尔分片xL转换为算术形式,得到第一值yL;步骤202,针对所持有的第一布尔分片xL中的n个比特进行加和得到模4的第一加和结果,以获取第一加和结果中的第一高比特tL;步骤203,基于第一值yL、以-1为底第一高比特tL为指数的第一系数(-1)tL,与第二方安全执行G-模作用协议,得到目标数据x的第一和共享分片x1。
首先,在步骤201中,将第一布尔分片xL转换为算术形式,得到第一值yL。
这里,第一布尔分片可以看作二进制表示的数据,第一方可以将二进制形式转换成十进制、八进制等算术形式。本说明书涉及的算术形式主要以常用的十进制为例进行描述。转换方式为各个比特的数值乘以2的相应幂次,如yL=xL0+xL1×2+……+xLi×2i+……+xL(n-1)×2(n-1)。根据前文的原理可知,该算术形式的结果作为G-模作用协议中的分配率所针对的加和中的一项,在此为了描述方便可以称之为第一值。以xL=1101为例,可以得到yL=1+0×2+1×22+1×23=13。
接着,通过步骤202,针对所持有的第一布尔分片xL中的n个比特进行加和得到模4的第一加和结果,以获取第一加和结果中的第一高比特tL。
第一布尔分片xL中的n个比特可以逐比特进行加和,模4即加和对4取模(如通过%4表示),得到0、1、2、3中的值。例如sL=[xL0+xL1+……+xLi+……+xL(n-1)]%4。如xL=1101,则sL=[1+1+0+1]%4=3,其以二进制形式11作为第一加和结果。
在模4的情况下,第一加和结果有两个比特,因此可以分别称其为高比特和低比特进行区分。在本说明书的技术构思下,取第一加和结果中的高比特,以下记为第一高比特tL。以模4的结果为3为例,其高比特和低比特都是1,则取第一高比特tL=1。
进一步地,经由步骤203,基于第一值yL、以-1为底第一高比特tL为指数的第一系数(-1)tL,与第二方安全执行G-模作用协议,得到目标数据x的第一和共享分片x1。
G-模作用协议将G群中的元素通过分配律作用在A群中的元素上,仍得到A群中的元素。在本说明书针对2的幂次,G群可以包括两个元素1和-1,如记为G={±1},A群为n个比特限定的阿贝尔群,取值范围为0至2n-1。
根据前文的原理可知,G-模作用协议可以安全计算G群中的元素g按照预定方式(如乘法)作用在A群中的元素a0、a1上,满足分配律,如g×(a0+a1)=ga0+ga1。在安全计算g×(a0+a1)过程中,g可以拆分为第一方持有的g0和第二方持有的g1两个因子,即g=g0×g1,并且g0和g1均为G群中的元素。
在本说明书的技术构思下,G={±1}的情况下,t=0或1,则(-1)t为1或-1,是G群中的元素。第一方按照步骤202处理第二布尔分片xL得到tL、第一系数(-1)tL,而第二方可以按照相似的方法处理第二布尔分片xR得到tR,进而得到第二系数(-1)tR。同样,tL、tR的取值均为0或1,则第一系数(-1)tL、第二系数(-1)tR也是G群中的元素。而第二方可以按照步骤201相似的方法确定A群中的第二值-yR,区别在于,第一方将第一布尔分片xR转换为算术形式,其值通常落在A群的0至2n-1范围内,第二方将第二布尔分片xR转换为算术形式后,用其相反数对2n取模,得到的值落在A群的0至2n-1范围内,记为-yR。
如此,利用第一方持有的第一系数(-1)tL及第一值yL、第二方持有的第二系数(-1)tR及第二值-yR,可以执行安全的G-模作用协议,安全计算(-1)tL×(-1)tR×(yL-yR)=(-1)t×(yL-yR),执行过程如前文的G-模作用协议g0g1(a0+a1),其中,按照图1所示,以及前文描述的原理,g0可以对应(-1)tL,g1可以对应(-1)tR,a0可以对应yL,a1可以对应-yR。执行结果(如V)在第一方和第二方构成和共享形式(如v0和v1),如第一方持有的结果记为第一和共享分片x1、第二方持有的结果记为第二和共享分片x2,其中,x1可以对应G-模作用协议中的v1,x2可以对应G-模作用协议中的v2。x1、x2均为A群中的元素。
相对应地,另一方面,第二方执行的流程如图3所示:
步骤301,将x的第二布尔分片xR转换为算术形式,通过其相反数对2n取模,得到第二值-yR;
步骤302,针对所持有的第二布尔分片xR中各个比特进行加和得到模4的第二加和结果,以获取第二加和结果中的第二高比特tR;
步骤303,基于第二值-yR、以-1为底第二高比特tR为指数的第二系数(-1)tR,与第一方安全执行G-模作用协议,得到目标数据x的第二和共享分片x1。
在以上过程中,值得注意的是,第一方执行步骤201、步骤202,第二方执行步骤301、步骤302,均为在本地独立执行的步骤,第一方和第二方之间不进行通信和交互。第一方和第二方之间的交互过程是第一方通过步骤203和第二方通过步骤303中执行G-模作用协议时进行的交互,其通信量为离线的n比特,以及在线的2n+2比特。
容易理解,图2、图3仅给出了第一方、第二方执行相应流程的一个具体实施例,实践中,第一方执行步骤201、步骤202,或者第二方执行步骤301、步骤303,是相互独立的,其可以并行执行,也可以调换顺序执行,例如,第一方可以先执行步骤202,再执行步骤201,或者同时执行步骤201和步骤202,在此不做限定。
另外,第一方、第二方在执行G-模作用协议过程中,(-1)t对应g,(-1)tL对应g0,(-1)tR对应g1,yL对应a0,-yR对应a1,G-模作用协议所涉及的g0g1(a0+a1)计算过程也适用于替换为(-1)tL(-1)tR(yL-yR)的计算过程,在图2、图3中不再赘述。
回顾以上过程,本说明书提供的技术构思,在针对2的预定幂次的目标数据进行共享形式转换过程中,利用2的幂次在布尔共享形式下的特殊性,通过将布尔分片按比特拆分、计算,从而构建G-模作用协议,以由两个参与方通过执行G-模作用协议完成布尔共享形式向和共享形式的转换,从而可以降低2的幂次共享形式转换过程中数据通信量,提供更加高效的B2A转换方式,提高安全计算的业务处理效率。
根据另一方面的实施例,还提供一种设于第一方或第二方的针对目标数据的共享形式转换装置。图4示出了根据一个实施例的针对目标数据的共享形式转换装置400。该装置400可以设于多方安全计算的两个参与方中的任一方。装置400可以包括:数值确定单元401、系数确定单元402、G-模作用协议单元403。
在装置400为设于第一方的共享形式转换装置的情况下:
数值确定单元401配置为:将第一布尔分片xL转换为算术形式,得到第一值yL;
系数确定单元402配置为:针对所持有的第一布尔分片xL中各个比特进行加和得到模4的第一加和结果,以获取第一加和结果中的第一高比特tL;
G-模作用单元403配置为:基于第一值yL、以-1为底第一高比特tL为指数的第一系数(-1)tL,与第二方安全执行G-模作用协议,得到目标数据x的第一和共享分片x1。
在装置400为设于第二方的共享形式转换装置的情况下:
数值确定单元401配置为:将x的第二布尔分片xL转换为算术形式,通过其相反数对2n取模,得到第二值-yR;
系数确定单元402配置为:针对所持有的第二布尔分片xR中各个比特进行加和得到模4的第二加和结果,以获取第二加和结果中的第二高比特tR;
G-模作用单元403配置为:基于第二值-yR、以-1为底第二高比特tR为指数的第二系数(-1)tR,与第一方安全执行G-模作用协议,得到目标数据x的第二和共享分片x2。
值得说明的是,图4所示的装置400与图2或图3描述的方法相对应,图2或图3的方法实施例中的相应描述同样适用于装置400,在此不再赘述。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当计算机程序在计算机中执行时,令计算机执行结合图2或图3等所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,存储器中存储有可执行代码,处理器执行可执行代码时,实现结合图2或图3等所描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上的具体实施方式,对本说明书的技术构思的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本说明书的技术构思的具体实施方式而已,并不用于限定本说明书的技术构思的保护范围,凡在本说明书实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的技术构思的保护范围之内。
Claims (12)
1.一种针对目标数据的共享形式转换方法,用于两方安全计算中,将目标数据在第一方、第二方的布尔共享形式转换为和共享形式,所述目标数据为2的幂次,第一方、第二方分别持有关于所述目标数据x的n个比特的第一布尔分片xL、第二布尔分片xR,所述方法由第一方执行,包括:
将所述第一布尔分片xL转换为算术形式,得到第一值yL;
针对所持有的第一布尔分片xL中各个比特进行加和得到模4的第一加和结果,以获取所述第一加和结果中的第一高比特tL;
基于第一值yL、以-1为底第一高比特tL为指数的第一系数(-1)tL,与第二方安全执行G-模作用协议,得到所述目标数据x的第一和共享分片x0;
其中,G-模作用协议将阿贝尔群G中的元素作用在阿贝尔群A中的元素上,仍得到阿贝尔群A中的元素;在所述G-模作用协议中,阿贝尔群G的元素包括1和-1,第二方提供以-1为底第二高比特tR为指数的第二系数(-1)tR,以及第二值-yR,所述第二值-yR为第二布尔分片xR转换为算术形式的相反数对2n取模得到,第一系数(-1)tL与第二系数(-1)tR的乘积为阿贝尔群G中的元素,所述第一值yL、第二值-yR为阿贝尔群A中构成分配律中的加和的元素,所述乘积作用在所述加和上满足分配律。
2.如权利要求1所述的方法,其中,所述将所述第一布尔分片xL转换为算术形式,得到第一值yL包括:
将所述第一布尔分片xL看作二进制形式的第一数据,将所述第一数据从二进制形式向预定进制转换,得到所述第一数据的算术形式,作为所述第一值yL。
3.如权利要求1所述的方法,其中,所述G-模作用协议中满足的分配率为乘法分配率,所述乘积作用在所述加和上满足的分配率为:
所述乘积乘以所述第一值与所述第二值的加和,等于所述乘积乘以所述第一值加上所述乘积乘以所述第二值的和。
4.如权利要求1所述的方法,其中,所述基于第一值yL、以-1为底第一高比特tL为指数的第一系数(-1)tL,与第二方安全执行G-模作用协议,得到所述目标数据x的第一和共享分片x0包括:
获取所述第一值对应的第一扰动值b0、第一系数对应的第一平衡值h0,以及约束项u的第一分片u0;
基于利用第一平衡值h0的逆与所述第一系数的乘积确定的第一平衡因子,与从第二方接收到的第二平衡因子,确定所述乘积对应的平衡系数δg;
利用所述第一系数与从第二方获取的第二中间项f1的和,加上所述平衡系数δg与所述约束项u的第一分片u0的积,确定所述第一和共享分片x0,其中,所述第二中间项f1由第二方根据所述第二系数与所述第二值经所述第二扰动值b1扰动后得到的第二扰动结果的乘积确定。
5.如权利要求4所述的方法,其中,所述基于第一值yL、以-1为底第一高比特tL为指数的第一系数(-1)tL,与第二方安全执行G-模作用协议还包括:
根据所述第一系数与所述第一值经所述第一扰动值b0扰动后得到的第一扰动结果的乘积,确定第一中间项f0;
将所述第一中间项f0提供给第二方,以供第二方利用所述第一中间项f0确定x的第二和共享分片x1。
6.一种针对目标数据的共享形式转换方法,用于两方安全计算中,将目标数据在第一方、第二方的布尔共享形式转换为和共享形式,所述目标数据为2的幂次,第一方、第二方分别持有关于所述目标数据x的n个比特的第一布尔分片xL、第二布尔分片xR,所述方法由第二方执行,包括:
将所述第二布尔分片xR转换为算术形式,通过其相反数对2n取模,得到第二值-yR;
针对所持有的第一布尔分片xR中各个比特进行加和得到模4的第二加和结果,以获取所述第二加和结果中的第一高比特tR;
基于第二值-yR、以-1为底第二高比特tR为指数的第二系数(-1)tR,与第一方安全执行G-模作用协议,得到目标数据x的第二和共享分片x1;
其中,G-模作用协议将阿贝尔群G中的元素作用在阿贝尔群A中的元素上,仍得到阿贝尔群A中的元素;在所述G-模作用协议中,预定有限阿贝尔群G的元素包括1和-1,第一方提供以-1为底第一高比特tL为指数的第一系数(-1)tL,以及第一值yL,所述第一值yL为第一布尔分片xL转换为算术形式得到,第一系数(-1)tL与第二系数(-1)tR的乘积为阿贝尔群G中的元素,所述第一值yL、第二值-yR为阿贝尔群A中构成分配律中的加和的元素,所述乘积作用在所述加和上满足分配律。
7.如权利要求6所述的方法,其中,所述基于第二值-yR、以-1为底第二高比特tR为指数的第二系数(-1)tR,与第一方安全执行G-模作用协议,得到目标数据x的第二和共享分片x1包括:
获取所述第二值对应的第二扰动值b1、第二系数对应的第二平衡值h1,以及约束项u的第二分片u1;
基于利用第二平衡值h1的逆与所述第二系数的乘积确定的第二平衡因子,与从第一方接收到的第一平衡因子,确定所述乘积对应的平衡系数δg;
利用所述第二系数与从第一方获取的第一中间项f0的和,加上所述平衡系数δg与所述约束项u的第二分片u1的积,确定所述第二和共享分片x1,其中,所述第一中间项f0由第一方根据所述第一系数与所述第一值经所述第一扰动值b0扰动后得到的第一扰动结果的乘积确定。
8.如权利要求7所述的方法,其中,所述基于第二值-yR、以-1为底第二高比特tR为指数的第二系数(-1)tR,与第一方安全执行G-模作用协议还包括:
根据所述第二系数与所述第二值经所述第二扰动值b1扰动后得到的第二扰动结果的乘积,确定第二中间项f1;
将所述第二中间项f1提供给第一方,以供第一方利用所述第二中间项f1确定x的第一和共享分片x0。
9.一种针对目标数据的共享形式转换装置,用于两方安全计算中,将目标数据在第一方、第二方的布尔共享形式转换为和共享形式,所述目标数据为2的幂次,第一方、第二方分别持有关于所述目标数据x的n个比特的第一布尔分片xL、第二布尔分片xR,所述装置设于第一方,包括:
数值确定单元,配置为将所述第一布尔分片xL转换为算术形式,得到第一值yL;
系数确定单元,配置为针对所持有的第一布尔分片xL中各个比特进行加和得到模4的第一加和结果,以获取所述第一加和结果中的第一高比特tL;
G-模作用单元,配置为基于第一值yL、以-1为底第一高比特tL为指数的第一系数(-1)tL,与第二方安全执行G-模作用协议,得到所述目标数据x的第一和共享分片x0;
其中,G-模作用协议将阿贝尔群G中的元素作用在阿贝尔群A中的元素上,仍得到阿贝尔群A中的元素;在所述G-模作用协议中,阿贝尔群G的元素包括1和-1,第二方提供以-1为底第二高比特tR为指数的第二系数(-1)tR,以及第二值-yR,所述第二值-yR为第二布尔分片xR转换为算术形式的相反数对2n取模得到,第一系数(-1)tL与第二系数(-1)tR的乘积为阿贝尔群G中的元素,所述第一值yL、第二值-yR为阿贝尔群A中构成分配律中的加和的元素,所述乘积作用在所述加和上满足分配律。
10.一种针对目标数据的共享形式转换装置,用于两方安全计算中,将目标数据在第一方、第二方的布尔共享形式转换为和共享形式,所述目标数据为2的幂次,第一方、第二方分别持有关于所述目标数据x的n个比特的第一布尔分片xL、第二布尔分片xR,所述装置设于第二方,包括:
数值确定单元,配置为将所述第二布尔分片xR转换为算术形式,通过其相反数对2n取模,得到第二值-yR;
系数确定单元,配置为针对所持有的第一布尔分片xR中各个比特进行加和得到模4的第二加和结果,以获取所述第二加和结果中的第一高比特tR;
G-模作用单元,配置为基于第二值-yR、以-1为底第二高比特tR为指数的第二系数(-1)tR,与第一方安全执行G-模作用协议,得到目标数据x的第二和共享分片x1;
其中,G-模作用协议将阿贝尔群G中的元素作用在阿贝尔群A中的元素上,仍得到阿贝尔群A中的元素;在所述G-模作用协议中,阿贝尔群G的元素包括1和-1,第一方提供以-1为底第一高比特tL为指数的第一系数(-1)tL,以及第一值yL,所述第一值yL为第一布尔分片xL转换为算术形式得到,第一系数(-1)tL与第二系数(-1)tR的乘积为阿贝尔群G中的元素,所述第一值yL、第二值-yR为阿贝尔群A中构成分配律中的加和的元素,所述乘积作用在所述加和上满足分配律。
11.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-8中任一项的所述的方法。
12.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211385468.8A CN115766156A (zh) | 2022-11-07 | 2022-11-07 | 针对目标数据的共享形式转换方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211385468.8A CN115766156A (zh) | 2022-11-07 | 2022-11-07 | 针对目标数据的共享形式转换方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115766156A true CN115766156A (zh) | 2023-03-07 |
Family
ID=85357039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211385468.8A Pending CN115766156A (zh) | 2022-11-07 | 2022-11-07 | 针对目标数据的共享形式转换方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115766156A (zh) |
-
2022
- 2022-11-07 CN CN202211385468.8A patent/CN115766156A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111539026B (zh) | 针对隐私数据进行安全运算的方法和装置 | |
CN111523145B (zh) | 针对隐私数据进行安全运算的方法和装置 | |
Kolesnikov et al. | Improved garbled circuit building blocks and applications to auctions and computing minima | |
US9736128B2 (en) | System and method for a practical, secure and verifiable cloud computing for mobile systems | |
Algesheimer et al. | Efficient computation modulo a shared secret with application to the generation of shared safe-prime products | |
CN111737757B (zh) | 针对隐私数据进行安全运算的方法和装置 | |
CN115080615A (zh) | 基于多方安全计算的数据查询方法及装置 | |
CN111523144A (zh) | 针对多方的隐私数据进行安全运算的方法和装置 | |
CN113810175B (zh) | 一种用于在量子密钥分发中实现隐私放大的方法及装置 | |
WO2024001023A1 (zh) | 隐私数据的安全处理方法和装置 | |
WO2023240934A1 (zh) | 针对隐私向量的安全处理方法和装置 | |
WO2023231340A1 (zh) | 分享ot协议的执行方法、安全多方计算方法及装置 | |
CN113722734A (zh) | 两方安全选择确定选择结果分片的方法、装置和系统 | |
CN115906126A (zh) | 多方安全计算中的数据处理的方法及装置 | |
US20220069980A1 (en) | Information processing apparatus, secure computation method, and program | |
CN115664644A (zh) | 针对目标数据的共享形式转换方法及装置 | |
CN115766009A (zh) | 多方安全计算中针对2的幂次求逆的方法及装置 | |
Catrina | Towards practical secure computation with floating-point numbers | |
CN115766156A (zh) | 针对目标数据的共享形式转换方法及装置 | |
CN113836595A (zh) | 两方安全比较的方法、装置和系统 | |
CN115442033A (zh) | 针对目标数据的共享形式转换方法及装置 | |
You et al. | Secure two-party computation approach for ntruencrypt | |
CN115766163A (zh) | 针对目标数据的共享形式转换方法及装置 | |
Al-Doori et al. | Securing IoT Networks with NTRU Cryptosystem: A Practical Approach on ARM-based Devices for Edge and Fog Layer Integration. | |
CN114826598B (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 |