当前位置: 首页 > 专利查询>济南大学专利>正文

基于数据加密的模型训练方法及系统技术方案

技术编号:30768885 阅读:22 留言:0更新日期:2021-11-10 12:34
本发明专利技术提供一种基于数据加密的模型训练方法及系统,属于数据处理技术领域,包括:使用公钥加密原始数据得到密文c;生成随机负数R和随机负数的相反数R1,使用公钥加密随机负数的相反数R1得到密文份额c2;将c和c2通过同态运算生成秘密共享的密文份额c3;使用私钥解密所述密文份额c3,得到明文份额m3;使用随机负数和明文份额m3,借助Beaver三元组进行交互训练,得到两个模型份额;将得到的两个模型份额进行相加,得到最终所需要的模型。本发明专利技术可以自身需求有针对性地搜索数据进行训练,具有较强的数据选择灵活性;数据存储、训练中,均是以密文或者明文份额存在,保证了数据的安全性;在模型训练之前,数据从同态密文转换为明文份额,保证了模型训练的高效性和准确性。保证了模型训练的高效性和准确性。保证了模型训练的高效性和准确性。

【技术实现步骤摘要】
基于数据加密的模型训练方法及系统


[0001]本专利技术涉及数据处理
,具体涉及一种基于数据加密的模型训练方法及系统。

技术介绍

[0002]传统的机器学习中,用户需要直接将明文数据上传到服务器,而互联网上很多包含大量数据的服务器存在严重的安全漏洞,更有些云服务商(例如谷歌、Facebook)其会自动挖掘用户隐私数据,导致用户数据隐私信息的泄露,因此,数据直接以明文状态存储在云服务器,会危害用户信息安全。
[0003]采用同态加密技术可以将数据以密文的形式上传到服务器,并对实数计算进行优化,再利用最小二乘法去近似sigmod函数以提高精度和效率(即降低计算成本)。虽然同态方案在数据的安全性上提供了很大的保障,但其存在时间与性能消耗的弊端,无法在短时间内训练出有效模型。
[0004]采用秘密共享将数据变成份额形式上传至两服务器,再将两服务器中的份额数据通过beaver三元组实现预测与模型训练。该方法在不暴露隐私的情况下快速地得到所需要的结果,并且具有较好的模型准确率。但在实际场景中,每个用户都是一次性将自己完整的数据上传到云服务商,并不是数据份额的形式分次上传,所以该方法并不方便用户直接使用。
[0005]在实际应用中,不同的用户拥有不同的需求,所请求的模型一般也是不同的。例如在医疗场景中,医疗机构想得到某种疾病的模型,则需要从病人的电子病历信息中筛选出与该疾病相关的检测数据,并不是直接使用一份完整的电子病历;并且对于不同的疾病模型,所需求的相关数据一般也是不同的。然而在以往的结合数据隐私保护的机器学习算法中,均是利用上传到云端的完整数据集进行模型训练,无法对数据集的某项特征进行筛选,无法灵活的满足用户的需求。

技术实现思路

[0006]本专利技术的目的在于提供一种能够进行数据特定特征筛选,满足用户需求灵活性,同时提高了数据存储、训练的安全性和效率的基于数据加密的模型训练方法及系统,以解决上述
技术介绍
中存在的至少一项技术问题。
[0007]为了实现上述目的,本专利技术采取了如下技术方案:
[0008]一方面,本专利技术提供一种基于数据加密的模型训练方法,包括:
[0009]使用公钥加密原始数据得到密文c;
[0010]生成随机负数R和随机负数的相反数R1,其中,R作为训练所需的明文份额,使用公钥加密随机负数的相反数得到密文份额c2;
[0011]将c和c2通过同态运算生成秘密共享的密文份额c3;
[0012]使用私钥解密所述密文份额c3,得到明文份额m3;
[0013]将两部分明文份额,借助Beaver三元组进行交互训练,得到两个模型份额;
[0014]将得到的两个模型份额进行相加,得到最终所需要的模型。
[0015]优选的,在得到密文c之前,还包括以下步骤:在可信任服务器中生成公私钥对和Beaver三元组,生成伪随机函数、随机预言机和随机数。
[0016]优选的,可信服务器随机选择两个长度相等的大素数p和q,满足gcd(pq(p

1)(q

1))=1;
[0017]计算n=pq和λ=(lcm(p

1),(q

1)),随机选择整数1)),随机选择整数表示模n2的互质同余类,并满足gcd(L(g
λ
mod n2),n)=1;
[0018]生成公钥为pk=(n,g),私钥为sk=λ;
[0019]生成Beaver三元组<Z,U,V>,且满足Z=U
×
V;
[0020]生成3个伪随机函数分别为:
[0021]F:{0,1}
k
×
{0,1}
*

