Fate核心架构层安全协议Secure Protocols

目录

零、介绍

一、Paillier同态加密

二、仿射性同态

三、RSA

 四、可交换加密

五、秘密共享

 六、OT


零、介绍

要了解fate的内部算法,安全协议是必不可少的部分,本文根据fate官方的安全协议来进行阐述。目的:1帮助大家梳理一下安全协议,2提供一个讨论的空间,3方便自己以后学习(建议收藏)。

主要内容:

paillier同态加密,仿射性同态加密,RSA,可交换加密,DH密钥交换,秘密共享(spdz),OT,安全聚合;
            

一、Paillier同态加密

       paillier官网

Fate核心架构层安全协议Secure Protocols_第1张图片性质 :

明文的同态加法:

明文的同态乘法:

 

 对于其正确性证明不再赘述,需要的小伙伴可以搜索一下。

二、仿射性同态

1、仿射同态加密(Affine Homomorphic Encryption),通过映射来进行加密,仿射加密是线性变换,对字符型变量,可以将其映射为数值型变量。

计算过程

Fate核心架构层安全协议Secure Protocols_第2张图片 

举例 Fate核心架构层安全协议Secure Protocols_第3张图片

 2、迭代仿射同态加密(IterativeAffine Homomorphic Encryption),通过迭代,对数据进行多次仿射加密。

计算过程

Fate核心架构层安全协议Secure Protocols_第4张图片

 是仿射性同态的升级,只是增加了迭代的次数。

三、RSA

Fate核心架构层安全协议Secure Protocols_第5张图片

 四、可交换加密

1. alice先选一个素数和一个底数,例如,素数p=23,底数g=5(底数可以任选),再选择一个秘密整数a=6,计算A=(g^a mod p)=8,然后大声告诉bob:p=23,g=5,A=8;
2. bob收到alice发来的p,g,A后,也选一个秘密整数b=15,然后计算B=(g^b mod p)=19,并大声告诉alice:B=19;
3. alice自己计算出s=(B^a mod p)=2,bob也自己计算出s=(A^b mod p)=2,因此,最终协商的密钥s为2。

五、秘密共享

秘密共享的种类很多比如shamir,加法秘密共享,复制三方秘密共享,核心是将秘密分成多份,之后能将秘密恢复出来。我这里详细介绍一下shamir秘密共享。

1.分享秘密:Fate核心架构层安全协议Secure Protocols_第6张图片

 2.恢复秘密:Fate核心架构层安全协议Secure Protocols_第7张图片

 或者使用拉格朗日插值法:

Fate核心架构层安全协议Secure Protocols_第8张图片

 六、OT

主要实现的功能是Alice拥有数据,Bob想要选择数据,通过OT协议Bob选择了自己想要的数据,而不知道任何其他数据,而且Alice并不知道Bob选择的数据。

由于OT种类繁多这里推荐

不经意传输(OT)-总结

你可能感兴趣的:(fate,tensorflow,python,算法)