System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及隐私保护深度学习,具体涉及一种基于同态重加密的隐私保护深度学习方法。
技术介绍
1、深度学习作为一种强大的特征提取技术,能够通过学习样本数据的内在规律,从海量数据中提取有用的知识,执行多源用户的训练及推理任务,从而通过训练大量数据获得智能决策和推理结果。
2、在多源用户的深度学习训练过程中,数据量小会影响模型的准确率,甚至会导致模型过拟合,因此,需要从大量的用户或智能设备中收集大量的数据然而这容易导致用户数据泄露。为了防止数据泄露和保护用户隐私,出现了很多关于隐私保护深度学习的研究,然而对于现有隐私保护深度学习方案,仍存在一些问题需要解决。
3、目前,如何对多个参与者的数据进行加密以及如何有效地进行密文计算均是热门的研究问题,这也引出了加密数据的另一个挑战,即在深度学习中如何用多个用户产生的多密钥数据协同进行模型训练,在现有的多密钥隐私保护深度学习方案中,主要使用全同态加密(fhe)、bcp加密和多密钥全同态加密(mk-fhe)联合及分布式双陷门公钥密码(dt-pkc)等方式实现了多密钥下的隐私保护协同计算,然而,fhe和mk-fhe密文扩张大,计算效率低,dt-pkc效率也相对较低,整体来说,现有隐私保护深度学习方案中多密钥协同计算的效率有待提高。
技术实现思路
1、为了解决现有隐私保护深度学习方案中多密钥协同计算的效率有待提高的问题,本专利技术提供一种基于同态重加密的隐私保护深度学习方法,应用于系统模型中,系统模型包括重加密服务器、服务器和
2、本专利技术采用如下技术方案,基于同态重加密的隐私保护深度学习方法,应用于系统模型中,其特征在于:系统模型包括重加密服务器、服务器和用户端;该方法包括:
3、初始化阶段:在重加密服务器上进行初始化参数设置,每个用户端生成自己的公钥和私钥,重加密服务器利用smpc,依据用户端的私钥计算联合私钥,并根据联合私钥计算对应的联合公钥;
4、数据上传阶段:每个用户端利用自己的公钥对数据进行加密得到第一密文,并将密文上传至重加密服务器;
5、重加密阶段:重加密服务器利用重加密方式将不同公钥下的第一密文重加密为联合公钥下的第二密文;
6、训练阶段:重加密服务器将第二密文发送至服务器,服务器采用深度学习方法对第二密文进行训练,得到训练好的模型。
7、进一步的,重加密服务器利用重加密方式将不同公钥下的第一密文重加密为联合公钥下的第二密文的步骤包括:
8、重加密服务器均匀随机选择r∈n2,计算gsrmod n2并发送给用户端;
9、用户计算重加密密钥然后发送给重加密服务器;
10、重加密服务器用重加密密钥将不同公钥pki下的密文转换为相同公钥pk下的密文,计算方法为:
11、
12、
13、其中,(ai,bi)为用户i的第一密文,hi=pki为用户的公钥,mi为用户i的明文,为重加密密钥,pki为用户i对应的公钥。
14、进一步的,在重加密服务器上进行初始化参数设置的方法为:
15、选择两个素数p,q,其中p=2p′+1,q=2q′+1,其中,p'和q'也是素数,计算n=pq;
16、均匀随机选择计算g=α2mod n2,设置重加密参数param=(n,g)。
17、进一步的,重加密服务器根据多个用户端的公钥计算联合私钥,并根据联合私钥计算对应的联合公钥的方法为:
18、重加密服务器利用smpc协商算法根据用户端的私钥ai中计算联合私钥,表达式为:
19、
20、计算对应联合公钥的表达式为:
21、
22、其中,
23、pk为联合公钥,sk为联合私钥,n表示用户端的个数,n为参数,mod为取模运算符。
24、进一步的,每个用户端利用对应的公钥对数据进行加密得到第一密文的方法为:
25、用户端i均匀随机选择ri∈n2,对明文mi进行加密,计算得到第一密文为:
26、
27、其中,为用户i的第一密文,(ai,bi)为用户i的第一密文,mi为用户i的明文,g为生成元,n为参数,mod为取模运算符,hi为用户i的公钥。
28、进一步的,服务器采用深度学习方法对第二密文进行训练,具体包括:
29、构建安全计算协议包,服务器利用安全计算协议包及深度学习算法对第二密文进行深度学习训练;
30、所述安全计算协议包具体包括:安全乘法协议以及安全比较协议。
31、进一步的,所述安全乘法协议包括:
32、第二密文进行深度学习训练时,对隐含层和输出层的输入值计算密文乘法,具体包括以下步骤:
33、服务器均匀随机选择掩码密文epk(x1)和epk(x2)分别得到epk(x1+ra)和epk(x2+rb),然后服务器将epk(x1+ra)和epk(x2+rb)发送到重加密服务器;
34、重加密服务器利用联合私钥解密epk(x1+ra)和epk(x2+rb),得到x1+ra和x2+rb,重加密服务器计算h=(x1+ra)(x2+rb),并利用联合公钥加密h得到epk(h),重加密服务器将epk(h)发送至服务器;
35、服务器接收到epk(h)后计算和epk(rarb)n-1,通过移除epk(h)中随机数ra,rb,得到epk(x1x2)。
36、进一步的,所述安全比较协议包括:
37、服务器均匀随机选择计算和并将其发送至重加密服务器;所述为利用重加密方法进行加密的密文,所述为利用bcp算法加密的密文;
38、重加密服务器解密得到r1m1,解密得到r2m2,重加密服务器计算u=(r1m1)/(r1m1),并发送至服务器;
39、服务器根据u的结果判断明文m1和m2的大小,具体为:
40、当时,m1≥m2;
41、当时,m1<m2;
42、当u≥1&r2/r1<1或u<1&r2/r1>1时,无法进行判断,服务器重新选取r1,r2,直至得到m1与m2的判断结果。
43、进一步的,所述安全计算协议包还包括:
44、建立数据取整函数accu(x)=[x·2accuracy],其中,accuracy为数据的精度;
45、利用取整函数对空间中数据的小数进行放大取整本文档来自技高网...
【技术保护点】
1.基于同态重加密的隐私保护深度学习方法,应用于系统模型中,其特征在于:所述系统模型包括重加密服务器、服务器和用户端;所述方法包括:
2.根据权利要求1所述的基于同态重加密的隐私保护深度学习方法,其特征在于:重加密服务器利用重加密方式将不同公钥下的第一密文重加密为联合公钥下的第二密文的步骤包括:
3.根据权利要求1所述的基于同态重加密的隐私保护深度学习方法,其特征在于:在重加密服务器上进行初始化参数设置的方法为:
4.根据权利要求1所述的基于同态重加密的隐私保护深度学习方法,其特征在于:重加密服务器根据多个用户端的公钥计算联合私钥,并根据联合私钥计算对应的联合公钥的方法为:
5.根据权利要求1所述的基于同态重加密的隐私保护深度学习方法,其特征在于:每个用户端利用对应的公钥对数据进行加密得到第一密文的方法为:
6.根据权利要求1所述的基于同态重加密的隐私保护深度学习方法,其特征在于:服务器采用深度学习方法对第二密文进行训练,具体包括:
7.根据权利要求6所述的基于同态重加密的隐私保护深度学习方法,其特征在于:所
8.根据权利要求6所述的基于同态重加密的隐私保护深度学习方法,其特征在于:所述安全比较协议包括:
9.根据权利要求6所述的基于同态重加密的隐私保护深度学习方法,其特征在于:所述安全计算协议包还包括:
...【技术特征摘要】
1.基于同态重加密的隐私保护深度学习方法,应用于系统模型中,其特征在于:所述系统模型包括重加密服务器、服务器和用户端;所述方法包括:
2.根据权利要求1所述的基于同态重加密的隐私保护深度学习方法,其特征在于:重加密服务器利用重加密方式将不同公钥下的第一密文重加密为联合公钥下的第二密文的步骤包括:
3.根据权利要求1所述的基于同态重加密的隐私保护深度学习方法,其特征在于:在重加密服务器上进行初始化参数设置的方法为:
4.根据权利要求1所述的基于同态重加密的隐私保护深度学习方法,其特征在于:重加密服务器根据多个用户端的公钥计算联合私钥,并根据联合私钥计算对应的联合公钥的方法为:
【专利技术属性】
技术研发人员:陈艳格,平源,曹彦,孙嘉豪,许科皓,
申请(专利权)人:许昌学院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。