论文部分内容阅读
安全多方计算是近年来信息安全领域的研究热点。在分布式数据环境下,各方需要联合完成一项计算任务,如果各方都需要提供自己的输入数据,同时该输入又不能被其他参与方所知,这样的输入我们称之为隐私输入。隐私输入保护要求下的多方协同计算协议即为安全多方计算协议。安全多方协议区别于传统的密码学协议之处是其在信息学安全的框架下解决问题并且不考虑外部攻击,其主要解决计算各方内部的“泄密”问题。安全多方统计是安全多方计算的一个重要组成部分。如果待统计的原始数据来源于两个或更多参与方,各个参与方又不愿意把自己拥有的数据直接交付给其他参与方或者第三方,那么完成统计就要用到安全多方统计协议。目前,安全多方统计已经有了一些初步结论。中位数和第k小元的安全多方计算是安全多方统计的一个特例,可称为安全选择问题。如果需要计算两方或多方拥有数据集合的共同的第k小元,同时又要保护各方拥有的私密数据不被其他方所知,我们就需要为之设计一个安全多方计算协议。本文针对中位数和第k小元的安全多方计算展开学习和研究。我们在认真学习和研究目前已有的中位数和第k小元计算方面的文献之后,对隐私保护需求下的情况进行了探索,在安全多方计算的基础思路和协议支持下,取得了一些成果:1.对于多方中位数的快速计算,总结出一个很朴素却有效的结论:多个数列,在其共同的中位数的前面和后面删除同样数目的元素后,得到的新数列的中位数依然是原始多个数列的中位数。2.对于隐私保护需求下的中位数的计算,即安全多方中位数计算。我们基于上述结论,结合秘密比较协议,通过多轮交互,在保护隐私输入的前提下,提出了一个两方和三方中位数的安全计算协议。3.中位数是第k小元的一个特例,如果能求出各方的任意k小元,则最大值、最小值、中位数以及排序都可以直接得到结果。我们基于前人思想改进了一个利用中位数来求取两方k小元的一个安全计算协议。我们优化了边界条件并对中位数进行了细分。4.对于多方第k小元的计算,我们使用“计数”方法,利用安全多方求和协议,给出了一个保护隐私的安全计算协议。首先,我们从前人的安全多方求和方法得到启示,提出一种随机的环形的安全多方求和协议。接下来利用“计数”方法来求取多方第k小元。具体做法:首先每一方求取自己的中位数,接下来联合安全计算共同的中位数,以此中位数作为划分枢轴,各方将自己的私有数列划分成三部分:小于枢轴的、等于枢轴的、大于枢轴的,然后分别计数。各方利用安全多方求和协议联合计算各自维持的这三个数的和,则k一定介于这三个和所构成的区段内,通过其位置我们可以安全的求出多方k小元。