一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

保护隐私数据的两方多分支条件实现方法和系统与流程

2021-11-09 23:11:00 来源:中国专利 TAG:


1.本说明书一个或多个实施例涉及计算机领域,尤其涉及保护隐私数据的两方多分支条件实现方法和系统。


背景技术:

2.安全多方计算又称为多方安全计算,即多方共同计算出一个函数的结果,而不泄露这个函数各方的输入数据,计算的结果公开给其中的一方或多方。其中,各方的输入数据常常为隐私数据。
3.两方多分支条件是安全多方计算中用户运算逻辑的基本运算功能之一,用于根据顺次执行的n个分支条件中成立的分支条件,从按顺序排列的n 1个数值中返回该成立的分支条件对应的数值,其中任一分支条件包括对两方各自持有的隐私数据的大小比较。


技术实现要素:

4.本说明书一个或多个实施例描述了一种保护隐私数据的两方多分支条件实现方法和系统,能够在保护隐私数据的前提下,实现两方多分支条件。
5.第一方面,提供了一种保护隐私数据的两方多分支条件实现方法,用于根据顺次执行的n个分支条件中成立的分支条件,从按顺序排列的n 1个数值中返回该成立的分支条件对应的数值,其中任一分支条件包括对第一方和第二方各自持有的隐私数据的大小比较;方法包括:
6.第一方和第二方分别获得所述n个分支条件中的每个分支条件的比较结果的分片;
7.以第n 1个数值为中间结果的初始值,对于其余n个数值按照从后到前的顺序分别执行n轮选择处理,每轮选择处理包括:所述第一方和所述第二方分别将当前数值和上一轮的中间结果的本方分片作为待选对象分片,将所述当前数值对应的分支条件的比较结果的分片作为选择比特分片,输入两方选择算子,所述两方选择算子根据该比较结果从所述当前数值和上一轮的中间结果中选择之一作为本轮的中间结果;
8.将所述n轮选择处理之后的中间结果对应的分片分别输出给第一方和第二方。
9.在一种可能的实施方式中,所述第一方具有第一隐私数据集合中的n个隐私数据,所述第二方具有第二隐私数据集合中的n个隐私数据,所述比较结果基于所述第一隐私数据集合中的第一隐私数据和所述第二隐私数据集合中的第二隐私数据之间是否满足预设比较关系表征。
10.进一步地,所述预设比较关系包括如下至少一种:
11.小于、小于等于、等于、大于等于、大于。
12.进一步地,所述第一方和第二方分别获得所述n个分支条件中的每个分支条件的比较结果的分片,包括:
13.针对所述n个分支条件中的每个分支条件,分别执行如下的比较处理:
14.所述第一方和所述第二方利用各自持有的隐私数据联合进行多方安全计算,所述第一方得到该分支条件的比较结果的第一分片,所述第二方得到该分支条件的比较结果的第二分片。
15.进一步地,所述多方安全计算,包括:
16.所述第一方将其持有的第一隐私数据输入两方比较算子,所述第二方将其持有的第二隐私数据输入所述两方比较算子,所述两方比较算子对所述第一隐私数据和所述第二隐私数据做比较,所述第一方得到所述预设比较关系是否成立的比较结果的第一分片,所述第二方得到所述比较结果的第二分片。
17.进一步地,各分支条件对应的比较处理采用并行执行方式。
18.在一种可能的实施方式中,所述第n 1个数值为所述n个分支条件均不成立时返回的数值。
19.在一种可能的实施方式中,所述按顺序排列的n 1个数值属于按顺序排列的n 1个数组中对应于同一变量的数值,各数组由相同数目个数值构成,所述相同数目个数值对应于不同的变量。
20.在一种可能的实施方式中,所述两方选择算子基于多方安全计算技术实现。
21.进一步地,所述多方安全计算技术包括如下至少一种:
22.秘密分享、混淆电路、不经意传输、gmw。
23.第二方面,提供了一种保护隐私数据的两方多分支条件实现系统,用于根据顺次执行的n个分支条件中成立的分支条件,从按顺序排列的n 1个数值中返回该成立的分支条件对应的数值,其中任一分支条件包括对第一方和第二方各自持有的隐私数据的大小比较;系统包括:
24.第一方和第二方,用于分别获得所述n个分支条件中的每个分支条件的比较结果的分片;
25.所述第一方和所述第二方,还用于以第n 1个数值为中间结果的初始值,对于其余n个数值按照从后到前的顺序分别执行n轮选择处理,每轮选择处理包括:所述第一方和所述第二方分别将当前数值和上一轮的中间结果的本方分片作为待选对象分片,将所述当前数值对应的分支条件的比较结果的分片作为选择比特分片,输入两方选择算子,所述两方选择算子根据该比较结果从所述当前数值和上一轮的中间结果中选择之一作为本轮的中间结果;
26.所述第一方和所述第二方,还用于分别得到所述n轮选择处理之后的中间结果对应的分片。
27.第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
28.第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
29.通过本说明书实施例提供的方法和系统,首先第一方和第二方分别获得所述n个分支条件中的每个分支条件的比较结果的分片;然后以第n 1个数值为中间结果的初始值,对于其余n个数值按照从后到前的顺序分别执行n轮选择处理,每轮选择处理包括:所述第一方和所述第二方分别将当前数值和上一轮的中间结果的本方分片作为待选对象分片,将
所述当前数值对应的分支条件的比较结果的分片作为选择比特分片,输入两方选择算子,所述两方选择算子根据该比较结果从所述当前数值和上一轮的中间结果中选择之一作为本轮的中间结果;最后将所述n轮选择处理之后的中间结果对应的分片分别输出给第一方和第二方。由上可见,本说明书实施例,在第一方和第二方分别获得每个分支条件的比较结果的分片之后,利用两方选择算子,按照从后到前的顺序对n 1个数值进行n轮二选一的处理,能够在保护隐私数据的前提下,实现两方多分支条件。
附图说明
30.为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
31.图1为本说明书披露的一个实施例的实施场景示意图;
32.图2示出根据一个实施例的保护隐私数据的两方多分支条件实现方法交互示意图;
33.图3示出根据一个实施例的保护隐私数据的两方多分支条件实现装置的示意性框图;
34.图4示出根据一个实施例的保护隐私数据的两方多分支条件实现系统的示意性框图。
具体实施方式
35.下面结合附图,对本说明书提供的方案进行描述。
36.图1为本说明书披露的一个实施例的实施场景示意图。该实施场景涉及保护隐私数据的两方多分支条件的实现。已有技术通常顺次执行的n个分支条件,当某个分支条件成立时,从按顺序排列的n 1个数值中返回该成立的分支条件对应的数值,其中任一分支条件包括对第一方和第二方各自持有的隐私数据的大小比较。参照图1,第一方和第二方各自具有n个隐私数据,用于构造n个分支条件,第一方具有a0,

