安全多方计算框架最全合集(持续更新)_aby3(2)

JIFF由Multiparty.org Development Team于2020年发布,是一个用于构建依赖安全多方计算的应用程序的JavaScript库。JIFF高度灵活,专注于可用性,能够在浏览器、手机或Node.js中运行。JIFF的设计使得开发人员不需要熟悉MPC技术或知道密码协议的细节,就可以构建安全的应用程序。

源代码:
https://github.com/multiparty/jiff

11. MP-SPDZ

MP-SPDZ由澳大利亚的研究机构CSIRO’s Data61于2020年在论文《MP-SPDZ: A Versatile Framework for Multi-Party Computation》中提出。

该框架作为SPDZ-2的分支,是多方计算协议SPDZ的实现。MP-SPDZ将SPDZ-2扩展到了二十多种MPC协议,涵盖了常用的安全模型(诚实/不诚实的多数人和半诚实/恶意模型),以及二进制和算术电路的计算(后者的模数为素数和二次幂),所采用的基本模块包括秘密共享、不经意传输、同态加密和混淆电路。主体语言是Python,定义了很多新的关于MPC的类和库,可基于Python的高级编程接口来使用相关协议。

源代码:
https://github.com/data61/MP-SPDZ

12. MPC-ECDSA

2023年,Safeheron公司开源了基于 C++ 的 MPC 门限签名协议库,主要包括GG18、GG20、MPC-CMP3 种具有代表性的 MPC-ECDSA 协议。

源代码:
https://github.com/Safeheron/multi-party-ecdsa-cpp

13. MPyC

MPyC由Berry Schoenmakers于2020年发布,是一个用于MPC的开源Python包,实现了基于Shamir的秘密共享的半诚实安全的计算。

源代码:
https://github.com/lschoe/mpyc

14. Obliv-C

Obliv-C由Samee Zahur, Mike Rosulek, David Evans于2015年在论文《Obliv-C: A Language for Extensible Data-Oblivious Computation》中提出。

Obliv-C是一个简单的GCC包装器,可以很容易地在常规C程序中嵌入安全计算协议。

源代码:
https://github.com/samee/obliv-c

15. OblivVM

OblivVM由Chang Liu, Xiao Shaun Wang, Kartik Nayak等人于2015年在论文《ObliVM: A Programming Framework for Secure Computation》中提出。

ObliVM提供了一种领域专用语言,将Java的扩展编译成Java字节码,支持Yao的混淆电路,具有半诚实的安全性。

源代码:
https://github.com/oblivm/ObliVMLang

16. PICCO

PICCO由Yihua Zhang, Aaron Steele, and Marina Blanton于2013年在论文《PICCO: A General-Purpose Compiler for Private Distributed Computation》中提出。

该框架将C语言扩展编写的程序编译成本地二进制文件,并在分布式环境中运行它,实现了基于Shamir的秘密共享的诚实多数半诚实计算。

源代码:
https://github.com/applied-crypto-lab/picco

17. Primihub

Primihub是原语科技于2022年研发打造的隐私计算平台,融合了MPC(多方安全计算)、FL(联邦学习)、HE(同态加密)、TEE(可信执行环境)等多种技术路线,提供多安全级别、多性能要求、多场景支持的解决方案。

源代码:
https://github.com/primihub

18. Private Join and Compute

谷歌公司于2019年推出了Private Join and Compute隐私计算开源框架。该框架Private Join和Compute结合了隐私集合交集、同态加密两种基本的加密技术来保护数据。

源代码:
https://github.com/Google/private-join-and-compute 。

19. PySyft

PySyft是OpenMined开放源代码社区于2021年研发的用于安全和隐私深度学习的Python库。 PySyft使用多方计算(MPC)、联邦学习、差分隐私同态加密(HE)将模型训练中的隐私数据解耦。

源代码:
https://github.com/OpenMined/PySyft

20. SCALE-MAMBA

SCALE-MAMBA框架由KU Leuven COSIC于2019年提出。该框架是SPDZ-2的另一个分叉,尽管有共同的根源,但自2018年以来,这两个分叉已经有了很大的分歧。SCALE-MAMBA只实现了素数模数(不是二的幂数)的算术计算,根据Hazay等人的混淆电路,以及基于秘密共享的二进制计算。所有的计算都只在恶意安全的情况下实现,不诚实多数计算模数化只使用同态加密实现。另一方面,SCALE-MAMBA对理论上可能的任何访问结构都实现了诚实多数计算。前端与MP-SPDZ中的类似,但没有后期增加的动态循环优化、重复代码优化和机器学习功能。此外,作者已经开始脱离Python编译器,转而使用基于Rust的新编译器。

源代码:
https://github.com/KULeuven-COSIC/SCALE-MAMBA

21. SecretFlow

SecretFlow由蚂蚁集团于2022年发布,是一个保护隐私的数据智能和机器学习的统一框架, 它对隐私计算业务及环境进行了抽象,使用Python语言实现,巧妙的类库设计、不同类型对象设计,使得整个隐私计算应用流程有了一个比较明确的框架。

SecretFlow提供

  • 设备抽象,将多方安全计算(MPC)、同态加密(HE)和可信执行环境(TEE)等隐私计算技术抽象为密文设备,并将明文计算抽象为明文设备。
  • 基于抽象设备的计算图,使数据分析和机器学习工作流程能够表示为计算图。
  • 基于计算图的机器学习/数据分析功能,支持数据水平/垂直/混合分割和其他场景。
  • 多方安全数据分析系统 SCQL(Secure Collaborative Query Language),把 SQL 做到多方安全计算(MPC)技术上的应用,实现了工业级的多方安全数据分析功能。

