CN113836596A - 两方安全选择确定选择结果分片的方法、装置和系统 - Google Patents
两方安全选择确定选择结果分片的方法、装置和系统 Download PDFInfo
- Publication number
- CN113836596A CN113836596A CN202111131693.4A CN202111131693A CN113836596A CN 113836596 A CN113836596 A CN 113836596A CN 202111131693 A CN202111131693 A CN 202111131693A CN 113836596 A CN113836596 A CN 113836596A
- Authority
- CN
- China
- Prior art keywords
- party
- selection
- input data
- value
- data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000013467 fragmentation Methods 0.000 title claims description 10
- 238000006062 fragmentation reaction Methods 0.000 title claims description 10
- 239000012634 fragment Substances 0.000 claims abstract description 57
- 238000004364 calculation method Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 abstract description 9
- 230000006870 function Effects 0.000 description 11
- 230000000875 corresponding effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本说明书实施例提供一种两方安全选择确定选择结果分片的方法、装置和系统,所述两方安全选择用于根据选择值,在第一方拥有的N个数据中进行选择,所述选择值以分片形式,分布在第一方和第二方,采用多方安全计算实现,如混淆电路。方法包括:第一方生成第一随机数,并将其作为选择结果的第一分片;第一方本地计算所述N个数据分别与所述第一随机数的第一差值,并将N个第一差值确定为N个第一输入数据;所述第一方与所述第二方联合执行安全选择算子,所述安全选择算子基于所述选择值在所述N个第一输入数据中选择目标输入数据,将其作为所述选择结果的第二分片输出给第二方。能够有效减小通信代价。
Description
技术领域
本说明书一个或多个实施例涉及计算机领域,尤其涉及两方安全选择确定选择结果分片的方法、装置和系统。
背景技术
安全多方计算又称为多方安全计算,即多方共同计算出一个函数的结果,而不泄露这个函数各方的输入数据,计算的结果公开给其中的一方或多方。其中,各方的输入数据常常为隐私数据。
两方安全选择是安全多方计算的基本计算单元,可用于构造If-Else逻辑,MAX/MIN等功能,安全多方计算中的通用计算和隐私保护机器学习等。
发明内容
本说明书一个或多个实施例描述了一种两方安全选择确定选择结果分片的方法、装置和系统,能够有效减小通信代价。
第一方面,提供了一种两方安全选择确定选择结果分片的方法,所述两方安全选择用于根据选择值,在第一方拥有的N个数据中进行选择,所述选择值以分片形式,分布在第一方和第二方,该方法由第一方执行,包括:
生成第一随机数,并将其作为选择结果的第一分片;
本地计算所述N个数据分别与所述第一随机数的第一差值,并将N个第一差值确定为N个第一输入数据;
与所述第二方联合执行安全选择算子,所述安全选择算子基于所述选择值在所述N个第一输入数据中选择目标输入数据,将其作为所述选择结果的第二分片输出给第二方。
在一种可能的实施方式中,所述安全选择算子为布尔电路;所述与所述第二方联合执行安全选择算子,包括:
将所述N个第一输入数据、所述选择值的第一方分片输入布尔电路,所述布尔电路还接收第二方输入的所述选择值的第二方分片,并根据所述选择值,在所述N个第一输入数据中选择目标输入数据。
进一步地,所述布尔电路用于执行如下计算过程:
对所述选择值的第一方分片和所述选择值的第二方分片进行加法运算,得到所述选择值;
根据所述选择值,在所述N个第一输入数据中选择目标输入数据。
进一步地,所述选择值为L位二进制数,所述加法运算通过L个加法子单元分别确定所述选择值的各个位,每个加法子单元具有不多于一个与门。
在一种可能的实施方式中,所述N个数据具有第一排序;所述N个第一输入数据具有对应于所述N个数据的第一排序;
所述与所述第二方联合执行安全选择算子,包括:
根据所述选择值,确定与所述选择值对应的所述第一排序中的位置编号;
在所述N个第一输入数据中,选择出具有所述位置编号的第一输入数据。
在一种可能的实施方式中,所述选择值的第一方分片与所述选择值的第二方分片之和为所述选择值,所述选择值的可选取值数目大于或等于N。
进一步地,所述布尔电路采用混淆电路或GMW的执行方式。
第二方面,提供了一种两方安全选择确定选择结果分片的方法,所述两方安全选择用于根据选择值,在第一方拥有的N个数据中进行选择,所述选择值以分片形式,分布在第一方和第二方,方法包括:
所述第一方生成第一随机数,并将其作为选择结果的第一分片;
所述第一方本地计算所述N个数据分别与所述第一随机数的第一差值,并将N个第一差值确定为N个第一输入数据;
所述第一方与所述第二方联合执行安全选择算子,所述安全选择算子基于所述选择值在所述N个第一输入数据中选择目标输入数据,将其作为所述选择结果的第二分片输出给第二方。
第三方面,提供了一种两方安全选择确定选择结果分片的装置,所述两方安全选择用于根据选择值,在第一方拥有的N个数据中进行选择,所述选择值以分片形式,分布在第一方和第二方,该装置设置于第一方,包括:
生成单元,用于生成第一随机数,并将其作为选择结果的第一分片;
本地计算单元,用于本地计算所述N个数据分别与所述生成单元生成的第一随机数的第一差值,并将N个第一差值确定为N个第一输入数据;
联合处理单元,用于与所述第二方联合执行安全选择算子,所述安全选择算子基于所述选择值在所述本地计算单元得到的N个第一输入数据中选择目标输入数据,将其作为所述选择结果的第二分片输出给第二方。
第四方面,提供了一种两方安全选择确定选择结果分片的系统,所述两方安全选择用于根据选择值,在第一方拥有的N个数据中进行选择,所述选择值以分片形式,分布在第一方和第二方,系统包括:
所述第一方,用于生成第一随机数,并将其作为选择结果的第一分片;本地计算所述N个数据分别与所述第一随机数的第一差值,并将N个第一差值确定为N个第一输入数据;
所述第一方与所述第二方,用于联合执行安全选择算子,所述安全选择算子基于所述选择值在所述N个第一输入数据中选择目标输入选择,将其作为所述选择结果的第二分片输出给第二方。
第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面或第二方面的方法。
第六方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面或第二方面的方法。
通过本说明书实施例提供的方法、装置和系统,两方安全选择用于根据选择值,在第一方拥有的N个数据中进行选择,所述选择值以分片形式,分布在第一方和第二方,首先第一方生成第一随机数,并将其作为选择结果的第一分片;然后第一方本地计算所述N个数据分别与所述第一随机数的第一差值,并将N个第一差值确定为N个第一输入数据;最后第一方与第二方联合执行安全选择算子,所述安全选择算子基于所述选择值在所述N个第一输入数据中选择目标输入数据,将其作为所述选择结果的第二分片输出给第二方。由上可见,本说明书实施例,为了实现选择结果以分片的形式输出,先通过第一方生成选择结果的一个分片,并进行本地计算,得到N个第一输入数据,再从N个第一输入数据中进行选择,这种方式不需要通过减法对选择结果做拆分,只需要针对N个第一输入数据做选择,选择出的目标输入数据作为选择结果的另一个分片,相对于通常的处理方式,能够有效减小通信代价。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2示出根据一个实施例的两方安全选择确定选择结果分片的方法交互示意图;
图3示出根据一个实施例的布尔电路结构示意图;
图4示出根据一个实施例的两方安全选择确定选择结果分片的装置的示意性框图;
图5示出根据一个实施例的两方安全选择确定选择结果分片的系统的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。该实施场景涉及两方安全选择,用于根据选择值,在第一方拥有的N个数据中进行选择,所述选择值以分片形式,分布在第一方和第二方。参照图1,第一方有N个数据{v1,…,vN},以及选择值s的一个分片s0,第二方有选择值s的另一个分片s1,上述分片属于加法分片,也就是说,s=s0+s1,两方安全选择的选择结果为vs,第一方持有选择结果的一个分片vs0,第二方持有选择结果的另一个分片vs1,上述分片属于加法分片,也就是说,vs=vs0+vs1。可以理解的是,上述第一方具有的N个数据属于隐私数据,不能被第二方获知。上述选择值也属于隐私数据,第一方和第二方仅具有选择值的分片,而不能获知选择值。两方安全选择,即在保护上述隐私数据不会泄露的前提下,根据选择值,在第一方拥有的N个数据中进行选择,选择结果也以分片的形式存在于第一方和第二方。
加法分片,一个数在模2n整数环上可以用减法拆分为两个加法分片。这两个加法分片在模2n整数环上相加可以获得原数,两方各持有该数的一个加法分片。加法分片是无符号数。本说明书实施例,针对加法分片的运算为模2n空间的运算,上述运算包括加法运算、减法运算等。
对以上两方安全选择,可以通过安全选择算子来实现,安全选择算子可以但不限于为布尔电路。布尔电路(boolean circuit),是一组用连接线连接的逻辑门的集合,能对一组输入完成函数计算并输出结果。逻辑门包括与门(AND)、异或门(XOR)、非门(NOT)等实现布尔函数的门,一般一个函数可以编译成一组与门、异或门和非门完成计算。
通常的两方安全选择的电路实现方案包括:根据s,对N个数据{v1,…,vN}做选择得到选择结果vs;再对选择结果vs做拆分,第一方输入选择结果vs的一个分片vs0,第二方得到选择结果vs的另一个分片vs1=vs-vs0。上述拆分通过减法电路实现。
本说明书实施例提供的方案,对N个数据进行本地处理后再输入布尔电路,布尔电路只需要针对输入数据做选择,而不需要对结果做拆分,也就是说不需要减法电路,电路明显变小,包括与门数和与门深度都变小,能够有效减小通信代价。其中,通信代价包括通信量和通信轮数。
图2示出根据一个实施例的两方安全选择确定选择结果分片的方法交互示意图,该方法可以基于图1所示的实施场景,所述两方安全选择用于根据选择值,在第一方拥有的N个数据中进行选择,所述选择值以分片形式,分布在第一方和第二方。如图2所示,该实施例中两方安全选择确定选择结果分片的方法包括以下步骤:步骤21,第一方生成第一随机数,并将其作为选择结果的第一分片;步骤22,第一方本地计算所述N个数据分别与所述第一随机数的第一差值,并将N个第一差值确定为N个第一输入数据;步骤23,第一方与第二方联合执行安全选择算子,所述安全选择算子基于所述选择值在所述N个第一输入数据中选择目标输入数据,将其作为所述选择结果的第二分片输出给第二方。下面描述以上各个步骤的具体执行方式。
首先在步骤21,第一方生成第一随机数,并将其作为选择结果的第一分片。可以理解的是,可以采用通常的任一种随机数生成方式生成第一随机数。
本说明书实施例,选择结果以分片的形式存在于第一方和第二方,单个分片并不具有任何意义,因此可以随意选取选择结果的第一分片。
然后在步骤22,第一方本地计算所述N个数据分别与所述第一随机数的第一差值,并将N个第一差值确定为N个第一输入数据。可以理解的是,第一输入数据通过第一方本地计算得到,上述N个数据与N个第一输入数据一一对应。
举例来说,第一随机数为vs0,N个数据{v1,…,vN}都减去vs0,得到N个第一输入数据{v1-vs0,…,vN-vs0}。
最后在步骤23,第一方与第二方联合执行安全选择算子,所述安全选择算子基于所述选择值在所述N个第一输入数据中选择目标输入数据,将其作为所述选择结果的第二分片输出给第二方。可以理解的是,目标输入数据为N个第一输入数据中的一个第一输入数据,安全选择算子不需要对目标输入数据进行拆分。
在一个示例中,所述安全选择算子为布尔电路;所述与所述第二方联合执行安全选择算子,包括:
将所述N个第一输入数据、所述选择值的第一方分片输入布尔电路,所述布尔电路还接收第二方输入的所述选择值的第二方分片,并根据所述选择值,在所述N个第一输入数据中选择目标输入数据。
本说明书实施例的上述布尔电路与通常的用于两方安全选择的布尔电路,在输入和电路结构上均有明显的差别。上述布尔电路的输入包括第一方的N个第一输入数据,而不包括第一方初始具有的N个数据;上述布尔电路的电路结构不需要对选择结果做拆分,只需要对N个第一输入数据做选择,电路明显变小,包括与门数和与门深度都变小。
图3示出根据一个实施例的布尔电路结构示意图。参照图3,布尔电路包括选择模块,其输入包括第一方具有的N个第一输入数据{v1-vs0,…,vN-vs0}、选择值的第一方分片s0,第二方具有的选择值的第二方分片s1,选择模块用于根据选择值s=s0+s1,从N个第一输入数据{v1-vs0,…,vN-vs0}中选择出目标输入数据vs-vs0,目标输入数据作为该布尔电路的输出,将其输出给第二方。
进一步地,所述布尔电路用于执行如下计算过程:
对所述选择值的第一方分片和所述选择值的第二方分片进行加法运算,得到所述选择值;
根据所述选择值,在所述N个第一输入数据中选择目标输入数据。
举例来说,第一方具有N个第一输入数据{v1-vs0,…,vN-vs0}、选择值的第一方分片s0,第二方具有选择值的第二方分片s1,电路计算包括:
s=s0+s1;
输出{v1-vs0,…,vN-vs0}中的第s个值,即vs-vs0。
进一步地,所述选择值为L位二进制数,所述加法运算通过L个加法子单元分别确定所述选择值的各个位,每个加法子单元具有不多于一个与门。
可以理解的是,通过尽量减少加法运算所需要的与门数量可以进一步减少布尔电路的通信代价。
在一个示例中,所述N个数据具有第一排序;所述N个第一输入数据具有对应于所述N个数据的第一排序;
所述与所述第二方联合执行安全选择算子,包括:
根据所述选择值,确定与所述选择值对应的所述第一排序中的位置编号;
在所述N个第一输入数据中,选择出具有所述位置编号的第一输入数据。
该示例中,由于第一输入数据是通过对第一方初始具有的数据进行本地计算得到的,因此N个第一输入数据可以具有对应于所述N个数据的第一排序,根据该排序可以实现根据选择值选择目标输入数据。例如,N的取值为4,N个第一输入数据{v1-vs0,v2-vs0,v3-vs0,v4-vs0},当选择值为2时,选择的目标输入数据为v2-vs0。
在一个示例中,所述选择值的第一方分片与所述选择值的第二方分片之和为所述选择值,所述选择值的可选取值数目大于或等于N。
该示例中,选择值的可选取值数目大于或等于N,从而通过选择值能够唯一确定从N个第一输入数据中选择的目标输入数据,例如,N的取值为4,N个第一输入数据{v1-vs0,v2-vs0,v3-vs0,v4-vs0},选择值可以为两位的二进制数,其中可选取值分别为00、01、10、11,可以预先设定选择值为00时,选择位置编号为1的第一输入数据v1-vs0,依此类推。又例如,N的取值为5,N个第一输入数据{v1-vs0,v2-vs0,v3-vs0,v4-vs0,v5-vs0},选择值可以为三位的二进制数,其中可选取值分别为000、001、010、011、100、101、110、111,可以预先设定选择值为000时,选择位置编号为1的第一输入数据v1-vs0,依此类推,这种情况下,可以有选择值的多个可选取值对应于同一个第一输入数据,可能的设定方式有很多,在此不做赘述。
进一步地,所述布尔电路采用混淆电路或GMW的执行方式。
混淆电路(garbled circuit,GC),是一种两方安全多方计算协议,对实现一个计算函数的布尔电路用密码函数生成混淆表,对两方输入计算出结果,并且在计算过程一方输入不会泄漏给另一方。目前混淆电路最优的实现方案,对异或门和非门不需要通信,只需要本地计算,与门需要调用密码计算并进行通信,并且在一般应用场景中通信量是吞吐量上限的瓶颈。混淆电路的通信量与布尔电路的与门数正相关。
GMW(Goldreich-Micali-Wigderson),是一种两方安全多方计算协议,实现一个计算函数的布尔电路,其每根线上的比特都是两方的异或分片,即每方对该线各持有一个比特,两个比特异或即为线上真值,GMW对每个门计算,异或门直接本地计算,与门用不经意传输执行。GMW执行布尔电路,两方交互的轮数,即执行延迟由电路中的与门的深度决定。与门的深度指电路中数据相关的与门的最长路径。
通过本说明书实施例提供的方法,为了实现选择结果以分片的形式输出,先通过第一方生成选择结果的一个分片,并进行本地计算,得到N个第一输入数据,再从N个第一输入数据中进行选择,这种方式不需要通过减法对选择结果做拆分,只需要针对N个第一输入数据做选择,选择出的目标输入数据作为选择结果的另一个分片,相对于通常的处理方式,能够有效减小通信代价。
此外,当本说明书实施例提供的方法与布尔电路相结合时,为了实现选择结果以分片的形式输出,不是直接将第一方初始具有的N个数据输入布尔电路,而是先通过第一方进行本地计算,得到N个第一输入数据,将N个第一输入数据输入布尔电路,上述布尔电路不需要选择结果做拆分,只需要针对输入的N个第一输入数据做选择,相对于通常的电路结构,少了用于拆分选择结果的减法电路,电路明显变小,包括与门数和与门深度都变小,从而能够有效减小通信代价。
根据另一方面的实施例,还提供一种两方安全选择确定选择结果分片的装置,所述两方安全选择用于根据选择值,在第一方拥有的N个数据中进行选择,所述选择值以分片形式,分布在第一方和第二方,所述装置设置于第一方,用于执行本说明书实施例提供的方法中第一方执行的动作。图4示出根据一个实施例的两方安全选择确定选择结果分片的装置的示意性框图。如图4所示,该装置400包括:
生成单元41,用于生成第一随机数,并将其作为选择结果的第一分片;
本地计算单元42,用于本地计算所述N个数据分别与所述生成单元41生成的第一随机数的第一差值,并将N个第一差值确定为N个第一输入数据;
联合处理单元43,用于与所述第二方联合执行安全选择算子,所述安全选择算子基于所述选择值在所述本地计算单元42得到的N个第一输入数据中选择目标输入数据,将其作为所述选择结果的第二分片输出给第二方。
可选地,作为一个实施例,所述安全选择算子为布尔电路;所述联合处理单元43,具体用于将所述N个第一输入数据、所述选择值的第一方分片输入布尔电路,所述布尔电路还接收第二方输入的所述选择值的第二方分片,并根据所述选择值,在所述N个第一输入数据中选择目标输入数据。
进一步地,所述布尔电路用于执行如下计算过程:
对所述选择值的第一方分片和所述选择值的第二方分片进行加法运算,得到所述选择值;
根据所述选择值,在所述N个第一输入数据中选择目标输入数据。
进一步地,所述选择值为L位二进制数,所述加法运算通过L个加法子单元分别确定所述选择值的各个位,每个加法子单元具有不多于一个与门。
可选地,作为一个实施例,所述N个数据具有第一排序;所述N个第一输入数据具有对应于所述N个数据的第一排序;
所述联合处理单元43,具体用于:
根据所述选择值,确定与所述选择值对应的所述第一排序中的位置编号;
在所述N个第一输入数据中,选择出具有所述位置编号的第一输入数据。
可选地,作为一个实施例,所述选择值的第一方分片与所述选择值的第二方分片之和为所述选择值,所述选择值的可选取值数目大于或等于N。
进一步地,所述布尔电路采用混淆电路或GMW的执行方式。
根据另一方面的实施例,还提供一种两方安全选择确定选择结果分片的系统,所述两方安全选择用于根据选择值,在第一方拥有的N个数据中进行选择,所述选择值以分片形式,分布在第一方和第二方,所述系统包括第一方和第二方,用于执行本说明书实施例提供的方法中第一方和第二方执行的动作。图5示出根据一个实施例的两方安全选择确定选择结果分片的系统的示意性框图。如图5所示,该系统500包括:
第一方51,用于生成第一随机数,并将其作为选择结果的第一分片;本地计算所述N个数据分别与所述第一随机数的第一差值,并将N个第一差值确定为N个第一输入数据;
第一方51与第二方52,用于联合执行安全选择算子,所述安全选择算子基于所述选择值在所述N个第一输入数据中选择目标输入数据,将其作为所述选择结果的第二分片输出给第二方52。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2所描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (18)
1.一种两方安全选择确定选择结果分片的方法,所述两方安全选择用于根据选择值,在第一方拥有的N个数据中进行选择,所述选择值以分片形式,分布在第一方和第二方,所述方法由第一方执行,包括:
生成第一随机数,并将其作为选择结果的第一分片;
本地计算所述N个数据分别与所述第一随机数的第一差值,并将N个第一差值确定为N个第一输入数据;
与所述第二方联合执行安全选择算子,所述安全选择算子基于所述选择值在所述N个第一输入数据中选择目标输入数据,将其作为所述选择结果的第二分片输出给第二方。
2.如权利要求1所述的方法,其中,所述安全选择算子为布尔电路;所述与所述第二方联合执行安全选择算子,包括:
将所述N个第一输入数据、所述选择值的第一方分片输入布尔电路,所述布尔电路还接收第二方输入的所述选择值的第二方分片,并根据所述选择值,在所述N个第一输入数据中选择目标输入数据。
3.如权利要求2所述的方法,其中,所述布尔电路用于执行如下计算过程:
对所述选择值的第一方分片和所述选择值的第二方分片进行加法运算,得到所述选择值;
根据所述选择值,在所述N个第一输入数据中选择目标输入数据。
4.如权利要求3所述的方法,其中,所述选择值为L位二进制数,所述加法运算通过L个加法子单元分别确定所述选择值的各个位,每个加法子单元具有不多于一个与门。
5.如权利要求1所述的方法,其中,所述N个数据具有第一排序;所述N个第一输入数据具有对应于所述N个数据的第一排序;
所述与所述第二方联合执行安全选择算子,包括:
根据所述选择值,确定与所述选择值对应的所述第一排序中的位置编号;
在所述N个第一输入数据中,选择出具有所述位置编号的第一输入数据。
6.如权利要求1所述的方法,其中,所述选择值的第一方分片与所述选择值的第二方分片之和为所述选择值,所述选择值的可选取值数目大于或等于N。
7.如权利要求2所述的方法,其中,所述布尔电路采用混淆电路或GMW的执行方式。
8.一种两方安全选择确定选择结果分片的方法,所述两方安全选择用于根据选择值,在第一方拥有的N个数据中进行选择,所述选择值以分片形式,分布在第一方和第二方,所述方法包括:
所述第一方生成第一随机数,并将其作为选择结果的第一分片;
所述第一方本地计算所述N个数据分别与所述第一随机数的第一差值,并将N个第一差值确定为N个第一输入数据;
所述第一方与所述第二方联合执行安全选择算子,所述安全选择算子基于所述选择值在所述N个第一输入数据中选择目标输入数据,将其作为所述选择结果的第二分片输出给第二方。
9.一种两方安全选择确定选择结果分片的装置,所述两方安全选择用于根据选择值,在第一方拥有的N个数据中进行选择,所述选择值以分片形式,分布在第一方和第二方,所述装置设置于第一方,包括:
生成单元,用于生成第一随机数,并将其作为选择结果的第一分片;
本地计算单元,用于本地计算所述N个数据分别与所述生成单元生成的第一随机数的第一差值,并将N个第一差值确定为N个第一输入数据;
联合处理单元,用于与所述第二方联合执行安全选择算子,所述安全选择算子基于所述选择值在所述本地计算单元得到的N个第一输入数据中选择目标输入数据,将其作为所述选择结果的第二分片输出给第二方。
10.如权利要求9所述的装置,其中,所述安全选择算子为布尔电路;所述联合处理单元,具体用于将所述N个第一输入数据、所述选择值的第一方分片输入布尔电路,所述布尔电路还接收第二方输入的所述选择值的第二方分片,并根据所述选择值,在所述N个第一输入数据中选择目标输入数据。
11.如权利要求10所述的装置,其中,所述布尔电路用于执行如下计算过程:
对所述选择值的第一方分片和所述选择值的第二方分片进行加法运算,得到所述选择值;
根据所述选择值,在所述N个第一输入数据中选择目标输入数据。
12.如权利要求11所述的装置,其中,所述选择值为L位二进制数,所述加法运算通过L个加法子单元分别确定所述选择值的各个位,每个加法子单元具有不多于一个与门。
13.如权利要求9所述的装置,其中,所述N个数据具有第一排序;所述N个第一输入数据具有对应于所述N个数据的第一排序;
所述联合处理单元,具体用于:
根据所述选择值,确定与所述选择值对应的所述第一排序中的位置编号;
在所述N个第一输入数据中,选择出具有所述位置编号的第一输入数据。
14.如权利要求9所述的装置,其中,所述选择值的第一方分片与所述选择值的第二方分片之和为所述选择值,所述选择值的可选取值数目大于或等于N。
15.如权利要求10所述的装置,其中,所述布尔电路采用混淆电路或GMW的执行方式。
16.一种两方安全选择确定选择结果分片的系统,所述两方安全选择用于根据选择值,在第一方拥有的N个数据中进行选择,所述选择值以分片形式,分布在第一方和第二方,所述系统包括:
所述第一方,用于生成第一随机数,并将其作为选择结果的第一分片;本地计算所述N个数据分别与所述第一随机数的第一差值,并将N个第一差值确定为N个第一输入数据;
所述第一方与所述第二方,用于联合执行安全选择算子,所述安全选择算子基于所述选择值在所述N个第一输入数据中选择目标输入数据,将其作为所述选择结果的第二分片输出给第二方。
17.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-8中任一项的所述的方法。
18.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-8中任一项的所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111131693.4A CN113836596A (zh) | 2021-09-26 | 2021-09-26 | 两方安全选择确定选择结果分片的方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111131693.4A CN113836596A (zh) | 2021-09-26 | 2021-09-26 | 两方安全选择确定选择结果分片的方法、装置和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113836596A true CN113836596A (zh) | 2021-12-24 |
Family
ID=78970304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111131693.4A Pending CN113836596A (zh) | 2021-09-26 | 2021-09-26 | 两方安全选择确定选择结果分片的方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113836596A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114301591A (zh) * | 2021-12-28 | 2022-04-08 | 支付宝(杭州)信息技术有限公司 | 不经意传输协议的执行方法、装置及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3072238A1 (fr) * | 2017-10-10 | 2019-04-12 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Dispositif et procede de transmission de donnees |
CN111177790A (zh) * | 2020-04-10 | 2020-05-19 | 支付宝(杭州)信息技术有限公司 | 保护两方数据隐私的协同计算方法、系统及装置 |
CN111539041A (zh) * | 2020-07-08 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 一种安全选择方法和系统 |
CN112966809A (zh) * | 2021-02-02 | 2021-06-15 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的两方模型预测方法、装置及系统 |
CN113158239A (zh) * | 2021-03-31 | 2021-07-23 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的选择问题处理方法 |
CN113407992A (zh) * | 2021-06-10 | 2021-09-17 | 交通银行股份有限公司 | 一种基于可信第三方的隐私数据两方安全相等测试方法 |
-
2021
- 2021-09-26 CN CN202111131693.4A patent/CN113836596A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3072238A1 (fr) * | 2017-10-10 | 2019-04-12 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Dispositif et procede de transmission de donnees |
CN111177790A (zh) * | 2020-04-10 | 2020-05-19 | 支付宝(杭州)信息技术有限公司 | 保护两方数据隐私的协同计算方法、系统及装置 |
CN111539041A (zh) * | 2020-07-08 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 一种安全选择方法和系统 |
CN112966809A (zh) * | 2021-02-02 | 2021-06-15 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的两方模型预测方法、装置及系统 |
CN113158239A (zh) * | 2021-03-31 | 2021-07-23 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的选择问题处理方法 |
CN113407992A (zh) * | 2021-06-10 | 2021-09-17 | 交通银行股份有限公司 | 一种基于可信第三方的隐私数据两方安全相等测试方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114301591A (zh) * | 2021-12-28 | 2022-04-08 | 支付宝(杭州)信息技术有限公司 | 不经意传输协议的执行方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111989891B (zh) | 数据处理方法、相关装置及区块链系统 | |
CN113722734A (zh) | 两方安全选择确定选择结果分片的方法、装置和系统 | |
CN112800478B (zh) | 保护隐私数据的共有数据确定方法、装置和系统 | |
CN111737757B (zh) | 针对隐私数据进行安全运算的方法和装置 | |
US11121882B2 (en) | Blinding techniques for protection of private keys in message signing based on elliptic curve cryptography | |
CN108933650B (zh) | 数据加解密的方法及装置 | |
US12034840B2 (en) | Computer implemented system and method for sharing a common secret preliminary class | |
CN113300846B (zh) | 签名方法、终端设备及网络设备 | |
CN111523144A (zh) | 针对多方的隐私数据进行安全运算的方法和装置 | |
WO2023231340A1 (zh) | 分享ot协议的执行方法、安全多方计算方法及装置 | |
CN113626871A (zh) | 保护隐私数据的两方多分支条件实现方法和系统 | |
KR20170082222A (ko) | 전송 메시지에 대한 부인 방지가 가능한 데이터 전송 장치 및 방법 | |
CN114239019A (zh) | 保护隐私数据的共有数据数目确定方法、装置和系统 | |
CN107888385B (zh) | Rsa模数生成方法、rsa密钥生成方法、计算机设备及介质 | |
KR20120013415A (ko) | 리셋 가능한 변조 방지 하드웨어 토큰을 이용한 효과적인 보안 함수 평가 방법 | |
CN115883079A (zh) | 一种数据处理方法、系统、装置、电子设备与存储介质 | |
CN113836596A (zh) | 两方安全选择确定选择结果分片的方法、装置和系统 | |
CN115906126A (zh) | 多方安全计算中的数据处理的方法及装置 | |
CN113836595B (zh) | 两方安全比较的方法、装置和系统 | |
CN113821826B (zh) | 实现异或分片输入输出的布尔电路、方法和系统 | |
CN116821961A (zh) | 保护隐私数据的布尔算术分享转换方法和装置 | |
CN115765985A (zh) | 用于多方安全计算的处理方法及装置 | |
CN115001675A (zh) | 分享ot协议的执行方法、安全多方计算方法及装置 | |
CN114499845A (zh) | 多方安全计算的方法、装置及系统 | |
CN113806818A (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 |