区块链:科普 | 隐私交集是什么?

为什么要隐私交集

安全多方计算技术是现在国家极为重视的技术,在数据要素市场的建设中也扮演了非常重要的角色。运用安全多方计算算法,可以实现数据不出库前提下做到数据价值传递,是一种统筹数据资源的重要手段。在安全多方计算的家族中,隐私交集是非常重要的一个部分,也是目前为止使用最为广泛的算法之一。

什么是隐私交集

所谓隐私交集,就是在不暴露隐私的情况下求出两个集合的交集。怎么才能不暴露隐私呢?首先可以确定,我们想要的数据的“交集”不属于隐私的部分,在此可以认为除了“交集部分”的信息都是“隐私信息”。

回头看我们的标题——“悄悄地发现共同点”,我们可以从实际生活中找到一个隐私交集的例子。假设现在小明和小红在进行相亲,两人之前是没有任何的交集的陌生人,小明担心双方会尴尬,希望找些话题。

最好的话题当然就是两人之间的共同爱好,比如美食、电影等,小明决定从一个相对他来说比较好切入的点——美食,进行进一步沟通。小明不知道小红喜欢吃什么,但又希望尽可能避开雷区。

徐明星新书《趣说金融史》正式发布 科普金融发展之道:金色财经现场报道,9月23日,欧科云链创始人徐明星携手著名财经作家李霁月、行业观察者顾泽辉力作《趣说金融史》一书,跨越5000年金融历史,重读金钱故事,并预测新的金融时代。该书由中信出版社出版,将于近期正式发售。据了解,本书可以更好地呈现金融的起源与发展,帮助人们理解货币、金融与未来经济。作为区块链行业领军企业——欧科云链的创始人,徐明星深知技术探索对经济社会的重要推动作用,他曾先后出版过《图说区块链》、《区块链:重塑经济与世界》、《通证经济》、《链与未来》等行业权威著作,解读区块链等新型技术的推动下,金融与社会的升级之道,对经济社会发展做出了重大贡献。其中,《区块链:重塑经济与世界》曾作为新中国70周年重点推荐图书之一被相关书店推荐。[2021/9/23 17:00:57]

国务院:推进科普与区块链技术深度融合:为贯彻落实党中央、国务院关于科普和科学素质建设的重要部署,依据《中华人民共和国科学技术进步法》、《中华人民共和国科学技术普及法》制定《全民科学素质行动规划纲要(2021-2035年)》,其中要求实施智慧科普建设工程。推进科普与区块链等技术深度融合,强化需求感知、用户分层、情景应用理念,推动传播方式、组织动员、运营服务等创新升级,加强“科普中国”建设,强化科普信息落地应用,与智慧教育、智慧城市、智慧社区等深度融合。(新华社)[2021/7/10 0:40:52]

最稳妥的办法是直接问小红“你喜欢吃什么”,小红把自己喜欢吃的东西都说一遍,小明从里面挑几个自己也喜欢吃的东西然后展开话题。但小红也有和小明一样的顾虑,把自己喜欢吃的东西都告诉小明也可能会引起激烈的冲突。

在这种情况下最稳妥的办法就是隐私交集,双方都不告诉对方自己所有喜欢的美食是什么,最后双方却能知道两个人共同喜欢的美食是什么。

怎么做

▲?简单算法

说到这里,可能就有人会好奇了,那该怎么去做这个问题呢?

动态 | 报告:区块链等热点词促使童书科普百科类成交额同比增速最高:近日,京东图书与艾瑞咨询联合发布了《2019中国图书市场报告》。报告指出,AI、5G、区块链、机器人、VR、智能家居、AR这些热点词,不断点燃科技热潮,科技在改变大众生活的同时,也吸引了越来越多家长的关注,从小培养孩子对科技的兴趣和热爱。因此童书中科普百科类成交额同比增速最高,占比将近40%。[2020/1/8]

最简单的一个做法是双方约定一个方法,比如双方记录自己喜欢的美食的汉字总共多少笔,然后交换笔画,之后双方看看笔画是不是一样多,如果一样多的话那就就说明我们喜欢的美食是一个东西。

看到这里你可能会说了,等等,可是很多美食的笔画是一样多的呀,比如面条和苹果都是16笔。那这个时候你可能就需要修改你的算法了,比如说每个字多少笔。

在计算机中,苹果和香蕉这些食物你可以认为是字符串,而这里的算法就是哈希函数。上面提到的算法中,面条和苹果作为输入,输出都是16,这就是哈希碰撞。哈希碰撞是简单算法会出现的第一个问题,但是其问题不仅仅这一点,现在的密码学算法已经足够强大,哈希碰撞发生的概率其实不是很高,最为重要的是安全性问题。

声音 | 上海股交所总经理:区块链想要大规模发展要做好社会科普工作:金色财经报道,上海股交所总经理张云峰表示,区块链当前还处于一个“概念”的阶段,距离成熟应用,影响到百姓的日常生活还有很长的路要走。对于“区块链”和其会带来的社会和经济效果,沈阳应当持审慎的态度。区块链想要大规模发展,一方面要做好这项复杂技术的社会科普工作,加快社会大众对区块链的了解。另一方面,要充分发挥市场的作用,让企业用实实在在的技术创新,赋能实体经济的发展。[2019/11/17]