22. Sequre

Sequre由Haris Smajlović, Ariya Shajii, Bonnie Berger等人于2023年在论文《Sequre: a high-performance framework
for secure multiparty computation enables biomedical data sharing》
提出。

该框架是一个易于使用的高性能MPC应用开发框架,提供了一套自动编译时优化,可以显著提高MPC应用程序的性能,主体语言是Python,目前已应用与在各种生物信息学任务上,包括全基因组关联研究、药物-靶标相互作用推断等,速度比现有流程提高了3-4倍,代码库大小减少了7倍。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
img

本人从事网路安全工作12年,曾在2个大厂工作过,安全服务、售后服务、售前、攻防比赛、安全讲师、销售经理等职位都做过,对这个行业了解比较全面。

最近遍览了各种网络安全类的文章,内容参差不齐,其中不伐有大佬倾力教学,也有各种不良机构浑水摸鱼,在收到几条私信,发现大家对一套完整的系统的网络安全从学习路线到学习资料,甚至是工具有着不小的需求。

最后,我将这部分内容融会贯通成了一套282G的网络安全资料包,所有类目条理清晰,知识点层层递进,需要的小伙伴可以点击下方小卡片领取哦!下面就开始进入正题,如何从一个萌新一步一步进入网络安全行业。

学习路线图

其中最为瞩目也是最为基础的就是网络安全学习路线图,这里我给大家分享一份打磨了3个月,已经更新到4.0版本的网络安全学习路线图。

相比起繁琐的文字,还是生动的视频教程更加适合零基础的同学们学习,这里也是整理了一份与上述学习路线一一对应的网络安全视频教程。

网络安全工具箱

当然,当你入门之后,仅仅是视频教程已经不能满足你的需求了,你肯定需要学习各种工具的使用以及大量的实战项目,这里也分享一份我自己整理的网络安全入门工具以及使用教程和实战。

项目实战

最后就是项目实战,这里带来的是SRC资料&HW资料,毕竟实战是检验真理的唯一标准嘛~

面试题

归根结底,我们的最终目的都是为了就业,所以这份结合了多位朋友的亲身经验打磨的面试题合集你绝对不能错过!

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

面试题

归根结底,我们的最终目的都是为了就业,所以这份结合了多位朋友的亲身经验打磨的面试题合集你绝对不能错过!

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-8Fev7qQl-1712622734184)]

  • 30
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
通过3点坐标计算圆形的方法是使用三角形相似性质和勾股定理,具体步骤如下: 1. 计算出三个点之间的距离,即AB、BC、CA的长度。 2. 判断三个点是否共线,如果共线则无法构成圆形,返回错误信息。 3. 计算出三角形ABC三边的中垂线交点O(即圆心)的坐标,可以使用向量法计算,具体可参考以下代码: ```csharp // 计算向量AB和BC的中垂线的法向量 float ABx = b.X - a.X; float ABy = b.Y - a.Y; float ABz = b.Z - a.Z; float BCx = c.X - b.X; float BCy = c.Y - b.Y; float BCz = c.Z - b.Z; float ABBCx = ABy * BCz - ABz * BCy; float ABBCy = ABz * BCx - ABx * BCz; float ABBCz = ABx * BCy - ABy * BCx; // 计算向量OA和OB的中点坐标 float OAx = (a.X + b.X) / 2; float OAy = (a.Y + b.Y) / 2; float OAz = (a.Z + b.Z) / 2; float OBx = (b.X + c.X) / 2; float OBy = (b.Y + c.Y) / 2; float OBz = (b.Z + c.Z) / 2; // 计算直线AB和BC的交点O float t = (ABBCx * (OAx - OBx) + ABBCy * (OAy - OBy) + ABBCz * (OAz - OBz)) / (ABBCx * ABBCx + ABBCy * ABBCy + ABBCz * ABBCz); float Ox = OAx + ABBCx * t; float Oy = OAy + ABBCy * t; float Oz = OAz + ABBCz * t; ``` 4. 计算出圆心到任意一点的距离即为半径R,可以使用勾股定理计算,具体可参考以下代码: ```csharp float ABx = b.X - a.X; float ABy = b.Y - a.Y; float ABz = b.Z - a.Z; float ACx = c.X - a.X; float ACy = c.Y - a.Y; float ACz = c.Z - a.Z; float AB2 = ABx * ABx + ABy * ABy + ABz * ABz; float AC2 = ACx * ACx + ACy * ACy + ACz * ACz; float BC2 = (b.X - c.X) * (b.X - c.X) + (b.Y - c.Y) * (b.Y - c.Y) + (b.Z - c.Z) * (b.Z - c.Z); float R = (float)Math.Sqrt(AB2 * AC2 * BC2) / (2 * Math.Sqrt((AB2 + AC2 + BC2) * (AC2 + BC2 - AB2) * (AB2 + BC2 - AC2))); ``` 5. 计算圆心到任意一点的向量和X轴正方向的夹角即为弧度,可以使用反正切函数计算,具体可参考以下代码: ```csharp float dx = b.X - Ox; float dy = b.Y - Oy; float radian = (float)Math.Atan2(dy, dx); ``` 至此,我们已经完成了通过3点坐标计算圆形的过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值