多方安全计算集合https://github.com/rdragos/awesome-mpc
1、SMCQL
SMCQL 将SQL语句转换为ObliVM程序,以进行安全的查询。
相关介绍:
https://inst.eecs.berkeley.edu/~cs294-163/fa19/slides/SMCQL.pdf
代码仓库:https://github.com/smcql/smcql/
论文:http://www.vldb.org/pvldb/vol10/p673-rogers.pdf
使用技术,目前看来比较适合我想要的技术栈,后续看能否在此基础上进行扩充。
- PostgreSQL 9.5+
- Apache Calcite 1.8+
- Apache Maven 3+
- Oracle Java 8+
- JavaCC 5.0+
- Python 2.7+
2、ObliVM
ObliVM是一种隐私保护的计算框架,它允许一个或多个组织执行安全的数据分析而不会泄露其私有数据。使用不经意传输(Oblivious Transfer)
官网:http://oblivm.com/index.html
GraphSC是并行安全计算框架,支持类似于GraphLab的图并行编程抽象。 GraphSC适用于多核和基于群集的计算体系结构。
https://github.com/kartik1507/GraphSC
3、conclave
conclave 该框架允许用户以熟悉的前端语言定义数据分析工作流,然后在多个数据存储和处理后端(包括支持安全的多方计算的隐私保护后端服务)上执行它们,当前使用python和spark作为明文计算的后端引擎,使用Sharemind [12] and Obliv-C [68] 作为MPC计算后端引擎 ,使用 混乱电路(Garbled Circuit)
代码仓库:https://github.com/multiparty/conclave
论文:https://arxiv.org/pdf/1902.06288.pdf
目前看来能适配大数据引擎
4、mpyc
MPyC支持安全的m方计算,可容忍最多t个被动腐败方的不诚实少数,其中m≥1和0≤t≤(m-1)/ 2。基础协议基于有限域上的阈值秘密共享(使用Shamir的阈值方案以及伪随机秘密共享)。
VIFF –> TUeVIFF –> MPyC
代码仓库:https://github.com/lschoe/mpyc
相关文章:Verifiable MPC from blockchain Solving the World’s Billionaires’ problem (基于区块链作可验证mpc)https://media.voog.com/0000/0042/1115/files/Verifiable%20MPC%20from%20blockchain.pdf
主页:https://www.win.tue.nl/~berry/mpyc/
5、谷歌psi
代码仓库:https://github.com/Google/private-join-and-compute
tensorflow扩展https://github.com/tf-encrypted/tf-pjc
6、mpc-sok 多种mpc框架的docker容器
代码仓库 :https://github.com/MPC-SoK/frameworks