假设Alice和Bob想共同训练一个网络模型,Alice和Bob各自持有一部分训练数据,并且他们不想把自己的数据泄露给对方 。那么在训练期间,Alice和Bob需要交互各自训练的梯度数据,并根据双方的梯度数据,共同计算一个对双方都合适的梯度值,用来执行联合梯度下降过程 。
2019年,Ligeng Zhu等人发表的“Deep Leakage from Gradients”论文中给出了一种算法,可以从几次迭代的梯度数据中,推断出训练的数据,标签,模型等一系列隐私信息 。这使得在分布式机器学习中,通过传输梯度数据来进联合模型训练变得不再安全 。那么如果在梯度数据传输的过程中,传输的是加密后的梯度数据,并且这些加密数据可以进行二次计算,那么便可以规避梯度数据传输过程带来的安全风险 。
2.3 Paillier算法2.3.1 密钥生成类似于RSA算法,Paillier也拥有公钥和私钥对 。
![京东云开发者|经典同态加密算法Paillier解读 - 原理、实现和应用](http://shimg.jingyanzongjie.com/230727/162U949B-6.png)
文章插图
在上述过程中,Alice总计生成了6个数字:
p = 11q = 19n = 209λ = 90g = 147μ = 153Alice将 n 和g 封装成公钥 public-key = (n, g)将λ和μ封装成私钥: private-key = (λ, μ)
2.3.2 加密假设Bob需要加密明文m, 0 <= m < n. 且Bob收到了Alice发送过来的公钥(n, g)
- Bob选择一个随机数r,满足0 < r < n
- Bob计算加密后的密文 c = gm.rn mod n2
c = 32948m= gmpy2.mod(L(gmpy2.mod(pow(c, lam), n_square), n) * mu, n)# m =8正确性证明
为了证明解密操作的正确性,我们把加密的公式代入:
![京东云开发者|经典同态加密算法Paillier解读 - 原理、实现和应用](http://shimg.jingyanzongjie.com/230727/162U92b2-7.png)
文章插图
根据卡米切尔定理(Carmichael’s function)有:
![京东云开发者|经典同态加密算法Paillier解读 - 原理、实现和应用](http://shimg.jingyanzongjie.com/230727/162U935A-8.png)
文章插图
继续化简得:
![京东云开发者|经典同态加密算法Paillier解读 - 原理、实现和应用](http://shimg.jingyanzongjie.com/230727/162U92493-9.png)
文章插图
由于g ∈ Zn2*, n + 1 ∈ Zn2*, 那么一定存在唯一一对(a, b)使得:② gλ mod n2 = (1 + naλ) * bnλ mod n2 = 1 + a
经验总结扩展阅读
- 九州海上牧云记苏语凝结局是什么?
- 书涵素云是什么电视剧中的人物?
- 云南音乐节2023时间表
- 京东买的黄金可以到实体店换吗 京东黄金怎么辨别
- 京东买黄金首饰哪个店靠谱 京东黄金购买技巧是怎么样的
- 10月30日北京今日阴到多云 明天冷空气携大风降温来袭最低气温降至2℃
- 云数据库时代,DBA将走向何方?
- 京东云开发者|IoT运维 - 如何部署一套高可用K8S集群
- 云电视功能介绍 人脸识别的年代已到来
- 云电视哪个牌子好 价格一般多少