a(n

1)共n个隐私数据,第二方具有b0,

b(n

1)共n个隐私数据,每个分支条件对应一个其成立时返回的数值,n个分支条件均不成立时对应有返回的数值,共有n 1个可能的返回的数值,可表示为c0,

cn,这n 1个数值由第一方或第二方提供,上述多分支条件执行后返回的数值以分片的形式分布在第一方和第二方,第一方得到的数值的分片记为r0,第二方得到的数值的分片记为r1,r0与r1之和即为上述返回的数值。
37.可以理解的是,上述数值的分片属于加法分片。加法分片(addshare),一个数在模2
n
空间的整数环上用减法拆分为两个加法分片,这两个加法分片在模2
n
空间的整数环上相加可以获得原数,两方各持有一个加法分片。加法分片是无符号数。
38.上述分支条件包括比较操作,可以为<、<=、==、>=、>等比较操作,以各分支条件包括的比较操作都为<为例,多分支条件可以用于完成如下计算:
[0039][0040]
可以理解是,上述多分支条件包括顺次执行的n个分支条件,第一个分支条件为a0<b0,如果a0<b0成立,那么返回的数值为c0,并且无需执行后续的分支条件,如果a0<b0不成立,则执行第二个分支条件;第二个分支条件为a1<b1,如果a1<b1成立,那么返回的数值为c1,并且无需执行后续的分支条件,如果a1<b1不成立,则执行第三个分支条件;
……
;第n个分支条件为a(n

1)<b(n

1),如果a(n

1)<b(n

1)成立,那么返回的数值为c(n

1),如果a(n

1)<b(n

1)不成立,那么返回的数值为cn。
[0041]
本说明书实施例不再顺序执行n个分支条件,而是先并行执行每个分支条件,得到每个分支条件的比较结果。基于这些比较结果,执行n轮选择处理,最终得到c0,

