第十二章安全多方计算
【密码学】安全多方计算
【密码学】安全多⽅计算历史背景1. A.C. Yao于1982年⾸次提出安全多⽅计算的概念,其主要研究在私有信息不被泄漏的前提下,多个互不信赖的参与者如何协作进⾏计算2. Goldwasser:“安全多⽅计算所处的地位就如同公钥密码学10年前所处的地位⼀样重要,它是计算科学⼀个极其重要的⼯具,⽽实际应⽤才刚起步。
”3. 1987年,Goldreich等⼈设计出通⽤的安全多⽅计算协议解决普遍存在的安全多⽅计算问题4. 1998年,Goldreich将安全多⽅计算进⾏了较为全⾯的概括。
但使⽤通⽤协议会是的协议的复杂度较⾼,效率较低。
因此他指出安全多⽅计算应该具体问题具体分析,设计特定的安全多⽅计算协议5. 2001年,Du等⼈在前⼈⼯作的基础上,更深⼊地研究了包括科学计算、集合计算、统计分析等具体的安全多⽅计算问题及其应⽤安全多⽅计算的场景很多,只要是⽤户需要保护隐私的合作计算都能划归于此。
即安全多⽅计算解决的是多个互不信任的参与者在⼀个分布式环境中,分别输⼊⾃⼰的保密信息进⾏写作计算,进⽽得到各⾃所需要的正确结果,并在计算结束后每个参与⽅没有把⾃⼰的私有信息泄漏给其他⽅。
它是⽬前国际密码学界的研究热点之⼀。
问题引⼊1. 甲化⼯⼚拥有含有A,B,C三种成分的物质η1,η2,⼄化⼯⼚含有A,B,C三种成分的物质η1,η3。
现在甲、⼄两化⼯⼚处于⾃⼰的利益考虑,想要在互相不泄露⾃⼰私有信息的情况下,判断能不能⽤η2,η3的混合物来代替η12. ⽼板拖⽋⼯⼈⼯资。
假设⽼板每个⽉固定⽇期回数次公司,⽽⼯⼈们会根据⽼板回公司的时间要⼯资。
对⽼板来说,他不想让⼯⼈知道每个⽉⼏号回公司,对⼯⼈来说,也不想让⽼板知道他们会在⼏号去公司。
这种情况下,⼯⼈们如何能顺利地要到⾃⼰被拖⽋的⼯资?分析:问题⼀,能不能替换就是看最终ABC三种成分是不是⼀样的。
假设以A,B,C为坐标轴画三维坐标系,η1,η2,η3分别是这个三维坐标系中的点。
安全多方计算发展历程
安全多方计算发展历程安全多方计算(Secure Multi-Party Computation,SMPC)是一种重要的密码学协议,旨在保护参与方的隐私。
它允许多个参与方在不泄露私密数据的情况下进行计算,是一种难以逆袭的技术发展。
SMPC的发展历程可以追溯到20世纪80年代,当时,密钥同态密码系统的概念首次被提出。
密钥同态密码系统是一种协议,可以允许两个参与方执行某些计算,并且只有他们可以获得计算结果。
然而,这种系统的实现方式是基于特定的密码学算法,且只适用于特定的计算任务。
随着计算机技术的迅速发展和互联网的普及,人们对隐私和数据安全的关注度日益增加。
因此,研究人员开始探索如何在多方参与的计算中保护数据隐私,于是SMPC的概念逐渐成型。
1998年,美国密歇根大学的盖尔·埃文斯和美国加州大学伯克利分校的宾利·博纳尔德提出了一个重要的隐私保护模型,称为Diffie-Hellman-based secure function evaluation (DH-SFE)。
这个模型使用了Diffie-Hellman密钥交换算法,可以实现在多方计算中保护隐私数据。
2004年,伊利诺伊大学厄巴纳-香槟分校的奥德利·戴维和以色列理工学院的约维特·尼萨尔提出了一个重要的SMPC算法,称为Yao协议。
这个算法使用了加密技术和随机掩码技术,可以实现在多方计算中保护数据隐私。
从此以后,随着各种密码学技术的不断发展,SMPC的研究也取得了突破性进展。
研究人员提出了许多新的SMPC协议和算法,如Garbled Circuits、Secure Multiparty Linear Regression 等。
这些新的技术不仅可以提供更高的安全性,还可以在更广泛的应用场景中使用。
如今,SMPC已经得到了广泛的应用,包括金融、医疗、社交网络等领域。
在金融领域,SMPC可以用于多方信用评级、资产组合优化等任务。
多方安全计算的原理
多方安全计算的原理多方安全计算(Multi-Party Secure Computation)是一种保护数据隐私的计算模型,它允许多个参与方在不暴露私密数据的情况下进行计算和共享结果。
这种计算模型可以应用于各种领域,如数据挖掘、机器学习、金融和医疗等。
本文将介绍多方安全计算的原理和应用。
一、多方安全计算的原理多方安全计算的原理基于密码学和分布式计算的理论。
它通过使用密码学协议和算法,确保在计算过程中参与方的隐私数据不被泄露。
多方安全计算的主要原理包括以下几个方面:1. 零知识证明:参与方可以使用零知识证明来证明自己的计算结果是正确的,而无需将实际的计算结果透露给其他参与方。
这种技术可以保护参与方的隐私数据,并防止恶意方进行欺骗。
2. 安全多方计算协议:多方安全计算协议是实现多方安全计算的关键。
它定义了参与方之间的通信和计算规则,确保计算结果的正确性和隐私保护。
常用的安全多方计算协议包括秘密共享、安全函数评估和安全多方计算电路等。
3. 加密技术:加密技术是多方安全计算的基础。
参与方可以使用加密算法对自己的隐私数据进行加密,在计算过程中只透露加密后的数据,从而保护数据的隐私性。
常用的加密技术包括对称加密和非对称加密等。
二、多方安全计算的应用多方安全计算可以应用于各种场景,保护数据隐私,促进数据共享和合作。
以下是几个常见的应用领域:1. 数据挖掘:在数据挖掘中,多方安全计算可以用于联合挖掘多个数据拥有方的数据,发现隐藏在数据中的规律和模式,而无需将数据透露给其他方。
这样可以保护数据隐私,避免敏感信息的泄露。
2. 机器学习:多方安全计算可以用于联合训练机器学习模型。
参与方可以共享各自的数据集,通过多方安全计算协议进行模型训练,从而得到一个全局的模型,而不必暴露各自的数据。
这种方法可以提高模型的准确性和鲁棒性。
3. 金融领域:在金融领域,多方安全计算可以用于联合风险评估和交易分析。
多个金融机构可以共享各自的交易数据和风险模型,通过多方安全计算协议进行风险分析和交易决策,而无需透露敏感的交易信息。
应用密码学安全多方计算介绍课件
应用领域拓展
A
金融领域:安全多方计算在金融领域的应用,如支付、信贷、保险等
B
医疗领域:安全多方计算在医疗领域的应用,如医疗数据共享、医疗数据分析等
C
物联网领域:安全多方计算在物联网领域的应用,如设备身份认证、数据安全传输等
D
政府领域:安全多方计算在政府领域的应用,如政务数据共享、电子政务等
法律法规的完善
02
安全多方计算通过密码学技术,如秘密共享、零知识证明、同态加密等,实现数据的安全保护。
03
安全多方计算在许多领域都有广泛的应用,如金融、医疗、物联网等。
04
安全多方计算的应用场景
金融领域:多方参与金融交易,保护数据安全和隐私
医疗领域:多方参与医疗数据共享,保护患者隐私和医疗数据安全
政府领域:多方参与政府数据共享,保护政府数据和公民隐私安全
应用密码学安全多方计算介绍课件
演讲人
01.
02.
03.
04.
目录
安全多方计算的概念
安全多方计算的技术原理
安全多方计算的应用案例
安全多方计算的发展趋势
安全多方计算的概念
安全多方计算的定义
安全多方计算是一种允许多个参与方在保护各自数据隐私的前提下,共同完成特定计算任务的技术。
01
安全多方计算旨在解决传统计算中数据共享带来的隐私泄露问题。
2
设备访问控制:限制未经授权的访问和操作
3
隐私保护:保护用户隐私和数据安全,防止泄露和滥用
4
安全多方计算的发展趋势
技术挑战与突破
隐私保护:如何在多方计算中保护数据隐私,防止信息泄露
01
计算效率:如何提高多方计算的效率,降低计算成本
数据安全共享解决方案:谈谈安全多方计算
数据安全共享解决⽅案:谈谈安全多⽅计算⼀数字经济时代的两难在中外⾦融机构⾼端对话FIN-TALK论坛上,财政部原副部长朱光耀指出,“数字经济最为关键和活跃的要素是数据。
”的确,数据是数字经济的“⽯油”,如何让“数据⽯油”安全⾼效地“燃烧”,是当前全球经济数字化转型的关注热点。
⼀⽅⾯,数字经济进⼊⾼速发展阶段,根据《中国数字经济发展⽩⽪书(2020)》,我国数字经济规模占GDP⽐重已⾼达36.2%,打通各企业之间的“数据孤岛”,建⽴开放共享数字资源环境成为必然需求。
另⼀⽅⾯,社会公众对个⼈隐私和数据安全问题越来越关注,监管机构也出台了⼀系列制度条例切实保障信息安全。
⾯对数据安全与共享的两难困境,“可⽤不可见”的安全多⽅计算为我们提供了⼀种创新型的解决⽅案。
⼆何为安全多⽅计算安全多⽅计算( Secure Multi-party Computation ),简称MPC。
我们在⼤部分⽂献中可以找到的解释是:安全多⽅计算解决了在⼀些互不信任的参与⽅之间联合计算⼀个函数的问题。
它能够使多个数据所有者在彼此不信任的情况下执⾏协同计算,输出计算结果,并确保任何⼀⽅都⽆法获得除预期的计算结果外的任何信息。
很多对该领域不熟悉的读者,可能在读完定义后仍对安全多⽅计算感到困惑。
下⾯笔者根据⾃⼰的粗浅理解,总结了⼀些安全多⽅计算的要点:1. 学科领域安全多⽅计算是现代密码学发展中为解决安全计算问题⽽提出的⼀类密码协议集合。
2. 适⽤范围安全多⽅计算适⽤于各参与⽅互不信任的⽹络,参与⽅可以获知约定的协同计算结果,但⽆法获取或推算出数据的原始内容。
3. 分类根据计算参与⽅个数不同,安全多⽅计算可分为只有两个参与⽅的2PC和多个参与⽅(≥3)的通⽤MPC。
安全两⽅计算使⽤了混淆电路(Garbled Circuit,简称GC)和不经意传输(Oblivious Transfer,简称OT)的密码学技术;安全多⽅计算使⽤了同态加密、秘密分享和不经意传输的密码学技术。
安全多方计算技术在云计算中的应用
安全多方计算技术在云计算中的应用云计算技术的快速发展和广泛应用,给企业和个人带来了巨大的便利和效益。
然而,随之而来的数据泄露和信息安全问题也日益凸显。
为了解决这一问题,安全多方计算技术被引入到云计算中,成为保障用户隐私和数据安全的重要手段。
本文将探讨安全多方计算技术在云计算中的应用,并分别从隐私保护、数据安全和计算效率三个方面进行阐述。
一、隐私保护隐私保护一直是云计算领域中的一大难题。
在传统云计算中,用户的数据需要上传至云端进行计算和存储,但用户担心自己的隐私信息可能会被云服务提供商或其他恶意攻击者窃取。
安全多方计算技术可以有效解决这一问题。
它采用了一种特殊的算法,使得参与计算的各方在不泄露各自私密数据的前提下,能够完成相应的计算任务。
通过安全多方计算技术,云服务提供商无法获得用户的明文数据,保护了用户的隐私。
二、数据安全数据安全是云计算中的另一个重要问题。
在传统云计算模式下,用户的数据在上传至云端后,由于缺乏有效的加密和访问控制机制,极易受到数据泄露或篡改的风险。
而安全多方计算技术可以在保护数据隐私的前提下,对数据进行安全加密和安全计算。
它采用分布式的计算方式,将数据分割成多个部分,在参与计算的各方之间进行计算和传输,从而大大降低了数据被攻击的风险。
三、计算效率安全多方计算技术在云计算中的应用不仅能够保障数据安全和隐私,还能提高计算效率。
在传统云计算中,对于需要多方参与计算的任务,通常需要将数据集中到一处进行计算,这既增加了数据传输的开销,也增加了计算的时间。
而安全多方计算技术通过将计算任务分配给各个参与方进行计算,将计算的复杂度分摊到多个域中,从而大大提高了计算效率。
综上所述,安全多方计算技术在云计算中的应用是十分广泛的。
它不仅能够保护用户的隐私,保障数据的安全,还能够提高计算效率。
然而,目前安全多方计算技术在应用中还面临一些挑战,如计算效率和通信开销等问题。
未来的研究和发展应聚焦于解决这些问题,进一步推动安全多方计算技术的应用和发展,为云计算提供更安全可靠的服务。
安全多方计算技术在在线隐私保护中的应用研究
安全多方计算技术在在线隐私保护中的应用研究随着互联网的发展,越来越多的个人信息被在线收集和使用,涉及隐私的问题也越来越突出。
而且,传统的保护方法如加密和访问控制并不能完全保证隐私的安全,因为这些方法必须有授权的个人来使用和操作。
为此,安全多方计算技术应运而生。
安全多方计算是指进行计算任务时,参与方之间可进行加密通信而不会泄露对方的输入和输出信息的计算方法。
这种方法可以解决传统在线隐私保护技术不能解决的问题,而且可以保证数据的完整性和安全性。
安全多方计算技术有三种应用方法:秘密共享、安全电路和安全运算。
秘密共享是指将一个秘密信息分割成多个部分,分配给多个参与方,每个参与方只有部分信息,就无法得到完整的秘密。
安全电路是指将数据和逻辑门组合成电路,保证在不泄露数据的情况下执行特定计算。
安全计算是指在隐藏数据的同时计算出运算结果,而不会泄露真实的输入和输出。
具体到在线隐私保护,安全多方计算技术可以提供许多新的解决方案。
比如,在线社交网络中可以实现用户间的交流和配对,而不必泄露他们的信息。
在云计算中,可以保护用户的隐私和安全,确保数据不被云服务提供商或其他人窥视。
在医疗领域,可以实现病人之间的信息共享,而不必泄露他们的个人健康信息。
另外,安全多方计算技术面临的挑战有如下几点:首先,计算在多方之间需要高效的通信机制和协议,以确保远程计算、可扩展性和解密性能。
然后,安全多方计算还需要更好地理解和保护参与方的身份、隐私和证据的完整性。
最后,安全多方计算还需要更好地理解和保护参与方的计算环境,以确保其免受黑客或其他恶意行为的攻击。
总之,安全多方计算技术在在线隐私保护方面可以提供一种全新的解决方案。
它可以帮助保护用户个人信息的隐私和安全,有效预防隐私泄露等问题的发生。
未来,随着安全多方计算技术的不断发展和应用,我们有理由相信,它会在数据安全保护、隐私保护和互联网安全等方面发挥越来越大的作用。
安全多方计算在数据共享中的作用
安全多方计算在数据共享中的作用一、安全多方计算概述安全多方计算(Secure Multi-Party Computation, SMC)是一种密码学技术,它允许多个参与方在保护各自输入隐私的前提下,共同计算某个函数的结果。
这种技术的核心价值在于,它能够在不泄露各自数据的情况下,实现数据的联合分析和处理,从而解决了数据共享中的隐私保护问题。
1.1 安全多方计算的核心概念安全多方计算的核心概念包括隐私保护、正确性和可扩展性。
隐私保护指的是在计算过程中,除了最终的计算结果外,任何参与方都无法获得其他方的输入数据。
正确性则是指计算结果的正确性,即使在部分参与方不诚实的情况下,也能确保结果的正确性。
可扩展性则涉及到SMC 技术能够适应不同规模的参与方和计算任务。
1.2 安全多方计算的应用场景安全多方计算的应用场景非常广泛,包括但不限于以下几个方面:- 联合数据分析:多个企业或机构可以在不共享原始数据的情况下,联合进行数据分析,以获得更深入的业务洞察。
- 隐私保护投票:在投票或民意调查中,SMC可以确保投票者的隐私,同时计算出准确的投票结果。
- 医疗数据共享:医疗机构可以在保护患者隐私的前提下,共享医疗数据进行疾病研究和药物开发。
二、安全多方计算的技术基础安全多方计算的技术基础是一系列复杂的密码学协议和算法,这些技术和方法构成了SMC的核心。
2.1 密码学基础安全多方计算依赖于密码学的一些基本概念和工具,如秘密共享、同态加密、零知识证明等。
这些工具使得在不直接交换数据的情况下,也能进行有效的计算。
2.2 秘密共享技术秘密共享是一种将秘密分割成多个份额,并将这些份额分配给不同参与方的技术。
只有当足够多的份额被组合在一起时,才能恢复出原始的秘密。
这种技术是实现SMC 中隐私保护的关键。
2.3 同态加密算法同态加密是一种特殊的加密方法,允许对加密数据进行特定的计算操作,而不需要解密。
这样,参与方可以在不暴露自己数据的情况下,对数据进行联合计算。
安全多方计算性质
安全多方计算性质1.安全多方计算简介安全多方计算定义:是指在一个互不信任的多用户网络中, n n n 个参与者 P 1 , P 2 , . . . , P n P_1,P_2,...,P_n P1,P2,...,Pn,每个持有秘密数据 x i x_i xi,希望共同计算出函数 f ( x 1 , x2 , . . . , x n ) = ( y 1 , y 2 , . . . , y n )f(x_1,x_2,...,x_n)=(y_1,y_2,...,y_n) f(x1,x2,...,xn)=(y1,y2 ,...,yn), P i P_i Pi仅得到结果 y i y_i yi,并且不泄露 x i x_i xi给其他参与者。
平均薪水问题是一个简单的安全多方计算问题,即某公司nnn位职员想了解他们每月的平均薪水有多少,但又不想让任何其他人知道自己的薪水。
设公司 n n n个职员A 1 , A 2 , … , A n A_1,A_2,…,A_n A1,A2,…,An,他们的薪水分别为x 1 , x 2 , … , x n x_1,x_2,…,x_n x1,x2,…,xn。
该问题可形式化描述为:对 n n n个秘密输入 x 1 , x 2 , … , x n x_1,x_2,…,x_n x1,x2,…,xn,在不泄露各自秘密的情况下计算函数值: f ( x 1 , x 2 , … , x n ) = ( x 1 + x 2 + … + x n ) / n f(x_1,x_2,…,x_n)=(x_1+x_2+…+x_n)/n f(x1,x2,…,xn)=(x1 +x2+…+xn)/n执行以下协议:(1)A1A_1A1选择一个随机数rrr并加上他的薪水得r+x1r+x_1r+x1发送给A2A_2A2(2)A2A_2A2加上他的薪水得r+x1+x2r+x_1+x_2r+x1+x2发送给A3A_3A3(3)A3,A4,A5,…,An−1A_3,A_4,A_5,…,A_{n-1}A3,A4,A5,…,An−1继续执行同样操作(4) A n A_n An加上他的薪水得r + x 1 + x 2 + … + x nr+x_1+x_2+…+x_n r+x1+x2+…+xn发送给 A 1 A_1 A1(5) A 1 A_1 A1将其减去随机数 r r r再除以总人数 n n n便得公司职员的平均薪水( x 1 + x 2 + … + x n ) / n (x_1+x_2+…+x_n)/n (x1+x2+…+xn)/n。
第十二章安全多方计算
Crypt(1)
Crypt(2)
Coin(1)
第十二章安全多方计算
安全多方计算:密码学家晚餐问题
o “晚餐问题”的延伸
n 两个密码学家的“晚餐问题”协议
o 他们会知道谁付的账 o 旁观者只知道其中某个人付账或者NSA付账,不能精确定位
n 任意数量的密码学家“晚餐问题”协议
o 全部坐成一个圈并在他们中抛掷硬币
安全多方计算:其它几个经典应用场景
o 示例二
n A公司决定扩展在某些地区的市场份额来获取丰厚的回报 n A公司也注意到B公司也在扩展一些地区的市场份额 n 两个公司都不想在相同地区互相竞争
o 信息的泄露可能会导致公司很大的损失
n 比如另一家对手公司知道A和B公司的扩展地区,提前行动占领市场 n 又比如房地产公司知道A和B公司的扩展计划,提前提高当地的房租等等
o Alice、Bob都在寻找终身伴侣——相亲(非诚勿扰、我们约会吧)
n 业务需求(兴趣爱好)
o Alice:KTV、逛街、劲乐团 o Bob:NBA、足球、聚会、宅
n 系统目标
o 对自己的择偶要求难为情——含蓄表达、意会、不表达 o 找一个趣味相投的终身伴侣
第十二章安全多方计算
安全多方计算:终身伴侣问题
第十二章安全多方计算
安全多方计算:密码学家晚餐问题
o “晚餐问题”的应用——匿名消息广播
接无 受条
n 用户把他们自己排进一个逻辑圆圈方件Biblioteka o 构造饭桌不的 可发
n 在一定的时间间隔内,相邻的每对用户对他们之间抛掷硬币 追 送
o 使用一些公正的硬币抛掷协议防止窃听者
n 在每次抛掷之后每个用户说“相同”或“不同”
踪方 性和
多方安全计算的原理
多方安全计算的原理多方安全计算(secure multi-party computation,SMPC)是一种涉及多个参与方共同计算的隐私保护技术。
其核心目标是在不泄露敏感数据的情况下,实现多方之间的计算和决策。
SMPC的原理基于密码学和分布式计算的概念。
参与计算的各方之间,以及与计算环境之间存在着互相不信任的关系。
SMPC通过使用密码学算法和协议,保证计算过程及结果的安全性与保密性。
SMPC的关键思想之一是秘密共享。
参与方将自己的输入数据使用密码学方法进行加密和拆分,并与其他参与方分享各自的部分密文。
这样一来,每个参与方都掌握了不完整的密文,并不能单独获得完整的输入数据。
只有在特定的计算过程中,才能恢复出计算结果。
SMPC中常用的一种秘密共享方法是Shamir's秘密共享(Shamir's secret sharing)。
该方法将输入数据分成多个部分,每个部分被加密并分配给不同的参与方。
只有在至少满足指定阈值时,才能通过这些部分计算出完整的结果。
通过秘密共享的方式,SMPC可以在多个参与方之间进行各种计算,如加法、乘法、排序等。
各方可以在不直接接触其他参与方的数据的情况下,共同得到计算结果。
这种方式有效地解决了参与方之间的互相不信任的问题,从根本上保护了数据隐私。
SMPC的应用领域广泛。
例如,医疗领域中,多个医院可以共同计算一些统计数据,如疾病发病率、药物副作用等,而不必共享患者的医疗记录。
金融领域中,银行可以共同计算某些风险评估指标,而不必透露客户的账户信息。
政府机构可以利用SMPC进行建模预测,如预测人口流动、交通拥堵等情况。
然而,SMPC也存在一些挑战和限制。
首先,SMPC的计算效率相对较低,计算过程需要进行大量的数据交换和加密解密操作,增加了计算的时间和空间复杂度。
其次,SMPC的安全性高度依赖于密码学算法和协议的选择和实现,如果存在漏洞或攻击者能够破解密码学方法,则可能存在数据泄露的风险。
多方安全计算原理
多方安全计算原理多方安全计算(Multi-Party Secure Computation)是一种保护隐私数据的计算方法,它能够在多个参与方之间进行计算,而不泄露各方的私密信息。
在多方安全计算中,参与方可以共同进行计算,得到最终结果,而不需要将各自的私密数据暴露给其他参与方。
这种计算方法在云计算、物联网、金融领域等多个领域中具有广泛的应用前景。
多方安全计算的核心思想是将计算任务分散到不同的参与方,并通过加密和协议来保护数据隐私。
在计算过程中,各方只需要将加密后的数据传输给其他参与方,而无需将数据解密。
通过使用密码学算法,多方安全计算可以确保在计算过程中数据的保密性、完整性和可用性。
多方安全计算的实现依赖于密码学技术和协议设计。
其中,密码学技术主要包括对称加密算法、非对称加密算法和哈希算法等。
对称加密算法可以保证数据在传输过程中的机密性,非对称加密算法可以实现身份认证和密钥交换,哈希算法可以保证数据的完整性。
在多方安全计算中,协议设计起到了关键的作用。
协议设计需要考虑到参与方之间的通信方式、信息交换的顺序、数据传输的可靠性等因素。
常用的协议设计方法包括安全多方计算协议(Secure Multi-Party Computation,SMPC)、零知识证明(Zero-Knowledge Proof,ZKP)等。
这些协议可以确保参与方在计算过程中不需要相互信任,并且能够验证计算结果的正确性。
多方安全计算在实际应用中具有广泛的应用前景。
在云计算中,多方安全计算可以保护用户的隐私数据,防止云服务提供商窃取用户数据。
在物联网中,多方安全计算可以保护传感器数据的隐私,防止数据被非法获取和篡改。
在金融领域中,多方安全计算可以保护用户的交易数据,防止交易过程中的信息泄露和欺诈行为。
然而,多方安全计算也面临一些挑战和限制。
首先,多方安全计算的计算效率相对较低,需要消耗更多的计算资源。
其次,在协议设计和实现过程中,容易出现漏洞和安全隐患,需要进行严格的安全审计和测试。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
比如另一家对手公司知道A和B公司的扩展地区,提前行动占领市场 又比如房地产公司知道A和B公司的扩展计划,提前提高当地的房租等等
业务需求
他们想了解平均工资 无仲裁者
系统目标
任何人不想让其他人知道自己的工资
安全多方计算:平均工资问题
平均工资问题的一种有效解决方案
Alice生成一个随机数,将其与自己的工资相加,用Bob的公钥加密发 送给Bob
Bob用自己的私钥解密,加进自己的工资,然后用Carol的公钥加密发 送给Carol
如果未看见的硬币与她看到的两枚硬币相同
▪ 说“不同”的密码学家是付账者
如果未看见的硬币与她看到的两枚硬币不同
▪ 说“相同”的密码学家是付账者
安全多方计算:密码学家晚餐问题
假设密码学家Alice试图弄清其他哪个密码学家在付账
无论如何Alice都需要知道Bob与Carol抛掷硬币的结果
Crypt(i),Coin(i)分别表示密码学家和掷币结果
Carol用自己的私钥解密,加进自己的工资,然后用Dave的公钥加密 发送给Dave
安全多方计算:平均工资问题
平均工资问题的一种有效解决方案
Dave用自己的私钥解密,加进自己的工资,然后用Alice的公钥加密发 送给Alice
Alice用自己的私钥解密,减去原来的随机数得到工资总和 Alice将工资总和除以人数得到平均工资,宣布结果
“晚餐问题”的延伸
两个密码学家的“晚餐问题”协议
他们会知道谁付的账 旁观者只知道其中某个人付账或者NSA付账,不能精确定位
任意数量的密码学家“晚餐问题”协议
全部坐成一个圈并在他们中抛掷硬币
无条件的发送方和 接受方不可追踪性
安全多方计算:密码学家晚餐问题
“晚餐问题”的应用——匿名消息广播
每个密码学家在他和右边密码学家之间抛掷一枚硬币 每个密码学家广播她能看到的两枚硬币是同一面还是不同的一面
如果有一个密码学家付账,则他说相反的结果
判定结果
桌上说“不同”的人数为奇数——某个密码学家在付账 桌上说“不同”的人数为偶数——NSA在付账 如果某个密码学家在付账,另两人不能精确定位到该密码学家
用户把他们自己排进一个逻辑圆圈
构造饭桌
在一定的时间间隔内,相邻的每对用户对他们之间抛掷硬币
使用一些公正的硬币抛掷协议防止窃听者
在每次抛掷之后每个用户说“相同”或“不同”
恶意的参与者不能读出报文,但他能通过在第三步撒谎来破坏系统
安全多方计算:平均工资问题
平均工资问题
场景描述
Alice、Bob、Carol和Dave四人在一起组织工作
▪ 他们彼此尊重匿名付账的权利,但又需要知道是不是NSA在付账
系统目标
如何确定三者之一在付账同事又要保护付账者的匿名性?????
安全多方计算:密码学家晚餐问题
David Chaum的密码学家晚餐问题
一个简单有效的解决方案
每个密码学家将菜单放置于左边而互相隔离开来
每个人只能看到自己和右边密码学家的结果
示例一
Alice认为自己得了某种遗传疾病,想验证自己的想法 她知道Bob有一个关于疾病的DNA模型的数据库
如果她把自己的DNA样品寄给Bob
Bob可以给出她的DNA的诊断结果 Alice又不想别人知道——这是她的隐私
安全多方计算:其它几个经典应用场景
示例二
A公司决定扩展在某些地区的市场份额来获取丰厚的回报 A公司也注意到B公司也在扩展一些地区的市场份额 两个公司都不想在相同地区互相竞争
第十二章安全多方计算
2020年7月17日星期五
安全多方计算:密码学家晚餐问题
David Chaum的密码学家晚餐问题
场景描述
三个密码学家(Alice Bob Carol)坐在他们最喜欢的三星级餐馆准备吃晚餐
业务逻辑
侍者通知他们晚餐需匿名支付账单
其中一个密码学家可能正在付账 可能已由美国国家安全局NSA付账
安全多方计算:密码学家晚餐问题
假设密码学家Alice试图弄清其他哪个密码学家在付账
如果她看见两个不同的硬币
那么另外两个密码学家或者都说“相同”、或者都说“不同”
付账者是最靠近与未看见的硬币不同的那枚硬币的密码学家
如果她看见两个相同的硬币
那么另外两个密码学家一个说“相同而另一个说“不同”
安全多方计算:终身伴侣问题
终身伴侣问题
场景描述
Alice、Bob都在寻找终身伴侣——相亲(非诚勿扰、我们约会吧)
业务需求(兴趣爱好)
Alice:KTV、逛街、劲乐团 Bob:NBA、足球、聚会、宅
系统目标
对自己的择偶要求难为情——含蓄表达、意会、不表达 找一个趣味相投的终身伴侣
安全多方计算:终身伴侣问题
协议假定所有的参与者是诚实的,如果不诚实则平均工资错误 Alice可以谎报结果(她作为了“名义上”的集成者)
Hale Waihona Puke 安全多方计算:平均工资问题
平均工资问题的一种有效解决方案
比特承诺可以解决“Alice谎报”缺陷
运用比特承诺协议让Alice向Bob传送他的随机数 协议结束后,Bob可以获知Alice的工资
他也用这个8位数字作为电话号码,试图听取留言
有留言,则配对成功
安全多方计算:终身伴侣问题
终身伴侣问题的一种有效解决方案
Bob可以进行“选择明文攻击” 可以HASH一般的择偶要求 拨打所得的电话号码,以窃听留言
只有在不可能得到足够多的明文消息的情况下该协议安全
安全多方计算:其它几个经典应用场景
终身伴侣问题的一种有效解决方案
使用一个单向函数,Alice将她的择偶要求m,HASH得到一个8位数字 的字符串h(m)
Alice用这8位数字作为电话号码拨号,并留言
如果电话号码无效,Alice给这个电话号码申请一个单向函数直到她找到 一个与她有相同择偶要求的人
Alice告诉Bob她为她的择偶要求申请一个单向函数的次数 Bob用和Alice相同次数的HASH他的择偶要求
Crypt(i)付款输出 = Coin(i-1) ⊕Coin(i) Crypt(i)没付款输出 = Coin(i-1) ⊕Coin(i) ⊕1
安全多方计算:密码学家晚餐问题
Coin(0)
Crypt(0)
Coin(2)
Crypt(1)
Crypt(2)
Coin(1)
安全多方计算:密码学家晚餐问题