多方安全计算经典问题整理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

题目多方安全计算经典问题整理

摘要

数据挖掘可以帮助人们在纷繁多样的数据中找出隐晦的有用信息,并且已经在电信、银行、保险、证券、零售、生物数据分析等领域得到了广泛的应用。然而,就在数据挖掘工作不断深入的同时,数据隐私保护问题也日益引起人们的广泛关注,如何在保护数据隐私的前提下进行数据挖掘已经成为当前亟待解决的一个问题。

本报告选取隐私保持数据挖掘中的多方安全计算领域进行相关的整理工作,罗列了多方安全计算领域中较为经典的姚式百万富翁问题、安全电子选举问题以及几何位置判定问题。一方面,在翻阅文献的基础上为这些问题筛选出前人给出的相对简洁易懂的解决方案;另一方面也对文中所展示的解决方案从时间复杂度、应用范围的局限性以及潜在安全隐患等角度进行了评价。另外,本报告也对各个问题中有待进一步研究解决的问题进行了简单的阐述,以起到抛砖引玉的效果。

在报告的最后,也谈及了自己这门课程的上课感受。感谢学院开设的这门课程,感谢授课的各位老师,让我在较短的时间内得以大致了解当前数据库领域中所出现的一些前沿性的成果和问题,着实获益匪浅!希望这种类型的课可以继续办下去,越办越好!

关键词:多方安全计算;百万富翁;电子选举;几何位置判定

目录

1引言 (1)

2多方安全计算概述 (1)

3百万富翁问题 (2)

3.1姚式百万富翁问题解决方案[1] (2)

3.1.1方案定义 (2)

3.1.2方案评价 (2)

3.2基于不经意传输协议的高效改进方案[8] (3)

3.2.1不经意传输协议 (3)

3.2.2改进方案 (3)

4安全电子选举问题 (4)

4.1选举模型 (4)

4.2多选多的电子选举方案[14] (5)

4.2.1方案定义 (5)

4.2.2方案评价 (5)

5保护私有信息的几何判定问题 (6)

5.1安全点积定义 (6)

5.2安全点积协议 (6)

6小结 (7)

7课程感受.................................................................................................错误!未定义书签。参考文献 (7)

多方安全计算经典问题整理

1引言

随着社会信息化和电子商务与电子政务的不断发展,数据成为社会的重要资源,面对时刻在高速增长着的数据,越来越多的人开始思考如何将这些数据转换成有用的信息和知识。比如连锁超市经理希望从交易数据库中发掘客户的消费习惯,电信运营商希望从客户通话记录中建立恶意欠费用户通话模型,银行经理希望能基于信用卡持卡人历史记录建立优良客户特征模型,传统的数据库技术远远不能满足这种深层次的数据分析处理需求,于是数据挖掘(Data mining,DM)应运而生。所谓的数据挖掘就是“从数据中提取出隐含的过去未知的有价值的潜在信息”[1],它是数据库知识发现(Knowledge-Discovery in Databases,KDD)中的一个步骤。

然而,在数据挖掘技术应用不断深入的同时,数据挖掘技术对数据隐私的威胁也日益引起人们的关注。或担心其数据被误用,或顾虑某些隐藏于数据背后的敏感信息被“挖掘”出来,人们往往不愿意提供数据参与数据挖掘工作,这就使得数据挖掘失去了基础。在这样一个背景下,研究如何在保持数据隐私的前提下进行数据挖掘是一件非常有意义的工作。当前,隐私保持数据挖掘(Privacy Preserving Data Mining,PPDM)研究引起了国内外学者的广泛兴趣,已经开发了一系列的技术。隐私保持数据挖掘技术针对待处理数据分布的不同可以分为两类:集中式和分布式。集中式的主要有随机扰乱、随机响应、数据交换、规则隐藏的启发式方法、k-匿名和l-多样性方法等等,而分布式中最常用的是多方安全计算密码技术。本报告主要就多方安全计算技术,选取了该领域比较经典的几个问题做了一些整理工作。

2多方安全计算概述