cn中的一个值。当然这个值将以分片的形式存在于第一方和第二方。
[0042]
下面将基于图2详细说明本发明的实现过程。
[0043]
图2示出根据一个实施例的保护隐私数据的两方多分支条件实现方法交互示意图,该方法可以基于图1所示的实施场景,用于根据顺次执行的n个分支条件中成立的分支条件,从按顺序排列的n 1个数值中返回该成立的分支条件对应的数值,其中任一分支条件包括对第一方和第二方各自持有的隐私数据的大小比较。如图2所示,该实施例中保护隐私数据的两方多分支条件实现方法包括以下步骤:步骤21,第一方和第二方分别获得所述n个分支条件中的每个分支条件的比较结果的分片;步骤22,第一方和第二方以第n 1个数值为中间结果的初始值,对于其余n个数值按照从后到前的顺序分别执行n轮选择处理,每轮选择处理包括:所述第一方和所述第二方分别将当前数值和上一轮的中间结果的本方分片作为待选对象分片,将所述当前数值对应的分支条件的比较结果的分片作为选择比特分片,输入两方选择算子,所述两方选择算子根据该比较结果从所述当前数值和上一轮的中间结果中选择之一作为本轮的中间结果;步骤23,第一方和第二方分别获得所述n轮选择处理之后的中间结果对应的分片。下面描述以上各个步骤的具体执行方式。
[0044]
首先在步骤21,第一方和第二方分别获得所述n个分支条件中的每个分支条件的比较结果的分片。可以理解的是,任一分支条件包括对第一方和第二方各自持有的隐私数据的大小比较,为了保护隐私数据,可以采用多方安全计算的方式确定上述比较结果,并使得第一方和第二方获得该比较结果的分片。
[0045]
在一个示例中,所述第一方具有第一隐私数据集合中的n个隐私数据,所述第二方
具有第二隐私数据集合中的n个隐私数据,所述比较结果基于所述第一隐私数据集合中的第一隐私数据和所述第二隐私数据集合中的第二隐私数据之间是否满足预设比较关系表征。
[0046]
进一步地,所述预设比较关系包括如下至少一种:
[0047]
小于、小于等于、等于、大于等于、大于。
[0048]
本说明书实施例,所述n个分支条件中的每个分支条件可以对应于相同的预设比较关系,例如,均为小于,也可以对应于不同的预设比较关系,例如,一个分支条件对应的预设比较关系为小于,另一个分支条件对应的预设比较关系为大于。
[0049]
进一步地,所述第一方和第二方分别获得所述n个分支条件中的每个分支条件的比较结果的分片,包括:
[0050]
针对所述n个分支条件中的每个分支条件,分别执行如下的比较处理:
[0051]
所述第一方和所述第二方利用各自持有的隐私数据联合进行多方安全计算,所述第一方得到该分支条件的比较结果的第一分片,所述第二方得到该分支条件的比较结果的第二分片。
[0052]
进一步地,所述多方安全计算,包括:
[0053]
所述第一方将其持有的第一隐私数据输入两方比较算子,所述第二方将其持有的第二隐私数据输入所述两方比较算子,所述两方比较算子对所述第一隐私数据和所述第二隐私数据做比较,所述第一方得到所述预设比较关系是否成立的比较结果的第一分片,所述第二方得到所述比较结果的第二分片。本说明书中的算子为某种多方安全计算基本功能的实现,提供编程调用接口,可以是相乘、相加、比较、选择等功能,可以是基于秘密分享、混淆电路、不经意传输等多方安全计算技术来实现。
[0054]
其中,两方比较算子:实现对两方各输入的一个数做比较,输出比较结果比特的分片,算子可以用混淆电路、gmw等技术实现。通过公式表示如下:[s]=cmp(a,b),对两方的数a和b做比较,输出分片的比较结果比特s,[s]表示分片形式,例如,当a和b满足预设比较关系时,s为1,当a和b不满足预设比较关系时,s为0。
[0055]
进一步地,各分支条件对应的比较处理采用并行执行方式。
[0056]
gmw(goldreich

micali

wigderson),是一种两方安全多方计算协议,实现一个计算函数的布尔电路,其每根线上的比特都是两方的异或分片,即每方对该线各持有一个比特,两个比特异或即为线上真值,gmw对每个门计算,异或门直接本地计算,与门用不经意传输执行。gmw执行布尔电路,两方交互的轮数,即执行延迟由电路中的与门的深度决定。与门的深度指电路中数据相关的与门的最长路径。
[0057]
然后在步骤22,第一方和第二方以第n 1个数值为中间结果的初始值,对于其余n个数值按照从后到前的顺序分别执行n轮选择处理,每轮选择处理包括:所述第一方和所述第二方分别将当前数值和上一轮的中间结果的本方分片作为待选对象分片,将所述当前数值对应的分支条件的比较结果的分片作为选择比特分片,输入两方选择算子,所述两方选择算子根据该比较结果从所述当前数值和上一轮的中间结果中选择之一作为本轮的中间结果。可以理解的是,上述n轮选择处理与通常的多分支条件的执行顺序相反,按照从后到前的顺序执行n轮选择处理,以实现多分支条件的顺次执行。
[0058]
下面以一个具体的多分支条件为例,说明上述n轮选择处理的执行过程,例如,多
分支条件如下:
[0059][0060]
对应于该多分支条件,共有n 1个可能返回的数值,顺次排列为c0、c1
……
c(n

1)、cn,前述n轮选择处理实质上按照从后到前的顺序,依次根据每个分支条件对应的比较结果,从该分支条件对应的数值和上一轮的中间结果中选择之一作为本轮的中间结果,中间结果的初始值为cn,n轮选择处理之后的中间结果就是最终多分支条件返回的数值。也就是说,首先根据a(n

1)<b(n

1)是否成立,从c(n

1)和cn中选择一个数值作为本轮的中间结果,当a(n

1)<b(n

1)成立时,选择c(n

1)作为本轮的中间结果,当a(n

1)<b(n

1)不成立时,选择cn作为本轮的中间结果;然后根据a(n

2)<b(n

2)是否成立,从c(n

2)和上一轮的中间结果中选择一个数值作为本轮的中间结果,以上一轮的中间结果为c(n

1)为例,当a(n

2)<b(n

2)成立时,选择c(n

2)作为本轮的中间结果,当a(n

2)<b(n

2)不成立时,选择c(n

1)作为本轮的中间结果;
……
最后根据a0<b0是否成立,从c0和上一轮的中间结果中选择一个数值作为本轮的中间结果,由于已经经过了n