我们知道其实美食的种类听起来很多,但又不是很多,如果小明知道了小红有一个喜欢的食物总共24笔,其实他自己去网上搜一下食物的名称,很快就能发现,比如香蕉,就是24笔,那么小明就知道了小红是喜欢吃香蕉的。这就是简单算法的暴力破解问题。随着计算机运算能力的增强,暴力破解也成为了需要防备的攻破方式之一。比如现实生活中,两个人想要看号码簿的交集,如果只是简单使用哈希函数计算然后进行比较,因为手机号只有11位,对于现在的计算机来说在可接受时间内进行破解也并非难事。

▲?双重加密

动态 | 美国演说家Anthony Robbins开始科普什么是比特币:美国演说家安东尼·罗宾(Anthony Robbins)在自己的网站上发布了一篇比特币的科普文章,并在推特上向自己的粉丝介绍什么是比特币,目前他的推特账户共有粉丝304万人。[2019/1/1]

简单算法既然不够安全,那么该用什么样的办法规避这种不安全的问题?其实之前的算法中只有一方进行了加密,且加密的方法双方都是知道的,这样确实会存在暴力破解的危险,那么如果让双方同时进行加密可以吗?

比如双方事先准备一张图片,双方事先约定如果喜欢吃苹果呢就把图片顺时针旋转10度,香蕉的话就是顺时针旋转20度等等,对所有的美食都对应着一个相应的旋转角度。

然后小明先把图片按照自己喜欢的食物按照约定好的规则进行旋转,但这个时候小明不能直接把图片发送给小红,因为这样的话小红知道原始图片,又知道各个食物对应的角度,那她立刻就知道了小明喜欢的食物是什么。

所以小明会自己偷偷定一个旋转,比如逆时针旋转20度,在第一次根据食物对图片进行旋转后,再偷偷的按照自己的规则去旋转一次。

因为小红并不知道小明自己偷偷定下的规则中具体是旋转多少度,所以这个时候小红就算拿到了图片也不知道具体对应的是什么食物,因为这个时候不论什么食物都是有可能的。

小红看到小明的做法,感觉小明很聪明,也学小明偷偷定了一个自己的旋转角度,比如顺时针旋转10度。拿到了小明发给自己的图片以后就按照自己定下的角度再旋转一次。

同样的,小红也把图片按照自己自己喜欢的食物对应的角度旋转一下,再按照自己偷偷定下的角度旋转一下,然后发给小明,小明也将这个图片按照自己偷偷定下的角度进行旋转。

然后两个人就直接比较旋转后的图片,如果图片一模一样那就说明两个人喜欢吃的食物是一样的,否则就说明两个人喜欢吃的食物是不一样的。

通过两次加密的方式,我们就杜绝了穷举破解的问题,因为双方都不知道对方的秘密旋转角度是多少。

▲?非对称加密

刚刚的算法乍一听看似有点道理,但是实际上是有一点问题的,如果稍微观察一下就会发现,在最后比较的时候其实小红或者小明是拿到了两个人手里最后的结果的。

假设小明拿到了小红手里的图片,我们先回忆一下小红手里的图片是怎么构成的。首先是小明根据自己的食物选择旋转的角度,然后再按照自己偷偷定下的角度进行旋转,最后小红再按照自己偷偷定下的角度进行旋转。

那么小明其实已知三次旋转中的两次角度是什么、图片的初始状态是什么,此时小明就可以很容易地推断出小红的秘密旋转角度是什么,得到小红的秘密旋转角度后通过自己手上的另一张图片就可以很容易知道小红喜欢吃的食物是什么了。

之前提出的算法其实是基于对称加密的一个双重加密方法,因为对称加密的局限性,故双重加密总会有一个问题,即最后获取结果后比较结果时的信息泄露问题。

这个问题有三种解决办法。

?第一种是有一个居中调节方,调节方来比较最后的结果。

因为调节方并不知道双方的秘密角度,故调节方没有办法获知双方具体喜欢的食物是什么,但是居中调节方只要愿意与任何一方进行合作,那么另外一方的数据会立刻暴露,无疑是有风险的,其次如果有居中协调方那么整个算法无疑不再是分布式的了。

?第二种是在最后一步比较结果的时候使用隐私比较的技术进行比较,即保护双方数据的情况下进行比较是否相等。

但是这样会存在两个问题:首先无法确认再引入一个新的算法去解决问题,效率上是否会有问题;其次,如果两者结果相等的话,双方都能获取对方的秘密角度,在下次进行比较的时候又需要重新生成一个新的秘密角度,这也会增加每次比较时的工作量。

第三种是使用非对称加密的方式进行比较。通过非对称加密,我们可以使用最简单的办法完成这个问题。

还是刚刚的场景,如果小明和小红都有各自的公钥,相对应的,也有一份私钥。非对称加密下,如果使用公钥对数据进行加密,那么加密后的数据是只能通过对应的私钥进行解密的。

通过这种方式我们就可以规避之前的双重加密方法的问题,在算法的最后即使小明或者小红获得了两重加密的结果,但是因为加密的结果只能通过私钥解密,故无法反推出小红喜欢的食物是什么。

总结

通过上述的描述我们可以知道交集算法最简单即为明文计算,之后使用简单算法可以保护一点隐私,但是会存在暴力破解的可能,双重加密可以解决暴力破解的可能,但是由于对称加密的局限性,最后要么丢失安全性,要么会丢失分布式的特性,非对称加密的算法则可以克服以上的所有缺点。

如果你熟悉密码学,一定知道大名鼎鼎的RSA算法就是使用非对称加密进行运算的,其中存在大量的模指运算,故效率较低,想要完成大规模数据的运算还需要对算法进一步的升级。

作者简介

刘毅恒

来自数据网格实验室BitXMesh团队一个鲜为人知的知名程序员

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

[0:15ms0-0:804ms