生活中,常常会有多方各自拥有自己的数据,希望协作进行数据挖掘,但每个参与方都不希望让其它方看到自己原始数据的情形。比如各商业银行希望进行合作进行信用卡欺诈分析,各电信运行商希望合作进行客户流失模型分析,它们的数据有相似的属性,但都不希望向合作方透露具体的数据,同时希望得到数据挖掘结果。这就是多方安全计算应用于数据挖掘的现实需求模型,将该现实需求模型抽象化,得到多方安全计算的基本任务如下:大于或等于2的参与方,在无可信第三方参与的情况下,执行协议,得到共同或分别拥有的结果,但参与方不希望向任意其它方泄漏自身的隐私数据。多方安全计算在密码学中更一般的描述是:n个参与方p1,p2,…,p n,每个参与方p i持有秘密的输入x i,希望计算一个共同函数:f(x1,x2,…,x n),计算结束的时候,各方得到正确的输出f(x1,x2,…,x n),同时自己的秘密输入x i没有泄露给其它的参与方。

注意到,如果有可信第三方,那么多方安全计算任务就变得非常简单:各参与方把自己的输入数据传给可信第三方,由可信第三方将计算结果传给参与方即可。但现实中可信第三方很难找到,于是多方安全计算任务就变得很困难。

多方安全计算研究由华人学者姚期智开创[2][3],他通过研究两个百万富翁希望不向对方透露彼此财富的情况下比较谁更富有的问题,形象地说明了多方安全计算面临的挑战和问题解决思路,并经Oded Goldreich[5]、Shaft Goldwasser[6]等学者的众多原始创新工作,逐渐发展成为密码学的一个重要分支。

接下来,本报告将会对多方安全计算领域中比较经典的百万富翁问题、电子选举问

1

多方安全计算经典问题整理

2

题以及保护私有信息的几何判定问题进行简单的整理介绍。

3 百万富翁问题

百万富翁问题首先由华裔计算机科学家、图灵奖获得者姚期智教授提出[2]。文献[2]中,姚教授提出了这样一个问题:两个百万富翁Alice 和Bob 想知道他们两个谁更富有,但他们都不想让对方知道自己财富的任何信息,这就是百万富翁问题。下面,整理了该问题的两个解决方案,首先给出姚期智教授在提出问题时给出的一个解决方案,然后选取了清华大学李顺东等人提出的一个高效解决方案,该方案针对姚式解决方案存在的算法复杂度太高,效率过低问题做出了改进。

3.1 姚式百万富翁问题解决方案[1]

3.1.1 方案定义

对该问题进行抽象化其实就是两个数的安全大小比较问题,以确定哪一个较大。Alice 知道一个整数i ;Bob 知道一个整数j 。Alice 与Bob 希望知道究竟是i ≤j 还是i >j ,但都不想让对方知道自己的数。为简单起见,假设i 与j 的范围为[1,100]。Bob 有一个公开密钥E B 与私有密钥D B 。

(1)Alice 选择一个大随机数x ,并用Bob 的公开密钥加密。

(x)B c E = (3-1) (3)Bob 计算下面的100个数:

() , [1,100]u B y D c i u u =-+∈ (3-2)

其中,D B 是Bob 的私有解密密钥Bob 选择一个大的素数p ( p 应该比x 稍小一点,Bob 不知道x ,但Alice 能容易地告诉他x 的大小) 然后计算下面的100个数:

() [1,100]u u Z y mod p ,u =∈

(3-3) 然后验证对于所有的u≠v , 2u v z z -≥

(3-4)

并对所有的u 验证: 01u z p <<- (3-5) 如果不成立,Bob 就选择另一个素数并重复验证。

(4)Bob 将以下数列发送给Alice :

{z 1,z 2,…,z j ,z j+1+1,z j+2+1, …,z 100+1,p }

(5)Alice 验证这个数列的第i 个数是否与x 模p 同余。如果同余,她得出的结论是i ≤j ;如果不同余,它得出的结论是i>j 。

(6)Alice 把这个结论告诉Bob 。

3.1.2 方案评价

该方案的设计巧妙的利用了数据i 、j 本身的特点,式(3-2)通过引用变量u 穷举整数i 的值域将整数i 隐含至最终Bob 返还给Alice 中的数据序列中。如果i≤j ,那么第

相关文档
最新文档