1轮选择处理,根据各分支条件的比较结果的不同,上一轮的中间结果可能的取值有很多,以上一轮的中间结果为c1为例,当a0<b0成立时,选择c0作为本轮的中间结果,当a0<b0不成立时,选择c1作为本轮的中间结果,至此n轮选择处理结束,n轮选择处理之后的中间结果就是最终多分支条件返回的数值。
[0061]
在一个示例中,所述第n 1个数值为所述n个分支条件均不成立时返回的数值。
[0062]
其中,两方选择算子:一种算子,实现根据一个选择比特分片对两方数的选择,输出选择结果分片,算子可以用混淆电路、不经意传输等多方安全技术实现。通过公式表示如下:[r]=select(a,b,[s]),a和b为待选对象,可以由一方提供,例如,由第一方提供a和b;也可以由两方提供,例如,由第一方提供a,第二方提供b。[s]和[r]表示分片形式,[s]为选择比特分片,[r]为选择结果分片,根据选择比特分片对两方的输入数据做选择输出选择结果的加法分片。举例来说,s为1时,选择结果为b;s为0时,选择结果为a。
[0063]
此外,可以理解的是,若上述a或b以分片的形式输入两方选择算子,则可以先对分片进行合并,得到原始数据,然后再进行选择处理。
[0064]
在一个示例中,所述两方选择算子基于多方安全计算技术实现。通常涉及本地计
算和两方通信。
[0065]
进一步地,所述多方安全计算技术包括如下至少一种:
[0066]
秘密分享、混淆电路、不经意传输、gmw。
[0067]
下面针对上述n轮选择处理进行举例说明。
[0068]
示例一,多分支条件包括3个分支条件,也就是n=3,多分支条件仅有一组按顺序排列的n 1个数值,具体如下:
[0069][0070]
其中,s0、s1和s2可以理解为三个分支条件分别对应的比较结果,上述比较结果可通过两方比较算子确定,例如,s0对应的分支条件为a0<b0,将a0和b0输入两方比较算子,就可以得到s0;s1对应的分支条件为a1<b1,将a1和b1输入两方比较算子,就可以得到s1,;s2对应的分支条件为a2<b2,将a2和b2输入两方比较算子,就可以得到s2,。本说明书实施例中,比较结果的取值为0或1,其中,0代表对应的分支条件成立,1代表对应的分支条件不成立;或者,0代表对应的分支条件不成立,1代表对应的分支条件成立。需要说明的是s0、s1和s2通常以分片形式存在于第一方和第二方。
[0071]
在确定上述s0、s1和s2之后,可以通过前述n轮选择处理,从w0、w1、w2和w3中选择出一个数值,将该数值作为多分支条件执行后返回的数值。n轮选择处理中的每轮选择处理可通过两方选择算子实现,首先将w3、w2和s2输入两方选择算子,两方选择算子根据s2为0或1,从w3和w2中选择一个作为变量t的数值,这里t对应于前述中间结果,通过公式表示为t=select(w3,w2,s2);然后将t、w1和s1输入两方选择算子,两方选择算子根据s1为0或1,从t和w1中选择一个作为变量t的数值,这里t对应于前述中间结果,通过公式表示为t=select(t,w1,s1);最后将t、w0和s0输入两方选择算子,两方选择算子根据s0为0或1,从t和w0中选择一个作为变量x0的数值,这里x0对应于多分支条件需要赋值的变量,通过公式表示为x0=select(t,w0,s0)。
[0072]
该示例中,用一组算子实现以上两方多分支条件,包括n个两方比较算子和n个两方选择算子,且可以一定方式并行计算。
[0073]
本说明书实施例,多分支条件包括的每个分支条件可以仅对应一个数值,也可以对应多个数值,也就是说,多分支条件可以仅有一组按顺序排列的n 1个数值,也可以有多组按顺序排列的n 1个数值。当有多组按顺序排列的n 1个数值时,该方法可以用于从各组按顺序排列的n 1个数值中分别返回该成立的分支条件对应的数值,其中,针对每组的n 1个数值,不必重复确定分支条件对应的比较结果,只确定一次上述比较结果即可。
[0074]
在一个示例中,所述按顺序排列的n 1个数值属于按顺序排列的n 1个数组中对应于同一变量的数值,各数组由相同数目个数值构成,所述相同数目个数值对应于不同的变量。举例来说,n的取值为3,按顺序排列的n 1个数组依次为{w0,u0}、{w1,u1}、{w2,u2}、{w3,u3},各数组均包括2个数值,其中,数组中的第一个数值对应于变量x0,数组中的第二个数值对应于变量x1,也就是说,数值w0、w1、w2、w3对应于变量x0,数值u0、u1、u2、u3对应于变量x1。可以理解的是,每个变量具有特定的含义,例如,代表收入、支出等,将各数值对应于变量,也就是赋予数值特定的含义。
[0075]
下面通过一个示例来说明一个分支条件对应多个数值的情况。
[0076]
示例二,多分支条件包括3个分支条件,也就是n=3,多分支条件有两组按顺序排列的n 1个数值,具体如下:
[0077][0078]
其中,三个分支条件中的比较结果可通过两方比较算子确定,依次为[s0]=cmp(a0,b0),a0和b0为需要比较大小的隐私数据,s0为比较结果;[s1]=cmp(a1,b1),a1和b1为需要比较大小的隐私数据,s1为比较结果;[s2]=cmp(a2,b2),a2和b2为需要比较大小的隐私数据,s2为比较结果。
[0079]
第一组按顺序排列的n 1个数值为w0、w1、w2、w3,针对该组数值的n轮选择处理可通过两方选择算子实现,依次为t=select(w3,w2,s2),根据s2为0或1,从w3和w2中选择一个作为变量t的数值;t=select(t,w1,s1),根据s1为0或1,从t和w1中选择一个作为变量t的数值;x0=select(t,w0,s0),根据s0为0或1,从t和w0中选择一个作为变量x0的数值;可以理解的是,t对应于前述中间结果。
[0080]
第二组按顺序排列的n 1个数值为u0、u1、u2、u3,针对该组数值的n轮选择处理可通过两方选择算子实现,依次为t1=select(u3,u2,s2),根据s2为0或1,从u3和u2中选择一个作为变量t1的数值;t1=select(t1,u1,s1),根据s1为0或1,从t1和u1中选择一个作为变量t1的数值;x1=select(t1,u0,s0),根据s0为0或1,从t1和u0中选择一个作为变量x1的数
值;可以理解的是,t1对应于前述中间结果。
[0081]
该示例中,用一组算子实现以上两方多分支条件,包括n个两方比较算子和2n个两方选择算子,且可以一定方式并行计算。
[0082]
最后在步骤23,第一方和第二方分别获得所述n轮选择处理之后的中间结果对应的分片。可以理解的是,所述n轮选择处理之后的中间结果就是多分支条件执行后返回的数值,该数值以分片的形式返回给第一方和第二方。
[0083]
本说明书实施例,上述中间结果对应的分片具体可以为加法分片。
[0084]
在一个示例中,可以由第一方生成第一随机数,将该第一随机数作为上述中间结果的第一分片,再由第一方和第二方利用多方安全计算的方式,将中间结果在模2
n
空间的整数环上减去中间结果的第一分片,从而得到中间结果的第二分片,再将上述中间结果的第二分片返回给第二方,上述中间结果的第一分片与上述中间结果的第二分片在模2
n
空间的整数环上相加可以获得上述中间结果。
[0085]
通过本说明书实施例提供的方法,首先第一方和第二方分别获得所述n个分支条件中的每个分支条件的比较结果的分片;然后以第n 1个数值为中间结果的初始值,对于其余n个数值按照从后到前的顺序分别执行n轮选择处理,每轮选择处理包括:所述第一方和所述第二方分别将当前数值和上一轮的中间结果的本方分片作为待选对象分片,将所述当前数值对应的分支条件的比较结果的分片作为选择比特分片,输入两方选择算子,所述两方选择算子根据该比较结果从所述当前数值和上一轮的中间结果中选择之一作为本轮的中间结果;最后将所述n轮选择处理之后的中间结果对应的分片分别输出给第一方和第二方。由上可见,本说明书实施例,在第一方和第二方分别获得每个分支条件的比较结果的分片之后,利用两方选择算子,按照从后到前的顺序对n 1个数值进行n轮二选一的处理,能够在保护隐私数据的前提下,实现两方多分支条件。
[0086]
根据另一方面的实施例,还提供一种保护隐私数据的两方多分支条件实现装置,用于根据顺次执行的n个分支条件中成立的分支条件,从按顺序排列的n 1个数值中返回该成立的分支条件对应的数值,其中任一分支条件包括对第一方和第二方各自持有的隐私数据的大小比较,所述装置设置于第一方,用于执行本说明书实施例提供的方法中第一方执行的动作。图3示出根据一个实施例的保护隐私数据的两方多分支条件实现装置的示意性框图。如图3所示,该装置300包括:
[0087]
比较单元31,用于获得所述n个分支条件中的每个分支条件的比较结果的一个分片;所述比较结果的另一个分片由所述第二方持有;
[0088]
选择单元32,用于以第n 1个数值为中间结果的初始值,对于其余n个数值按照从后到前的顺序分别执行n轮选择处理,每轮选择处理包括:将上一轮的中间结果的本方分片作为待选对象分片,将所述比较单元31得到的所述当前数值对应的分支条件的比较结果的分片作为选择比特分片,输入两方选择算子,所述两方选择算子还接收当前数值,以及第二方输入的上一轮的中间结果的本方分片和所述比较单元31得到的所述当前数值对应的分支条件的比较结果的分片,所述两方选择算子根据该比较结果从所述当前数值和上一轮的中间结果中选择之一作为本轮的中间结果;
[0089]
输出单元33,用于将所述n轮选择处理之后的中间结果对应的一个分片输出给第一方;所述n轮选择处理之后的中间结果对应的另一个分片由第二方持有。
[0090]
根据另一方面的实施例,还提供一种保护隐私数据的两方多分支条件实现系统,用于根据顺次执行的n个分支条件中成立的分支条件,从按顺序排列的n 1个数值中返回该成立的分支条件对应的数值,其中任一分支条件包括对第一方和第二方各自持有的隐私数据的大小比较,所述系统包括第一方和第二方,用于执行本说明书实施例提供的方法中第一方和第二方执行的动作。图4示出根据一个实施例的保护隐私数据的两方多分支条件实现系统的示意性框图。如图4所示,该系统400包括:
[0091]
第一方41和第二方42,用于分别获得所述n个分支条件中的每个分支条件的比较结果的分片;
[0092]
所述第一方41和所述第二方42,还用于以第n 1个数值为中间结果的初始值,对于其余n个数值按照从后到前的顺序分别执行n轮选择处理,每轮选择处理包括:所述第一方和所述第二方分别将当前数值和上一轮的中间结果的本方分片作为待选对象分片,将所述当前数值对应的分支条件的比较结果的分片作为选择比特分片,输入两方选择算子,所述两方选择算子根据该比较结果从所述当前数值和上一轮的中间结果中选择之一作为本轮的中间结果;
[0093]
所述第一方41和所述第二方42,还用于分别得到所述n轮选择处理之后的中间结果对应的分片。
[0094]
可选地,作为一个实施例,所述第一方41具有第一隐私数据集合中的n个隐私数据,所述第二方42具有第二隐私数据集合中的n个隐私数据,所述比较结果基于所述第一隐私数据集合中的第一隐私数据和所述第二隐私数据集合中的第二隐私数据之间是否满足预设比较关系表征。
[0095]
进一步地,所述预设比较关系包括如下至少一种:
[0096]
小于、小于等于、等于、大于等于、大于。
[0097]
进一步地,所述第一方41和所述第二方42,具体用于针对所述n个分支条件中的每个分支条件,分别执行如下的比较处理:所述第一方41和所述第二方42利用各自持有的隐私数据联合进行多方安全计算,所述第一方41得到该分支条件的比较结果的第一分片,所述第二方42得到该分支条件的比较结果的第二分片。
[0098]
进一步地,所述多方安全计算,包括:
[0099]
所述第一方41将其持有的第一隐私数据输入两方比较算子,所述第二方42将其持有的第二隐私数据输入所述两方比较算子,所述两方比较算子对所述第一隐私数据和所述第二隐私数据做比较,所述第一方41得到所述预设比较关系是否成立的比较结果的第一分片,所述第二方42得到所述比较结果的第二分片。
[0100]
进一步地,各分支条件对应的比较处理采用并行执行方式。
[0101]
可选地,作为一个实施例,所述第n 1个数值为所述n个分支条件均不成立时返回的数值。
[0102]
可选地,作为一个实施例,所述按顺序排列的n 1个数值属于按顺序排列的n 1个数组中对应于同一变量的数值,各数组由相同数目个数值构成,所述相同数目个数值对应于不同的变量。
[0103]
可选地,作为一个实施例,所述两方选择算子基于多方安全计算技术实现。
[0104]
进一步地,所述多方安全计算技术包括如下至少一种:
[0105]
秘密分享、混淆电路、不经意传输、gmw。
[0106]
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2所描述的方法。
[0107]
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2所描述的方法。
[0108]
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
[0109]
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献