【技术实现步骤摘要】
基于函数秘密共享的外包数据对齐方法
[0001]本专利技术属于隐私数据
,涉及一种外包数据对齐的方法,具体涉及一种基于函数秘密共享的外包数据对齐的方法,是纵向联邦学习场景的前置步骤,可用于金融、教育、医疗以及交通领域等实现数据对齐。
技术介绍
[0002]当今时代,互联网技术高速发展,对人民日常生活的渗透越来越深,用户自身数据量的指数级增长,数据量的增大使得其在本地存储和处理操作的难度增大,因此,把数据外包给第三方进行计算然后返回结果的方式应运而生,这种计算方式被称为外包计算。
[0003]外包计算允许用户将私有数据上传到一个或多个服务器,以完成复杂的计算任务,把需要上传的私有数据称为外包数据。对于外包计算来说,一个普遍讨论的场景是在垂直分区的数据上实现机器学习或神经网络模型的训练。然而,这些场景下的外包计算技术方案中都有一个默认假设是外包的数据已经是对齐的,或者样本ID的隐私不在考虑的范围之内。数据对齐的过程是指将这些数据的样本ID进行对齐,对齐后得到各个用户的样本交集,在交集上进行模型训练。外包数据的对齐是指在外包的第三方服务器上实现对齐,来获得各个用户的数据的交集的过程。外包数据在进行使用和处理之前如何不进行对齐,存在着严重的实用性和安全性的问题。首先,数据在对齐之前,服务器无法获得完整的数据来进行后续的计算任务;其次,在进行对齐之时,样本ID通常是必不可少的信息,如身份证号码或者手机号码等用户专用的一些重要信息,此时的ID不能直接以明文形式进行求外包,需要对样本ID进行加密处理,一般是指利用匿名 ...
【技术保护点】
【技术特征摘要】
1.一种基于函数秘密共享的外包数据对齐方法,其特征在于,具体包括以下步骤:(1)初始化参数:初始化包括来自不同类型机构的两个参与方用户A和用户B,以及两个用于外包数据的服务器S0和S1的纵向联邦学习系统,用户A的样本ID集X={x1,x2,...,x
m
,...,x
M
},用户B的样本ID集Y={y1,y2,...,y
n
,...,y
N
},用户A待映射的空的布谷鸟哈希表T0、用户B待映射的空的简单哈希表T1均包括H个分箱,用户A构建布谷鸟哈希表T0'和用户B构建简单哈希表T1'所用的两个哈希函数为f0,f1,其中,x
m
表示用户A的第m个样本ID,M表示用户A的样本ID的总数,M≥1,y
n
表示用户B的第n个样本ID,N表示用户B的样本ID的总数,N≥1,H=(1+ε)M,ε表示经验参数,ε≥0;(2)两个用户分别对各自的样本ID进行哈希映射:用户A使用布谷鸟哈希所用到的两个哈希函数f0,f1将x
m
映射到空布谷鸟哈希表T0的一个分箱中,得到x
m
所在分箱的映射值为f0(x
m
)或f1(x
m
),其余H
‑
M个为空的分箱用随机值填充的布谷鸟哈希表T0'={x1,x2,...,x
h
,...,x
H
};用户B使用简单哈希所用到的两个哈希函数f0,f1将y
n
映射到空简单哈希表T1的两个分箱中,得到y
n
所在分箱的映射值分别为f0(y
n
)和f1(y
n
)的简单哈希表T1'={y1,y2,...,y
h
,...,y
H
},其中x
h
表示布谷鸟哈希表T0'的第h个分箱存放中的样本ID,y
h
表示简单哈希表T1'的第h个分箱中存放的样本ID,1≤h≤H;(3)两个用户对布谷鸟哈希表T0'和简单哈希表T1'进行编码:(3a)初始化密钥为K的伪随机函数F;(3b)用户A和用户B按照不经意伪随机函数协议,使用伪随机函数F的密钥K对布谷鸟哈希表T0'进行编码,得到用户A的编码后的布谷鸟哈希表T
0”=F
K
(T0')={x1',x2',...,x
h
',...,x
H
'},其中,x
h
'表示编码后的布谷鸟哈希表T
0”的第h个分箱中存放的编码样本ID,1≤h≤H;(3c)用户B使用密钥K对简单哈希表T1'进行编码,得到用户B编码后的简单哈希表T
1”=F
K
(T1')={y1',y2',...,y
h
',...,y
H
'},并且用户B将编码后的简单哈希表T
1”同时发送给服务器S0和S1,其中,y
h
'表示编码后的简单哈希表T
1”的第h个分箱中的编码样本ID;(4)用户A对编码后的布谷鸟哈希表T
0”进行函数秘密共享:用户A采用PSM
‑
Share算法对编码后的布谷鸟哈希表T
0”中的每个编码样本IDx
h
'进行函数秘密共享,得到包含H个密钥函数对的密钥函数对集合其中,表示密钥函数对集合P中的第h个密钥函数对;(5)用户A对共享密钥函数对集合P进行分割并分别发送给两个服务器:用户A将密钥函数对集合P进行分割,得到两个密钥函数子集和并将密钥函数子集P0发送给服务器S0,密钥函数子集P1发送给服务器S1;(6)两个用户和两个服务器获取外包数据对齐的结果:(6a)用户A使用映射函数g对布谷鸟哈希表T0'中的每个样本IDx
h
进行映射,得到二进制向量集U={u1,u2,...,u
h
,...,u
H
},并将二进制向量集U同时发送给服务器S0和服务器S1;用
户B使用映射函数g将简单哈希表T1'中的每个样本ID y
h
进行映射,得到二进制向量集V={v1,v2,...,v
h
,...,v
H
},并将二进制向量集V同时发送给服务器S0和服务器S1,其中,u
h
表示二进制向量集U的第h个二进制向量,v
h
表示向量集V的第h个二进制向量;(6b)服务器S0采用PSM
‑
Eval算法对密钥函数子集P0中的每个密钥函数和编码后的简单哈希表T
1”中的每个编码样本IDy
h
'进行相等性检测,得到布谷鸟哈希表T0'的第h个分箱中存放的样本IDx
h
和简单哈希表T1'的第h个分箱中存放的样本IDy
h
的相等性检测值子集Q0={s
10
,s
20
,...,s
h0
,...,s
H0
};服务器S1采用PSM
‑
Eval算法对密钥函数子集P1中的每个密钥函数和编码后的简单哈希表T
1”中的每个编码样本IDy
h
'进行相等性检测,得到布谷鸟哈希表T0'的第h个分箱中存放的样本IDx
h
和简单哈希表T1'的第h个分箱中存放的样本ID y
h
的相等性检测值子集Q1={s
11
,s
21
,...,s
h1
,...,s
H1
},其中,s
h0
表示相等性检测值子集Q0的第h个检测值,s
h1
表示相等性检测值子集Q1的第h个检测值;(6c)服务器S0和服务器S1对相等性检测值子集Q0中的每个检测值s
h0
和相等性检测值子集Q1中每个检测值s
h1
进行加性运算,得到相等性检测值集合Q={s1,s2,...,s
h
,...,s
H
}={s
10
+s
11
,s
20
+s
21
,...,s
h0
+s
h1
,...,s
H0
+s
H1
},其中,s
h
表示相等性检测值集合Q的第h个检测值,取值为0或1;(6d)服务器S0和服务器S1对相等性检测值集合Q中的每个检测值s
h
和二进制向量集U和V中的每个二进制向量u
h
和v
h
分别进行乘法计算,得到外包数据对齐的结果{s1·
u1,s2·
...
【专利技术属性】
技术研发人员:马卓,胡翠,刘洋,马鑫迪,杨易龙,刘心晶,
申请(专利权)人:西安电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。