CN114978510A - 针对隐私向量的安全处理方法和装置 - Google Patents
针对隐私向量的安全处理方法和装置 Download PDFInfo
- Publication number
- CN114978510A CN114978510A CN202210667898.2A CN202210667898A CN114978510A CN 114978510 A CN114978510 A CN 114978510A CN 202210667898 A CN202210667898 A CN 202210667898A CN 114978510 A CN114978510 A CN 114978510A
- Authority
- CN
- China
- Prior art keywords
- scalar
- fragment
- slice
- vector
- party
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Complex Calculations (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本说明书实施例提供一种针对隐私向量的安全处理方法和装置,采用多方安全计算实现。方法包括:获取隐私向量在模2空间的本方分片;将本方分片的各个位累加,得到第一求和结果;根据本方对应的索引,确定第一符号位;根据第一求和结果和第一符号位,确定第一标量的第一分片;本地计算本方分片与明文向量的内积,得到第二求和结果;根据第二求和结果和第一符号位,确定第二标量的第一分片;根据第一标量的第一分片、第二标量的第一分片,与对方提供的第一标量的第二分片、第二标量的第二分片,联合进行安全乘法运算,得到向量内积结果的第一分片,向量内积结果对应于第一标量和第二标量的乘积。能够在针对隐私向量的安全处理中降低通信量。
Description
技术领域
本说明书一个或多个实施例涉及计算机领域,尤其涉及针对隐私向量的安全处理方法和装置。
背景技术
当前很多场景下都会涉及确定隐私向量与明文向量的向量内积结果,隐私向量为独热编码向量,其以和共享的形式分布于两方,两方中的任一方均知晓明文向量。独热编码向量即One-hot向量,是一个某一维元素取值为1,其他维元素取值全为0的向量。若该独热编码向量的第k维元素取值为1,明文向量为T,则上述向量内积结果h=T[k],即T的第k维元素值。在确定向量内积结果的计算中,由于需要保护隐私向量,也就是说,不能泄露k的数值,因此需要采用安全多方计算来实现。
现有技术中,在确定上述向量内积结果的过程中,通信量很大。
因此,希望能有改进的方案,能够在针对隐私向量的安全处理中降低通信量。
发明内容
本说明书一个或多个实施例描述了一种针对隐私向量的安全处理方法和装置,能够在针对隐私向量的安全处理中降低通信量。
第一方面,提供了一种针对隐私向量的安全处理方法,所述隐私向量为独热编码向量,其以和共享的形式分布于第一方和第二方,所述方法用于得到所述隐私向量与明文向量的向量内积结果,由任意一方执行,包括:
获取所述隐私向量在模2空间的本方分片;
将所述本方分片的各个位进行累加,得到第一求和结果;
根据本方对应的索引,确定用于标识正数或负数的第一符号位;
根据所述第一求和结果和所述第一符号位,确定第一标量的第一分片;
本地计算所述本方分片与所述明文向量的内积,得到第二求和结果;
根据所述第二求和结果和所述第一符号位,确定第二标量的第一分片;
根据本方具有的第一标量的第一分片、第二标量的第一分片,与对方提供的第一标量的第二分片、第二标量的第二分片,联合进行安全乘法运算,得到向量内积结果的第一分片,所述向量内积结果对应于所述第一标量和所述第二标量的乘积。
在一种可能的实施方式中,所述获取所述隐私向量在模2空间的本方分片,包括:
通过本地进行的安全模转换运算,将本方持有的所述隐私向量的模q1空间的分片转换为模2空间的本方分片。
在一种可能的实施方式中,所述根据本方对应的索引,确定用于标识正数或负数的第一符号位,包括:
若所述本方对应的索引为偶数,则确定第一符号位为1;
若所述本方对应的索引为奇数,则确定第一符号位为-1。
在一种可能的实施方式中,所述根据所述第一求和结果和所述第一符号位,确定第一标量的第一分片,包括:
将所述第一求和结果添加所述第一符号位后,对第一常数取模,得到第一标量的第一分片。
进一步地,所述第一常数的选取需要使得以下条件成立:
第一标量的第一分片的最低位与第一标量的第二分片的最低位之和为1,且不会进位;
第一标量为1和-1时,第一标量的次低位的取值不同。
进一步地,所述第一常数为2的次幂,且不小于4。
在一种可能的实施方式中,所述根据所述第二求和结果和所述第一符号位,确定第二标量的第一分片,包括:
将所述第二求和结果添加所述第一符号位后,得到第二标量的第一分片。
在一种可能的实施方式中,所述安全乘法运算包括:
从第三方获取第一随机数的第一分片、第二随机数的第一分片、随机乘法结果的第一分片;第一随机数的第二分片、第二随机数的第二分片、随机乘法结果的第二分片由对方获得;其中,随机乘法结果为第一随机数与第二随机数的乘积;
本地计算第一标量的第一分片与第一随机数的第一分片的差值,得到第一差值的第一分片;
本地计算第二标量的第一分片与第二随机数的第一分片的差值,得到第二差值的第一分片;
从对方接收第一差值的第二分片和第二差值的第二分片;所述第一差值的第二分片为第一标量的第二分片与第一随机数的第二分片的差值;所述第二差值的第二分片为第二标量的第二分片与第二随机数的第二分片的差值;
对第一差值的第一分片和第一差值的第二分片求和,得到第一差值;对第二差值的第一分片和第二差值的第二分片求和得到第二差值;
根据第一差值、第二差值、第一随机数的第一分片、第二随机数的第一分片、随机乘法结果的第一分片之间的本地计算,得到所述第一标量和所述第二标量的乘积的第一分片;对方得到该乘积的第二分片。
第二方面,提供一种针对隐私向量的安全处理装置,所述隐私向量为独热编码向量,其以和共享的形式分布于第一方和第二方,所述装置用于得到所述隐私向量与明文向量的向量内积结果,设置于任意一方,包括:
获取单元,用于获取所述隐私向量在模2空间的本方分片;
累加计算单元,用于将所述获取单元获取的本方分片的各个位进行累加,得到第一求和结果;
符号确定单元,用于根据本方对应的索引,确定用于标识正数或负数的第一符号位;
第一标量确定单元,用于根据所述累加计算单元得到的第一求和结果和所述符号确定单元得到的第一符号位,确定第一标量的第一分片;
内积计算单元,用于本地计算所述本方分片与所述明文向量的内积,得到第二求和结果;
第二标量确定单元,用于根据所述内积计算单元得到的第二求和结果和所述第一符号位,确定第二标量的第一分片;
联合运算单元,用于根据本方具有的所述第一标量确定单元得到的第一标量的第一分片、所述第二标量确定单元得到的第二标量的第一分片,与对方提供的第一标量的第二分片、第二标量的第二分片,联合进行安全乘法运算,得到向量内积结果的第一分片,所述向量内积结果对应于所述第一标量和所述第二标量的乘积。
第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
通过本说明书实施例提供的方法和装置,首先获取所述隐私向量在模2空间的本方分片;然后将所述本方分片的各个位进行累加,得到第一求和结果;接着根据本方对应的索引,确定用于标识正数或负数的第一符号位;再根据所述第一求和结果和所述第一符号位,确定第一标量的第一分片;接着本地计算所述本方分片与所述明文向量的内积,得到第二求和结果;再根据所述第二求和结果和所述第一符号位,确定第二标量的第一分片;最后根据本方具有的第一标量的第一分片、第二标量的第一分片,与对方提供的第一标量的第二分片、第二标量的第二分片,联合进行安全乘法运算,得到向量内积结果的第一分片,所述向量内积结果对应于所述第一标量和所述第二标量的乘积。由上可见,本说明书实施例,仅涉及本地计算和标量的安全乘法运算,本地计算中不需要通信,标量的安全乘法运算通信量很小,通过将两个向量的安全内积转换为两个标量的安全乘法,从而能够在针对隐私向量的安全处理中降低通信量。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2示出根据一个实施例的针对隐私向量的安全处理方法流程图;
图3示出根据一个实施例的分片态下的安全乘法示意图;
图4示出根据一个实施例的针对隐私向量的安全处理装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。该实施场景涉及针对隐私向量的安全处理,所述隐私向量为独热编码向量,其以和共享的形式分布于第一方和第二方,所述方法用于得到所述隐私向量与明文向量的向量内积结果。如图1所示,针对隐私向量的安全处理的场景涉及参与方A和参与方B,或称为第一方和第二方,或称为A方和B方。各个参与方可以实现为任何具有计算、处理能力的设备、平台、服务器或设备集群。双方要在保护隐私向量不会泄露的情况下,联合确定所述隐私向量与明文向量的向量内积结果,该向量内积结果以和共享的形式分布于双方。和共享是秘密分享的一种具体形式。
秘密分享,是指n个参与方将一个秘密s分拆共享,分拆后的每一个份额由不同的参与者管理,只有在参与者数量不少于m时才能将秘密完整恢复。
两方算数秘密分享,是指由两个参与方分拆共享一条秘密信息,单个参与方无法恢复秘密信息,需要双方持有的份额一起才能完整恢复秘密。通常恢复运算是在有限环上的加法。上述秘密信息也可以称为隐私数据,两方算数秘密分享下的秘密信息也称为和共享形式的隐私数据。
参照图1,p代表一个n维的独热编码向量,T为公开的n维的明文向量。A方持有p的一个分片<p>0,B方持有p的另一个分片<p>1,p=<p>0+<p>1,A方和B方均知晓明文向量T。A方和B方在不暴露隐私向量的前提下求p和T的向量内积的大小,即计算h=<p,T>,A方获得该向量内积结果的一个分片<h>0=<<p,T>>0,B方获得该向量内积结果的另一个分片<h>1=<<p,T>>1。p是一个某一维元素取值为1,其他维元素取值全为0的向量,假设p的第k维元素取值为1,则上述向量内积结果h=T[k],即T的第k维元素值。举例来说,p=(0,1,0),T=(3,5,7),则向量内积结果为5。
可以理解的是,p代表一个n维向量,其由n个元素构成,p的分片可以视为其包含的各个元素的分片组合而成,举例来说,P为一个4维向量(0,1,0,0),按照从右到左的顺序,若A方具有的第一个元素0的分片为1,A方具有的第二个元素0的分片为0,A方具有的第三个元素1的分片为1,A方具有的第四个元素0的分片为1,则A方持有p的一个分片<p>0可以表示为(1,1,0,1),相应地,B方具有的第一个元素0的分片为1,B方具有的第二个元素0的分片为0,B方具有的第三个元素1的分片为0,B方具有的第四个元素0的分片为1,则B方持有p的另一个分片<p>1可以表示为(1,0,0,1)。
本说明书实施例,通过安全多方计算来实现针对隐私向量的安全处理,用于得到所述隐私向量与明文向量的向量内积结果。
安全多方计算又称为多方安全计算,即多方共同计算出一个函数的结果,而不泄露这个函数各方的输入数据,计算的结果公开给其中的一方或多方。
本说明书实施例,为了在针对隐私向量的安全处理中降低通信量,提出相应的解决方案。
独热编码向量在统计和机器学习中常见,上述确定向量内积结果的计算可用于相关领域。上述计算也可用于查表计算,即由输入k查得表T的元素T[k]:先将输入k转为第k维元素取值为1的独热编码向量p,以及将表T转换为向量的形式,再计算p和T的向量内积结果。查表计算可用于计算阶乘等单输入且输入取值数量较有限的函数。
图2示出根据一个实施例的针对隐私向量的安全处理方法流程图,该方法可以基于图1所示的实施场景,所述隐私向量为独热编码向量,其以和共享的形式分布于第一方和第二方,所述方法用于得到所述隐私向量与明文向量的向量内积结果,由任意一方执行。如图2所示,该实施例中针对隐私向量的安全处理方法包括以下步骤:步骤21,获取所述隐私向量在模2空间的本方分片;步骤22,将所述本方分片的各个位进行累加,得到第一求和结果;步骤23,根据本方对应的索引,确定用于标识正数或负数的第一符号位;步骤24,根据所述第一求和结果和所述第一符号位,确定第一标量的第一分片;步骤25,本地计算所述本方分片与所述明文向量的内积,得到第二求和结果;步骤26,根据所述第二求和结果和所述第一符号位,确定第二标量的第一分片;步骤27,根据本方具有的第一标量的第一分片、第二标量的第一分片,与对方提供的第一标量的第二分片、第二标量的第二分片,联合进行安全乘法运算,得到向量内积结果的第一分片,所述向量内积结果对应于所述第一标量和所述第二标量的乘积。下面描述以上各个步骤的具体执行方式。
首先在步骤21,获取所述隐私向量在模2空间的本方分片。可以理解的是,若隐私向量p为一个n维向量,其由n个元素构成,p的分片可以视为其包含的各个元素的分片组合而成,每个元素的分片属于模2空间。
本说明书实施例,任意一方持有隐私向量p的一个分片<p>j,隐私向量p的第i个元素的一个分片记为<p[i]>j,其中j为本方对应的索引,i为元素的索引。两方对应的索引通常为顺序相邻的两个整数,例如,第一方对应的索引为0,第二方对应的索引为1;或者,第一方对应的索引为1,第二方对应的索引为2。举例来说,若第一方对应的索引为0,第二方对应的索引为1,则第一方持有p的一个分片<p>0,第二方持有p的另一个分片<p>1,p=<p>0+<p>1。各元素的索引通常按照向量中元素从右至左的顺序,从0开始顺次加1,对于一个n维向量,该向量中各元素的索引从0到n-1。
在一个示例中,所述获取所述隐私向量在模2空间的本方分片,包括:
通过本地进行的安全模转换运算,将本方持有的所述隐私向量的模q1空间的分片转换为模2空间的本方分片。
该示例中,第一方和第二方中任意一方持有所述隐私向量的模q1空间的分片,若q1等于2,则可以直接获取所述隐私向量在模2空间的本方分片;若q1不等于2,则可以通过本地进行的安全模转换运算,将本方持有的所述隐私向量的模q1空间的分片转换为模2空间的本方分片。其中,可以针对所述隐私向量的各个元素的模q1空间的分片分别进行上述安全模转换运算。可以理解的是,本地进行的安全模转换运算不需要与另一方进行通信。双方可以各自将其隐私向量的任一元素的模q1空间的分片的最低位(bit),确定为隐私向量的该元素的模2空间的分片。举例来说,隐私向量的一个元素的模q1空间的分片为1001,其最低位为1,则隐私向量的该元素的模2空间的分片为1。
隐私向量的每个元素在模2空间的本方分片都是一位,因此n维的隐私向量在模2空间的本方分片是n位。
然后在步骤22,将所述本方分片的各个位进行累加,得到第一求和结果。可以理解的是,由于所述本方分片在模2空间,因此上述累加计算也是在模2空间进行,所述本方分片的任意一个位有两种取值分别为0或1,第一求和结果也有两种取值分别为0或1。
接着在步骤23,根据本方对应的索引,确定用于标识正数或负数的第一符号位。可以理解的是,第一方和第二方两方的索引不同,其第一符号位也是不同的。
在一个示例中,所述根据本方对应的索引,确定用于标识正数或负数的第一符号位,包括:
若所述本方对应的索引为偶数,则确定第一符号位为1;
若所述本方对应的索引为奇数,则确定第一符号位为-1。
举例来说,j为本方对应的索引,第一符号位可以表示为(-1)j。
可以理解的是,第一方和第二方的地位是对等的,因此也可以采用相反的确定第一符号位的方式,例如,若所述本方对应的索引为奇数,则确定第一符号位为1;若所述本方对应的索引为偶数,则确定第一符号位为-1。举例来说,j为本方对应的索引,第一符号位可以表示为(-1)j+1。
再在步骤24,根据所述第一求和结果和所述第一符号位,确定第一标量的第一分片。可以理解的是,第一标量的第一分片的确定方式与希望得到的第一标量的取值有关。
在一个示例中,所述根据所述第一求和结果和所述第一符号位,确定第一标量的第一分片,包括:
将所述第一求和结果添加所述第一符号位后,对第一常数取模,得到第一标量的第一分片。
举例来说,任意一方持有隐私向量p的一个分片<p>j,隐私向量p的第i个元素的一个分片记为<p[i]>j,其中j为本方对应的索引,i为元素的索引,第一求和结果为第一符号位为(-1)j,第一常数为d,第一标量为b,则第一标量的第一分片可以表示为
进一步地,所述第一常数的选取需要使得以下条件成立:
第一标量的第一分片的最低位与第一标量的第二分片的最低位之和为1,且不会进位;
第一标量为1和-1时,第一标量的次低位的取值不同。
举例来说,j为本方对应的索引,j=0或1,第一标量为b,则上述条件可以表示为<b>0[0]+<b>1[0]=1且不会进位;b为1和-1时,b[1]的取值不同。
进一步地,所述第一常数为2的次幂,且不小于4。
可以理解的是,这种第一常数的具体取值满足上述条件,但是满足上述条件的第一常数不一定必须是该具体取值。
接着在步骤25,本地计算所述本方分片与所述明文向量的内积,得到第二求和结果。可以理解的是,第二求和结果的取值不仅取决于所述本方分片的各个位的取值,还取决于所述明文向量的各个元素的取值,所述本方分片的任一个位的取值只有0和1两种取值,而所述明文向量的任一个元素的取值其所在的模空间。
举例来说,任意一方持有隐私向量p的一个分片<p>j,隐私向量p的第i个元素的一个分片记为<p[i]>j,明文向量用T来表示,明文向量T的第i个元素记为T[i],其中j为本方对应的索引,i为元素的索引,第二求和结果可以表示为
再在步骤26,根据所述第二求和结果和所述第一符号位,确定第二标量的第一分片。可以理解的是,第二标量的第一分片的确定方式与希望得到的第二标量的取值有关。
在一个示例中,所述根据所述第二求和结果和所述第一符号位,确定第二标量的第一分片,包括:
将所述第二求和结果添加所述第一符号位后,得到第二标量的第一分片。
举例来说,任意一方持有隐私向量p的一个分片<p>j,隐私向量p的第i个元素的一个分片记为<p[i]>j,明文向量用T来表示,明文向量T的第i个元素记为T[i],其中j为本方对应的索引,i为元素的索引,第二求和结果为第一符号位为(-1)j,第二标量为c,则第二标量的第一分片可以表示为
最后在步骤27,根据本方具有的第一标量的第一分片、第二标量的第一分片,与对方提供的第一标量的第二分片、第二标量的第二分片,联合进行安全乘法运算,得到向量内积结果的第一分片,所述向量内积结果对应于所述第一标量和所述第二标量的乘积。可以理解的是,通过计算所述第一标量和所述第二标量的乘积可以得到隐私向量与明文向量的向量内积结果。
举例来说,隐私向量p为n维的独热编码向量,其第k维元素取值为1,其他维元素取值均为0,明文向量T为n维向量,隐私向量p与明文向量T的向量内积结果记为h=<p,T>=T[k],第一标量用b表示,第二标量用c表示,需要验证h=b×c,下面给出简单的证明过程。
若p[i]为0,则p[i]的两个分片<p[i]>0和<p[i]>1有两种可能的取值组合,<p[i]>0和<p[i]>1均为0,或者<p[i]>0和<p[i]>1均为1,则(-1)0<p[i]>0+(-1)1<p[i]>1=0。
若p的第k维元素取值为1,其他维元素取值均为0,则b=<p[k]>0-<p[k]>1=(-1)r,c=(-1)r×T[k],其中,r=1或0。
明显地,b×c=T[k],也就是说,h=b×c。
此外,对于常数d选取需要满足的条件进行说明。
通过上述证明过程可知,可以通过两个标量的安全乘法运算,得到向量内积结果的分片。
在一个示例中,所述安全乘法运算包括:
从第三方获取第一随机数的第一分片、第二随机数的第一分片、随机乘法结果的第一分片;第一随机数的第二分片、第二随机数的第二分片、随机乘法结果的第二分片由对方获得;其中,随机乘法结果为第一随机数与第二随机数的乘积;
本地计算第一标量的第一分片与第一随机数的第一分片的差值,得到第一差值的第一分片;
本地计算第二标量的第一分片与第二随机数的第一分片的差值,得到第二差值的第一分片;
从对方接收第一差值的第二分片和第二差值的第二分片;所述第一差值的第二分片为第一标量的第二分片与第一随机数的第二分片的差值;所述第二差值的第二分片为第二标量的第二分片与第二随机数的第二分片的差值;
对第一差值的第一分片和第一差值的第二分片求和,得到第一差值;对第二差值的第一分片和第二差值的第二分片求和得到第二差值;
根据第一差值、第二差值、第一随机数的第一分片、第二随机数的第一分片、随机乘法结果的第一分片之间的本地计算,得到所述第一标量和所述第二标量的乘积的第一分片;对方得到该乘积的第二分片。
图3示出根据一个实施例的分片态下的安全乘法示意图。参照图3,第三方将u0、v0、z0发送给第一方,将u1、v1、z1发送给第二方,其中,(u0+u1)×(v0+v1)=(z0+z1);第一方根据自己持有的b的一个分片b0,以及从第三方接收的u的一个分片u0,本地计算e0=b0-u0;第一方根据自己持有的c的一个分片c0,以及从第三方接收的v的一个分片v0,本地计算f0=c0-v0;第一方将e0和f0发送给第二方;第二方根据自己持有的b的一个分片b1,以及从第三方接收的u的一个分片u1,本地计算e1=b1-u1;第二方根据自己持有的c的一个分片c1,以及从第三方接收的v的一个分片v1,本地计算f1=c1-v1;第二方将e1和f1发送给第一方;第一方和第二方各自本地计算得到e=b-u,f=c-v;第一方本地计算h0=ef+u0f+ev0+z0,将h0作为bc的乘法结果的一个分片;第二方本地计算h1=u1 f+ev1+z1,将h1作为bc的乘法结果的一个分片。可以证明h0+h1=ef+uf+ev+uv=(e+u)(f+v)=bc。
可以理解的是,u对应于前述第一随机数,u0对应于前述第一随机数的第一分片,v对应于前述第二随机数,v0对应于前述第二随机数的第一分片,z0对应于随机乘法结果的第一分片,u1对应于第一随机数的第二分片,v1对应于第二随机数的第二分片,z1对应于随机乘法结果的第二分片,b对应于第一标量,c对应于第二标量。
此外,需要说明的是,如果需要得到向量内积结果在模q2空间的分片,q2>2,则可以在安全乘法运算之后对结果进行模转换运算,或者,可以在安全乘法运算之前先对第一标量的分片和第二标量的分片进行模转换,以使得到的结果就是在模q2空间的分片。
举例来说,b和c的分片都设为模q2空间的分片,直接计算h=bc,得到的结果就是在模q2空间的分片。
通过本说明书实施例提供的方法,首先获取所述隐私向量在模2空间的本方分片;然后将所述本方分片的各个位进行累加,得到第一求和结果;接着根据本方对应的索引,确定用于标识正数或负数的第一符号位;再根据所述第一求和结果和所述第一符号位,确定第一标量的第一分片;接着本地计算所述本方分片与所述明文向量的内积,得到第二求和结果;再根据所述第二求和结果和所述第一符号位,确定第二标量的第一分片;最后根据本方具有的第一标量的第一分片、第二标量的第一分片,与对方提供的第一标量的第二分片、第二标量的第二分片,联合进行安全乘法运算,得到向量内积结果的第一分片,所述向量内积结果对应于所述第一标量和所述第二标量的乘积。由上可见,本说明书实施例,仅涉及本地计算和标量的安全乘法运算,本地计算中不需要通信,标量的安全乘法运算通信量很小,通过将两个向量的安全内积转换为两个标量的安全乘法,从而能够在针对隐私向量的安全处理中降低通信量。
根据另一方面的实施例,还提供一种针对隐私向量的安全处理装置,所述隐私向量为独热编码向量,其以和共享的形式分布于第一方和第二方,所述装置用于得到所述隐私向量与明文向量的向量内积结果,设置于任意一方,所述装置用于执行本说明书图2所示实施例提供的方法中任意一方执行的动作。图4示出根据一个实施例的针对隐私向量的安全处理装置的示意性框图。如图4所示,该装置400包括:
获取单元41,用于获取所述隐私向量在模2空间的本方分片;
累加计算单元42,用于将所述获取单元41获取的本方分片的各个位进行累加,得到第一求和结果;
符号确定单元43,用于根据本方对应的索引,确定用于标识正数或负数的第一符号位;
第一标量确定单元44,用于根据所述累加计算单元42得到的第一求和结果和所述符号确定单元得到的第一符号位,确定第一标量的第一分片;
内积计算单元45,用于本地计算所述本方分片与所述明文向量的内积,得到第二求和结果;
第二标量确定单元46,用于根据所述内积计算单元45得到的第二求和结果和所述第一符号位,确定第二标量的第一分片;
联合运算单元47,用于根据本方具有的所述第一标量确定单元44得到的第一标量的第一分片、所述第二标量确定单元46得到的第二标量的第一分片,与对方提供的第一标量的第二分片、第二标量的第二分片,联合进行安全乘法运算,得到向量内积结果的第一分片,所述向量内积结果对应于所述第一标量和所述第二标量的乘积。
可选地,作为一个实施例,所述获取单元41,具体用于通过本地进行的安全模转换运算,将本方持有的所述隐私向量的模q1空间的分片转换为模2空间的本方分片。
可选地,作为一个实施例,所述符号确定单元43,具体用于若所述本方对应的索引为偶数,则确定第一符号位为1;若所述本方对应的索引为奇数,则确定第一符号位为-1。
可选地,作为一个实施例,所述第一标量确定单元44,具体用于将所述第一求和结果添加所述第一符号位后,对第一常数取模,得到第一标量的第一分片。
进一步地,所述第一常数的选取需要使得以下条件成立:
第一标量的第一分片的最低位与第一标量的第二分片的最低位之和为1,且不会进位;
第一标量为1和-1时,第一标量的次低位的取值不同。
进一步地,所述第一常数为2的次幂,且不小于4。
可选地,作为一个实施例,所述第二标量确定单元46,具体用于将所述第二求和结果添加所述第一符号位后,得到第二标量的第一分片。
可选地,作为一个实施例,所述联合运算单元47,具体用于:
从第三方获取第一随机数的第一分片、第二随机数的第一分片、随机乘法结果的第一分片;第一随机数的第二分片、第二随机数的第二分片、随机乘法结果的第二分片由对方获得;其中,随机乘法结果为第一随机数与第二随机数的乘积;
本地计算第一标量的第一分片与第一随机数的第一分片的差值,得到第一差值的第一分片;
本地计算第二标量的第一分片与第二随机数的第一分片的差值,得到第二差值的第一分片;
从对方接收第一差值的第二分片和第二差值的第二分片;所述第一差值的第二分片为第一标量的第二分片与第一随机数的第二分片的差值;所述第二差值的第二分片为第二标量的第二分片与第二随机数的第二分片的差值;
对第一差值的第一分片和第一差值的第二分片求和,得到第一差值;对第二差值的第一分片和第二差值的第二分片求和得到第二差值;
根据第一差值、第二差值、第一随机数的第一分片、第二随机数的第一分片、随机乘法结果的第一分片之间的本地计算,得到所述第一标量和所述第二标量的乘积的第一分片;对方得到该乘积的第二分片。
通过本说明书实施例提供的装置,首先获取单元41获取所述隐私向量在模2空间的本方分片;然后累加计算单元42将所述本方分片的各个位进行累加,得到第一求和结果;接着符号确定单元43根据本方对应的索引,确定用于标识正数或负数的第一符号位;第一标量确定单元44再根据所述第一求和结果和所述第一符号位,确定第一标量的第一分片;接着内积计算单元45本地计算所述本方分片与所述明文向量的内积,得到第二求和结果;第二标量确定单元46再根据所述第二求和结果和所述第一符号位,确定第二标量的第一分片;最后联合运算单元47根据本方具有的第一标量的第一分片、第二标量的第一分片,与对方提供的第一标量的第二分片、第二标量的第二分片,联合进行安全乘法运算,得到向量内积结果的第一分片,所述向量内积结果对应于所述第一标量和所述第二标量的乘积。由上可见,本说明书实施例,仅涉及本地计算和标量的安全乘法运算,本地计算中不需要通信,标量的安全乘法运算通信量很小,通过将两个向量的安全内积转换为两个标量的安全乘法,从而能够在针对隐私向量的安全处理中降低通信量。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2所描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (18)
1.一种针对隐私向量的安全处理方法,所述隐私向量为独热编码向量,其以和共享的形式分布于第一方和第二方,所述方法用于得到所述隐私向量与明文向量的向量内积结果,由任意一方执行,包括:
获取所述隐私向量在模2空间的本方分片;
将所述本方分片的各个位进行累加,得到第一求和结果;
根据本方对应的索引,确定用于标识正数或负数的第一符号位;
根据所述第一求和结果和所述第一符号位,确定第一标量的第一分片;
本地计算所述本方分片与所述明文向量的内积,得到第二求和结果;
根据所述第二求和结果和所述第一符号位,确定第二标量的第一分片;
根据本方具有的第一标量的第一分片、第二标量的第一分片,与对方提供的第一标量的第二分片、第二标量的第二分片,联合进行安全乘法运算,得到向量内积结果的第一分片,所述向量内积结果对应于所述第一标量和所述第二标量的乘积。
2.如权利要求1所述的方法,其中,所述获取所述隐私向量在模2空间的本方分片,包括:
通过本地进行的安全模转换运算,将本方持有的所述隐私向量的模q1空间的分片转换为模2空间的本方分片。
3.如权利要求1所述的方法,其中,所述根据本方对应的索引,确定用于标识正数或负数的第一符号位,包括:
若所述本方对应的索引为偶数,则确定第一符号位为1;
若所述本方对应的索引为奇数,则确定第一符号位为-1。
4.如权利要求1所述的方法,其中,所述根据所述第一求和结果和所述第一符号位,确定第一标量的第一分片,包括:
将所述第一求和结果添加所述第一符号位后,对第一常数取模,得到第一标量的第一分片。
5.如权利要求4所述的方法,其中,所述第一常数的选取需要使得以下条件成立:
第一标量的第一分片的最低位与第一标量的第二分片的最低位之和为1,且不会进位;
第一标量为1和-1时,第一标量的次低位的取值不同。
6.如权利要求5所述的方法,其中,所述第一常数为2的次幂,且不小于4。
7.如权利要求1所述的方法,其中,所述根据所述第二求和结果和所述第一符号位,确定第二标量的第一分片,包括:
将所述第二求和结果添加所述第一符号位后,得到第二标量的第一分片。
8.如权利要求1所述的方法,其中,所述安全乘法运算包括:
从第三方获取第一随机数的第一分片、第二随机数的第一分片、随机乘法结果的第一分片;第一随机数的第二分片、第二随机数的第二分片、随机乘法结果的第二分片由对方获得;其中,随机乘法结果为第一随机数与第二随机数的乘积;
本地计算第一标量的第一分片与第一随机数的第一分片的差值,得到第一差值的第一分片;
本地计算第二标量的第一分片与第二随机数的第一分片的差值,得到第二差值的第一分片;
从对方接收第一差值的第二分片和第二差值的第二分片;所述第一差值的第二分片为第一标量的第二分片与第一随机数的第二分片的差值;所述第二差值的第二分片为第二标量的第二分片与第二随机数的第二分片的差值;
对第一差值的第一分片和第一差值的第二分片求和,得到第一差值;对第二差值的第一分片和第二差值的第二分片求和得到第二差值;
根据第一差值、第二差值、第一随机数的第一分片、第二随机数的第一分片、随机乘法结果的第一分片之间的本地计算,得到所述第一标量和所述第二标量的乘积的第一分片;对方得到该乘积的第二分片。
9.一种针对隐私向量的安全处理装置,所述隐私向量为独热编码向量,其以和共享的形式分布于第一方和第二方,所述装置用于得到所述隐私向量与明文向量的向量内积结果,设置于任意一方,包括:
获取单元,用于获取所述隐私向量在模2空间的本方分片;
累加计算单元,用于将所述获取单元获取的本方分片的各个位进行累加,得到第一求和结果;
符号确定单元,用于根据本方对应的索引,确定用于标识正数或负数的第一符号位;
第一标量确定单元,用于根据所述累加计算单元得到的第一求和结果和所述符号确定单元得到的第一符号位,确定第一标量的第一分片;
内积计算单元,用于本地计算所述本方分片与所述明文向量的内积,得到第二求和结果;
第二标量确定单元,用于根据所述内积计算单元得到的第二求和结果和所述第一符号位,确定第二标量的第一分片;
联合运算单元,用于根据本方具有的所述第一标量确定单元得到的第一标量的第一分片、所述第二标量确定单元得到的第二标量的第一分片,与对方提供的第一标量的第二分片、第二标量的第二分片,联合进行安全乘法运算,得到向量内积结果的第一分片,所述向量内积结果对应于所述第一标量和所述第二标量的乘积。
10.如权利要求9所述的装置,其中,所述获取单元,具体用于通过本地进行的安全模转换运算,将本方持有的所述隐私向量的模q1空间的分片转换为模2空间的本方分片。
11.如权利要求9所述的装置,其中,所述符号确定单元,具体用于若所述本方对应的索引为偶数,则确定第一符号位为1;若所述本方对应的索引为奇数,则确定第一符号位为-1。
12.如权利要求9所述的装置,其中,所述第一标量确定单元,具体用于将所述第一求和结果添加所述第一符号位后,对第一常数取模,得到第一标量的第一分片。
13.如权利要求12所述的装置,其中,所述第一常数的选取需要使得以下条件成立:
第一标量的第一分片的最低位与第一标量的第二分片的最低位之和为1,且不会进位;
第一标量为1和-1时,第一标量的次低位的取值不同。
14.如权利要求13所述的装置,其中,所述第一常数为2的次幂,且不小于4。
15.如权利要求9所述的装置,其中,所述第二标量确定单元,具体用于将所述第二求和结果添加所述第一符号位后,得到第二标量的第一分片。
16.如权利要求9所述的装置,其中,所述联合运算单元,具体用于:
从第三方获取第一随机数的第一分片、第二随机数的第一分片、随机乘法结果的第一分片;第一随机数的第二分片、第二随机数的第二分片、随机乘法结果的第二分片由对方获得;其中,随机乘法结果为第一随机数与第二随机数的乘积;
本地计算第一标量的第一分片与第一随机数的第一分片的差值,得到第一差值的第一分片;
本地计算第二标量的第一分片与第二随机数的第一分片的差值,得到第二差值的第一分片;
从对方接收第一差值的第二分片和第二差值的第二分片;所述第一差值的第二分片为第一标量的第二分片与第一随机数的第二分片的差值;所述第二差值的第二分片为第二标量的第二分片与第二随机数的第二分片的差值;
对第一差值的第一分片和第一差值的第二分片求和,得到第一差值;对第二差值的第一分片和第二差值的第二分片求和得到第二差值;
根据第一差值、第二差值、第一随机数的第一分片、第二随机数的第一分片、随机乘法结果的第一分片之间的本地计算,得到所述第一标量和所述第二标量的乘积的第一分片;对方得到该乘积的第二分片。
17.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-8中任一项的所述的方法。
18.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-8中任一项的所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210667898.2A CN114978510A (zh) | 2022-06-14 | 2022-06-14 | 针对隐私向量的安全处理方法和装置 |
PCT/CN2022/135285 WO2023240934A1 (zh) | 2022-06-14 | 2022-11-30 | 针对隐私向量的安全处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210667898.2A CN114978510A (zh) | 2022-06-14 | 2022-06-14 | 针对隐私向量的安全处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114978510A true CN114978510A (zh) | 2022-08-30 |
Family
ID=82962146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210667898.2A Pending CN114978510A (zh) | 2022-06-14 | 2022-06-14 | 针对隐私向量的安全处理方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114978510A (zh) |
WO (1) | WO2023240934A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116055049A (zh) * | 2023-04-03 | 2023-05-02 | 富算科技(上海)有限公司 | 多方安全计算方法、装置、系统、电子设备和存储介质 |
WO2023240934A1 (zh) * | 2022-06-14 | 2023-12-21 | 蚂蚁区块链科技(上海)有限公司 | 针对隐私向量的安全处理方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10572684B2 (en) * | 2013-11-01 | 2020-02-25 | Anonos Inc. | Systems and methods for enforcing centralized privacy controls in de-centralized systems |
CN111885079B (zh) * | 2020-07-31 | 2022-04-12 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的多方联合处理数据的方法及装置 |
CN113098687B (zh) * | 2021-04-27 | 2022-04-12 | 支付宝(杭州)信息技术有限公司 | 生成安全计算协议的数据元组的方法及装置 |
CN114978510A (zh) * | 2022-06-14 | 2022-08-30 | 蚂蚁区块链科技(上海)有限公司 | 针对隐私向量的安全处理方法和装置 |
-
2022
- 2022-06-14 CN CN202210667898.2A patent/CN114978510A/zh active Pending
- 2022-11-30 WO PCT/CN2022/135285 patent/WO2023240934A1/zh unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023240934A1 (zh) * | 2022-06-14 | 2023-12-21 | 蚂蚁区块链科技(上海)有限公司 | 针对隐私向量的安全处理方法和装置 |
CN116055049A (zh) * | 2023-04-03 | 2023-05-02 | 富算科技(上海)有限公司 | 多方安全计算方法、装置、系统、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2023240934A1 (zh) | 2023-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11843687B2 (en) | Systems, devices, and processes for homomorphic encryption | |
CN114978510A (zh) | 针对隐私向量的安全处理方法和装置 | |
CN111523144B (zh) | 针对多方的隐私数据进行安全运算的方法和装置 | |
CN115080615B (zh) | 基于多方安全计算的数据查询方法及装置 | |
CN111143862B (zh) | 数据处理方法、查询方法、装置、电子设备和系统 | |
CN112949741B (zh) | 基于同态加密的卷积神经网络图像分类方法 | |
CN111026359B (zh) | 多方联合判定隐私数据的数值范围的方法和装置 | |
CN114465708B (zh) | 隐私数据处理方法及装置、系统、电子设备、存储介质 | |
CN113722734B (zh) | 两方安全选择确定选择结果分片的方法、装置和系统 | |
CN111737757A (zh) | 针对隐私数据进行安全运算的方法和装置 | |
CN111523556A (zh) | 模型训练方法、装置及系统 | |
CN115114662A (zh) | 隐私数据的安全处理方法和装置 | |
US11599681B2 (en) | Bit decomposition secure computation apparatus, bit combining secure computation apparatus, method and program | |
CN115952539A (zh) | 多数恶意下鲁棒隐私性联邦学习方法、系统、设备及介质 | |
CN115906137A (zh) | 用于多方安全计算的数据处理方法及装置 | |
CN115906126A (zh) | 多方安全计算中的数据处理的方法及装置 | |
US11895230B2 (en) | Information processing apparatus, secure computation method, and program | |
US10505719B2 (en) | Method and system for rateless and pollution-attack-resilient network coding | |
EP4302452A1 (en) | Method for performing effective secure multi-party computation by participating parties based on polynomial representation of a neural network for communication-less secure multiple party computation | |
US20210176252A1 (en) | Secret equality determination system, secret equality determination method and secret equality determination program recording medium | |
US10652217B2 (en) | Method and system for rateless and pollution-attack-resilient network coding including decoder(s) | |
CN115859365A (zh) | 保护隐私数据的安全分片转换方法和装置 | |
CN114297726A (zh) | 基于安全多方计算的乘法执行方法及装置 | |
CN115001675A (zh) | 分享ot协议的执行方法、安全多方计算方法及装置 | |
CN113821826A (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 |