隐私比较是指在不暴露双方具体数值的前提下,获取双方数值的大小关系。最早起源于姚期智的百万富翁问题:有两个百万富翁想要比较下谁更富有,但是又不想透露自己有多少钱,如何在没有可信第三方的情况下进行比较?这个问题是由中国第一个也是目前为止唯一一个图灵奖获得者姚期智在1980年代提出的,他是中国计算机学术和教育的第一人,为现代密码学打开了一道新的大门。
在之前的文章《优雅的求职——隐私比较算法实例》中已经通过求职案例介绍了隐私比较的应用场景以及如何实现,本文则主要介绍一种在当前效率比较高的隐私比较协议。
该协议是CrypTFlow2:Practical2-PartySecureInference中提出的一个子协议,并基于此协议实现DRelu激活函数应用于神经网络中。
--相关技术--
该协议主要使用了布尔秘密分享和不经意传输两种技术进行构建:
▲?不经意传输
不经意传输(OT,ObliviousTransfer)是指数据发送方有n个数据,数据接收方接收其中的一个数据,且数据接收方不能获取其他的数据,数据发送方也不知道接收方选择接收的数据具体是哪一个。在之前的文章《基于安全多方计算(MPC)的隐私计算技术(一)》中已介绍过一种实现方案,故本文不再赘述。
动态 | 美国总统特朗普对强势美元不满意 分析师称比特币可解决“特里芬困境”:据Bitcoin Exchange Guide 8月9日消息,美国总统特朗普在8月8日推特上表达了他对美联储的失望,称“美联储将利率维持在高位,使得Caterpillar和Boeing等美国公司很难与其他国家‘在公平的竞争环境中竞争’”。他进一步谈到了他不满意的强势美元。特朗普写道:“作为你们的总统,有人会认为我会对我们的强势美元感到兴奋,但我不是。”加密货币分析师PlanB在推特上回复特朗普称:“特里芬困境可以用比特币解决。让我们来看看特里芬困境吧!强势而稳健的美元,没有印钞,没有负利率,对世界是有好处的。但这损害了美国经济。比特币通过将国家和金钱分离,解决了特里芬困境。比特币是对冲量化宽松和负利率的绝佳工具。”注:特里芬困境:当一个国家的货币同时作为国际储备货币时,有可能造成国内短期经济目标和国际长期经济目标的利益冲突。[2019/8/10]
▲?布尔秘密分享
在安全多方计算中会使用秘密分享将数据进行拆分后分享出去,每一方拿到每个数据的相应碎片,对于原始数据的计算逻辑都会转为对碎片的计算,在整个计算逻辑完成后,再将碎片的计算结果进行汇聚还原以获取原始数据的计算结果。
声音 | 慢雾余弦:MimbleWimble并没完全解决“交易隐私”问题:区块链安全公司慢雾创始人余弦发微博称,MimbleWimble并没完全解决“交易隐私”问题,它让交易在区块链上不会暴露隐私,这个实现确实很漂亮,但由于它交易的特殊性,这导致相比其他匿名货币,基于 MimbleWimble 实现的在链下隐私与安全会遭遇更大挑战。[2019/3/22]
布尔秘密分享是指将一个布尔值b拆分成两个碎片b0、b1,将两个碎片汇聚到一起即可还原出原始数据b。
碎片生成:随机生成一个布尔值b0,并和b执行异或计算出b1=b0⊕b
碎片还原:对两个碎片执行异或操作
b=b0⊕b1
异或运算:布尔秘密分享在异或操作上是满足同态性质的,在本地通过对碎片进行异或操作再还原就等价于对原始数据的异或操作
a=a0⊕a1,b=b0⊕b1
a⊕b=(a0⊕b0)⊕(a1⊕b1)
与运算:布尔秘密分享对于与操作不满足同态性质,使用不经意传输技术以实现安全的与操作:
Alice持有碎片a0和b0,Bob持有碎片a1和b1,通过与运算使得Alice获取c0,Bob获取c1,c0⊕c1=(a0⊕a1)∧(b0⊕b1),并保证双方碎片的安全;
动态 | Fetch.AI尝试全新方式解决“区块链三难困境”达成共识:今日,Fetch.AI透露了他们在“区块链不可能三角”挑战上的技术突破,以一种全新的方式达成共识。与现有平台相比,该协议采用一种股权证明(PoS)方案,实现了严格按照交易顺序以及更快速的确认时间和更高的安全性。
Fetch.AI研发主管Jonathan Ward表示:“区块链技术人员长期以来都明白,要在安全性、去中心化、可扩展性之间实现正确的平衡,面临着‘三难困境’。我们达成共识的新方法使用了离散的随机信标,这反过来又允许我们首次利用了真正分散的DAG和确定地交易排序。这意味着我们可以在不显著影响安全性、去中心化妥协的情况下,扩展目前的现有系统,实现在单个分片上每秒处理3万笔交易。”[2019/3/15]
Alice作为不经意传输的发送方,随机生成一个布尔值r作为c0,并按下图生成不经意传输的输入:
声音 | 圣路易斯联储副主席:私有加密货币或解决“特里芬难题”:据Coindesk报道,美国圣路易斯联储研究部门副主席、经济学家David Andolfatto本周二在推特的问答活动中,被一位用户询问是否可以使用加密货币来解决50年以来的特里芬困境。具体而言,美元数十年来一直被视为世界储备货币。为了保持这一作用,美国必须承担贸易逆差。对此Andolfatto表示,如果私有加密货币取代给定的世界储备货币,这将消除该货币的两难境地。[2018/10/3]
Bob作为不经意传输的接收方将自己的碎片a1,b1拼接成a1||b1作为不经意传输的选择项获取数据r⊕((a0⊕a1)∧(b0⊕b1))作为c1;
可验证c0⊕c1=r⊕r⊕((a0⊕a1)∧(b0⊕b1))=(a0⊕a1)∧(b0⊕b1);
本质是将与运算的所有可能性罗列出来,加入随机项后由另一方根据自己的数据选择混淆后的计算结果。
--实现思路--?
▲明文比较
首先不考虑比较运算的隐私性,平常情况下两个数是如何比较大小的:
将两个数对齐为相同长度的数字数组,长度不够的则在前面补0a=123,b=5879,a=>,b=>
华夏时报总编辑:区块链可解决“阴阳合同”“图片剽窃”等问题:在第二届中国(上海)区块链新金融高峰论坛上,华夏时报总编辑水皮称如果区块链的应用真的能得到很好的应用,各个行业都自觉采用这种底层加密技术,那么像“阴阳合同”“图片剽窃”等问题就能被杜绝。以版权为例,目前稿件被剽窃是很正常的事,文字进行随意组合后很难进行追踪。但对于图片盗版的问题,区块链技术可以有效将其解决。[2018/6/9]
对两个数组里面的数字进行顺序比较,如果对应位的数字相等,则继续比较下一位,直到有一位不相等,最早不相等那位的比较结果即为两个数据的比较结果,若所有位的数字都相等,则两个数据相等。整个过程可归纳为以下公式:X,Y都是长度为n的数据,1{X,满足大括号内条件时为1否则为0
X=x0||x1||x2||...||x(n-1),Y=y0||y1||y2||...||y(n-1),xi,yi表示拆分后的第i位数据
Xi=xi||...||x(n-1),Yi=yi||...||y(n-1),用于表示去除前i-1位后的数据
1{X(1{x0=y0}∧1{X1<Y1})
1{X1
...
1{X(n-1)
▲不安全的隐私比较
如果要将上述比较方案转为隐私比较,最容易想到的方案是将两个最小比较单位的数的比较隐私化,在之前的文章《优雅的求职——隐私比较算法实例》中已经介绍过:对于两个最小比较单位的比较可通过不经意传输协议来完成。这样确实是保证了单个最小比较单位的安全性,但是对于某些情况,会暴露出数据的一些情况:
a=1230?b=1231,对于这两个数字的比较,如果b作为ot的接受方也就是最小比较单元数据比较结果的获取方,按照上述方案进行比较,会有两点额外信息被泄露:
1)在前几位相同的情况下:b会知道a的前三位是123;
2)两个最小单元的数据是最小单元范围的两端数据:b会知道a的最后一位是0;
而根据以上两个信息b甚至可以直接反推出a的数据,在这种情况隐私比较也就不隐私了。
▲?消除不安全
本论文中的隐私比较协议,整个比较思路和上面不安全的隐私比较是一致的,但是该协议引入了秘密分享技术,在通过不经意传输协议获取比较结果时发送方对每个数据都混淆上一个随机项,这样双方都不会获取到最小比较单元数据的比较结果,而是比较结果的碎片,并使用碎片按照明文比较的流程递归的进行比较,所有最小比较单元都比较完成后,再将比较结果的碎片进行还原以获取整个数据的比较结果。
由于最小单元的比较结果都是碎片,到比较结束才会还原递归计算的结果,就避免了获取最小比较单元比较结果导致的信息泄露。
--协议流程--
Alice拥有数据x,Bob拥有数据y,数据的二进制长度为l,最小比较单元的二进制长度为m,划分的最小比较单元个数为q=l/m,最小比较单元的十进制最大值为M=2^m-1
1)双方分别划分数据:x=x0||...||x(q-1),y=y0||...||y(q-1)
2)对于所有的最小比较单元xi(0<=i通过不经意传输获取每个最小比较单元比较结果的碎片
Alice作为不经意传输的发送方准备数据:随机生成布尔值_0,_0,分别作为xi是否小于和等于yi的布尔分享碎片,对于0<=j<=M,分别设置两个不经意传输实例的输入为:sij=_0⊕1{xi
tij=_0⊕1{xi=j}
Bob将yi作为输入分别执行两个不经意传输实例,获取两个比较结果的碎片:例如当m取2时,Alice的第一个最小比较单元x0=2,Bob的第一个最小比较单元y0=1,Alice随机生成_0,_0,并按下表生成两个不经意传输的输入:
Bob使用y0作为两个不经意传输的选择项,获取:
_1=0⊕_0,_1=0⊕_0
3)所有最小比较单元比较完成后,双方都获取了对应的最小比较单元间是否小于和是否等于的布尔分享碎片,即可按照明文比较流程,使用碎片递推计算出最终比较结果的碎片。
对于碎片的异或操作,只需要进行本地对碎片进行异或就行。对于碎片的与操作,则需要按照上面介绍的方案通过不经意传输计算出结果的碎片。
在递推过程中主要有两个地方需要执行与操作:
当前面所有比较单元相等,需要比较下一个时:1{x0||x1=y0||y1}∧1{x2<y2}
计算前面所有比较单元是否都相等时:1{x0||x1=y0||y1}=1{x0=y0}∧1{x1=y1}
--总结--
该协议整体思路和明文的比较流程一致,并使用不经意传输和秘密分享技术保证数据的隐私性,也是当前效率比较高的协议。
对于单个元素的比较,与运算的OT实例,无法通过OT扩展进行优化,因为需要进行递归的计算,前后有依赖关系。对于批量元素的比较则可在纵向对于相同位置与运算的OT实例通过OT扩展来优化效率。
作者简介
刘敬趣链科技数据网格实验室BitXMesh团队
参考文献
原论文:RatheeD,RatheeM,KumarN,etal.CrypTFlow2:Practical2-partysecureinference//Proceedingsofthe2020ACMSIGSACConferenceonComputerandCommunicationsSecurity.2020:325-342.
标签:区块链LICICEALICE什么叫做区块链技术的概念Media Licensing TokenJUSTICE价格alice币创始人
据Finbold8月27日报道,投资咨询公司MidasTouchConsulting的董事总经理FlorianGrummes坚持认为,比特币在未来六个月的交易价格可能会达到10万美元.
1900/1/1 0:00:00相信看过我们公众号文章《黑暗森林:一个将《三体》融入以太坊的区块链游戏》的伙伴都知道,DarkForest是一个基于零知识证明技术zkSNARKS所构建的去中心化实时战略游戏.
1900/1/1 0:00:00加入PolkaWorld社区,共建Web3.0!刚刚,作为Kusama理事会成员之一,PolkaWorld参与投票通过了Motion346,开启了Kusama第六次拍卖开启.
1900/1/1 0:00:00Loot是一个允许任何人铸造代表一组8个冒险家主题装备物品的NFT项目。这些物品具有随机分布的稀缺特征。这被称为一个「公平铸造」项目,因为合约不出售NFT——这些NFT是免费铸造的.
1900/1/1 0:00:00巴比特讯,上周末,数字艺术家Pak设计的LostPoets系列NFT共售出5.5万个,单个价格为0.32ETH,筹集资金达7000万美元,目前在OpeneSea地板价为0.52ETH.
1900/1/1 0:00:00据Cointelegraph8月24日消息,美国职业棒球大联盟正与NFT体育收藏品平台CandyDigital合作发行30个MLB体育场的NFT.
1900/1/1 0:00:00