{0,1}
k
、G:{0,1}
k
×
{0,1}
*

{0,1}
k
、P:{0,1}
k
×
{0,1}
*

{0,1}
k

[0022]生成两个随机预言机分别为:H1:{0,1}
*

{0,1}
*
、H2:{0,1}
*
{0,1}
*

[0023]生成3个k位随机数分别为:K1、K2、K3。
[0024]优选的,提取原始数据的关键词、文件标志符;结合对称可搜索加密算法SSE,利用关键词、伪随机函数,构建查询表;结合对称可搜索加密算法SSE,利用关键词、伪随机函数、随机预言机、文件标志符,构建存储链表;利用公钥加密原始数据,生成的密文c为:c=Enc
pk
(m,r1)=g
m
×
r
1n mod n2。
[0025]优选的,构建查询表T
s
为:其中,w表示关键词,N1表示存储链表中的第一个节点,addr
s
表示存储链表中节点的地址,表示异或运算。
[0026]优选的,构建存储链表L
w
为:
[0027][0028]其中,N
i
表示链表中的第i个结点,i=(1,2,...,#f
w
);θ
i
表示为对应于每一个N
i
的k位随机字符串,id表示文件标志符。
[0029]优选的,得到的密文份额c2为:
[0030]其中,Enc
pk
表示加密算法。
[0031]生成的密文份额c3为:
[0032][0033]其中,m表示原始数据,其中,m表示原始数据,表示模n的互质同余类。
[0034]第二方面,本专利技术提供一种基于数据加密的模型训练系统,包括:
[0035]第一加密模块,用于使用公钥加密原始数据得到密文c;
[0036]第二加密模块,用于生成随机负数R和随机负数的相反数R1,其中,R作为训练所需的明文份额,使用公钥加密随机负数的相反数得到密文份额c2;
[0037]同态运算模块,用于将c和c2通过同态运算生成秘密共享的密文份额c3;
[0038]解密模块,用于使用私钥解密所述密文份额c3,得到明文份额m3;
[0039]交互运算模块,用于将两部分明文份额R和m3,借助Beaver三元组进行交互训练,得到两个模型份额;
[0040]结合模块,用于将两个模型份额进行相加,得到最终所需要的模型。
[0041]第三方面,本专利技术提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质用于存储计算机指令,所述计算机指令被处理器执行时,实现如上所述的基于数据加密的模型训练方法。
[0042]第四方面,本专利技术提供一种电子设备,包括:处理器、存储器以及计算机程序;其中,处理器与存储器连接,计算机程序被存储在存储器本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于数据加密的模型训练方法,其特征在于,包括:使用公钥加密原始数据得到密文c;生成随机负数R和随机负数的相反数R1,其中,将随机负数R作为模型训练的一部分明文份额,使用公钥加密随机负数的相反数R1得到密文份额c2;将c和c2通过同态运算生成秘密共享的密文份额c3;使用私钥解密所述密文份额c3,得到另一部分明文份额m3;将两部分明文份额,借助Beaver三元组进行交互训练,得到两个模型份额;将得到的两个模型份额进行相加,得到最终所需要的模型。2.根据权利要求1所述的基于数据加密的模型训练方法,其特征在于,在得到密文c之前,还包括以下步骤:在可信任服务器中生成公私钥对和Beaver三元组,生成伪随机函数、随机预言机和随机数。3.根据权利要求2所述的基于数据加密的模型训练方法,其特征在于:可信服务器随机选择两个长度相等的大素数p和q,满足gcd(pq(p

1)(q

1))=1;计算n=pq和λ=(lcm(p

1),(q

1)),随机选择整数g,并满足gcd(L(g
λ
modn2),n)=1;表示模n2的互质同余类;生成公钥为pk=(n,g),私钥为sk=λ;生成Beaver三元组<Z,U,V>,且满足Z=U
×
V;生成3个伪随机函数分别为:F:{0,1}
k
×
{0,1}
*

{0,1}
k
、G:{0,1}
k
×
{0,1}
*

{0,1}
k
、P:{0,1}
k
×
{0,1}
*

{0,1}
k
;生成两个随机预言机分别为:H1:{0,1}
*

{0,1}
*
、H2:{0,1}
*
{0,1}
*
;生成3个k位伪随机数分别为:K1、K2、K3。4.根据权利要求3所述的基于数据加密的模型训练方法,其特征在于,提取原始数据的关键词、文件标志符;结合对称可搜索加密算法SSE,利用关键词、伪随机函数,构建查询表;结合对称可搜索...

【专利技术属性】
技术研发人员:赵川贾海鑫荆山刘伟
申请(专利权)人:济南大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1