【技术实现步骤摘要】
基于多方安全计算的深度学习用户梯度聚合方法
[0001]本专利技术属于计算
,更进一步涉及电数字数据处理
中的一种基于多方安全计算的深度学习用户梯度聚合方法。本专利技术可用于多方协作的深度学习中,通过对用户上传的梯度数据加密并进行多方安全计算,获得用户梯度聚合结果。
技术介绍
[0002]深度学习的日渐发展和大规模应用于金融、电网、广告、投资,大数据与深度学习结合下的数据挖掘变得更加普及。深度学习的价值在于其可以对海量的用户数据进行分析和预测,但是海量数据交互会带来巨大的隐私风险。比如深度学习的服务提供商能获取到用户数据,从而泄露用户的隐私。目前针对深度学习上的隐私保护方法有下列两种:基于加密的隐私保护技术和基于数据扰动机制的隐私保护技术。数据扰动技术也即差分隐私是指在对原始数据进行噪声添加,外部敌手即使获得数据也不能对该数据进行分析,从而无法得到用户的敏感信息,但数据的真实性和完整性会遭受破坏。而同态加密和安全多方计算均为加密技术,对用户的数据进行加密,防止隐私泄露。安全多方计算在用户不提供个人数据的情况,多方联合计算结果。同态加密提供了在加密数据上的计算操作,无需解密,且不影响数据的精确性。
[0003]LeTrieuPhong在其发表的论文“Privacy
‑
Preserving Deep Learning via Additively Homomorphic Encryption”(Journal:IEEE Transactions on Information Fore ...
【技术保护点】
【技术特征摘要】
1.一种基于多方安全计算的深度学习用户梯度聚合方法,其特征在于,在用户参与多方协作的深度学习场景下,使用多方安全计算为隐私保护的手段,对用户上传的梯度向量进行加密,在多方安全计算中利用多密钥同态和可验证秘密共享实现用户安全且准确的梯度数据聚合;该方法的具体步骤包括如下:步骤1,生成并分发公共参数和密钥:步骤1.1,密钥生成中心利用同态BCP密码密钥生成算法,生成公共参数N和g与主密钥mk;密钥生成中心利用利用Feldman VSS参数生成算法,生成公共参数p
″
,q
″
,g
′
,n和集合X;步骤1.2,密钥生成中心将公共参数N,g和p
″
,q
″
,g
′
,n发给每个用户和参数服务器;步骤1.3,密钥生成中心将密钥mk和集合X分别发给每个用户和参数服务器;步骤2,生成用户公私钥对;步骤2.1,每个用户利用密钥生成中心发送的同态BCP密码的公共参数,生成该用户的公钥参数h
i
;步骤2.2,每个用户将公共参数N和g、整数b
i
、公钥参数h
i
组成该用户的公钥pk
i
=(N,g,h
i
),私钥sk
i
=b
i
,得到该用户的公私钥对(pk
i
,sk
i
);步骤3,用户在梯度向量中添加随机数:每个用户将随机数u添加到其梯度向量的每一个元素中,得到每个用户对应添加随机数后梯度向量;步骤4,加密并传输用户数据:步骤4.1,利用同态BCP密码算法,每个用户使用其公钥对添加随机数后梯度向量进行加密,得到由A和B两部分组成的每个用户密文梯度向量;步骤4.2,每个用户将其密文梯度向量发送给同一个参数服务器;步骤5,生成份额,设置门限值:步骤5.1,参数服务器统计接收到的每个用户发送的密文梯度向量的总数n1,设定接受到密文梯度向量的用户随机数秘密恢复门限值k;步骤5.2,参数服务器公开n1、门限值k以及接受到密文梯度向量的每个用户;步骤6,用户分发共享值和广播值:每个发送密文梯度向量的用户均生成其共享值和承诺广播值;每个发送密文梯度向量用户将其共享值发送给对应用户,将承诺广播值进行广播;步骤7,发送秘密份额:步骤7.1,每个发送密文梯度向量的用户,利用承诺广播值验证其收到的共享值,将所有通过验证的用户的共享值之和作为秘密份额,并公开未通过共享值验证的用户;步骤7.2,每个发送密文梯度向量的用户,将其秘密份额发送给每个通过共享值验证的用户和参数服务器;步骤8,验证秘密份额:步骤8.1,每个通过共享值验证的用户,利用承诺广播值验证其收到的秘密份额,公开未通过秘密份额验证的用户;步骤8.2,利用拉格朗日插值法,参数服务器计算通过秘密份额验证的用户的秘密;步骤9,参数服务器得到全局梯度向量:步骤9.1,利用同态BCP密码算法,参数服务器用其主密钥mk,解密每个通过秘密份额验
证的用户的密文梯度向量;步骤9.2,参数服务器将解密后的秘密份额,去除每个通过验证用户的密文梯度向量中的随机数后,再将所有去除随机数的密文梯度向量加和求均值,生成全局梯度向量;步骤10,加密并传输全局梯度向量;步骤10.1,利用同态BCP密码算法,参数服务器对每个通过秘密份额验证的用户的全局梯度向量行加密,得到由A',B'两个部分组成的密文全局梯度向量;步骤10.2,参数服务器将密文全局梯度向量发送给每个通过秘密份额验证的用户;步骤11,用户得到全局梯度向量:每个通过秘密份额验证的用户,使用其公钥对密文全局梯度向量进行解密,得到全局梯度向量。2.根据权利要求1所述的基于多方安全计算的深度学习用户梯度聚合方法,其特征在于,步骤2.1中所述每个用户利用密钥生成中心发送的同态BCP密码的公共参数,生成该用户的公钥参...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。