[隐私计算研习社]
1
****概要安全多方计算(Secure Multiparty Computation, MPC)旨在解决多个参与方之间的安全计算问题,目的是使各参与方在不知晓其他参与方输入信息的前提下完成计算,并可保证计算过程不泄漏输入信息。SPDZ是一种MPC计算的协议框架,基于同态加密、秘密共享等技术实现安全多方计算,相关内容引自参考文献[1].
- SPDZ主要包括两个阶段,离线阶段(预计算)主要基于同态加密生成在现阶段需要的参数,在线阶段主要基于秘密共享完成各种计算。
- SPDZ可以计算有限域中的任何计算。
- SPDZ 满足 UC 安全框架下的静态恶意敌手(static adaptive adversay)攻击模型,即 n 个参与方中,即使最多 n-1 个参与方恶意违反协议或者合谋。
- SPDZ使用Message Authentication Code (MAC),检测参与方是否诚实地进行计算,MAC参数在离线阶段生成。
- SPDZ不检测哪个参与方为恶意参与方,在检测到协议被违反情况即停止协议运行而防止数据泄漏。
本文主要介绍基本概念和协议主要流程,曾经我们也提到过安全多方相关技术,最近的推送可见安全多方计算和多重签名技术及其应用场景。
2
****离线阶段
安全多方计算安全模型一般采用Universally composable(UC)模型[2],按照攻击者能力可以划分为半诚实、恶意参与者,按照恶意参与者的门限可以划分为多数诚实、多数恶意协议。
按照攻击者能力:
-
半诚实模型:各参与方在计算过程中完全遵从 MPC 协议,既不会违反协议篡改数据也不会多个参与方之间进行合谋。
-
恶意模型:攻击者允许随意篡改协议,可以联合他人进行合谋攻击。
按照攻击者门限:
-
多数诚实:恶意参与者不超过总参与方一半。
-
多数恶意:恶意参与者至多可以有n-1个(参与方为n个)。
SPDZ协议满足Universally composable(UC)框架下的静态恶意敌手(static adaptive adversay)攻击模型,最多允许n-1个恶意参与方。
3
基本定义
秘密分享值的表示方法
MAC密钥
三元组及乘法运算
4
****SPDZ协议
SPDZ可以分为在线阶段和离线阶段。
离线阶段
在线阶段
在现阶段主要完成计算以及中间值和结果的MAC校验等,基础计算主要包括加法、乘法等。在现阶段主要过程如下:
5
****参考文献
-
I Damgård, Pastro V , Smart N , et al. Multiparty Computation from Somewhat Homomorphic Encryption[C]// Springer-Verlag New York, Inc. Springer-Verlag New York, Inc. 2012.
-
R. Canetti, Y. Lindell, R. Ostrovsky, and A. Sahai. Universally composable two-party and multi-party secure computation. In STOC, pages 494–503, 2002.
-
Beaver. Efficient multiparty protocols using circuit randomization. In J. Feigenbaum, editor, CRYPTO, volume 576 of Lecture Notes in Computer Science, pages 420–432. Springer, 1991.
-
Z. Brakerski, C. Gentry, and V. Vaikuntanathan. (leveled) fully homomorphic encryption without bootstrapping. In ITCS, pages 309–325. ACM, 2012.
本文来源: zhuanlan.zhihu.com/p/533900089…
分享仅供学习参考,若有不当,请联系我们处理。