“三个富翁都想较为究竟谁更富于,但又都不该让自己晓得他们有几万元。在没可靠的服务器端的情况下怎样展开?”那个难题是知名的姚式富翁难题,此难题缔造了安全可靠多番排序应用领域。
1:安全可靠多番排序
安全可靠多番排序起初是特别针对两个互不相让安全可靠排序难题,即简而言之的“富翁难题”而被明确提出,再于1982年由吴健雄明确提出和推展。安全可靠多番排序的目地是协作的从每一方的个人隐私输入中排序表达式的结论,而不必将输入展现给其它方。
安全可靠多番排序具备下列特点:
个人隐私性(Privacy): 这是最重要的一点儿, 任何人合作方无法赢得任何人所明确规定的输入以外的重要信息;
输入自主性(Input independence): 各合作方要分立优先选择他们的输入, 即无法依照其它合作方的输入来优先选择另一方面的输入;
输入连续性(Output consistency): 假如某一合作方赢得了输入, 则大部份合作方都将赢得完全相同的输入.
一般来说安全可靠多番排序能透过四种架构来同时实现,不知不觉数据传输(Oblivious Transfer,OT)、绝密共享资源(Secret Sharing,SS)、共振频率态射身份验证。当中不知不觉数据传输和共振频率态射身份验证都采用了绝密共享资源的价值观,因此绝密共享资源被广为指出是安全可靠多番排序的核心理念。
2:不知不觉数据传输(Oblivious Transfer,OT)
具体内容同时实现叙述叙述如下表所示:
3:绝密分享
绝密分享(Secret Sharing,SS)是指透过将绝密值拆散成随机多份,并将这些数分发给不同方来隐藏绝密值得一种概念,每个合作方拿到的都是原始数据的一部分,两个或少数几个合作方无法还原出原始数据,只有把各自的数据凑在一起时才能还原出真实数据。
绝密共享资源主要包括算数绝密共享资源(Arithmetic Secret Sharing)、Shamir绝密共享资源、二进制绝密共享(Binary Secret Sharing)等方式。
3.1 算数绝密共享资源算术绝密分享( Arithmetic Secret Sharing ) 的主要价值观是将两个数随机的分裂为三个或多个数,分裂后的数分属不同的排序方,各排序方即可依照这些分享的数据展开个人隐私保护下的算术排序。3.1.1 加法运算共享资源:假定A、B互不相让各有数x和y,当中将x和y展开分解,x = x1 + x2、y = y1 + y2
双方各自分享x2和y1,则A方排序z1 = x1+ y1,B方排序z2 = x2 + y2
将z1和z2共享资源,排序出z,显然有:z = x + y = z1 + z2 = x1 + x2 + y1 + y2
从而完成了加法运算。
3.1.2 乘法运算共享资源:
无条件的乘法运算分享被证明是不存在的,乘法运算的分享要依赖于两个被分享的乘法三元组 <a, b, ab>,乘法三元组能在离线阶段中产生,离线阶段可作为两个被信任的处理方。
Alice和Bob分别持有x和y,他们得到了一对随机乘法三元组的分片。当中a = [a]1 + [a]2、b = [b]1 + [b]2、ab = a*b = [ab]1 + [ab]2。它们采用如下表所示方法排序x、y的乘积。
各自将己方数据分享两个分片给对方,交换[x]2和[y]1。
各自透过加法分享并还原,分别得到x的盲化d = x – a ,y的盲化 e = y – b,并把d和e公开给对方。在此过程中, x, y, a, b均没泄露。
此时x*y=(d+a)*(e+b)=de+[b]d+[a]e+[ab],处于分享态的三元组放在了中括号内,可以看出难题已被转化为加法难题。
从下图看会更清楚,如同一块长方形的瓷砖被分成了7块,一方排序4块的面积,另一方排序3块的面积,如此就完成了乘法运算的加性分享。
3.2 Shamir绝密共享资源
下面介绍Shamir绝密分享,1979年Shamir提出了共振频率绝密分享方案,该方案是基于拉格朗日插值法的一种支持n个合作方中的任意t个可以联合解开绝密数据的方案,具体内容方案如下表所示: