信息安全从业人员^_^
一个未入门de情报学胖子(邮箱:tenghm1986@163.com)
Toggle navigation
信息安全从业人员^_^
主页
About Me
归档
标签
[MPC]HyCC/MP-SPDZ/ObliVM/MPyC框架简单分析
2020-09-04 16:39:27
3826
0
0
heming
#0.参考 [1] [MPC review论文](https://github.com/MPC-SoK/frameworks) [2] [MPyC](https://github.com/lschoe/mpyc) [3] [ObliVM](http://oblivm.com/) [4] [MP-SPDZ](https://github.com/data61/MP-SPDZ) [5] [HyCC](https://gitlab.com/securityengineering/HyCC) # 1.HyCC(CBMC-GC+ABY) - HyCC:实用安全计算混合协议的编译 - CBMC-GC(混淆电路产生) - ABY(混淆电路执行) - ANSI-C(类似C语言,变量专有定义) - hybrid protocol(混合协议:YAO/GMW/arithmetic circuit) - 两方安全计算 > code ``` int mpc_main(int INPUT_A, int INPUT_B) { int t = mpc_sub(INPUT_A,INPUT_B); return t + INPUT_B; } int mpc_sub(int INPUT_A,int INPUT_B) { return INPUT_A - INPUT_B; } ``` > 步骤1 编译电路(每个function生成一个circ) <center> ![1](https://leanote.com/api/file/getImage?fileId=5f51f25fab64417c4000b3ff) </center> - size-optimized for YAO - depth-optimized for GMW and arithmetic circuit > 步骤2 协议选择(给出cost function 方便选择某种协议) <center> ![协议选择](https://leanote.com/api/file/getImage?fileId=5f51f2a1ab64417a4300b254) </center> <center> ![gmwonly](https://leanote.com/api/file/getImage?fileId=5f51f2aaab64417a4300b255) </center> > 步骤3 执行 <center> ![exec](https://leanote.com/api/file/getImage?fileId=5f51f2e2ab64417c4000b405) </center> # 2. MP-SPDZ - A Versatile Framework for Multi-Party Computation BMR garbled circuit/Yao's garbled circuit/SPDZ .etc(30 MPC protocol) - semi-honest/malicious - 类似Python,支持python各种库 - 多方安全计算(2+) - 加密原语:SS/OT/HE/GC > 5方求和 ``` a=sint.get_input_from(0) b=sint.get_input_from(1) c=sint.get_input_from(2) d=sint.get_input_from(3) e=sint.get_input_from(4) sum = a+b+c+d+e print_ln('5 sum =%s',sum.reveal()) ``` > 性能测试 <center> ![性能测试](https://leanote.com/api/file/getImage?fileId=5f51f55bab64417a4300b272) </center> > 比较(来自论文,吹牛?) <center> ![compare](https://leanote.com/api/file/getImage?fileId=5f51f5b0ab64417a4300b292) </center> # 3.ObliVM (个人比较看好,以后调用就像java样,牛人开发多方计算库,小白就像调库写java代码,这扩展性,厉害) - A Programming Framework for Secure Computation - 分离密码学家与开发者 - (1)Cryptographers:implement abstractions - (2)Non-specialists:use abstractions to build applications - source code采用ORAM统一编译成标准模型 类似Java语言,扩展性好(mapreduce) - Pipeline模式 - 2方安全计算 <center> ![1](https://leanote.com/api/file/getImage?fileId=5f51fa22ab64417c4000b471) </center> > java库调用(前端) <center> ![1](https://leanote.com/api/file/getImage?fileId=5f51f95bab64417c4000b46b) </center> > java库开发(后端) <center> ![2](https://leanote.com/api/file/getImage?fileId=5f51f9ccab64417a4300b2b7) </center> >执行 <center> ![1](https://leanote.com/api/file/getImage?fileId=5f51fa67ab64417a4300b2bf) </center> # 4.MPyC >概述 <center> ![MPyC](https://leanote.com/api/file/getImage?fileId=5f51faaeab64417a4300b2c4) </center> > code <center> ![code](https://leanote.com/api/file/getImage?fileId=5f51fac1ab64417c4000b478) </center> > run <center> ![run](https://leanote.com/api/file/getImage?fileId=5f51fb0dab64417c4000b47a) </center> # 5.总结 (1)GC 方案大致可划分为以下两种 - 1.library-based(MPyC) - 2.DSL(domain specific language)绝大多数 (2)GC泛概念,很多只是保留circuit,not garble > MPC框架总结(agmpc还未run) <center> ![1](https://leanote.com/api/file/getImage?fileId=5f51fb73ab64417c4000b48e) </center> > data-type <center> ![data-type](https://leanote.com/api/file/getImage?fileId=5f51fb99ab64417c4000b491) </center> > operator <center> ![op](https://leanote.com/api/file/getImage?fileId=5f51fbc3ab64417a4300b2d7) </center> > 相关技术 <center> ![1](https://leanote.com/api/file/getImage?fileId=5f51fc19ab64417c4000b497) </center>
上一篇:
[碎碎念]emp-agmpc debug过程
下一篇:
如何不靠运气变得富有
0
赞
3826 人读过
新浪微博
微信
腾讯微博
QQ空间
人人网
Please enable JavaScript to view the
comments powered by Disqus.
comments powered by
Disqus
文档导航