1、第十二章安全多方计算第十二章安全多方计算2022-10-6第十二章安全多方计算安全多方计算:密码学家晚餐问题密码学家晚餐问题David Chaum的密码学家晚餐问题的密码学家晚餐问题场景描述场景描述三个密码学家(Alice Bob Carol)坐在他们最喜欢的三星级餐馆准备吃晚餐业务逻辑业务逻辑侍者通知他们晚餐需匿名支付账单其中一个密码学家可能正在付账可能已由美国国家安全局NSA付账他们彼此尊重匿名付账的权利,但又需要知道是不是NSA在付账系统目标系统目标如何确定三者之一在付账同事又要保护付账者的匿名性?第十二章安全多方计算安全多方计算:密码学家晚餐问题密码学家晚餐问题David Chaum的
2、密码学家晚餐问题的密码学家晚餐问题一个简单有效的解决方案一个简单有效的解决方案每个密码学家将菜单放置于左边而互相隔离开来每个人只能看到自己和右边密码学家的结果每个密码学家在他和右边密码学家之间抛掷一枚硬币每个密码学家广播她能看到的两枚硬币是同一面还是不同的一面如果有一个密码学家付账,则他说相反的结果判定结果桌上说“不同”的人数为奇数某个密码学家在付账桌上说“不同”的人数为偶数NSA在付账如果某个密码学家在付账,另两人不能精确定位到该密码学家第十二章安全多方计算安全多方计算:密码学家晚餐问题密码学家晚餐问题假设密码学家假设密码学家Alice试图弄清其他哪个密码学家在付账试图弄清其他哪个密码学家在
3、付账如果她看见两个不同的硬币如果她看见两个不同的硬币那么另外两个密码学家或者都说“相同”、或者都说“不同”付账者是最靠近与未看见的硬币不同的那枚硬币的密码学家如果她看见两个相同的硬币如果她看见两个相同的硬币那么另外两个密码学家一个说“相同而另一个说“不同”如果未看见的硬币与她看到的两枚硬币相同说“不同”的密码学家是付账者如果未看见的硬币与她看到的两枚硬币不同说“相同”的密码学家是付账者第十二章安全多方计算安全多方计算:密码学家晚餐问题密码学家晚餐问题假设密码学家假设密码学家Alice试图弄清其他哪个密码学家在付账试图弄清其他哪个密码学家在付账无论如何Alice都需要知道Bob与Carol抛掷硬
4、币的结果Crypt(i),Coin(i)分别表示密码学家和掷币结果Crypt(i)付款输出=Coin(i-1)Coin(i)Crypt(i)没付款输出=Coin(i-1)Coin(i)1第十二章安全多方计算安全多方计算:密码学家晚餐问题密码学家晚餐问题Crypt(0)Crypt(1)Crypt(2)Coin(0)Coin(2)Coin(1)第十二章安全多方计算安全多方计算:密码学家晚餐问题密码学家晚餐问题“晚餐问题晚餐问题”的延伸的延伸两个密码学家的两个密码学家的“晚餐问题晚餐问题”协议协议他们会知道谁付的账旁观者只知道其中某个人付账或者NSA付账,不能精确定位任意数量的密码学家任意数量的密码
5、学家“晚餐问题晚餐问题”协议协议全部坐成一个圈并在他们中抛掷硬币第十二章安全多方计算安全多方计算:密码学家晚餐问题密码学家晚餐问题“晚餐问题晚餐问题”的应用的应用匿名消息广播匿名消息广播用户把他们自己排进一个逻辑圆圈构造饭桌构造饭桌在一定的时间间隔内,相邻的每对用户对他们之间抛掷硬币使用一些公正的硬币抛掷协议防止窃听者在每次抛掷之后每个用户说“相同”或“不同”无条件的无条件的发送方和发送方和接受方接受方不可追踪性不可追踪性恶意的参与者不能读出报文,但他能通过在恶意的参与者不能读出报文,但他能通过在第三步撒谎第三步撒谎来破坏系统来破坏系统第十二章安全多方计算安全多方计算:平均工资问题平均工资问题
6、平均工资问题平均工资问题场景描述场景描述Alice、Bob、Carol和Dave四人在一起组织工作业务需求业务需求他们想了解平均工资无仲裁者系统目标系统目标任何人不想让其他人知道自己的工资第十二章安全多方计算安全多方计算:平均工资问题平均工资问题平均工资问题的一种有效解决方案平均工资问题的一种有效解决方案Alice生成一个随机数,将其与自己的工资相加,用Bob的公钥加密发送给BobBob用自己的私钥解密,加进自己的工资,然后用Carol的公钥加密发送给CarolCarol用自己的私钥解密,加进自己的工资,然后用Dave的公钥加密发送给Dave第十二章安全多方计算安全多方计算:平均工资问题平均工
7、资问题平均工资问题的一种有效解决方案平均工资问题的一种有效解决方案Dave用自己的私钥解密,加进自己的工资,然后用Alice的公钥加密发送给AliceAlice用自己的私钥解密,减去原来的随机数得到工资总和Alice将工资总和除以人数得到平均工资,宣布结果u协议假定所有的参与者是诚实的,如果不诚实则平均工资错误协议假定所有的参与者是诚实的,如果不诚实则平均工资错误uAlice可以谎报结果(她作为了可以谎报结果(她作为了“名义上名义上”的集成者)的集成者)第十二章安全多方计算安全多方计算:平均工资问题平均工资问题平均工资问题的一种有效解决方案平均工资问题的一种有效解决方案比特承诺比特承诺可以解决
8、可以解决“Alice谎报谎报”缺陷缺陷运用比特承诺协议让Alice向Bob传送他的随机数协议结束后,Bob可以获知Alice的工资第十二章安全多方计算安全多方计算:终身伴侣问题终身伴侣问题终身伴侣问题终身伴侣问题场景描述场景描述Alice、Bob都在寻找终身伴侣相亲相亲(非诚勿扰、我们约会吧非诚勿扰、我们约会吧)业务需求业务需求(兴趣爱好)Alice:KTV、逛街、劲乐团Bob:NBA、足球、聚会、宅系统目标系统目标对自己的择偶要求难为情含蓄表达、意会、不表达找一个趣味相投的终身伴侣第十二章安全多方计算安全多方计算:终身伴侣问题终身伴侣问题终身伴侣问题的一种有效解决方案终身伴侣问题的一种有效解
9、决方案使用一个单向函数,Alice将她的择偶要求m,HASH得到一个8位数字的字符串h(m)Alice用这8位数字作为电话号码拨号,并留言如果电话号码无效,Alice给这个电话号码申请一个单向函数直到她找到一个与她有相同择偶要求的人Alice告诉Bob她为她的择偶要求申请一个单向函数的次数Bob用和Alice相同次数的HASH他的择偶要求他也用这个8位数字作为电话号码,试图听取留言有留言,则配对成功第十二章安全多方计算安全多方计算:终身伴侣问题终身伴侣问题终身伴侣问题的一种有效解决方案终身伴侣问题的一种有效解决方案Bob可以进行“选择明文攻击”可以HASH一般的择偶要求拨打所得的电话号码,以窃
10、听留言只有在不可能得到足够多的明文消息的情况下该协议安全第十二章安全多方计算安全多方计算:其它几个经典应用场景其它几个经典应用场景示例一示例一Alice认为自己得了某种遗传疾病,想验证自己的想法她知道Bob有一个关于疾病的DNA模型的数据库如果她把自己的DNA样品寄给BobBob可以给出她的DNA的诊断结果Alice又不想别人知道这是她的隐私第十二章安全多方计算安全多方计算:其它几个经典应用场景其它几个经典应用场景示例二示例二A公司决定扩展在某些地区的市场份额来获取丰厚的回报A公司也注意到B公司也在扩展一些地区的市场份额两个公司都不想在相同地区互相竞争信息的泄露可能会导致公司很大的损失比如另一
11、家对手公司知道A和B公司的扩展地区,提前行动占领市场又比如房地产公司知道A和B公司的扩展计划,提前提高当地的房租等等在不泄露市场地区位置信息的情况下知道市场是否有重叠第十二章安全多方计算安全多方计算:其它几个经典应用场景其它几个经典应用场景示例三示例三两个金融组织计划为了共同的利益决定互相合作一个项目每个组织都想自己的需求获得满足他们的需求都是他们自己专有的数据,没人愿意透露给其它方,甚至是“信任”的第三方那么他们如何在保护数据私密性的前提下合作项目呢?第十二章安全多方计算安全多方计算:基本概念基本概念多方计算问题多方计算问题一组参与者希望共同计算某个约定的函数函数的输入参数有多个每个参与者提供函数的一个输入安全多方计算问题安全多方计算问题(Secure Multi-party Computation)引入安全因素其中每个人都知道这个函数的值除了函数的输出外,没有人知道关于任何其它成员输入的任何事情 第十二章安全多方计算2022-10-6第十二章安全多方计算
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。